diff --git a/application/src/main/data/json/system/scada_symbols/dynamic-horizontal-scale-hp.svg b/application/src/main/data/json/system/scada_symbols/dynamic-horizontal-scale-hp.svg
index 17d2a21ed9..6a060c4e63 100644
--- a/application/src/main/data/json/system/scada_symbols/dynamic-horizontal-scale-hp.svg
+++ b/application/src/main/data/json/system/scada_symbols/dynamic-horizontal-scale-hp.svg
@@ -1,4 +1,5 @@
-
\ No newline at end of file
+
+
+
+
+
+
+
diff --git a/application/src/main/data/json/system/scada_symbols/dynamic-vertical-scale-hp.svg b/application/src/main/data/json/system/scada_symbols/dynamic-vertical-scale-hp.svg
index db5c5736a7..1310ee78b6 100644
--- a/application/src/main/data/json/system/scada_symbols/dynamic-vertical-scale-hp.svg
+++ b/application/src/main/data/json/system/scada_symbols/dynamic-vertical-scale-hp.svg
@@ -1,4 +1,5 @@
-
\ No newline at end of file
+
+
+
diff --git a/application/src/main/data/json/system/scada_symbols/filter-hp.svg b/application/src/main/data/json/system/scada_symbols/filter-hp.svg
index c101b6f65d..3bec273373 100644
--- a/application/src/main/data/json/system/scada_symbols/filter-hp.svg
+++ b/application/src/main/data/json/system/scada_symbols/filter-hp.svg
@@ -1,4 +1,5 @@
-
\ No newline at end of file
+
diff --git a/application/src/main/data/json/system/scada_symbols/heat-pump-hp.svg b/application/src/main/data/json/system/scada_symbols/heat-pump-hp.svg
index b4959787dd..1c663c9b29 100644
--- a/application/src/main/data/json/system/scada_symbols/heat-pump-hp.svg
+++ b/application/src/main/data/json/system/scada_symbols/heat-pump-hp.svg
@@ -1,5 +1,6 @@
-
\ No newline at end of file
+
diff --git a/application/src/main/data/json/system/scada_symbols/horizontal-tank-hp.svg b/application/src/main/data/json/system/scada_symbols/horizontal-tank-hp.svg
index 53b0f7cc8a..232159f2a5 100644
--- a/application/src/main/data/json/system/scada_symbols/horizontal-tank-hp.svg
+++ b/application/src/main/data/json/system/scada_symbols/horizontal-tank-hp.svg
@@ -1,5 +1,6 @@
-
\ No newline at end of file
+
diff --git a/application/src/main/data/json/system/scada_symbols/horizontal-valve-hp.svg b/application/src/main/data/json/system/scada_symbols/horizontal-valve-hp.svg
index c8aa016020..c032a4b957 100644
--- a/application/src/main/data/json/system/scada_symbols/horizontal-valve-hp.svg
+++ b/application/src/main/data/json/system/scada_symbols/horizontal-valve-hp.svg
@@ -1,4 +1,5 @@
-
\ No newline at end of file
+
diff --git a/application/src/main/data/json/system/scada_symbols/long-horizontal-connector-hp.svg b/application/src/main/data/json/system/scada_symbols/long-horizontal-connector-hp.svg
index 0e48099e89..4376bb2348 100644
--- a/application/src/main/data/json/system/scada_symbols/long-horizontal-connector-hp.svg
+++ b/application/src/main/data/json/system/scada_symbols/long-horizontal-connector-hp.svg
@@ -1,5 +1,6 @@
-
\ No newline at end of file
+
+
+
diff --git a/application/src/main/data/json/system/scada_symbols/pool-hp.svg b/application/src/main/data/json/system/scada_symbols/pool-hp.svg
index 83fb19b868..d6aed15dbf 100644
--- a/application/src/main/data/json/system/scada_symbols/pool-hp.svg
+++ b/application/src/main/data/json/system/scada_symbols/pool-hp.svg
@@ -1,7 +1,6 @@
-
diff --git a/application/src/main/data/json/system/scada_symbols/sand-filter.svg b/application/src/main/data/json/system/scada_symbols/sand-filter.svg
index 59aa228a6f..243d5ed6e8 100644
--- a/application/src/main/data/json/system/scada_symbols/sand-filter.svg
+++ b/application/src/main/data/json/system/scada_symbols/sand-filter.svg
@@ -1,5 +1,5 @@
-
-
+
+}]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- Filter
+ Filter
- Backwash
+ Backwash
- Rinse
+ Rinse
- Waste
+ Waste
- Recirculate
+ Recirculate
- Closed
+ Closed
-
+
+
@@ -646,4 +701,4 @@
-
\ No newline at end of file
+
diff --git a/application/src/main/data/json/system/scada_symbols/short-vertical-tank-hp.svg b/application/src/main/data/json/system/scada_symbols/short-vertical-tank-hp.svg
index 1e75c10e27..3d32e49ab8 100644
--- a/application/src/main/data/json/system/scada_symbols/short-vertical-tank-hp.svg
+++ b/application/src/main/data/json/system/scada_symbols/short-vertical-tank-hp.svg
@@ -1,5 +1,6 @@
-
+ t.attr({stroke: majorColor}));\n \n var majorTicksText = element.find('text.majorTickText');\n ctx.api.font(majorTicksText, majorFont, majorColor);\n \n var minorTicks = element.find('line.minorTick');\n minorTicks.forEach(t => t.attr({stroke: minorColor}));\n}\n\nfunction drawMinorTicks(start, minorIntervals, minorIntervalLength) {\n for (var i = 1; i < minorIntervals; i++) {\n var minorY = start + i * minorIntervalLength;\n var minorLine = ctx.svg.line(182, minorY, 202, minorY).stroke({ width: 3 }).attr({class: 'minorTick'});\n element.add(minorLine);\n }\n}",
+ "stateRenderFunction": "if (!ctx.properties.scale) {\n element.hide();\n} else {\n var scaleSet = element.remember('scaleSet');\n if (!scaleSet) {\n element.remember('scaleSet', true);\n element.clear();\n \n var majorIntervals = ctx.properties.majorIntervals;\n var minorIntervals = ctx.properties.minorIntervals;\n \n var start = 3;\n var majorIntervalLength = 594 / majorIntervals;\n var minorIntervalLength = majorIntervalLength / minorIntervals;\n for (var i = 0; i < majorIntervals + 1; i++) {\n var y = start + i * majorIntervalLength;\n var line = ctx.svg.line(170, y, 202, y).stroke({ width: 3 }).attr({class: 'majorTick'});\n element.add(line);\n var majorText = (100 - i * (100/majorIntervals)).toFixed(0);\n var majorTickText = ctx.svg.text(majorText);\n if (i === 0) {\n majorTickText.attr({x: 160, y: y + 10, 'text-anchor': 'end', class: 'majorTickText'});\n } else if (i === majorIntervals) {\n majorTickText.attr({x: 160, y: y - 5, 'text-anchor': 'end', class: 'majorTickText'});\n } else {\n majorTickText.attr({x: 160, y: y + 2, 'text-anchor': 'end', class: 'majorTickText'});\n }\n majorTickText.first().attr({'dominant-baseline': 'middle'});\n element.add(majorTickText);\n if (i < majorIntervals) {\n drawMinorTicks(y, minorIntervals, minorIntervalLength);\n }\n }\n }\n \n var majorFont = ctx.properties.majorFont;\n var majorColor = ctx.properties.majorColor;\n var minorColor = ctx.properties.minorColor;\n \n var majorTicks = element.find('line.majorTick');\n majorTicks.forEach(t => t.attr({stroke: majorColor}));\n \n var majorTicksText = element.find('text.majorTickText');\n ctx.api.font(majorTicksText, majorFont, majorColor);\n \n var minorTicks = element.find('line.minorTick');\n minorTicks.forEach(t => t.attr({stroke: minorColor}));\n}\n\nfunction drawMinorTicks(start, minorIntervals, minorIntervalLength) {\n for (var i = 1; i < minorIntervals; i++) {\n var minorY = start + i * minorIntervalLength;\n var minorLine = ctx.svg.line(182, minorY, 202, minorY).stroke({ width: 3 }).attr({class: 'minorTick'});\n element.add(minorLine);\n }\n}",
"actions": null
},
{
@@ -454,83 +455,90 @@
}
]
}]]>
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
+
+
+
+
-
+
+
+
-
+
+
-
\ No newline at end of file
+
diff --git a/application/src/main/data/json/system/scada_symbols/simple-horizontal-scale-hp.svg b/application/src/main/data/json/system/scada_symbols/simple-horizontal-scale-hp.svg
index 0a2afd9519..1052d1361c 100644
--- a/application/src/main/data/json/system/scada_symbols/simple-horizontal-scale-hp.svg
+++ b/application/src/main/data/json/system/scada_symbols/simple-horizontal-scale-hp.svg
@@ -1,4 +1,5 @@
-
+
-Outdoor°C
- 100
- 0
-
-
- 26
-
+ Outdoor
+ °C
+
+ 100
+ 0
+
+
+
+ 26
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
diff --git a/application/src/main/data/json/system/scada_symbols/vertical-scale-hp.svg b/application/src/main/data/json/system/scada_symbols/vertical-scale-hp.svg
index 82fc59bae2..f1e1f2f178 100644
--- a/application/src/main/data/json/system/scada_symbols/vertical-scale-hp.svg
+++ b/application/src/main/data/json/system/scada_symbols/vertical-scale-hp.svg
@@ -1,4 +1,5 @@
-
+
-Outdoor°C
+ Outdoor
+ °C
+
@@ -738,14 +741,18 @@
-
- 100
- 0
-
+
+
+ 100
+ 0
+
+
26
-
+
+
-
-
\ No newline at end of file
+
+
+
diff --git a/application/src/main/data/json/system/scada_symbols/vertical-tank-hp.svg b/application/src/main/data/json/system/scada_symbols/vertical-tank-hp.svg
index 4749dc5ce2..33148d66a5 100644
--- a/application/src/main/data/json/system/scada_symbols/vertical-tank-hp.svg
+++ b/application/src/main/data/json/system/scada_symbols/vertical-tank-hp.svg
@@ -1,5 +1,6 @@
-
+
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
+
+
+
+
-
+
+
+
-
+
+
-
\ No newline at end of file
+
diff --git a/application/src/main/data/json/system/scada_symbols/vertical-valve-hp.svg b/application/src/main/data/json/system/scada_symbols/vertical-valve-hp.svg
index 41ab891821..370bcb38ba 100644
--- a/application/src/main/data/json/system/scada_symbols/vertical-valve-hp.svg
+++ b/application/src/main/data/json/system/scada_symbols/vertical-valve-hp.svg
@@ -1,4 +1,5 @@
-
+ {\n ctx.api.setValue('opened', !opened);\n }\n});"
}
}
},
@@ -76,6 +77,74 @@
"defaultSetValueSettings": null,
"defaultWidgetActionSettings": null
},
+ {
+ "id": "open",
+ "name": "{i18n:scada.symbol.open}",
+ "hint": "{i18n:scada.symbol.open-hint}",
+ "group": null,
+ "type": "action",
+ "valueType": "BOOLEAN",
+ "trueLabel": null,
+ "falseLabel": null,
+ "stateLabel": null,
+ "defaultGetValueSettings": null,
+ "defaultSetValueSettings": {
+ "action": "SET_ATTRIBUTE",
+ "executeRpc": {
+ "method": "setState",
+ "requestTimeout": 5000,
+ "requestPersistent": false,
+ "persistentPollingInterval": 1000
+ },
+ "setAttribute": {
+ "scope": "SHARED_SCOPE",
+ "key": "open"
+ },
+ "putTimeSeries": {
+ "key": "state"
+ },
+ "valueToData": {
+ "type": "CONSTANT",
+ "constantValue": true,
+ "valueToDataFunction": "/* Convert input boolean value to RPC parameters or attribute/time-series value */\nreturn value;"
+ }
+ },
+ "defaultWidgetActionSettings": null
+ },
+ {
+ "id": "close",
+ "name": "{i18n:scada.symbol.close}",
+ "hint": "{i18n:scada.symbol.close-hint}",
+ "group": null,
+ "type": "action",
+ "valueType": "BOOLEAN",
+ "trueLabel": null,
+ "falseLabel": null,
+ "stateLabel": null,
+ "defaultGetValueSettings": null,
+ "defaultSetValueSettings": {
+ "action": "SET_ATTRIBUTE",
+ "executeRpc": {
+ "method": "setState",
+ "requestTimeout": 5000,
+ "requestPersistent": false,
+ "persistentPollingInterval": 1000
+ },
+ "setAttribute": {
+ "scope": "SHARED_SCOPE",
+ "key": "open"
+ },
+ "putTimeSeries": {
+ "key": "state"
+ },
+ "valueToData": {
+ "type": "CONSTANT",
+ "constantValue": false,
+ "valueToDataFunction": "/* Convert input boolean value to RPC parameters or attribute/time-series value */\nreturn value;"
+ }
+ },
+ "defaultWidgetActionSettings": null
+ },
{
"id": "warning",
"name": "{i18n:scada.symbol.warning-state}",
@@ -220,26 +289,6 @@
"setEntityId": false,
"stateEntityParamName": null
}
- },
- {
- "id": "click",
- "name": "{i18n:scada.symbol.on-click}",
- "hint": "{i18n:scada.symbol.on-click-hint}",
- "group": null,
- "type": "widgetAction",
- "valueType": "BOOLEAN",
- "trueLabel": null,
- "falseLabel": null,
- "stateLabel": null,
- "defaultGetValueSettings": null,
- "defaultSetValueSettings": null,
- "defaultWidgetActionSettings": {
- "type": "doNothing",
- "targetDashboardStateId": null,
- "openRightLayout": false,
- "setEntityId": false,
- "stateEntityParamName": null
- }
}
],
"properties": [
@@ -309,20 +358,26 @@
}
]
}]]>
-
-
-
+
+
+
+
-
+
+
+
+
+
-
+
+
-
\ No newline at end of file
+
diff --git a/ui-ngx/src/assets/locale/locale.constant-en_US.json b/ui-ngx/src/assets/locale/locale.constant-en_US.json
index 122f7807a2..5cd2ec8459 100644
--- a/ui-ngx/src/assets/locale/locale.constant-en_US.json
+++ b/ui-ngx/src/assets/locale/locale.constant-en_US.json
@@ -3236,7 +3236,7 @@
"recirculate-mode": "Recirculate",
"rinse-mode": "Rinse",
"closed-mode": "Closed",
- "stand-filter-color": "Stand filter color",
+ "sand-filter-color": "Sand filter color",
"mode-box-background": "Mode box background",
"border-color": "Border color",
"label-color": "Label color",