svghmi/gen_index_xhtml.xslt
branchsvghmi
changeset 2839 f4dd234faa11
parent 2838 459bf80d3f46
child 2842 2f73f001955a
equal deleted inserted replaced
2838:459bf80d3f46 2839:f4dd234faa11
  1105   <xsl:template mode="widget_defs" match="widget[@type='Button']"/>
  1105   <xsl:template mode="widget_defs" match="widget[@type='Button']"/>
  1106   <xsl:template mode="widget_defs" match="widget[@type='Toggle']">
  1106   <xsl:template mode="widget_defs" match="widget[@type='Toggle']">
  1107     <xsl:text>    frequency: 5,
  1107     <xsl:text>    frequency: 5,
  1108 </xsl:text>
  1108 </xsl:text>
  1109   </xsl:template>
  1109   </xsl:template>
  1110   <xsl:template mode="widget_defs" match="widget[@type='Change']">
  1110   <xsl:template mode="widget_defs" match="widget[@type='Switch']">
  1111     <xsl:text>    frequency: 5,
  1111     <xsl:param name="hmi_element"/>
       
  1112     <xsl:text>frequency: 5,
       
  1113 </xsl:text>
       
  1114     <xsl:text>dispatch: function(value) {
       
  1115 </xsl:text>
       
  1116     <xsl:text>    for(let choice of this.choices){
       
  1117 </xsl:text>
       
  1118     <xsl:text>        if(value != choice.value){
       
  1119 </xsl:text>
       
  1120     <xsl:text>            choice.elt.setAttribute("style", "display:none");
       
  1121 </xsl:text>
       
  1122     <xsl:text>        } else {
       
  1123 </xsl:text>
       
  1124     <xsl:text>            choice.elt.setAttribute("style", choice.style);
       
  1125 </xsl:text>
       
  1126     <xsl:text>        }
       
  1127 </xsl:text>
       
  1128     <xsl:text>    }
       
  1129 </xsl:text>
       
  1130     <xsl:text>},
       
  1131 </xsl:text>
       
  1132     <xsl:text>init: function() {
       
  1133 </xsl:text>
       
  1134     <xsl:text>    // Hello Switch
       
  1135 </xsl:text>
       
  1136     <xsl:text>},
       
  1137 </xsl:text>
       
  1138     <xsl:text>choices: [
       
  1139 </xsl:text>
       
  1140     <xsl:variable name="regex" select="'^(&quot;[^&quot;].*&quot;|\-?[0-9]+)(#.*)?$'"/>
       
  1141     <xsl:for-each select="$hmi_element/*[regexp:test(@inkscape:label,$regex)]">
       
  1142       <xsl:variable name="literal" select="regexp:match(@inkscape:label,$regex)[2]"/>
       
  1143       <xsl:text>    {
       
  1144 </xsl:text>
       
  1145       <xsl:text>        elt:document.getElementById("</xsl:text>
       
  1146       <xsl:value-of select="@id"/>
       
  1147       <xsl:text>"),
       
  1148 </xsl:text>
       
  1149       <xsl:text>        style:"</xsl:text>
       
  1150       <xsl:value-of select="@style"/>
       
  1151       <xsl:text>",
       
  1152 </xsl:text>
       
  1153       <xsl:text>        value:</xsl:text>
       
  1154       <xsl:value-of select="$literal"/>
       
  1155       <xsl:text>
       
  1156 </xsl:text>
       
  1157       <xsl:text>    }</xsl:text>
       
  1158       <xsl:if test="position()!=last()">
       
  1159         <xsl:text>,</xsl:text>
       
  1160       </xsl:if>
       
  1161       <xsl:text>
       
  1162 </xsl:text>
       
  1163     </xsl:for-each>
       
  1164     <xsl:text>],
  1112 </xsl:text>
  1165 </xsl:text>
  1113   </xsl:template>
  1166   </xsl:template>
  1114   <xsl:template mode="widget_defs" match="widget[@type='Jump']">
  1167   <xsl:template mode="widget_defs" match="widget[@type='Jump']">
  1115     <xsl:param name="hmi_element"/>
  1168     <xsl:param name="hmi_element"/>
  1116     <xsl:text>on_click: function() {
  1169     <xsl:text>on_click: function(evt) {
       
  1170 </xsl:text>
       
  1171     <xsl:text>    console.log(evt);
  1117 </xsl:text>
  1172 </xsl:text>
  1118     <xsl:text>    switch_page(this.args[0]);
  1173     <xsl:text>    switch_page(this.args[0]);
  1119 </xsl:text>
  1174 </xsl:text>
  1120     <xsl:text>},
  1175     <xsl:text>},
  1121 </xsl:text>
  1176 </xsl:text>
  1122     <xsl:text>init: function() {
  1177     <xsl:text>init: function() {
  1123 </xsl:text>
  1178 </xsl:text>
  1124     <xsl:text>    this.element.setAttribute("onclick", "hmi_widgets['</xsl:text>
  1179     <xsl:text>    this.element.setAttribute("onclick", "hmi_widgets['</xsl:text>
  1125     <xsl:value-of select="$hmi_element/@id"/>
  1180     <xsl:value-of select="$hmi_element/@id"/>
  1126     <xsl:text>'].on_click()");
  1181     <xsl:text>'].on_click(evt)");
  1127 </xsl:text>
  1182 </xsl:text>
  1128     <xsl:text>},
  1183     <xsl:text>},
  1129 </xsl:text>
  1184 </xsl:text>
  1130   </xsl:template>
  1185   </xsl:template>
  1131 </xsl:stylesheet>
  1186 </xsl:stylesheet>