--- /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()" > ,`
+ }
+ | ],
+}