svghmi/widget_back.ysl2
author Edouard Tisserant
Thu, 09 Apr 2020 09:52:34 +0200
branchsvghmi
changeset 2922 ddce4ebdf010
parent 2912 d320367eb2ad
child 2958 895d3f2b1786
permissions -rw-r--r--
SVGHMI: intermediate commit while working on dropdown widget.

Here is the plan :
HMI:DropDown : svg:g of svg:rect + svg:text
rect is extended to match content size, and if content size exceed page size, user can scroll
HMI:List : either HMI:List:ListName as svg:text, one tspan per list entry
or HMI:List:ListName:Foreach:HMI_CLASS:SUB/PATH/TO/VALUE@/ROOT/PATH as empty svg:g
// widget_back.ysl2

template "widget[@type='Back']", mode="widget_defs" {
    param "hmi_element";

    |     on_click: function(evt) {
    |         if(jump_history.length > 1){
    |            jump_history.pop();
    |            let [page_name, index] = jump_history.pop();
    |            switch_page(page_name, index);
    |         }
    |     },
    |     init: function() {
    |         this.element.setAttribute("onclick", "hmi_widgets['«$hmi_element/@id»'].on_click(evt)");
    |     },
}