svghmi/gen_index_xhtml.xslt
branchsvghmi
changeset 3048 d46d545ff7b7
parent 3047 c113904f0e62
child 3058 6ea4b7e1a9ed
equal deleted inserted replaced
3047:c113904f0e62 3048:d46d545ff7b7
  3465   <xsl:template mode="widget_class" match="widget[@type='JsonTable']">
  3465   <xsl:template mode="widget_class" match="widget[@type='JsonTable']">
  3466     <xsl:text>class JsonTableWidget extends Widget{
  3466     <xsl:text>class JsonTableWidget extends Widget{
  3467 </xsl:text>
  3467 </xsl:text>
  3468     <xsl:text>    cache = [];
  3468     <xsl:text>    cache = [];
  3469 </xsl:text>
  3469 </xsl:text>
  3470     <xsl:text>    do_http_request() {
  3470     <xsl:text>    do_http_request(...opt) {
  3471 </xsl:text>
  3471 </xsl:text>
  3472     <xsl:text>        const query = {
  3472     <xsl:text>        const query = {
  3473 </xsl:text>
  3473 </xsl:text>
  3474     <xsl:text>            args: this.args,
  3474     <xsl:text>            args: this.args,
  3475 </xsl:text>
  3475 </xsl:text>
  3476     <xsl:text>            vars: this.cache,
  3476     <xsl:text>            vars: this.cache,
  3477 </xsl:text>
  3477 </xsl:text>
  3478     <xsl:text>            visible: this.visible
  3478     <xsl:text>            visible: this.visible,
       
  3479 </xsl:text>
       
  3480     <xsl:text>            options: opt
  3479 </xsl:text>
  3481 </xsl:text>
  3480     <xsl:text>        };
  3482     <xsl:text>        };
  3481 </xsl:text>
  3483 </xsl:text>
  3482     <xsl:text>
  3484     <xsl:text>
  3483 </xsl:text>
  3485 </xsl:text>
  3509 </xsl:text>
  3511 </xsl:text>
  3510     <xsl:text>        this.do_http_request();
  3512     <xsl:text>        this.do_http_request();
  3511 </xsl:text>
  3513 </xsl:text>
  3512     <xsl:text>    }
  3514     <xsl:text>    }
  3513 </xsl:text>
  3515 </xsl:text>
  3514     <xsl:text>    on_click(evt) {
  3516     <xsl:text>    on_click(evt, ...options) {
  3515 </xsl:text>
  3517 </xsl:text>
  3516     <xsl:text>        this.do_http_request();
  3518     <xsl:text>        this.do_http_request(...options);
  3517 </xsl:text>
       
  3518     <xsl:text>    }
       
  3519 </xsl:text>
       
  3520     <xsl:text>    init() {
       
  3521 </xsl:text>
       
  3522     <xsl:text>        this.element.setAttribute("onclick", "hmi_widgets['"+this.element_id+"'].on_click(evt)");
       
  3523 </xsl:text>
  3519 </xsl:text>
  3524     <xsl:text>    }
  3520     <xsl:text>    }
  3525 </xsl:text>
  3521 </xsl:text>
  3526     <xsl:text>}
  3522     <xsl:text>}
  3527 </xsl:text>
  3523 </xsl:text>
  3703   </xsl:template>
  3699   </xsl:template>
  3704   <xsl:template mode="json_table_render" match="svg:*">
  3700   <xsl:template mode="json_table_render" match="svg:*">
  3705     <xsl:param name="expressions"/>
  3701     <xsl:param name="expressions"/>
  3706     <xsl:param name="widget_elts"/>
  3702     <xsl:param name="widget_elts"/>
  3707     <xsl:param name="label"/>
  3703     <xsl:param name="label"/>
       
  3704     <xsl:variable name="new_expressions" select="func:json_expressions($expressions, $label)"/>
       
  3705     <xsl:variable name="elt" select="."/>
       
  3706     <xsl:for-each select="$new_expressions/expression[position() &gt; 1][starts-with(@name,'onClick')]">
       
  3707       <xsl:text>        id("</xsl:text>
       
  3708       <xsl:value-of select="$elt/@id"/>
       
  3709       <xsl:text>").setAttribute("onclick", "hmi_widgets['"+this.element_id+"'].on_click(evt, '</xsl:text>
       
  3710       <xsl:value-of select="@name"/>
       
  3711       <xsl:text>', '"+</xsl:text>
       
  3712       <xsl:value-of select="@content"/>
       
  3713       <xsl:text>+"')");
       
  3714 </xsl:text>
       
  3715     </xsl:for-each>
  3708     <xsl:apply-templates mode="json_table_elt_render" select=".">
  3716     <xsl:apply-templates mode="json_table_elt_render" select=".">
  3709       <xsl:with-param name="expressions" select="func:json_expressions($expressions, $label)"/>
  3717       <xsl:with-param name="expressions" select="$new_expressions"/>
  3710     </xsl:apply-templates>
  3718     </xsl:apply-templates>
  3711   </xsl:template>
  3719   </xsl:template>
  3712   <xsl:template mode="json_table_render" match="svg:g">
  3720   <xsl:template mode="json_table_render" match="svg:g">
  3713     <xsl:param name="expressions"/>
  3721     <xsl:param name="expressions"/>
  3714     <xsl:param name="widget_elts"/>
  3722     <xsl:param name="widget_elts"/>