svghmi/gen_index_xhtml.xslt
branchsvghmi
changeset 2997 2f298089e32e
parent 2996 14635b09d329
child 2998 e8f707d99dc3
equal deleted inserted replaced
2996:14635b09d329 2997:2f298089e32e
  1031     <xsl:text> widget didn't provide any */
  1031     <xsl:text> widget didn't provide any */
  1032 </xsl:text>
  1032 </xsl:text>
  1033     <xsl:text>}
  1033     <xsl:text>}
  1034 </xsl:text>
  1034 </xsl:text>
  1035   </xsl:template>
  1035   </xsl:template>
  1036   <xsl:variable name="excluded_types" select="str:split('Page Lang List')"/>
  1036   <xsl:variable name="excluded_types" select="str:split('Page Lang')"/>
  1037   <xsl:variable name="excluded_ids" select="$parsed_widgets/widget[not(@type = $excluded_types)]/@id"/>
  1037   <xsl:variable name="excluded_ids" select="$parsed_widgets/widget[not(@type = $excluded_types)]/@id"/>
  1038   <preamble:hmi-elements/>
  1038   <preamble:hmi-elements/>
  1039   <xsl:template match="preamble:hmi-elements">
  1039   <xsl:template match="preamble:hmi-elements">
  1040     <xsl:text>
  1040     <xsl:text>
  1041 </xsl:text>
  1041 </xsl:text>
  2218 </xsl:text>
  2218 </xsl:text>
  2219     <xsl:text>}
  2219     <xsl:text>}
  2220 </xsl:text>
  2220 </xsl:text>
  2221   </xsl:template>
  2221   </xsl:template>
  2222   <xsl:template mode="json_table_elt_render" match="svg:*">
  2222   <xsl:template mode="json_table_elt_render" match="svg:*">
  2223     <xsl:message terminate="no">
  2223     <xsl:message terminate="yes">
  2224       <xsl:text>JsonTable Widget can't contain element of type </xsl:text>
  2224       <xsl:text>JsonTable Widget can't contain element of type </xsl:text>
  2225       <xsl:value-of select="local-name()"/>
  2225       <xsl:value-of select="local-name()"/>
  2226       <xsl:text>.</xsl:text>
  2226       <xsl:text>.</xsl:text>
  2227     </xsl:message>
  2227     </xsl:message>
  2228   </xsl:template>
  2228   </xsl:template>
  2229   <xsl:template mode="json_table_elt_render" match="svg:use">
  2229   <xsl:template mode="json_table_elt_render" match="svg:use">
  2230     <xsl:param name="value_expr"/>
  2230     <xsl:param name="value_expr"/>
  2231     <xsl:text>    console.log("</xsl:text>
  2231     <xsl:variable name="targetid" select="substring-after(@xlink:href,'#')"/>
       
  2232     <xsl:variable name="from_list" select="$hmi_lists[(@id | */@id) = $targetid]"/>
       
  2233     <xsl:if test="count($from_list) = 0">
       
  2234       <xsl:message terminate="yes">
       
  2235         <xsl:text>Clones (svg:use) in JsonTable Widget must point to a valid HMI:List widget or HMI:List item. Reference "</xsl:text>
       
  2236         <xsl:value-of select="@xlink:href"/>
       
  2237         <xsl:text>" is not valid.</xsl:text>
       
  2238       </xsl:message>
       
  2239     </xsl:if>
       
  2240     <xsl:text>        console.log("</xsl:text>
  2232     <xsl:value-of select="@id"/>
  2241     <xsl:value-of select="@id"/>
  2233     <xsl:text>", "</xsl:text>
  2242     <xsl:text>", "</xsl:text>
  2234     <xsl:value-of select="$value_expr"/>
  2243     <xsl:value-of select="$value_expr"/>
  2235     <xsl:text>", </xsl:text>
  2244     <xsl:text>", </xsl:text>
  2236     <xsl:value-of select="$value_expr"/>
  2245     <xsl:value-of select="$value_expr"/>
  2237     <xsl:text>);
  2246     <xsl:text>);
  2238 </xsl:text>
  2247 </xsl:text>
       
  2248     <xsl:text>        id("</xsl:text>
       
  2249     <xsl:value-of select="@id"/>
       
  2250     <xsl:text>").setAttribute("xlink:href", 
       
  2251 </xsl:text>
       
  2252     <xsl:text>            "#"+hmi_widgets["</xsl:text>
       
  2253     <xsl:value-of select="$from_list/@id"/>
       
  2254     <xsl:text>"].items[</xsl:text>
       
  2255     <xsl:value-of select="$value_expr"/>
       
  2256     <xsl:text>]);
       
  2257 </xsl:text>
  2239   </xsl:template>
  2258   </xsl:template>
  2240   <xsl:template mode="json_table_elt_render" match="svg:text">
  2259   <xsl:template mode="json_table_elt_render" match="svg:text">
  2241     <xsl:param name="value_expr"/>
  2260     <xsl:param name="value_expr"/>
  2242     <xsl:text>    console.log("</xsl:text>
  2261     <xsl:text>        console.log("</xsl:text>
  2243     <xsl:value-of select="@id"/>
  2262     <xsl:value-of select="@id"/>
  2244     <xsl:text>", "</xsl:text>
  2263     <xsl:text>", "</xsl:text>
  2245     <xsl:value-of select="$value_expr"/>
  2264     <xsl:value-of select="$value_expr"/>
  2246     <xsl:text>", </xsl:text>
  2265     <xsl:text>", </xsl:text>
       
  2266     <xsl:value-of select="$value_expr"/>
       
  2267     <xsl:text>);
       
  2268 </xsl:text>
       
  2269     <xsl:text>        id("</xsl:text>
       
  2270     <xsl:value-of select="@id"/>
       
  2271     <xsl:text>").textContent = String(</xsl:text>
  2247     <xsl:value-of select="$value_expr"/>
  2272     <xsl:value-of select="$value_expr"/>
  2248     <xsl:text>);
  2273     <xsl:text>);
  2249 </xsl:text>
  2274 </xsl:text>
  2250   </xsl:template>
  2275   </xsl:template>
  2251   <xsl:template mode="json_table_render" match="svg:*">
  2276   <xsl:template mode="json_table_render" match="svg:*">
  2257       </xsl:with-param>
  2282       </xsl:with-param>
  2258     </xsl:apply-templates>
  2283     </xsl:apply-templates>
  2259   </xsl:template>
  2284   </xsl:template>
  2260   <xsl:template mode="json_table_render" match="svg:g">
  2285   <xsl:template mode="json_table_render" match="svg:g">
  2261     <xsl:param name="objname"/>
  2286     <xsl:param name="objname"/>
  2262     <xsl:text>let obj_</xsl:text>
  2287     <xsl:text>        let obj_</xsl:text>
  2263     <xsl:value-of select="@id"/>
  2288     <xsl:value-of select="@id"/>
  2264     <xsl:text> = </xsl:text>
  2289     <xsl:text> = </xsl:text>
  2265     <xsl:value-of select="$objname"/>
  2290     <xsl:value-of select="$objname"/>
  2266     <xsl:value-of select="@inkscape:label"/>
  2291     <xsl:value-of select="@inkscape:label"/>
  2267     <xsl:text>;
  2292     <xsl:text>;
  2287         <xsl:text>forward backward cursor</xsl:text>
  2312         <xsl:text>forward backward cursor</xsl:text>
  2288       </xsl:with-param>
  2313       </xsl:with-param>
  2289       <xsl:with-param name="mandatory" select="'no'"/>
  2314       <xsl:with-param name="mandatory" select="'no'"/>
  2290     </xsl:call-template>
  2315     </xsl:call-template>
  2291     <xsl:variable name="data_elt" select="$result_svg_ns//*[@id = $hmi_element/@id]/*[@inkscape:label = 'data']"/>
  2316     <xsl:variable name="data_elt" select="$result_svg_ns//*[@id = $hmi_element/@id]/*[@inkscape:label = 'data']"/>
  2292     <xsl:text>spread_json_data: function(jdata) {
  2317     <xsl:text>    spread_json_data: function(jdata) {
  2293 </xsl:text>
  2318 </xsl:text>
  2294     <xsl:text>    console.log(jdata);
  2319     <xsl:text>        console.log(jdata);
  2295 </xsl:text>
  2320 </xsl:text>
  2296     <xsl:apply-templates mode="json_table_render" select="$data_elt/*">
  2321     <xsl:apply-templates mode="json_table_render" select="$data_elt/*">
  2297       <xsl:with-param name="objname" select="'jdata'"/>
  2322       <xsl:with-param name="objname" select="'jdata'"/>
  2298     </xsl:apply-templates>
  2323     </xsl:apply-templates>
  2299     <xsl:text>}
  2324     <xsl:text>    }
  2300 </xsl:text>
  2325 </xsl:text>
  2301   </xsl:template>
  2326   </xsl:template>
  2302   <xsl:template name="jump_widget_activity">
  2327   <xsl:template name="jump_widget_activity">
  2303     <xsl:param name="hmi_element"/>
  2328     <xsl:param name="hmi_element"/>
  2304     <xsl:call-template name="defs_by_labels">
  2329     <xsl:call-template name="defs_by_labels">
  2763     <xsl:text>        }
  2788     <xsl:text>        }
  2764 </xsl:text>
  2789 </xsl:text>
  2765     <xsl:text>    },
  2790     <xsl:text>    },
  2766 </xsl:text>
  2791 </xsl:text>
  2767   </xsl:template>
  2792   </xsl:template>
       
  2793   <xsl:template mode="widget_defs" match="widget[@type='List']">
       
  2794     <xsl:param name="hmi_element"/>
       
  2795     <xsl:text>    items: {
       
  2796 </xsl:text>
       
  2797     <xsl:for-each select="$hmi_element/*[@inkscape:label]">
       
  2798       <xsl:text>        </xsl:text>
       
  2799       <xsl:value-of select="func:escape_quotes(@inkscape:label)"/>
       
  2800       <xsl:text>: "</xsl:text>
       
  2801       <xsl:value-of select="@id"/>
       
  2802       <xsl:text>",
       
  2803 </xsl:text>
       
  2804     </xsl:for-each>
       
  2805     <xsl:text>    },
       
  2806 </xsl:text>
       
  2807   </xsl:template>
  2768   <xsl:template mode="widget_defs" match="widget[@type='Meter']">
  2808   <xsl:template mode="widget_defs" match="widget[@type='Meter']">
  2769     <xsl:param name="hmi_element"/>
  2809     <xsl:param name="hmi_element"/>
  2770     <xsl:text>    frequency: 10,
  2810     <xsl:text>    frequency: 10,
  2771 </xsl:text>
  2811 </xsl:text>
  2772     <xsl:call-template name="defs_by_labels">
  2812     <xsl:call-template name="defs_by_labels">