marko-widgets
Version:
Module to support binding of behavior to rendered UI components rendered on the server or client
164 lines (163 loc) • 5.59 kB
JSON
{
"<*>": {
"@w-bind": {
"type": "string",
"preserve-name": true,
"autocomplete": [
{
"descriptionMoreURL": "http://markojs.com/docs/marko-widgets/get-started/#binding-behavior"
},
{
"displayText": "w-bind=\"<widgetPath>\"",
"snippet": "w-bind=\"${1:./widget}\"",
"descriptionMoreURL": "http://markojs.com/docs/marko-widgets/get-started/#binding-behavior"
}
]
},
"@w-scope": {
"type": "expression",
"preserve-name": true,
"autocomplete": []
},
"@w-extend": {
"type": "custom",
"preserve-name": true
},
"@w-config": {
"type": "expression",
"preserve-name": true
},
"@w-for": {
"type": "string",
"preserve-name": true
},
"@w-id": {
"type": "string",
"preserve-name": true,
"autocomplete": [
{
"displayText": "w-id=\"<method>\"",
"snippet": "w-id=\"${1:method}\"",
"descriptionMoreURL": "http://markojs.com/docs/marko-widgets/get-started/#referencing-nested-widgets"
},
{
"descriptionMoreURL": "http://markojs.com/docs/marko-widgets/get-started/#referencing-nested-widgets"
}
]
},
"@w-on*": {
"pattern": true,
"type": "string",
"allow-expressions": true,
"preserve-name": true,
"set-flag": "hasWidgetEvents",
"autocomplete": [
{
"displayText": "w-on<event>=\"<method>\"",
"snippet": "w-on${1:Click}=\"handle${2:Button}${1:Click}\"",
"descriptionMoreURL": "http://markojs.com/docs/marko-widgets/get-started/#adding-dom-event-listeners"
},
{
"text": "w-on",
"snippet": "w-on",
"descriptionMoreURL": "http://markojs.com/docs/marko-widgets/get-started/#adding-dom-event-listeners"
}
]
},
"@w-body": {
"preserve-name": true,
"autocomplete": [
{
"openTagOnly": true,
"descriptionMoreURL": "http://markojs.com/docs/marko-widgets/get-started/#adding-dom-event-listeners"
}
]
},
"@w-preserve": {
"type": "flag",
"preserve-name": true,
"autocomplete": [
{
"descriptionMoreURL": "http://markojs.com/docs/marko-widgets/#preserving-dom-nodes-during-re-render"
}
]
},
"@w-preserve-body": {
"type": "flag",
"preserve-name": true,
"autocomplete": [
{
"descriptionMoreURL": "http://markojs.com/docs/marko-widgets/#preserving-dom-nodes-during-re-render"
}
]
},
"@w-preserve-if": {
"preserve-name": true,
"autocomplete": [
{
"snippet": "w-preserve-if(${1:condition})",
"descriptionMoreURL": "http://markojs.com/docs/marko-widgets/#preserving-dom-nodes-during-re-render"
}
]
},
"@w-preserve-body-if": {
"preserve-name": true,
"autocomplete": [
{
"snippet": "w-preserve-body-if(${1:condition})",
"descriptionMoreURL": "http://markojs.com/docs/marko-widgets/#preserving-dom-nodes-during-re-render"
}
]
},
"@w-preserve-attrs": {
"type": "string",
"preserve-name": true,
"autocomplete": [
{
"displayText": "w-preserve-attrs=\"attr1,attr2\"",
"snippet": "w-preserve-attrs=\"${1:class,style}\"",
"descriptionMoreURL": "http://markojs.com/docs/marko-widgets/#preserving-dom-attributes-during-re-render"
}
]
},
"transformer": "./widgets-transformer.js"
},
"<w-widget>": {
"renderer": "./widget-tag.js",
"@type": "object",
"@config": "object",
"@id": "string",
"@hasDomEvents": "number",
"@body": "string",
"var": "widget",
"import-var": {
"_cfg": "data.widgetConfig",
"_state": "data.widgetState",
"_props": "data.widgetProps",
"_body": "data.widgetBody"
},
"autocomplete": []
},
"<init-widgets>": {
"renderer": "./init-widgets-tag.js",
"@immediate": "boolean"
},
"<w-preserve>": {
"renderer": "./preserve-tag.js",
"@id": "string",
"@if": "expression",
"@body-only": "expression",
"autocomplete": []
},
"<widget-types>": {
"code-generator": "./widget-types-tag.js",
"@*": "string",
"autocomplete": [
{
"displayText": "widget-types default=\"<pat1h>\" alt=\"<path2>\"",
"snippet": "widget-types default=\"${1:./widget}\"",
"openTagOnly": true
}
]
}
}