equal
deleted
inserted
replaced
|
1 // widget_input.ysl2 |
|
2 |
|
3 template "widget[@type='Input']", mode="widget_defs" { |
|
4 param "hmi_element"; |
|
5 const "value_elt" { |
|
6 optional_labels("value"); |
|
7 } |
|
8 const "have_value","string-length($value_elt)>0"; |
|
9 value "$value_elt"; |
|
10 if "$have_value" |
|
11 | frequency: 5, |
|
12 |
|
13 | dispatch: function(value) { |
|
14 |
|
15 if "$have_value" |
|
16 | this.value_elt.textContent = String(value); |
|
17 |
|
18 | }, |
|
19 const "edit_elt_id","$hmi_element/*[@inkscape:label='edit'][1]/@id"; |
|
20 | init: function() { |
|
21 if "$edit_elt_id" { |
|
22 | id("«$edit_elt_id»").addEventListener( |
|
23 | "click", |
|
24 | evt => alert('XXX TODO : Edit value')); |
|
25 } |
|
26 foreach "$hmi_element/*[regexp:test(@inkscape:label,'^[=+\-].+')]" { |
|
27 | id("«@id»").addEventListener( |
|
28 | "click", |
|
29 | evt => {let new_val = change_hmi_value(this.indexes[0], "«func:escape_quotes(@inkscape:label)»"); |
|
30 if "$have_value"{ |
|
31 | this.value_elt.textContent = String(new_val); |
|
32 } |
|
33 | }); |
|
34 /* TODO gray out value until refreshed */ |
|
35 } |
|
36 | }, |
|
37 } |