SVGHMI: Alow relative relative Jump. (i.e, relative jump from a foreach widget)
--- 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 > 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