svghmi/widget_back.ysl2
changeset 3653 d5ff60e906b0
parent 3241 fe945f1f48b7
child 3654 6b7f15089703
equal deleted inserted replaced
3651:e3a29c5b74c4 3653:d5ff60e906b0
    12 // TODO: use es6
    12 // TODO: use es6
    13 widget_class("Back")
    13 widget_class("Back")
    14     ||
    14     ||
    15         on_click(evt) {
    15         on_click(evt) {
    16             if(jump_history.length > 1){
    16             if(jump_history.length > 1){
    17                jump_history.pop();
    17                let page_name, index;
    18                let [page_name, index] = jump_history.pop();
    18                do {
       
    19                    jump_history.pop(); // forget current page
       
    20                    if(jump_history.length == 0) return;
       
    21                    [page_name, index] = jump_history[jump_history.length-1];
       
    22                } while(page_name == "ScreenSaver") // never go back to ScreenSaver
    19                switch_page(page_name, index);
    23                switch_page(page_name, index);
    20             }
    24             }
    21         }
    25         }
    22         init() {
    26         init() {
    23             this.element.setAttribute("onclick", "hmi_widgets['"+this.element_id+"'].on_click(evt)");
    27             this.element.setAttribute("onclick", "hmi_widgets['"+this.element_id+"'].on_click(evt)");