// widget_back.ysl2 widget_desc("Back") { longdesc || Back widget brings focus back to previous page in history when clicked. || shortdesc > Jump to previous page } // TODO: use es6 widget_class("Back") || on_click(evt) { if(jump_history.length > 1){ let page_name, index; do { jump_history.pop(); // forget current page if(jump_history.length == 0) return; [page_name, index] = jump_history[jump_history.length-1]; } while(page_name == "ScreenSaver") // never go back to ScreenSaver switch_page(page_name, index); } } init() { this.element.setAttribute("onclick", "hmi_widgets['"+this.element_id+"'].on_click(evt)"); } ||