@flowfuse/node-red-dashboard 1.0.2 → 1.0.3-47c1aa0-202402080954.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/nodes/config/locales/en-US/ui_group.json +13 -13
- package/nodes/config/locales/en-US/ui_page.html +3 -3
- package/nodes/config/locales/en-US/ui_page.json +17 -2
- package/nodes/config/locales/ja/ui_base.json +23 -0
- package/nodes/config/locales/ja/ui_group.html +4 -0
- package/nodes/config/locales/ja/ui_group.json +20 -0
- package/nodes/config/locales/ja/ui_page.html +58 -0
- package/nodes/config/locales/ja/ui_page.json +25 -0
- package/nodes/config/ui_group.html +13 -13
- package/nodes/config/ui_page.html +16 -16
- package/nodes/widgets/icons/ui-gauge.svg +4 -0
- package/nodes/widgets/locales/en-US/ui_chart.html +21 -20
- package/nodes/widgets/locales/en-US/ui_chart.json +30 -1
- package/nodes/widgets/locales/en-US/ui_gauge.html +28 -0
- package/nodes/widgets/locales/en-US/ui_gauge.json +32 -0
- package/nodes/widgets/locales/ja/ui_chart.html +36 -0
- package/nodes/widgets/locales/ja/ui_chart.json +55 -0
- package/nodes/widgets/ui_chart.html +32 -33
- package/nodes/widgets/ui_gauge.html +243 -0
- package/nodes/widgets/ui_gauge.js +21 -0
- package/package.json +3 -1
- package/dist/assets/arc-ucJgS0Wg.js +0 -1
- package/dist/assets/array-Nw74a44z.js +0 -1
- package/dist/assets/c4Diagram-c0b17d02-zDY-_iP8.js +0 -10
- package/dist/assets/classDiagram-a8cc8886-vyMJIQNo.js +0 -1
- package/dist/assets/classDiagram-v2-802a48d3-G0Jfk-7K.js +0 -2
- package/dist/assets/createText-3b1f58a4-QgSQOJfw.js +0 -7
- package/dist/assets/edges-0005682e-qroNIA3I.js +0 -4
- package/dist/assets/erDiagram-dedf2781-7K-z51BD.js +0 -51
- package/dist/assets/flowDb-ff651a22-BEKSrpVo.js +0 -6
- package/dist/assets/flowDiagram-d6f8fe3a-QzQG6Ga0.js +0 -4
- package/dist/assets/flowDiagram-v2-58f49b84-5A3ncqHh.js +0 -1
- package/dist/assets/flowchart-elk-definition-56584a6c-nwZXHeVW.js +0 -139
- package/dist/assets/ganttDiagram-088dbd90-i9CDQTeS.js +0 -266
- package/dist/assets/gitGraphDiagram-e0ffc2d1-kQmg7B_R.js +0 -70
- package/dist/assets/index-6IL0hFrt.css +0 -13
- package/dist/assets/index-SiBRfp2v.js +0 -252
- package/dist/assets/index-f58d48f9-cSnf4vPA.js +0 -1
- package/dist/assets/infoDiagram-64895a6e-uiXSFOrp.js +0 -7
- package/dist/assets/init-Hi12RPRh.js +0 -1
- package/dist/assets/journeyDiagram-adaa34f8-esMnk7Cf.js +0 -139
- package/dist/assets/layout-vLoXnfv1.js +0 -1
- package/dist/assets/line-te4lwFUe.js +0 -1
- package/dist/assets/linear-_luCUuT5.js +0 -1
- package/dist/assets/logo-yAM2wbsA.png +0 -0
- package/dist/assets/materialdesignicons-webfont-AeJCkVfO.woff2 +0 -0
- package/dist/assets/materialdesignicons-webfont-GtBnFie6.woff +0 -0
- package/dist/assets/materialdesignicons-webfont-IwmCr2II.ttf +0 -0
- package/dist/assets/materialdesignicons-webfont-JbV82i5g.eot +0 -0
- package/dist/assets/mindmap-definition-57868176-mgkRA4lg.js +0 -109
- package/dist/assets/ordinal-OOfG4Z7H.js +0 -1
- package/dist/assets/path-aUcfwwLI.js +0 -1
- package/dist/assets/pieDiagram-3fca7ce7-EFIUI0OD.js +0 -35
- package/dist/assets/quadrantDiagram-0ca4be02-k2Nk0fbC.js +0 -7
- package/dist/assets/requirementDiagram-e13af0f0-EneNe1ad.js +0 -52
- package/dist/assets/sankeyDiagram-a7f8e230-KezuOTNO.js +0 -8
- package/dist/assets/sequenceDiagram-84aa38e3-VsHB2vbR.js +0 -122
- package/dist/assets/stateDiagram-9a586ac6-zLhXJw0A.js +0 -1
- package/dist/assets/stateDiagram-v2-96f2b9df-QNYCjOg-.js +0 -1
- package/dist/assets/styles-1b0c237a-qfItP-6f.js +0 -110
- package/dist/assets/styles-622362e4-X3Qkfm8f.js +0 -160
- package/dist/assets/styles-a1a6e33f-SeqMs5GY.js +0 -207
- package/dist/assets/svgDraw-70101091-7UB9_GV3.js +0 -2
- package/dist/assets/svgDrawCommon-42e92da3-l19BceFH.js +0 -1
- package/dist/assets/timeline-definition-1a90b03d-_3Jn8mUg.js +0 -61
- package/dist/favicon.ico +0 -0
- package/dist/index.html +0 -20
package/README.md
CHANGED
|
@@ -62,7 +62,7 @@ The new `ui-markdown` widget allows you to build rich, interactive applications
|
|
|
62
62
|
|
|
63
63
|
As an open-source project, Node-RED Dashboard 2.0 openly welcomes all forms of contributions, whether those are ideas, bug reports, or code contributions through Pull Requests.
|
|
64
64
|
|
|
65
|
-
We strongly believe in the power of community. If you have suggestions, feedback, or features you'd like to see, please open a [
|
|
65
|
+
We strongly believe in the power of community. If you have suggestions, feedback, or features you'd like to see, please open a [GitHub issue](https://github.com/FlowFuse/node-red-dashboard/issues/new/choose). We also highly encourage open-source contributions.
|
|
66
66
|
|
|
67
67
|
### Roadmap
|
|
68
68
|
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
|
-
"ui-group"
|
|
3
|
-
"label"
|
|
4
|
-
"name"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"group" : "Group",
|
|
9
|
-
"unassigned" : "unassigned",
|
|
2
|
+
"ui-group": {
|
|
3
|
+
"label": {
|
|
4
|
+
"name": "Name",
|
|
5
|
+
"page": "Page",
|
|
6
|
+
"size": "Size",
|
|
7
|
+
"display-name": "Display group name",
|
|
10
8
|
"className": "Class",
|
|
11
|
-
"classNamePlaceholder": "Optional CSS class name(s) for
|
|
9
|
+
"classNamePlaceholder": "Optional CSS class name(s) for group",
|
|
10
|
+
"defaultState": "Default State",
|
|
11
|
+
"visibility": "Visibility",
|
|
12
12
|
"visible": "Visible",
|
|
13
13
|
"hidden": "Hidden",
|
|
14
|
+
"interactivity": "Interactivity",
|
|
14
15
|
"active": "Active",
|
|
15
|
-
"disabled": "Disabled"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"collapse-name" : "Allow group to be collapsed"
|
|
16
|
+
"disabled": "Disabled",
|
|
17
|
+
"openDashboardSidebar": "Open Dashboard 2.0 Sidebar"
|
|
18
|
+
}
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
<span class="property-type">ui-base</span>
|
|
16
16
|
</dt>
|
|
17
17
|
<dd>
|
|
18
|
-
Description of "
|
|
18
|
+
Description of "UI"
|
|
19
19
|
</dd>
|
|
20
20
|
<dt>
|
|
21
21
|
Path
|
|
22
22
|
<span class="property-type">string</span>
|
|
23
23
|
</dt>
|
|
24
24
|
<dd>
|
|
25
|
-
Description of "
|
|
25
|
+
Description of "Path"
|
|
26
26
|
</dd>
|
|
27
27
|
<dt>
|
|
28
28
|
Icon
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
</dd>
|
|
44
44
|
<dt>
|
|
45
45
|
Layout
|
|
46
|
-
<span class="property-type">
|
|
46
|
+
<span class="property-type">Grid | Fixed | Notebook</span>
|
|
47
47
|
</dt>
|
|
48
48
|
<dd>
|
|
49
49
|
Choose form one of the available Dashboard Layouts.
|
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
{
|
|
2
|
-
"ui-page"
|
|
2
|
+
"ui-page": {
|
|
3
3
|
"label": {
|
|
4
|
+
"name": "Name",
|
|
5
|
+
"ui": "UI",
|
|
6
|
+
"path": "Path",
|
|
7
|
+
"icon": "Icon",
|
|
8
|
+
"theme": "Theme",
|
|
9
|
+
"layout": "Layout",
|
|
10
|
+
"grid": "Grid",
|
|
11
|
+
"fixed": "Fixed",
|
|
12
|
+
"notebook": "Notebook",
|
|
13
|
+
"class": "Class",
|
|
14
|
+
"classNamePlaceholder": "Optional CSS class name(s) for page",
|
|
15
|
+
"defaultState": "Default State",
|
|
16
|
+
"visibility": "Visibility",
|
|
4
17
|
"visible": "Visible",
|
|
5
18
|
"hidden": "Hidden",
|
|
19
|
+
"interactivity": "Interactivity",
|
|
6
20
|
"active": "Active",
|
|
7
|
-
"disabled": "Disabled"
|
|
21
|
+
"disabled": "Disabled",
|
|
22
|
+
"openDashboardSidebar": "Open Dashboard 2.0 Sidebar"
|
|
8
23
|
}
|
|
9
24
|
}
|
|
10
25
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"ui-base": {
|
|
3
|
+
"auto": "自動",
|
|
4
|
+
"label": {
|
|
5
|
+
"category": "ダッシュボード2",
|
|
6
|
+
"layout": "配置",
|
|
7
|
+
"theming": "テーマ",
|
|
8
|
+
"settings": "設定",
|
|
9
|
+
"sidebar": "サイドバーの設定",
|
|
10
|
+
"showPath": "ラベルにページのパスを含める"
|
|
11
|
+
},
|
|
12
|
+
"layout": {
|
|
13
|
+
"pages": "ページ",
|
|
14
|
+
"edit": "編集",
|
|
15
|
+
"focus": "焦点を当てる",
|
|
16
|
+
"collapse": "折り畳む",
|
|
17
|
+
"expand": "展開"
|
|
18
|
+
},
|
|
19
|
+
"themes": {
|
|
20
|
+
"header": "テーマ"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"ui-group": {
|
|
3
|
+
"label": {
|
|
4
|
+
"name": "名前",
|
|
5
|
+
"page": "ページ",
|
|
6
|
+
"size": "サイズ",
|
|
7
|
+
"display-name": "グループ名を表示",
|
|
8
|
+
"className": "クラス",
|
|
9
|
+
"classNamePlaceholder": "グループのための任意のCSSクラス名",
|
|
10
|
+
"defaultState": "標準状態",
|
|
11
|
+
"visibility": "画面表示",
|
|
12
|
+
"visible": "表示",
|
|
13
|
+
"hidden": "非表示",
|
|
14
|
+
"interactivity": "画面操作",
|
|
15
|
+
"active": "有効",
|
|
16
|
+
"disabled": "無効",
|
|
17
|
+
"openDashboardSidebar": "ダッシュボード2.0のサイドバーを開く"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<script type="text/html" data-help-name="ui-page">
|
|
2
|
+
<p>UIページ</p>
|
|
3
|
+
<p>ダッシュボード内のコンテンツの単一画面</p>
|
|
4
|
+
<h3>プロパティ</h3>
|
|
5
|
+
<dl class="message-properties">
|
|
6
|
+
<dt>
|
|
7
|
+
名前
|
|
8
|
+
<span class="property-type">string</span>
|
|
9
|
+
</dt>
|
|
10
|
+
<dd>
|
|
11
|
+
Description of "Name"
|
|
12
|
+
</dd>
|
|
13
|
+
<dt>
|
|
14
|
+
UI
|
|
15
|
+
<span class="property-type">ui-base</span>
|
|
16
|
+
</dt>
|
|
17
|
+
<dd>
|
|
18
|
+
Description of "UI"
|
|
19
|
+
</dd>
|
|
20
|
+
<dt>
|
|
21
|
+
パス
|
|
22
|
+
<span class="property-type">string</span>
|
|
23
|
+
</dt>
|
|
24
|
+
<dd>
|
|
25
|
+
Description of "Path"
|
|
26
|
+
</dd>
|
|
27
|
+
<dt>
|
|
28
|
+
アイコン
|
|
29
|
+
<span class="property-type">string</span>
|
|
30
|
+
</dt>
|
|
31
|
+
<dd>
|
|
32
|
+
サイドバーUIのページ名の横に表示されるアイコン。
|
|
33
|
+
マテリアルデザインアイコンを使用でき、利用できるアイコンの全て一覧は、<a href="https://pictogrammers.com/library/mdi/">ここ</a> から参照できます。
|
|
34
|
+
`mdi-`の接頭語を含める必要はなく、アイコン名を用いてください。
|
|
35
|
+
</dd>
|
|
36
|
+
<dt>
|
|
37
|
+
テーマ
|
|
38
|
+
<span class="property-type">ui-theme</span>
|
|
39
|
+
</dt>
|
|
40
|
+
<dd>
|
|
41
|
+
ページのために利用可能なテーマを1つ選択します。独自のテーマを作成して設定することもできます。
|
|
42
|
+
</dd>
|
|
43
|
+
<dt>
|
|
44
|
+
配置
|
|
45
|
+
<span class="property-type">グリッド | 固定 | ノートブック</span>
|
|
46
|
+
</dt>
|
|
47
|
+
<dd>
|
|
48
|
+
利用可能なダッシュボード様式から1つを選択します。様式の詳細については、<a href="https://dashboard.flowfuse.com/layouts/grid.html">ここ</a> を参照してください。
|
|
49
|
+
</dd>
|
|
50
|
+
<dt>
|
|
51
|
+
クラス
|
|
52
|
+
<span class="property-type">string</span>
|
|
53
|
+
</dt>
|
|
54
|
+
<dd>
|
|
55
|
+
レンダグリング時にページの様式に追加するカスタムCSSクラス
|
|
56
|
+
</dd>
|
|
57
|
+
</dl>
|
|
58
|
+
</script>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"ui-page": {
|
|
3
|
+
"label": {
|
|
4
|
+
"name": "名前",
|
|
5
|
+
"ui": "UI",
|
|
6
|
+
"path": "パス",
|
|
7
|
+
"icon": "アイコン",
|
|
8
|
+
"theme": "テーマ",
|
|
9
|
+
"layout": "配置",
|
|
10
|
+
"grid": "グリッド",
|
|
11
|
+
"fixed": "固定",
|
|
12
|
+
"notebook": "ノートブック",
|
|
13
|
+
"class": "クラス",
|
|
14
|
+
"classNamePlaceholder": "ページのための任意のCSSクラス名",
|
|
15
|
+
"defaultState": "標準状態",
|
|
16
|
+
"visibility": "画面表示",
|
|
17
|
+
"visible": "表示",
|
|
18
|
+
"hidden": "非表示",
|
|
19
|
+
"interactivity": "画面操作",
|
|
20
|
+
"active": "有効",
|
|
21
|
+
"disabled": "無効",
|
|
22
|
+
"openDashboardSidebar": "ダッシュボード2.0のサイドバーを開く"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
height: '#node-config-input-height',
|
|
29
29
|
auto: false
|
|
30
30
|
})
|
|
31
|
-
|
|
31
|
+
|
|
32
32
|
// backwards compatibility
|
|
33
33
|
if (this.visible === undefined || this.visible === true) {
|
|
34
34
|
this.visible = true
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
} else {
|
|
55
55
|
this.visible = false
|
|
56
56
|
}
|
|
57
|
-
|
|
57
|
+
|
|
58
58
|
// convert string to boolean
|
|
59
59
|
const disabled = $('#node-config-input-disabled').val()
|
|
60
60
|
if (disabled === 'true') {
|
|
@@ -63,38 +63,38 @@
|
|
|
63
63
|
this.disabled = false
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
|
-
})
|
|
66
|
+
})
|
|
67
67
|
</script>
|
|
68
68
|
|
|
69
69
|
<script type="text/html" data-template-name="ui-group">
|
|
70
70
|
<div class="form-row">
|
|
71
|
-
<label for="node-config-input-name"><i class="fa fa-bookmark"></i>
|
|
71
|
+
<label for="node-config-input-name"><i class="fa fa-bookmark"></i> <span data-i18n="ui-group.label.name"></label>
|
|
72
72
|
<input type="text" id="node-config-input-name">
|
|
73
73
|
</div>
|
|
74
74
|
<div class="form-row">
|
|
75
|
-
<label for="node-config-input-page"><i class="fa fa-bookmark"></i>
|
|
75
|
+
<label for="node-config-input-page"><i class="fa fa-bookmark"></i> <span data-i18n="ui-group.label.page"></label>
|
|
76
76
|
<input type="text" id="node-config-input-page">
|
|
77
77
|
</div>
|
|
78
78
|
<div class="form-row">
|
|
79
|
-
<label for="node-config-input-size"><i class="fa fa-arrows-h"></i>
|
|
79
|
+
<label for="node-config-input-size"><i class="fa fa-arrows-h"></i> <span data-i18n="ui-group.label.size"></label>
|
|
80
80
|
<input type="hidden" id="node-config-input-width">
|
|
81
81
|
<input type="hidden" id="node-config-input-height">
|
|
82
82
|
<button class="editor-button" id="node-config-input-size"></button>
|
|
83
83
|
</div>
|
|
84
84
|
<div class="form-row">
|
|
85
85
|
<input style="margin:8px 0 10px 102px; width:20px;" type="checkbox" checked id="node-config-input-showTitle">
|
|
86
|
-
<label style="width:auto" for="node-config-input-showTitle"><span data-i18n="ui-group.display-name"></span></label>
|
|
86
|
+
<label style="width:auto" for="node-config-input-showTitle"><span data-i18n="ui-group.label.display-name"></span></label>
|
|
87
87
|
</div>
|
|
88
88
|
<div class="form-row" id="text-row-class">
|
|
89
|
-
<label for="node-config-input-className"><i class="fa fa-code"></i>
|
|
90
|
-
<input type="text" id="node-config-input-className"
|
|
89
|
+
<label for="node-config-input-className"><i class="fa fa-code"></i> <span data-i18n="ui-group.label.className"></span></label>
|
|
90
|
+
<input type="text" id="node-config-input-className" data-i18n="[placeholder]ui-group.label.classNamePlaceholder"/>
|
|
91
91
|
</div>
|
|
92
92
|
<div class="form-row" style="font-weight: 600;">
|
|
93
|
-
<i class="w-16 fa fa-eye"></i>
|
|
93
|
+
<i class="w-16 fa fa-eye"></i> <span data-i18n="ui-group.label.defaultState"></span>
|
|
94
94
|
</div>
|
|
95
95
|
<div class="form-row">
|
|
96
96
|
<div style="display: flex; align-items: center; gap: 2px;">
|
|
97
|
-
<label for="node-config-input-visible" style="margin-bottom: 0"
|
|
97
|
+
<label for="node-config-input-visible" style="margin-bottom: 0" data-i18n="ui-group.label.visibility"></label>
|
|
98
98
|
<select id="node-config-input-visible" style="width: 150px;">
|
|
99
99
|
<option value="true" data-i18n="ui-group.label.visible"></option>
|
|
100
100
|
<option value="false" data-i18n="ui-group.label.hidden"></option>
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
</div>
|
|
104
104
|
<div class="form-row">
|
|
105
105
|
<div style="display: flex; align-items: center; gap: 2px;">
|
|
106
|
-
<label for="node-config-input-disabled" style="margin-bottom: 0"
|
|
106
|
+
<label for="node-config-input-disabled" style="margin-bottom: 0" data-i18n="ui-group.label.interactivity"></label>
|
|
107
107
|
<select id="node-config-input-disabled" style="width: 150px;">
|
|
108
108
|
<option value="false" data-i18n="ui-group.label.active"></option>
|
|
109
109
|
<option value="true" data-i18n="ui-group.label.disabled"></option>
|
|
@@ -111,6 +111,6 @@
|
|
|
111
111
|
</div>
|
|
112
112
|
</div>
|
|
113
113
|
<div class="form-row">
|
|
114
|
-
<button onclick="RED.sidebar.show('dashboard-2.0')" class="editor-button editor-button-small"
|
|
114
|
+
<button onclick="RED.sidebar.show('dashboard-2.0')" class="editor-button editor-button-small" data-i18n="ui-group.label.openDashboardSidebar"></button>
|
|
115
115
|
</div>
|
|
116
116
|
</script>
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
types: [{
|
|
53
53
|
value: 'layout',
|
|
54
54
|
options: [
|
|
55
|
-
{ value: 'grid', label: '
|
|
56
|
-
{ value: 'flex', label: '
|
|
57
|
-
{ value: 'notebook', label: '
|
|
55
|
+
{ value: 'grid', label: RED._('@flowfuse/node-red-dashboard/ui-page:ui-page.label.grid') },
|
|
56
|
+
{ value: 'flex', label: RED._('@flowfuse/node-red-dashboard/ui-page:ui-page.label.fixed') },
|
|
57
|
+
{ value: 'notebook', label: RED._('@flowfuse/node-red-dashboard/ui-page:ui-page.label.notebook') }
|
|
58
58
|
]
|
|
59
59
|
}],
|
|
60
60
|
typeField: '#node-input-layoutType'
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
} else {
|
|
80
80
|
this.visible = false
|
|
81
81
|
}
|
|
82
|
-
|
|
82
|
+
|
|
83
83
|
// convert string to boolean
|
|
84
84
|
const disabled = $('#node-config-input-disabled').val()
|
|
85
85
|
if (disabled === 'true') {
|
|
@@ -99,40 +99,40 @@
|
|
|
99
99
|
|
|
100
100
|
<script type="text/html" data-template-name="ui-page">
|
|
101
101
|
<div class="form-row">
|
|
102
|
-
<label for="node-config-input-name"><i class="w-16 fa fa-bookmark"></i>
|
|
102
|
+
<label for="node-config-input-name"><i class="w-16 fa fa-bookmark"></i> <span data-i18n="ui-page.label.name"></label>
|
|
103
103
|
<input type="text" id="node-config-input-name">
|
|
104
104
|
</div>
|
|
105
105
|
<div class="form-row">
|
|
106
|
-
<label for="node-config-input-ui"><i class="w-16 fa fa-sitemap"></i>
|
|
106
|
+
<label for="node-config-input-ui"><i class="w-16 fa fa-sitemap"></i> <span data-i18n="ui-page.label.ui"></label>
|
|
107
107
|
<input type="text" id="node-config-input-ui">
|
|
108
108
|
</div>
|
|
109
109
|
<div class="form-row">
|
|
110
|
-
<label for="node-config-input-path"><i class="w-16 fa fa-link"></i>
|
|
110
|
+
<label for="node-config-input-path"><i class="w-16 fa fa-link"></i> <span data-i18n="ui-page.label.path"></label>
|
|
111
111
|
<input type="text" id="node-config-input-path">
|
|
112
112
|
</div>
|
|
113
113
|
<div class="form-row">
|
|
114
|
-
<label for="node-config-input-icon"><i class="w-16 fa fa-home"></i>
|
|
114
|
+
<label for="node-config-input-icon"><i class="w-16 fa fa-home"></i> <span data-i18n="ui-page.label.icon"></label>
|
|
115
115
|
<input type="text" id="node-config-input-icon">
|
|
116
116
|
</div>
|
|
117
117
|
<div class="form-row">
|
|
118
|
-
<label for="node-config-input-theme"><i class="w-16 fa fa-paint-brush"></i>
|
|
118
|
+
<label for="node-config-input-theme"><i class="w-16 fa fa-paint-brush"></i> <span data-i18n="ui-page.label.theme"></label>
|
|
119
119
|
<input type="text" id="node-config-input-theme">
|
|
120
120
|
</div>
|
|
121
121
|
<div class="form-row">
|
|
122
|
-
<label for="node-config-input-layout"><i class="w-16 fa fa-th"></i>
|
|
122
|
+
<label for="node-config-input-layout"><i class="w-16 fa fa-th"></i> <span data-i18n="ui-page.label.layout"></label>
|
|
123
123
|
<input type="text" id="node-config-input-layout">
|
|
124
124
|
<input type="hidden" id="node-config-input-layoutType">
|
|
125
125
|
</div>
|
|
126
126
|
<div class="form-row" id="text-row-class">
|
|
127
|
-
<label for="node-config-input-className"><i class="w-16 fa fa-code"></i>
|
|
128
|
-
<input type="text" id="node-config-input-className"
|
|
127
|
+
<label for="node-config-input-className"><i class="w-16 fa fa-code"></i> <span data-i18n="ui-page.label.class"></label>
|
|
128
|
+
<input type="text" id="node-config-input-className" data-i18n="[placeholder]ui-page.label.classNamePlaceholder"/>
|
|
129
129
|
</div>
|
|
130
130
|
<div class="form-row" style="font-weight: 600;">
|
|
131
|
-
<i class="w-16 fa fa-eye"></i>
|
|
131
|
+
<i class="w-16 fa fa-eye"></i> <span data-i18n="ui-page.label.defaultState">
|
|
132
132
|
</div>
|
|
133
133
|
<div class="form-row">
|
|
134
134
|
<div style="display: flex; align-items: center; gap: 2px;">
|
|
135
|
-
<label for="node-config-input-visible" style="margin-bottom: 0"
|
|
135
|
+
<label for="node-config-input-visible" style="margin-bottom: 0" data-i18n="ui-page.label.visibility"></label>
|
|
136
136
|
<select id="node-config-input-visible" style="width: 150px;">
|
|
137
137
|
<option value="true" data-i18n="ui-page.label.visible"></option>
|
|
138
138
|
<option value="false" data-i18n="ui-page.label.hidden"></option>
|
|
@@ -141,7 +141,7 @@
|
|
|
141
141
|
</div>
|
|
142
142
|
<div class="form-row">
|
|
143
143
|
<div style="display: flex; align-items: center; gap: 2px;">
|
|
144
|
-
<label for="node-config-input-disabled" style="margin-bottom: 0"
|
|
144
|
+
<label for="node-config-input-disabled" style="margin-bottom: 0" data-i18n="ui-page.label.interactivity"></label>
|
|
145
145
|
<select id="node-config-input-disabled" style="width: 150px;">
|
|
146
146
|
<option value="false" data-i18n="ui-page.label.active"></option>
|
|
147
147
|
<option value="true" data-i18n="ui-page.label.disabled"></option>
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
</div>
|
|
150
150
|
</div>
|
|
151
151
|
<div class="form-row">
|
|
152
|
-
<button onclick="RED.sidebar.show('dashboard-2.0')" class="editor-button editor-button-small"
|
|
152
|
+
<button onclick="RED.sidebar.show('dashboard-2.0')" class="editor-button editor-button-small" data-i18n="ui-page.label.openDashboardSidebar"></button>
|
|
153
153
|
</div>
|
|
154
154
|
|
|
155
155
|
</script>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="1200pt" height="1200pt" version="1.1" viewBox="200 200 800 800" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path fill="white" d="m600 405.17c137.38 0 249.39 112.01 249.39 249.39 0 51.934-16.117 100.28-43.453 140.28l-47.23-37.316c19.168-29.574 30.23-64.938 30.23-102.96 0-104.7-84.227-188.93-188.93-188.93-104.7 0-188.93 84.23-188.93 188.93 0 38.031 11.059 73.395 30.23 102.96l-47.23 37.312c-27.344-40-43.457-88.34-43.457-140.28 0-137.37 112.01-249.39 249.38-249.39zm-133.67 176.18 160.35 106.98c14.758 14.758 14.758 38.617 0 53.371-14.758 14.758-38.617 14.758-53.371 0l-106.98-160.35z"/>
|
|
4
|
+
</svg>
|
|
@@ -1,50 +1,51 @@
|
|
|
1
|
-
|
|
2
1
|
<script type="text/html" data-help-name="ui-chart">
|
|
3
2
|
<h3>Properties</h3>
|
|
4
3
|
<dl class="message-properties">
|
|
5
|
-
<dt>Label <span class="property-type">
|
|
4
|
+
<dt>Label <span class="property-type">string</span></dt>
|
|
6
5
|
<dd>Text shown above the rendered chart in the Dashboard.</dd>
|
|
7
|
-
<dt>Type <span class="property-type">
|
|
6
|
+
<dt>Type <span class="property-type">Line | Bar | Scatter</span></dt>
|
|
8
7
|
<dd>Choose the type of graph that you wish to render data with. Note
|
|
9
8
|
that different data structures are accepted for different chart types.</dd>
|
|
10
|
-
<dt>Show Legend <span class="property-type">
|
|
9
|
+
<dt>Show Legend <span class="property-type">boolean</span></dt>
|
|
11
10
|
<dd>Defines whether or not a legend is shown between the title and the chart. Each label is driven by <code>msg.topic</code>.</dd>
|
|
12
|
-
<dt>Action <span class="property-type">
|
|
11
|
+
<dt>Action <span class="property-type">Append | Replace</span></dt>
|
|
13
12
|
<dd>
|
|
14
13
|
Define how new data is added to the Chart. "Append" will keep
|
|
15
14
|
existing data, "Replace" will remove all existing data.
|
|
16
15
|
</dd>
|
|
17
|
-
<dt>X-Axis Type <span class="property-type">
|
|
16
|
+
<dt>X-Axis Type <span class="property-type">Linear | Categorical | Timescale</span></dt>
|
|
18
17
|
<dd>
|
|
19
|
-
For charts with an
|
|
18
|
+
For charts with an X-axis, this option allows customisation
|
|
20
19
|
of the type of axis to render.
|
|
21
20
|
</dd>
|
|
22
21
|
<dt>Properties <span class="property-type">string</span></dt>
|
|
23
22
|
<dd>
|
|
24
23
|
<p><b>Series:</b> Controls how you want to set the Series of data stream into this widget. The default is <code>msg.topic</code>, where separate topics will render to a new line/bar in their respective plots. You can also provide a JSON array, which will plot multiple data points from a single msg object.</p>
|
|
25
|
-
<p><b>X:</b> Only available for Line & Scatter Charts. This defines the key (which can be nested) of the value that should be plotted onto the
|
|
26
|
-
<p><b>Y:</b> Defines the key (which can be nested, e.g. <code>'nested.value'</code>) of the value that should be plotted onto the
|
|
24
|
+
<p><b>X:</b> Only available for Line & Scatter Charts. This defines the key (which can be nested) of the value that should be plotted onto the X-axis. If left blank, the X-value will be calculated as the current timestamp.</p>
|
|
25
|
+
<p><b>Y:</b> Defines the key (which can be nested, e.g. <code>'nested.value'</code>) of the value that should be plotted onto the X-axis. This value is ignored if injecting single numerical values into the chart.</p>
|
|
27
26
|
</dd>
|
|
28
27
|
</dl>
|
|
29
28
|
<h3>Input</h3>
|
|
30
29
|
<p>Data can be passed into the Chart node in a variety of formats,
|
|
31
|
-
depending on the "X-Axis Type" (e.g.
|
|
30
|
+
depending on the "X-Axis Type" (e.g. Linear, Categorical, Timescale).</p>
|
|
32
31
|
<dl class="message-properties">
|
|
33
|
-
<dt>Numerical <span class="property-type">
|
|
32
|
+
<dt>Numerical <span class="property-type">Linear | Categorical | Timescale</span></dt>
|
|
34
33
|
<dd><pre>msg.payload = 5</pre> A single value, that will be plotted
|
|
35
|
-
in the
|
|
36
|
-
<dt>Series <span class="property-type">
|
|
34
|
+
in the Y-axis, and the current time of injection as the X-value.</dd>
|
|
35
|
+
<dt>Series <span class="property-type">Linear | Categorical | Timescale</span></dt>
|
|
37
36
|
<dd><pre>msg.topic = 'Series 1'</pre> Multiple series can
|
|
38
|
-
be shown on the same chart by using a different msg.topic value on each
|
|
37
|
+
be shown on the same chart by using a different <code>msg.topic</code> value on each
|
|
39
38
|
input message.</dd>
|
|
40
|
-
<dt>Object <span class="property-type">
|
|
39
|
+
<dt>Object <span class="property-type">Linear</span></dt>
|
|
41
40
|
<dd><pre>msg.payload = {x: 10, y: 15}</pre>This type of data is only
|
|
42
41
|
supported on linear plots, e.g. "Line" or "Scatter" charts.</dd>
|
|
43
42
|
</dl>
|
|
44
43
|
<h3>Dynamic Proeprties</h3>
|
|
45
|
-
<
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
44
|
+
<dl class="message-properties">
|
|
45
|
+
<dt>msg.action <span class="property-type">append | replace</span></dt>
|
|
46
|
+
<dd>
|
|
47
|
+
Can be used to override the default action property set in the node's configuration.
|
|
48
|
+
Use this if sometimes you want to "append" data, and sometimes you want to "replace" it.
|
|
49
|
+
</dd>
|
|
50
|
+
</dl>
|
|
50
51
|
</script>
|
|
@@ -1,6 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"ui-chart": {
|
|
3
3
|
"label": {
|
|
4
|
+
"line": "Line",
|
|
5
|
+
"bar": "Bar",
|
|
6
|
+
"scatter": "Scatter",
|
|
7
|
+
"circle": "Circle",
|
|
8
|
+
"cross": "Cross",
|
|
9
|
+
"crossRotated": "Cross Rotated",
|
|
10
|
+
"dash": "Dash",
|
|
11
|
+
"line2": "Line",
|
|
12
|
+
"rectangle": "Rectangle",
|
|
13
|
+
"roundedRectangle": "Rounded Rectangle",
|
|
14
|
+
"rotatedRectangle": "Rotated Rectangle",
|
|
15
|
+
"star": "Star",
|
|
16
|
+
"triangle": "Triangle",
|
|
17
|
+
"none": "None",
|
|
18
|
+
"timescale": "Timescale",
|
|
19
|
+
"linear": "Linear",
|
|
20
|
+
"categorical": "Categorical",
|
|
21
|
+
"group": "Group",
|
|
22
|
+
"size": "Size",
|
|
23
|
+
"label": "Label",
|
|
24
|
+
"optionalChartTitle": "optional chart title",
|
|
25
|
+
"class": "Class",
|
|
26
|
+
"optionalCssClassNames": "Optional CSS class name(s)",
|
|
27
|
+
"type": "Type",
|
|
28
|
+
"showLegend": "Show Legend",
|
|
4
29
|
"seriesColors": "Series Colors",
|
|
5
30
|
"seconds": "Seconds",
|
|
6
31
|
"minutes": "Minutes",
|
|
@@ -15,6 +40,10 @@
|
|
|
15
40
|
"yAxis": "Y-Axis",
|
|
16
41
|
"min": "min.",
|
|
17
42
|
"max": "max.",
|
|
43
|
+
"properties": "Properties",
|
|
44
|
+
"series": "Series:",
|
|
45
|
+
"key": "key:",
|
|
46
|
+
"propertyPlaceholder": "msg.payload[key] or msg.payload[n][key]",
|
|
18
47
|
"pointStyle": "Point Style",
|
|
19
48
|
"pointShape": "Shape",
|
|
20
49
|
"pointRadius": "Radius (px)",
|
|
@@ -23,4 +52,4 @@
|
|
|
23
52
|
"replace": "Replace"
|
|
24
53
|
}
|
|
25
54
|
}
|
|
26
|
-
|
|
55
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
|
|
2
|
+
<script type="text/html" data-help-name="ui-gauge">
|
|
3
|
+
<h3>Properties</h3>
|
|
4
|
+
<dl class="message-properties">
|
|
5
|
+
<dt>Type <span class="property-type">half | 3/4</span></dt>
|
|
6
|
+
<dd>Defines the shape of the gauge, "Half Gauge" or "3/4 Gauge".</dd>
|
|
7
|
+
<dt>Style <span class="property-type">rounded | needle</span></dt>
|
|
8
|
+
<dd>Defines the style of arc rendered, "Needle" or "Rounded"</dd>
|
|
9
|
+
<dt>Range <span class="property-type">number</span></dt>
|
|
10
|
+
<dd>The smallest and largest values that can be rendered on the gauge</dd>
|
|
11
|
+
<dt>Segments <span class="property-type">list</span></dt>
|
|
12
|
+
<dd>Collection of objects that defines each coloured segment on the gauge</dd>
|
|
13
|
+
<dt>Label <span class="property-type">list</span></dt>
|
|
14
|
+
<dd>The title text shown above the gauge</dd>
|
|
15
|
+
<dt>Prefix <span class="property-type">str</span></dt>
|
|
16
|
+
<dd>Text to be added <i>before</i> the value in the middle of the gauge.</dd>
|
|
17
|
+
<dt>Suffix <span class="property-type">str</span></dt>
|
|
18
|
+
<dd>Text to be added <i>after</i> the value in the middle of the gauge.</dd>
|
|
19
|
+
<dt>Units <span class="property-type">str</span></dt>
|
|
20
|
+
<dd>Small text to be shown below the value in the middle of the gauge.</dd>
|
|
21
|
+
<dt>Sizes (Gauge) <span class="property-type">number</span></dt>
|
|
22
|
+
<dd>A numerical value, in pixels, that defines the thickness of the arc and backdrop rendered.</dd>
|
|
23
|
+
<dt>Sizes (Gap) <span class="property-type">number</span></dt>
|
|
24
|
+
<dd>A numerical value, in pixels, that defines the gap between the arc and the segments.</dd>
|
|
25
|
+
<dt>Sizes (Segments) <span class="property-type">number</span></dt>
|
|
26
|
+
<dd>A numerical value, in pixels, that defines the thickness of the segments rendered in the gauge.</dd>
|
|
27
|
+
</dl>
|
|
28
|
+
</script>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"ui-gauge": {
|
|
3
|
+
"label": {
|
|
4
|
+
"name": "Name",
|
|
5
|
+
"group": "Group",
|
|
6
|
+
"size": "Size",
|
|
7
|
+
"type": "Type",
|
|
8
|
+
"style": "Style",
|
|
9
|
+
"gaugeHalf": "Half Gauge",
|
|
10
|
+
"gauge34": "3/4 Gauge",
|
|
11
|
+
"needle": "Needle",
|
|
12
|
+
"rounded": "Rounded",
|
|
13
|
+
"limits": "Limits",
|
|
14
|
+
"range": "Range",
|
|
15
|
+
"min": "min.",
|
|
16
|
+
"max": "max.",
|
|
17
|
+
"segments": "Segments",
|
|
18
|
+
"labelling": "Labelling",
|
|
19
|
+
"label": "Label",
|
|
20
|
+
"prefix": "Prefix",
|
|
21
|
+
"suffix": "Suffix",
|
|
22
|
+
"sizes": "Sizes",
|
|
23
|
+
"gauge": "Gauge",
|
|
24
|
+
"gap": "Gap",
|
|
25
|
+
"styling": "Styling",
|
|
26
|
+
"class": "Class"
|
|
27
|
+
},
|
|
28
|
+
"errors": {
|
|
29
|
+
"unique": "All 'from' values must be unique."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|