--- a/svghmi/widget_back.ysl2 Mon May 11 11:33:00 2020 +0200
+++ b/svghmi/widget_back.ysl2 Wed May 13 18:26:38 2020 +0200
@@ -1,17 +1,17 @@
-template "widget[@type='Back']", mode="widget_defs" {
- | on_click: function(evt) {
- | if(jump_history.length > 1){
- | let [page_name, index] = jump_history.pop();
- | switch_page(page_name, index);
- | this.element.setAttribute("onclick", "hmi_widgets['«$hmi_element/@id»'].on_click(evt)");
+template "widget[@type='Back']", mode="widget_class" + class BackWidget extends Widget{ + if(jump_history.length > 1){ + let [page_name, index] = jump_history.pop(); + switch_page(page_name, index); + this.element.setAttribute("onclick", "hmi_widgets['"+this.element_id+"'].on_click(evt)"); --- a/svghmi/widgets_common.ysl2 Mon May 11 11:33:00 2020 +0200
+++ b/svghmi/widgets_common.ysl2 Wed May 13 18:26:38 2020 +0200
@@ -66,12 +66,14 @@
constructor(elt_id,args,indexes,members){
+ this.element_id = elt_id; this.element = id(elt_id);
Object.keys(members).forEach(prop => this[prop]=members[prop]);
for(let index of this.indexes){