New SX APIs
Last modified by Vincent Massol on 2024/11/19 16:12
Description
This proposal aims to propose replacement for SX scripting APIs, currently exposed by the plugin technology via $xwiki.ssx, $xwiki.jsx, $xwiki.jfsx etc. entry points.
Proposal
Entry point
$services.skin
APIs
$services.skin.require(Map<String,Object>)
Full example
$services.skin.require({
'My.Extension' : { 'type': 'js', 'forceSkinAction' : 'true' },
'My.OtherExtension' : {'type' ['css', 'js', 'link'] },
'uicomponents/widgers/some/widget.js' : { 'medium' : 'file' },
'some/resource/style.css' : { 'medium':'resource' }
})$services.skin.require(String)
Example :
$services.skin.require("My.Extension")
-> Requires all extensions in document My.Extension$services.skin.require(String, Map<String,Object>)
Example :
$services.skin.require("My.Extension", {'forceSkinAction' : true})
-> Requires all extensions in document My.Extension with param forceSkinAction to true$services.skin.requireFile(String)
Example : $services.skin.requireFile('uicomponents/widgers/some/widget.js')
$services.skin.requireFile(String, Map<String,Object>)
Example : $services.skin.requireFile('uicomponents/widgers/some/widget.js', {'forceSkinAction' : true})
{{code}}
Jerome