svghmi/widget_switch.ysl2
branchsvghmi
changeset 2883 8e3d130399b0
parent 2882 ac08a5d15c15
child 2907 1695122a5e16
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/svghmi/widget_switch.ysl2	Wed Mar 18 09:16:14 2020 +0100
@@ -0,0 +1,29 @@
+// widget_switch.ysl2
+
+template "widget[@type='Switch']", mode="widget_defs" {
+    param "hmi_element";
+    |     frequency: 5,
+    |     dispatch: function(value) {
+    |         for(let choice of this.choices){
+    |             if(value != choice.value){
+    |                 choice.elt.setAttribute("style", "display:none");
+    |             } else {
+    |                 choice.elt.setAttribute("style", choice.style);
+    |             }
+    |         }
+    |     },
+    |     init: function() {
+    |         // Hello Switch
+    |     },
+    |     choices: [
+    const "regex",!"'^(\"[^\"].*\"|\-?[0-9]+)(#.*)?$'"!;
+    foreach "$hmi_element/*[regexp:test(@inkscape:label,$regex)]" {
+        const "literal", "regexp:match(@inkscape:label,$regex)[2]";
+    |         {
+    |             elt:id("«@id»"),
+    |             style:"«@style»",
+    |             value:«$literal»
+    |         }`if "position()!=last()" > ,`
+    }
+    |     ],
+}