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 /* |