plot-plan-designer
Version:
Design Editor Tools with React.js + ant.design + fabric.js
202 lines (201 loc) • 6.24 kB
JSON
{
"TRIGGER": [
{
"name": "Timer",
"description": "The Timer Trigger will fire a workflow on a scheduled interval.",
"type": "TRIGGER",
"nodeClazz": "TimerNode",
"configClazz": "TimerNodeConfiguration",
"defaultConfiguration": {
"scheduleType": "SIMPLE_INTERVAL",
"interval": 1,
"timeUnit": "MINUTES"
},
"inEnabled": false,
"outPortType": "SINGLE",
"outPorts": [
""
],
"icon": "clock"
},
{
"name": "Virtual Button",
"description": "fire a rule chain when the \"virtual button\" is pressed",
"type": "TRIGGER",
"nodeClazz": "VirtualButtonNode",
"configClazz": "VirtualButtonNodeConfiguration",
"defaultConfiguration": {
"payload": "{\"key\":\"value\"}"
},
"inEnabled": false,
"outPortType": "SINGLE",
"outPorts": [
""
],
"icon": "dot-circle"
}
],
"LOGIC": [
{
"name": "Broadcast",
"description": "broadcast",
"type": "LOGIC",
"nodeClazz": "BroadcastNode",
"configClazz": "BroadcastNodeConfiguration",
"defaultConfiguration": {
"outputCount": 0
},
"inEnabled": true,
"outPortType": "BROADCAST",
"outPorts": [
""
],
"icon": "sitemap"
},
{
"name": "Delay",
"description": "delay",
"type": "LOGIC",
"nodeClazz": "DelayNode",
"configClazz": "DelayNodeConfiguration",
"defaultConfiguration": {
"delaySec": 0
},
"inEnabled": true,
"outPortType": "SINGLE",
"outPorts": [
""
],
"icon": "pause"
},
{
"name": "Filter",
"description": "filter",
"type": "LOGIC",
"nodeClazz": "FilterNode",
"configClazz": "FilterNodeConfiguration",
"defaultConfiguration": {
"jsScript": "return false;"
},
"inEnabled": true,
"outPortType": "STATIC",
"outPorts": [
"true",
"false"
],
"icon": "filter"
},
{
"name": "Function",
"description": "function",
"type": "LOGIC",
"nodeClazz": "FunctionNode",
"configClazz": "FunctionNodeConfiguration",
"defaultConfiguration": {
"jsScript": "message.payload.measurement.temperature = (message.payload.measurement.temperature - 32) / 1.8;\nreturn message;"
},
"inEnabled": true,
"outPortType": "SINGLE",
"outPorts": [
""
],
"icon": "superscript"
},
{
"name": "Switch",
"description": "switch",
"type": "LOGIC",
"nodeClazz": "SwitchNode",
"configClazz": "SwitchNodeConfiguration",
"defaultConfiguration": {
"routes": [
"normal",
"warning",
"error"
],
"jsScript": "if(message.payload.measurement.temperature > message.vars.threshold2) {\nreturn 'error';\n} else if(message.payload.measurement.temperature > message.vars.threshold1) {\nreturn 'warning';\n} else {\nreturn 'normal';\n}"
},
"inEnabled": true,
"outPortType": "DYNAMIC",
"outPorts": [
""
],
"icon": "random"
}
],
"DATA": [
{
"name": "Counter: Get",
"description": "Get counter",
"type": "DATA",
"nodeClazz": "CounterGetNode",
"configClazz": "CounterGetNodeConfiguration",
"defaultConfiguration": {
"keyTemplate": null,
"resultPath": "counter"
},
"inEnabled": true,
"outPortType": "SINGLE",
"outPorts": [
""
],
"icon": ""
},
{
"name": "Counter: Set",
"description": "Set counter",
"type": "DATA",
"nodeClazz": "CounterSetNode",
"configClazz": "CounterSetNodeConfiguration",
"defaultConfiguration": {
"keyTemplate": null,
"operation": "INCREMENT",
"valueTemplate": null
},
"inEnabled": true,
"outPortType": "SINGLE",
"outPorts": [
""
],
"icon": ""
}
],
"ACTION": [
{
"name": "Debug",
"description": "debug",
"type": "ACTION",
"nodeClazz": "DebugNode",
"configClazz": "DebugNodeConfiguration",
"defaultConfiguration": {
"loggingLevel": "INFO",
"messageTemplate": null
},
"inEnabled": true,
"outPortType": "SINGLE",
"outPorts": [
""
],
"icon": "bug"
},
{
"name": "Email",
"description": "Send email",
"type": "ACTION",
"nodeClazz": "EmailNode",
"configClazz": "EmailNodeConfiguration",
"defaultConfiguration": {
"subjectTemplate": "Temperature high!",
"receiversTemplate": "user.name@example.com",
"textTemplate": "Temperature is {{data.measurement.temperature}}",
"resultPath": "mail"
},
"inEnabled": true,
"outPortType": "SINGLE",
"outPorts": [
""
],
"icon": "envelope"
}
]
}