SVGHMI: Alow relative relative Jump. (i.e, relative jump from a foreach widget) svghmi
authorEdouard Tisserant
Wed, 25 Mar 2020 13:56:04 +0100
branchsvghmi
changeset 2898 a2910281fcb5
parent 2897 bf8a39cc65e4
child 2899 f1baf2d0552c
SVGHMI: Alow relative relative Jump. (i.e, relative jump from a foreach widget)
svghmi/gen_index_xhtml.xslt
svghmi/widget_jump.ysl2
--- a/svghmi/gen_index_xhtml.xslt	Wed Mar 25 13:36:04 2020 +0100
+++ b/svghmi/gen_index_xhtml.xslt	Wed Mar 25 13:56:04 2020 +0100
@@ -876,7 +876,9 @@
     <xsl:param name="hmi_element"/>
     <xsl:text>    on_click: function(evt) {
 </xsl:text>
-    <xsl:text>        switch_page(this.args[0], this.indexes[0]);
+    <xsl:text>        const index = this.indexes.length &gt; 0 ? this.indexes[0] + this.offset : undefined;
+</xsl:text>
+    <xsl:text>        switch_page(this.args[0], index);
 </xsl:text>
     <xsl:text>    },
 </xsl:text>
--- a/svghmi/widget_jump.ysl2	Wed Mar 25 13:36:04 2020 +0100
+++ b/svghmi/widget_jump.ysl2	Wed Mar 25 13:56:04 2020 +0100
@@ -3,7 +3,8 @@
 template "widget[@type='Jump']", mode="widget_defs" {
     param "hmi_element";
     |     on_click: function(evt) {
-    |         switch_page(this.args[0], this.indexes[0]);
+    |         const index = this.indexes.length > 0 ? this.indexes[0] + this.offset : undefined;
+    |         switch_page(this.args[0], index);
     |     },
     |     init: function() {
     /* registering event this way doies not "click" through svg:use