@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.
Files changed (68) hide show
  1. package/README.md +1 -1
  2. package/nodes/config/locales/en-US/ui_group.json +13 -13
  3. package/nodes/config/locales/en-US/ui_page.html +3 -3
  4. package/nodes/config/locales/en-US/ui_page.json +17 -2
  5. package/nodes/config/locales/ja/ui_base.json +23 -0
  6. package/nodes/config/locales/ja/ui_group.html +4 -0
  7. package/nodes/config/locales/ja/ui_group.json +20 -0
  8. package/nodes/config/locales/ja/ui_page.html +58 -0
  9. package/nodes/config/locales/ja/ui_page.json +25 -0
  10. package/nodes/config/ui_group.html +13 -13
  11. package/nodes/config/ui_page.html +16 -16
  12. package/nodes/widgets/icons/ui-gauge.svg +4 -0
  13. package/nodes/widgets/locales/en-US/ui_chart.html +21 -20
  14. package/nodes/widgets/locales/en-US/ui_chart.json +30 -1
  15. package/nodes/widgets/locales/en-US/ui_gauge.html +28 -0
  16. package/nodes/widgets/locales/en-US/ui_gauge.json +32 -0
  17. package/nodes/widgets/locales/ja/ui_chart.html +36 -0
  18. package/nodes/widgets/locales/ja/ui_chart.json +55 -0
  19. package/nodes/widgets/ui_chart.html +32 -33
  20. package/nodes/widgets/ui_gauge.html +243 -0
  21. package/nodes/widgets/ui_gauge.js +21 -0
  22. package/package.json +3 -1
  23. package/dist/assets/arc-ucJgS0Wg.js +0 -1
  24. package/dist/assets/array-Nw74a44z.js +0 -1
  25. package/dist/assets/c4Diagram-c0b17d02-zDY-_iP8.js +0 -10
  26. package/dist/assets/classDiagram-a8cc8886-vyMJIQNo.js +0 -1
  27. package/dist/assets/classDiagram-v2-802a48d3-G0Jfk-7K.js +0 -2
  28. package/dist/assets/createText-3b1f58a4-QgSQOJfw.js +0 -7
  29. package/dist/assets/edges-0005682e-qroNIA3I.js +0 -4
  30. package/dist/assets/erDiagram-dedf2781-7K-z51BD.js +0 -51
  31. package/dist/assets/flowDb-ff651a22-BEKSrpVo.js +0 -6
  32. package/dist/assets/flowDiagram-d6f8fe3a-QzQG6Ga0.js +0 -4
  33. package/dist/assets/flowDiagram-v2-58f49b84-5A3ncqHh.js +0 -1
  34. package/dist/assets/flowchart-elk-definition-56584a6c-nwZXHeVW.js +0 -139
  35. package/dist/assets/ganttDiagram-088dbd90-i9CDQTeS.js +0 -266
  36. package/dist/assets/gitGraphDiagram-e0ffc2d1-kQmg7B_R.js +0 -70
  37. package/dist/assets/index-6IL0hFrt.css +0 -13
  38. package/dist/assets/index-SiBRfp2v.js +0 -252
  39. package/dist/assets/index-f58d48f9-cSnf4vPA.js +0 -1
  40. package/dist/assets/infoDiagram-64895a6e-uiXSFOrp.js +0 -7
  41. package/dist/assets/init-Hi12RPRh.js +0 -1
  42. package/dist/assets/journeyDiagram-adaa34f8-esMnk7Cf.js +0 -139
  43. package/dist/assets/layout-vLoXnfv1.js +0 -1
  44. package/dist/assets/line-te4lwFUe.js +0 -1
  45. package/dist/assets/linear-_luCUuT5.js +0 -1
  46. package/dist/assets/logo-yAM2wbsA.png +0 -0
  47. package/dist/assets/materialdesignicons-webfont-AeJCkVfO.woff2 +0 -0
  48. package/dist/assets/materialdesignicons-webfont-GtBnFie6.woff +0 -0
  49. package/dist/assets/materialdesignicons-webfont-IwmCr2II.ttf +0 -0
  50. package/dist/assets/materialdesignicons-webfont-JbV82i5g.eot +0 -0
  51. package/dist/assets/mindmap-definition-57868176-mgkRA4lg.js +0 -109
  52. package/dist/assets/ordinal-OOfG4Z7H.js +0 -1
  53. package/dist/assets/path-aUcfwwLI.js +0 -1
  54. package/dist/assets/pieDiagram-3fca7ce7-EFIUI0OD.js +0 -35
  55. package/dist/assets/quadrantDiagram-0ca4be02-k2Nk0fbC.js +0 -7
  56. package/dist/assets/requirementDiagram-e13af0f0-EneNe1ad.js +0 -52
  57. package/dist/assets/sankeyDiagram-a7f8e230-KezuOTNO.js +0 -8
  58. package/dist/assets/sequenceDiagram-84aa38e3-VsHB2vbR.js +0 -122
  59. package/dist/assets/stateDiagram-9a586ac6-zLhXJw0A.js +0 -1
  60. package/dist/assets/stateDiagram-v2-96f2b9df-QNYCjOg-.js +0 -1
  61. package/dist/assets/styles-1b0c237a-qfItP-6f.js +0 -110
  62. package/dist/assets/styles-622362e4-X3Qkfm8f.js +0 -160
  63. package/dist/assets/styles-a1a6e33f-SeqMs5GY.js +0 -207
  64. package/dist/assets/svgDraw-70101091-7UB9_GV3.js +0 -2
  65. package/dist/assets/svgDrawCommon-42e92da3-l19BceFH.js +0 -1
  66. package/dist/assets/timeline-definition-1a90b03d-_3Jn8mUg.js +0 -61
  67. package/dist/favicon.ico +0 -0
  68. 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 [Github issue](https://github.com/FlowFuse/node-red-dashboard/issues/new/choose). We also highly encourage open-source contributions.
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" : "Name",
5
- "tab" : "Tab",
6
- "width" : "Width",
7
- "default" : "Default",
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 widget",
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
- "display-name" : "Display group name",
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 "Name"
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 "Name"
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">grid | fixed | notebook</span>
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,4 @@
1
+ <script type="text/html" data-help-name="ui-group">
2
+ <p>グループ</p>
3
+ <p>もし<b>クラス</b>を指定している場合は、 親のカードに追加されます。この方法でカスタムCSSを用いてカードとその中の要素の様式を設定できます。<code>msg.className</code> の文字列プロパティを用いることで、クラスを実行時に設定することもできます。</p>
4
+ </script>
@@ -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> Name</label>
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> Page</label>
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> Size</label>
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> Class</label>
90
- <input type="text" id="node-config-input-className" placeholder="Optional CSS class name(s) for group"/>
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> Default State
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">Visibility</label>
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">Interactivity</label>
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">Open Dashboard 2.0 Sidebar</button>
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: 'Grid' },
56
- { value: 'flex', label: 'Fixed' },
57
- { value: 'notebook', label: 'Notebook' }
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> Name</label>
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> UI</label>
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> Path</label>
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> Icon</label>
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> Theme</label>
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> Layout</label>
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> Class</label>
128
- <input type="text" id="node-config-input-className" placeholder="Optional CSS class name(s) for page"/>
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> Default State
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">Visibility</label>
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">Interactivity</label>
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">Open Dashboard 2.0 Sidebar</button>
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">str</span></dt>
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">line | bar | scatter</span></dt>
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">bool</span></dt>
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">append | replace</span></dt>
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">linear | categorical | time</span></dt>
16
+ <dt>X-Axis Type <span class="property-type">Linear | Categorical | Timescale</span></dt>
18
17
  <dd>
19
- For charts with an x-axis, this option allows customisation
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 x-axis. If left blank, the x-value will be calculated as the current timestamp.</p>
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 x-axis. This value is ignored if injecting single numerical values into the chart.</p>
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. linear, categorical, time).</p>
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">linear | categorical | time</span></dt>
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 y-axis, and the current time of injection as the x-value.</dd>
36
- <dt>Series <span class="property-type">linear | categorical | time</span></dt>
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">linear</span></dt>
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
- <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>
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
+ }