866 </xsl:text> |
866 </xsl:text> |
867 <xsl:text>class Widget { |
867 <xsl:text>class Widget { |
868 </xsl:text> |
868 </xsl:text> |
869 <xsl:text> constructor(elt_id,args,indexes,members){ |
869 <xsl:text> constructor(elt_id,args,indexes,members){ |
870 </xsl:text> |
870 </xsl:text> |
|
871 <xsl:text> this.element_id = elt_id; |
|
872 </xsl:text> |
871 <xsl:text> this.element = id(elt_id); |
873 <xsl:text> this.element = id(elt_id); |
872 </xsl:text> |
874 </xsl:text> |
873 <xsl:text> this.args = args; |
875 <xsl:text> this.args = args; |
874 </xsl:text> |
876 </xsl:text> |
875 <xsl:text> this.indexes = indexes; |
877 <xsl:text> this.indexes = indexes; |
1076 <xsl:otherwise> |
1080 <xsl:otherwise> |
1077 <func:result select="$txt"/> |
1081 <func:result select="$txt"/> |
1078 </xsl:otherwise> |
1082 </xsl:otherwise> |
1079 </xsl:choose> |
1083 </xsl:choose> |
1080 </func:function> |
1084 </func:function> |
1081 <xsl:template mode="widget_defs" match="widget[@type='Back']"> |
1085 <xsl:template mode="widget_class" match="widget[@type='Back']"> |
1082 <xsl:param name="hmi_element"/> |
1086 <xsl:text>class BackWidget extends Widget{ |
1083 <xsl:text> on_click: function(evt) { |
1087 </xsl:text> |
|
1088 <xsl:text> on_click(evt) { |
1084 </xsl:text> |
1089 </xsl:text> |
1085 <xsl:text> if(jump_history.length > 1){ |
1090 <xsl:text> if(jump_history.length > 1){ |
1086 </xsl:text> |
1091 </xsl:text> |
1087 <xsl:text> jump_history.pop(); |
1092 <xsl:text> jump_history.pop(); |
1088 </xsl:text> |
1093 </xsl:text> |
1090 </xsl:text> |
1095 </xsl:text> |
1091 <xsl:text> switch_page(page_name, index); |
1096 <xsl:text> switch_page(page_name, index); |
1092 </xsl:text> |
1097 </xsl:text> |
1093 <xsl:text> } |
1098 <xsl:text> } |
1094 </xsl:text> |
1099 </xsl:text> |
1095 <xsl:text> }, |
1100 <xsl:text> } |
1096 </xsl:text> |
1101 </xsl:text> |
1097 <xsl:text> init: function() { |
1102 <xsl:text> init() { |
1098 </xsl:text> |
1103 </xsl:text> |
1099 <xsl:text> this.element.setAttribute("onclick", "hmi_widgets['</xsl:text> |
1104 <xsl:text> this.element.setAttribute("onclick", "hmi_widgets['"+this.element_id+"'].on_click(evt)"); |
1100 <xsl:value-of select="$hmi_element/@id"/> |
1105 </xsl:text> |
1101 <xsl:text>'].on_click(evt)"); |
1106 <xsl:text> } |
1102 </xsl:text> |
1107 </xsl:text> |
1103 <xsl:text> }, |
1108 <xsl:text>} |
1104 </xsl:text> |
1109 </xsl:text> |
1105 </xsl:template> |
1110 </xsl:template> |
1106 <xsl:template mode="widget_defs" match="widget[@type='Button']"> |
1111 <xsl:template mode="widget_class" match="widget[@type='Button']"> |
1107 <xsl:param name="hmi_element"/> |
1112 <xsl:text>class ButtonWidget extends Widget{ |
1108 <xsl:text>frequency: 5, |
1113 </xsl:text> |
1109 </xsl:text> |
1114 <xsl:text> frequency = 5; |
1110 <xsl:text>init: function() { |
1115 </xsl:text> |
1111 </xsl:text> |
1116 <xsl:text> init() { |
1112 <xsl:text> this.element.addEventListener( |
1117 </xsl:text> |
1113 </xsl:text> |
1118 <xsl:text> this.element.addEventListener( |
1114 <xsl:text> "mousedown", |
1119 </xsl:text> |
1115 </xsl:text> |
1120 <xsl:text> "mousedown", |
1116 <xsl:text> evt => { |
1121 </xsl:text> |
1117 </xsl:text> |
1122 <xsl:text> evt => { |
1118 <xsl:text> change_hmi_value(this.indexes[0], "=1"); |
1123 </xsl:text> |
1119 </xsl:text> |
1124 <xsl:text> change_hmi_value(this.indexes[0], "=1"); |
1120 <xsl:text> }); |
1125 </xsl:text> |
1121 </xsl:text> |
1126 <xsl:text> }); |
1122 <xsl:text> this.element.addEventListener( |
1127 </xsl:text> |
1123 </xsl:text> |
1128 <xsl:text> this.element.addEventListener( |
1124 <xsl:text> "mouseup", |
1129 </xsl:text> |
1125 </xsl:text> |
1130 <xsl:text> "mouseup", |
1126 <xsl:text> evt => { |
1131 </xsl:text> |
1127 </xsl:text> |
1132 <xsl:text> evt => { |
1128 <xsl:text> change_hmi_value(this.indexes[0], "=0"); |
1133 </xsl:text> |
1129 </xsl:text> |
1134 <xsl:text> change_hmi_value(this.indexes[0], "=0"); |
1130 <xsl:text> }); |
1135 </xsl:text> |
1131 </xsl:text> |
1136 <xsl:text> }); |
1132 <xsl:text>}, |
1137 </xsl:text> |
|
1138 <xsl:text> } |
|
1139 </xsl:text> |
|
1140 <xsl:text>} |
1133 </xsl:text> |
1141 </xsl:text> |
1134 </xsl:template> |
1142 </xsl:template> |
1135 <xsl:template mode="widget_defs" match="widget[@type='CircularBar']"> |
1143 <xsl:template mode="widget_defs" match="widget[@type='CircularBar']"> |
1136 <xsl:param name="hmi_element"/> |
1144 <xsl:param name="hmi_element"/> |
1137 <xsl:text>frequency: 10, |
1145 <xsl:text>frequency: 10, |
1765 <xsl:text> }, |
1773 <xsl:text> }, |
1766 </xsl:text> |
1774 </xsl:text> |
1767 </xsl:template> |
1775 </xsl:template> |
1768 <xsl:template mode="widget_defs" match="widget[@type='ForEach']"> |
1776 <xsl:template mode="widget_defs" match="widget[@type='ForEach']"> |
1769 <xsl:param name="hmi_element"/> |
1777 <xsl:param name="hmi_element"/> |
1770 <xsl:variable name="widgets" select="func:refered_elements($forEach_widgets)[not(@id = $forEach_widgets_ids)]"/> |
|
1771 <xsl:variable name="class" select="arg[1]/@value"/> |
1778 <xsl:variable name="class" select="arg[1]/@value"/> |
1772 <xsl:variable name="base_path" select="path/@value"/> |
1779 <xsl:variable name="base_path" select="path/@value"/> |
1773 <xsl:variable name="hmi_index_base" select="$indexed_hmitree/*[@hmipath = $base_path]"/> |
1780 <xsl:variable name="hmi_index_base" select="$indexed_hmitree/*[@hmipath = $base_path]"/> |
1774 <xsl:variable name="hmi_tree_base" select="$hmitree/descendant-or-self::*[@path = $hmi_index_base/@path]"/> |
1781 <xsl:variable name="hmi_tree_base" select="$hmitree/descendant-or-self::*[@path = $hmi_index_base/@path]"/> |
1775 <xsl:variable name="hmi_tree_items" select="$hmi_tree_base/*[@class = $class]"/> |
1782 <xsl:variable name="hmi_tree_items" select="$hmi_tree_base/*[@class = $class]"/> |
3102 </xsl:text> |
3109 </xsl:text> |
3103 <xsl:text> if(widgets.size > 0) { |
3110 <xsl:text> if(widgets.size > 0) { |
3104 </xsl:text> |
3111 </xsl:text> |
3105 <xsl:text> let maxfreq = 0; |
3112 <xsl:text> let maxfreq = 0; |
3106 </xsl:text> |
3113 </xsl:text> |
3107 <xsl:text> for(let widget of widgets) |
3114 <xsl:text> for(let widget of widgets){ |
3108 </xsl:text> |
3115 </xsl:text> |
3109 <xsl:text> if(maxfreq < widget.frequency) |
3116 <xsl:text> let wf = widget.frequency; |
3110 </xsl:text> |
3117 </xsl:text> |
3111 <xsl:text> maxfreq = widget.frequency; |
3118 <xsl:text> if(wf != undefined && maxfreq < wf) |
|
3119 </xsl:text> |
|
3120 <xsl:text> maxfreq = wf; |
|
3121 </xsl:text> |
|
3122 <xsl:text> } |
3112 </xsl:text> |
3123 </xsl:text> |
3113 <xsl:text> |
3124 <xsl:text> |
3114 </xsl:text> |
3125 </xsl:text> |
3115 <xsl:text> if(maxfreq != 0) |
3126 <xsl:text> if(maxfreq != 0) |
3116 </xsl:text> |
3127 </xsl:text> |