svghmi/gen_index_xhtml.ysl2
branchsvghmi
changeset 2801 390acff12755
parent 2800 68cee1366b9c
child 2806 7d0e81cdedb0
equal deleted inserted replaced
2800:68cee1366b9c 2801:390acff12755
   315             when "$hmi_element[self::svg:text]"{
   315             when "$hmi_element[self::svg:text]"{
   316             // TODO : care about <tspan> ?
   316             // TODO : care about <tspan> ?
   317         |   this.element.textContent = String(value);
   317         |   this.element.textContent = String(value);
   318             }
   318             }
   319             otherwise {
   319             otherwise {
   320                 error "Display widget as a group not implemented";
   320                 error > Display widget as a group not implemented
   321             }
   321             }
   322         }
   322         }
   323         | },
   323         | },
   324 
   324 
   325     }
   325     }
   326     template "widget[@type='Meter']", mode="widget_defs" {
   326     template "widget[@type='Meter']", mode="widget_defs" {
   327         |     frequency: 10,
   327         | frequency: 10,
   328     }
   328     }
   329     template "widget[@type='Input']", mode="widget_defs" {
   329     template "widget[@type='Input']", mode="widget_defs" {
       
   330         param "hmi_element";
       
   331         | frequency: 5,
       
   332         const "value_elt_id","$hmi_element//*[self::svg:text][@inkscape:label='value'][1]/@id";
       
   333         if "not($value_elt_id)" error > Input widget must have a text element
       
   334         | value_elt: document.getElementById("«$value_elt_id»"),
       
   335         | dispatch: function(value) {
       
   336         |     this.value_elt.textContent = String(value);
       
   337         | },
       
   338         const "edit_elt_id","$hmi_element/*[@inkscape:label='edit'][1]/@id";
       
   339         | init: function() {
       
   340         if "$edit_elt_id" {
       
   341         |     document.getElementById("«$edit_elt_id»").addEventListener(
       
   342         |         "click", 
       
   343         |         evt => alert('XXX TODO : Edit value'));
       
   344         }
       
   345         foreach "$hmi_element/*[regexp:test(@inkscape:label,'^[=+\-][0-9]+')]" {
       
   346         |     document.getElementById("«@id»").addEventListener(
       
   347         |         "click", 
       
   348         |         evt => change_hmi_value(this.indexes[0], "«@inkscape:label»"));
       
   349         }
       
   350         | },
       
   351     }
       
   352     template "widget[@type='Button']", mode="widget_defs" {
       
   353     }
       
   354     template "widget[@type='Toggle']", mode="widget_defs" {
       
   355         |     frequency: 5,
       
   356     }
       
   357     template "widget[@type='Change']", mode="widget_defs" {
       
   358         // HMI:Change:-10@/PUMP/VALUE 
       
   359         // HMI:Change:+1@/PUMP/VALUE 
       
   360         // HMI:Change:=42@/PUMP/VALUE 
   330         |     frequency: 5,
   361         |     frequency: 5,
   331     }
   362     }
   332     //    |     frequency: 10`apply ".", mode="refresh_frequency"`,
   363     //    |     frequency: 10`apply ".", mode="refresh_frequency"`,
   333     // template "widget", mode="refresh_frequency" > 10
   364     // template "widget", mode="refresh_frequency" > 10
   334     /*
   365     /*