Difference between revisions of "Input Plugin"

From MSX - Wiki
Jump to navigation Jump to search
Line 21: Line 21:
 
<syntaxhighlight lang="json">
 
<syntaxhighlight lang="json">
 
{
 
{
     "response": {
+
     "action": "reload"
         "status": 200,
+
}
         "text": "OK",
+
</syntaxhighlight>
         "message": null,
+
 
         "data": {
+
<syntaxhighlight lang="json">
             "action": "reload"
+
{
         }
+
    "headline": "Search results for \"Video\"", 
    }
+
    "template": {          
 +
         "type": "separate",
 +
         "layout": "0,0,2,4",
 +
         "icon": "msx-white-soft:movie",
 +
         "color": "msx-glass"
 +
    },
 +
    "items": [{          
 +
            "title": "Video 1",
 +
            "playerLabel": "Video 1",
 +
             "action": "video:http://msx.benzac.de/media/video1.mp4"
 +
        }, {
 +
            "title": "Video 2",
 +
            "playerLabel": "Video 2",
 +
            "action": "video:http://msx.benzac.de/media/video2.mp4"
 +
         }, {
 +
            "title": "Video 3",
 +
            "playerLabel": "Video 3",
 +
            "action": "video:http://msx.benzac.de/media/video3.mp4"
 +
        }]
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 15:26, 22 February 2024

This is a special interaction plugin that allows you to handle complex and multilingual inputs for special use cases (e.g. entering user names/passwords, performing search queries, etc.). In order to use this plugin, a corresponding content service must be implemented that processes the entered input (e.g. by evaluating an input parameter). The plugin can be used with version 0.1.123 or higher.

Usage[edit]

The plugin must be loaded with a content service URL that is able to handle the input (which can be set as URL parameter). Optionally, a type, a default language, a headline, a background, an extension, and/or a hint can be set. Please see following action syntax examples.

The content service URL should contain the keyword {INPUT}, which is replaced with the corresponding value. Please see following action syntax examples.

The content service should return either an action to be executed or a template and items object to display the results (e.g. for search queries). Please see following response examples.

{
    "action": "reload"
}
{
    "headline": "Search results for \"Video\"",  
    "template": {           
        "type": "separate",
        "layout": "0,0,2,4",
        "icon": "msx-white-soft:movie",
        "color": "msx-glass"
    },
    "items": [{            
            "title": "Video 1",
            "playerLabel": "Video 1",
            "action": "video:http://msx.benzac.de/media/video1.mp4"
        }, {
            "title": "Video 2",
            "playerLabel": "Video 2",
            "action": "video:http://msx.benzac.de/media/video2.mp4"
        }, {
            "title": "Video 3",
            "playerLabel": "Video 3",
            "action": "video:http://msx.benzac.de/media/video3.mp4"
        }]
}

If you would like to use the plugin as reference to implement your own plugin, please have a look at this implementation script: http://msx.benzac.de/interaction/js/input.js.

Note: Currently, the input plugin cannot be used with panels. Please also note that all requests to the content service are HTTP GET requests.

Syntax[edit]

Parameter syntax of content service for input plugin
Parameter Type Default Value Mandatory Description
input string "" Yes

The input that should be handled.

Note: For search inputs, the input is automatically submitted.

Example[edit]

Screenshot[edit]

Example Screenshot (Input Plugin)

Code[edit]

//TODO

Demo[edit]

See also[edit]