svghmi/gen_index_xhtml.xslt
branchsvghmi
changeset 3003 9771a724af09
parent 2998 e8f707d99dc3
child 3004 705e34c6fe93
equal deleted inserted replaced
3002:30b0635fe92e 3003:9771a724af09
   999 </xsl:text>
   999 </xsl:text>
  1000     <xsl:text>    }
  1000     <xsl:text>    }
  1001 </xsl:text>
  1001 </xsl:text>
  1002     <xsl:text>
  1002     <xsl:text>
  1003 </xsl:text>
  1003 </xsl:text>
       
  1004     <xsl:text>    get_idx(index) {
       
  1005 </xsl:text>
       
  1006     <xsl:text>         let orig = this.indexes[index];
       
  1007 </xsl:text>
       
  1008     <xsl:text>         return this.offset ? orig + this.offset : orig;
       
  1009 </xsl:text>
       
  1010     <xsl:text>    }
       
  1011 </xsl:text>
  1004     <xsl:text>}
  1012     <xsl:text>}
  1005 </xsl:text>
  1013 </xsl:text>
  1006     <xsl:text>
  1014     <xsl:text>
  1007 </xsl:text>
  1015 </xsl:text>
  1008   </xsl:template>
  1016   </xsl:template>
  1186 </xsl:text>
  1194 </xsl:text>
  1187     <xsl:text>        this.inactive_elt.setAttribute("style", "display:none");
  1195     <xsl:text>        this.inactive_elt.setAttribute("style", "display:none");
  1188 </xsl:text>
  1196 </xsl:text>
  1189     <xsl:text>    }
  1197     <xsl:text>    }
  1190 </xsl:text>
  1198 </xsl:text>
  1191     <xsl:text>    change_hmi_value(this.indexes[0], "=1");
  1199     <xsl:text>    apply_hmi_value(this.get_idx(0), 1);
  1192 </xsl:text>
  1200 </xsl:text>
  1193     <xsl:text>},
  1201     <xsl:text>},
  1194 </xsl:text>
  1202 </xsl:text>
  1195     <xsl:text>on_mouse_up: function(evt) {
  1203     <xsl:text>on_mouse_up: function(evt) {
  1196 </xsl:text>
  1204 </xsl:text>
  1200 </xsl:text>
  1208 </xsl:text>
  1201     <xsl:text>        this.inactive_elt.setAttribute("style", this.inactive_style);
  1209     <xsl:text>        this.inactive_elt.setAttribute("style", this.inactive_style);
  1202 </xsl:text>
  1210 </xsl:text>
  1203     <xsl:text>    }
  1211     <xsl:text>    }
  1204 </xsl:text>
  1212 </xsl:text>
  1205     <xsl:text>    change_hmi_value(this.indexes[0], "=0");
  1213     <xsl:text>    apply_hmi_value(this.get_idx(0), 0);
  1206 </xsl:text>
  1214 </xsl:text>
  1207     <xsl:text>},
  1215     <xsl:text>},
  1208 </xsl:text>
  1216 </xsl:text>
  1209     <xsl:text>active_style: undefined,
  1217     <xsl:text>active_style: undefined,
  1210 </xsl:text>
  1218 </xsl:text>
  1435 </xsl:text>
  1443 </xsl:text>
  1436     <xsl:text>    on_selection_click: function(selection) {
  1444     <xsl:text>    on_selection_click: function(selection) {
  1437 </xsl:text>
  1445 </xsl:text>
  1438     <xsl:text>        this.close();
  1446     <xsl:text>        this.close();
  1439 </xsl:text>
  1447 </xsl:text>
  1440     <xsl:text>        let orig = this.indexes[0];
  1448     <xsl:text>        apply_hmi_value(this.get_idx(0), selection);
  1441 </xsl:text>
       
  1442     <xsl:text>        let idx = this.offset ? orig - this.offset : orig;
       
  1443 </xsl:text>
       
  1444     <xsl:text>        apply_hmi_value(idx, selection);
       
  1445 </xsl:text>
  1449 </xsl:text>
  1446     <xsl:text>    },
  1450     <xsl:text>    },
  1447 </xsl:text>
  1451 </xsl:text>
  1448     <xsl:text>    on_button_click: function() {
  1452     <xsl:text>    on_button_click: function() {
  1449 </xsl:text>
  1453 </xsl:text>
  1991 </xsl:text>
  1995 </xsl:text>
  1992     <xsl:text>    }
  1996     <xsl:text>    }
  1993 </xsl:text>
  1997 </xsl:text>
  1994     <xsl:text>
  1998     <xsl:text>
  1995 </xsl:text>
  1999 </xsl:text>
  1996     <xsl:text>    foreach_widgets_do(new_offset, todo){
  2000     <xsl:text>    foreach_widgets_do(todo){
       
  2001 </xsl:text>
       
  2002     <xsl:text>        for(let i = 0; i &lt; this.items.length; i++) {
       
  2003 </xsl:text>
       
  2004     <xsl:text>            let item = this.items[i];
       
  2005 </xsl:text>
       
  2006     <xsl:text>            let orig_item_index = this.index_pool[i];
       
  2007 </xsl:text>
       
  2008     <xsl:text>            let item_index = this.index_pool[i+this.item_offset];
       
  2009 </xsl:text>
       
  2010     <xsl:text>            let item_index_offset = item_index - orig_item_index;
       
  2011 </xsl:text>
       
  2012     <xsl:text>            for(let widget of item) {
       
  2013 </xsl:text>
       
  2014     <xsl:text>                todo(widget).call(widget, this.offset + item_index_offset);
       
  2015 </xsl:text>
       
  2016     <xsl:text>            }
       
  2017 </xsl:text>
       
  2018     <xsl:text>        }
       
  2019 </xsl:text>
       
  2020     <xsl:text>    }
       
  2021 </xsl:text>
       
  2022     <xsl:text>
       
  2023 </xsl:text>
       
  2024     <xsl:text>    sub(new_offset=0){
  1997 </xsl:text>
  2025 </xsl:text>
  1998     <xsl:text>        this.offset = new_offset;
  2026     <xsl:text>        this.offset = new_offset;
  1999 </xsl:text>
  2027 </xsl:text>
  2000     <xsl:text>        for(let i = 0; i &lt; this.items.length; i++) {
  2028     <xsl:text>        this.foreach_widgets_do(w=&gt;w.sub);
  2001 </xsl:text>
       
  2002     <xsl:text>            let item = this.items[i];
       
  2003 </xsl:text>
       
  2004     <xsl:text>            let orig_item_index = this.index_pool[i];
       
  2005 </xsl:text>
       
  2006     <xsl:text>            let item_index = this.index_pool[i+this.item_offset];
       
  2007 </xsl:text>
       
  2008     <xsl:text>            let item_index_offset = item_index - orig_item_index;
       
  2009 </xsl:text>
       
  2010     <xsl:text>            for(let widget of item) {
       
  2011 </xsl:text>
       
  2012     <xsl:text>                todo(widget).call(widget, new_offset + item_index_offset);
       
  2013 </xsl:text>
       
  2014     <xsl:text>            }
       
  2015 </xsl:text>
       
  2016     <xsl:text>        }
       
  2017 </xsl:text>
  2029 </xsl:text>
  2018     <xsl:text>    }
  2030     <xsl:text>    }
  2019 </xsl:text>
  2031 </xsl:text>
  2020     <xsl:text>
  2032     <xsl:text>
  2021 </xsl:text>
  2033 </xsl:text>
  2022     <xsl:text>    sub(new_offset=0){
       
  2023 </xsl:text>
       
  2024     <xsl:text>        this.foreach_widgets_do(new_offset, w=&gt;w.sub);
       
  2025 </xsl:text>
       
  2026     <xsl:text>    }
       
  2027 </xsl:text>
       
  2028     <xsl:text>
       
  2029 </xsl:text>
       
  2030     <xsl:text>    apply_cache() {
  2034     <xsl:text>    apply_cache() {
  2031 </xsl:text>
  2035 </xsl:text>
  2032     <xsl:text>        this.foreach_widgets_do(this.offset, w=&gt;w.apply_cache);
  2036     <xsl:text>        this.foreach_widgets_do(w=&gt;w.apply_cache);
  2033 </xsl:text>
  2037 </xsl:text>
  2034     <xsl:text>    }
  2038     <xsl:text>    }
  2035 </xsl:text>
  2039 </xsl:text>
  2036     <xsl:text>
  2040     <xsl:text>
  2037 </xsl:text>
  2041 </xsl:text>
  2132     </xsl:for-each>
  2136     </xsl:for-each>
  2133     <xsl:text>    },
  2137     <xsl:text>    },
  2134 </xsl:text>
  2138 </xsl:text>
  2135     <xsl:text>    on_op_click: function(opstr) {
  2139     <xsl:text>    on_op_click: function(opstr) {
  2136 </xsl:text>
  2140 </xsl:text>
  2137     <xsl:text>        let orig = this.indexes[0];
  2141     <xsl:text>        let new_val = change_hmi_value(this.get_idx(0), opstr);
  2138 </xsl:text>
       
  2139     <xsl:text>        let idx = this.offset ? orig - this.offset : orig;
       
  2140 </xsl:text>
       
  2141     <xsl:text>        let new_val = change_hmi_value(idx, opstr);
       
  2142 </xsl:text>
  2142 </xsl:text>
  2143     <xsl:text>    },
  2143     <xsl:text>    },
  2144 </xsl:text>
  2144 </xsl:text>
  2145     <xsl:text>    on_edit_click: function(opstr) {
  2145     <xsl:text>    on_edit_click: function(opstr) {
  2146 </xsl:text>
  2146 </xsl:text>
  2152 </xsl:text>
  2152 </xsl:text>
  2153     <xsl:text>    },
  2153     <xsl:text>    },
  2154 </xsl:text>
  2154 </xsl:text>
  2155     <xsl:text>    edit_callback: function(new_val) {
  2155     <xsl:text>    edit_callback: function(new_val) {
  2156 </xsl:text>
  2156 </xsl:text>
  2157     <xsl:text>        let orig = this.indexes[0];
  2157     <xsl:text>        apply_hmi_value(this.get_idx(0), new_val);
  2158 </xsl:text>
       
  2159     <xsl:text>        let idx = this.offset ? orig - this.offset : orig;
       
  2160 </xsl:text>
       
  2161     <xsl:text>        apply_hmi_value(idx, new_val);
       
  2162 </xsl:text>
  2158 </xsl:text>
  2163     <xsl:text>    },
  2159     <xsl:text>    },
  2164 </xsl:text>
  2160 </xsl:text>
  2165   </xsl:template>
  2161   </xsl:template>
  2166   <xsl:template mode="widget_class" match="widget[@type='JsonTable']">
  2162   <xsl:template mode="widget_class" match="widget[@type='JsonTable']">
  3411 </xsl:text>
  3407 </xsl:text>
  3412           <xsl:text>    indexes: [heartbeat_index],
  3408           <xsl:text>    indexes: [heartbeat_index],
  3413 </xsl:text>
  3409 </xsl:text>
  3414           <xsl:text>    dispatch: function(value) {
  3410           <xsl:text>    dispatch: function(value) {
  3415 </xsl:text>
  3411 </xsl:text>
  3416           <xsl:text>        change_hmi_value(heartbeat_index, "+1");
  3412           <xsl:text>        apply_hmi_value(heartbeat_index, value+1);
  3417 </xsl:text>
  3413 </xsl:text>
  3418           <xsl:text>    }
  3414           <xsl:text>    }
  3419 </xsl:text>
  3415 </xsl:text>
  3420           <xsl:text>});
  3416           <xsl:text>});
  3421 </xsl:text>
  3417 </xsl:text>