@flowfuse/node-red-dashboard 1.16.1-ee4508a-202409161000.0 → 1.17.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/dist/apple-touch-icon.png +0 -0
- package/dist/assets/Tableau10-B-NsZVaP.js +1 -0
- package/dist/assets/array-BKyUJesY.js +1 -0
- package/dist/assets/blockDiagram-9f4a6865-BY3wYgfY.js +118 -0
- package/dist/assets/c4Diagram-ae766693-B-AG7NIy.js +10 -0
- package/dist/assets/channel-C_v5mHlo.js +1 -0
- package/dist/assets/classDiagram-fb54d2a0-Cve0-MS1.js +2 -0
- package/dist/assets/classDiagram-v2-a2b738ad-DikSiPRc.js +2 -0
- package/dist/assets/clone-BXaIEimD.js +1 -0
- package/dist/assets/createText-ca0c5216-DvPZ4lSa.js +7 -0
- package/dist/assets/edges-066a5561-DMO7edq0.js +4 -0
- package/dist/assets/erDiagram-09d1c15f-C8g8w-fe.js +51 -0
- package/dist/assets/flowDb-c1833063-ByiZML3Q.js +10 -0
- package/dist/assets/flowDiagram-b222e15a-B7kVs9sh.js +4 -0
- package/dist/assets/flowDiagram-v2-13329dc7-BQ7oM3Wh.js +1 -0
- package/dist/assets/flowchart-elk-definition-ae0efee6-CAWlGS57.js +139 -0
- package/dist/assets/ganttDiagram-b62c793e-cVXtk4xr.js +257 -0
- package/dist/assets/gitGraphDiagram-942e62fe-ytnvaJ2O.js +70 -0
- package/dist/assets/graph-Bq9AO4pT.js +1 -0
- package/dist/assets/index--pBozGw-.js +245 -0
- package/dist/assets/index-01f381cb-CuQuHO3g.js +1 -0
- package/dist/assets/index-40_V--R5.css +13 -0
- package/dist/assets/infoDiagram-94cd232f-D3qHX83u.js +7 -0
- package/dist/assets/init-Gi6I4Gst.js +1 -0
- package/dist/assets/journeyDiagram-6625b456-DrDjeExJ.js +139 -0
- package/dist/assets/katex-CvgdMzdh.js +261 -0
- package/dist/assets/layout-dTROeK7M.js +1 -0
- package/dist/assets/line--V00syVo.js +1 -0
- package/dist/assets/linear-C2oDpuMJ.js +1 -0
- package/dist/assets/logo-DIAzbBuw.png +0 -0
- package/dist/assets/materialdesignicons-webfont-B7mPwVP_.ttf +0 -0
- package/dist/assets/materialdesignicons-webfont-CSr8KVlo.eot +0 -0
- package/dist/assets/materialdesignicons-webfont-Dp5v-WZN.woff2 +0 -0
- package/dist/assets/materialdesignicons-webfont-PXm3-2wK.woff +0 -0
- package/dist/assets/mindmap-definition-307c710a-CMUeraG8.js +110 -0
- package/dist/assets/ordinal-Cboi1Yqb.js +1 -0
- package/dist/assets/pieDiagram-bb1d19e5-P5mFu8pA.js +35 -0
- package/dist/assets/quadrantDiagram-c759a472-DRSID9uQ.js +7 -0
- package/dist/assets/requirementDiagram-87253d64-98AMKGz3.js +52 -0
- package/dist/assets/sankeyDiagram-707fac0f-c6m9e_oG.js +8 -0
- package/dist/assets/sequenceDiagram-6894f283-z-gVG6uq.js +122 -0
- package/dist/assets/stateDiagram-5dee940d-DWfP8BzL.js +1 -0
- package/dist/assets/stateDiagram-v2-1992cada-DBpwYzQS.js +1 -0
- package/dist/assets/styles-0784dbeb-DIb0daye.js +207 -0
- package/dist/assets/styles-483fbfea-DqDTwju_.js +116 -0
- package/dist/assets/styles-b83b31c9-CSuCi6iq.js +160 -0
- package/dist/assets/svgDrawCommon-5e1cfd1d-CDAD6QkU.js +1 -0
- package/dist/assets/timeline-definition-bf702344-Dv2jO1Md.js +61 -0
- package/dist/assets/workbox-window.prod.es5-D5gOYdM7.js +2 -0
- package/dist/assets/xychartDiagram-f11f50a6-CEl6xRTu.js +7 -0
- package/dist/favicon.ico +0 -0
- package/dist/favicon.svg +482 -0
- package/dist/index.html +22 -0
- package/dist/logo-512x512.png +0 -0
- package/dist/logo.svg +482 -0
- package/dist/manifest.webmanifest +1 -0
- package/dist/maskable-icon-512x512.png +0 -0
- package/dist/pwa-192x192.png +0 -0
- package/dist/pwa-512x512.png +0 -0
- package/dist/pwa-64x64.png +0 -0
- package/dist/sw.js +2 -0
- package/nodes/config/locales/en-US/ui_page.html +7 -0
- package/nodes/config/locales/en-US/ui_page.json +5 -0
- package/nodes/config/ui_page.html +260 -96
- package/nodes/config/ui_page.js +9 -0
- package/nodes/widgets/locales/en-US/ui_gauge.html +4 -2
- package/nodes/widgets/locales/en-US/ui_gauge.json +2 -1
- package/nodes/widgets/locales/en-US/ui_number_input.html +21 -10
- package/nodes/widgets/locales/en-US/ui_table.html +8 -3
- package/nodes/widgets/locales/en-US/ui_table.json +4 -1
- package/nodes/widgets/ui_gauge.html +251 -232
- package/nodes/widgets/ui_gauge.js +9 -2
- package/nodes/widgets/ui_number_input.html +21 -2
- package/nodes/widgets/ui_number_input.js +33 -0
- package/nodes/widgets/ui_table.html +13 -1
- package/nodes/widgets/ui_table.js +21 -3
- package/package.json +5 -4
|
@@ -1,107 +1,256 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
.red-ui-editableList-header.node-config-list-breakpoints-header {
|
|
3
|
+
display: flex;
|
|
4
|
+
gap: 12px;
|
|
5
|
+
margin: 0 33px 0 5px;
|
|
6
|
+
padding: 6px 0 3px;
|
|
7
|
+
}
|
|
8
|
+
.node-config-list-breakpoints-header > div,
|
|
9
|
+
.node-config-list-breakpoints-item input {
|
|
10
|
+
width: 33.3%;
|
|
11
|
+
}
|
|
12
|
+
.node-config-list-breakpoints-item {
|
|
13
|
+
display: flex;
|
|
14
|
+
align-items: center;
|
|
15
|
+
gap: 12px;
|
|
16
|
+
margin-right: 28px;
|
|
17
|
+
}
|
|
18
|
+
.node-config-list-breakpoints-item label {
|
|
19
|
+
width: 50px;
|
|
20
|
+
}
|
|
21
|
+
#node-config-list-breakpoints li {
|
|
22
|
+
border-bottom: none;
|
|
23
|
+
}
|
|
24
|
+
.node-config-breakpoints-header {
|
|
25
|
+
display: flex;
|
|
26
|
+
justify-content: space-between;
|
|
27
|
+
align-items: center;
|
|
28
|
+
}
|
|
29
|
+
.node-config-breakpoints-actions {
|
|
30
|
+
|
|
31
|
+
}
|
|
32
|
+
</style>
|
|
33
|
+
|
|
1
34
|
<script type="text/javascript">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
35
|
+
(async function () {
|
|
36
|
+
// convert to i18 text
|
|
37
|
+
function c_ (x) {
|
|
38
|
+
return RED._('@flowfuse/node-red-dashboard/ui-page:ui-page.' + x)
|
|
39
|
+
}
|
|
40
|
+
RED.nodes.registerType('ui-page', {
|
|
41
|
+
category: 'config',
|
|
42
|
+
defaults: {
|
|
43
|
+
name: {
|
|
44
|
+
value: RED._('@flowfuse/node-red-dashboard/ui-page:ui-page.label.pageName'),
|
|
45
|
+
required: true
|
|
46
|
+
},
|
|
47
|
+
ui: {
|
|
48
|
+
type: 'ui-base',
|
|
49
|
+
value: '',
|
|
50
|
+
required: true
|
|
51
|
+
},
|
|
52
|
+
path: {
|
|
53
|
+
value: -1,
|
|
54
|
+
required: false
|
|
55
|
+
},
|
|
56
|
+
icon: {
|
|
57
|
+
value: 'home',
|
|
58
|
+
required: false
|
|
59
|
+
},
|
|
60
|
+
layout: {
|
|
61
|
+
value: '',
|
|
62
|
+
required: true
|
|
63
|
+
},
|
|
64
|
+
theme: {
|
|
65
|
+
type: 'ui-theme',
|
|
66
|
+
value: 'default',
|
|
67
|
+
required: true
|
|
68
|
+
},
|
|
69
|
+
breakpoints: {
|
|
70
|
+
value: [
|
|
71
|
+
{ name: 'Default', px: 0, cols: 3 },
|
|
72
|
+
{ name: 'Tablet', px: 576, cols: 6 },
|
|
73
|
+
{ name: 'Small Desktop', px: 768, cols: 9 },
|
|
74
|
+
{ name: 'Desktop', px: 1024, cols: 12 }
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
order: {
|
|
78
|
+
value: -1
|
|
79
|
+
},
|
|
80
|
+
className: { value: '' },
|
|
81
|
+
visible: { value: 'true' },
|
|
82
|
+
disabled: { value: 'false' }
|
|
33
83
|
},
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
disabled: { value: 'false' }
|
|
37
|
-
},
|
|
38
|
-
oneditprepare: function () {
|
|
39
|
-
if (this.path === -1) {
|
|
84
|
+
oneditprepare: function () {
|
|
85
|
+
if (this.path === -1) {
|
|
40
86
|
// we have no path set yet
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
87
|
+
let pageCount = 0
|
|
88
|
+
RED.nodes.eachConfig((cNode) => {
|
|
89
|
+
pageCount += cNode.type === 'ui-page' ? 1 : 0
|
|
90
|
+
})
|
|
91
|
+
this.path = '/page' + (pageCount + 1)
|
|
92
|
+
$('#node-config-input-path').val(this.path)
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
$('#node-config-input-layout').typedInput({
|
|
96
|
+
type: 'layout',
|
|
97
|
+
types: [{
|
|
98
|
+
value: 'layout',
|
|
99
|
+
options: [
|
|
100
|
+
{ value: 'grid', label: RED._('@flowfuse/node-red-dashboard/ui-page:ui-page.label.grid') },
|
|
101
|
+
{ value: 'flex', label: RED._('@flowfuse/node-red-dashboard/ui-page:ui-page.label.fixed') },
|
|
102
|
+
{ value: 'tabs', label: RED._('@flowfuse/node-red-dashboard/ui-page:ui-page.label.tabs') },
|
|
103
|
+
{ value: 'notebook', label: RED._('@flowfuse/node-red-dashboard/ui-page:ui-page.label.notebook') }
|
|
104
|
+
]
|
|
105
|
+
}],
|
|
106
|
+
typeField: '#node-input-layoutType'
|
|
44
107
|
})
|
|
45
|
-
this.path = '/page' + (pageCount + 1)
|
|
46
|
-
$('#node-config-input-path').val(this.path)
|
|
47
|
-
}
|
|
48
108
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
{ value: 'notebook', label: RED._('@flowfuse/node-red-dashboard/ui-page:ui-page.label.notebook') }
|
|
58
|
-
]
|
|
59
|
-
}],
|
|
60
|
-
typeField: '#node-input-layoutType'
|
|
61
|
-
})
|
|
62
|
-
|
|
63
|
-
// backwards compatibility - because NR can't do boolean values on dropdowns
|
|
64
|
-
if (this.visible === false || this.visible === 'false') {
|
|
65
|
-
this.visible = false
|
|
66
|
-
$('#node-config-input-visible').val('false')
|
|
67
|
-
} else {
|
|
68
|
-
this.visible = true
|
|
69
|
-
$('#node-config-input-visible').val('true')
|
|
70
|
-
}
|
|
109
|
+
$('#node-config-input-layout').on('change', function (event, type, value) {
|
|
110
|
+
// show for the others
|
|
111
|
+
if (value === 'flex') {
|
|
112
|
+
$('#node-config-container-breakpoints').hide()
|
|
113
|
+
} else {
|
|
114
|
+
$('#node-config-container-breakpoints').show()
|
|
115
|
+
}
|
|
116
|
+
})
|
|
71
117
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
118
|
+
// Breakpoints Editable List
|
|
119
|
+
const breakpointsList = $('#node-config-list-breakpoints').editableList({
|
|
120
|
+
header: $('<div>').addClass('node-config-list-breakpoints-header')
|
|
121
|
+
.append($.parseHTML('<div>' + c_('label.name') + '</div>' +
|
|
122
|
+
'<div>' + c_('label.breakpoint') + '</div>' +
|
|
123
|
+
'<div>' + c_('label.columns') + '</div>')),
|
|
124
|
+
addItem: function (container, i, breakpoint) {
|
|
125
|
+
const row = $('<div>').addClass('node-config-list-breakpoints-item').appendTo(container)
|
|
126
|
+
// Value Field
|
|
127
|
+
$('<input/>').addClass('node-input-breakpoint-name')
|
|
128
|
+
.attr('type', 'text')
|
|
129
|
+
.attr('placeholder', 'Mobile (sm)')
|
|
130
|
+
.val(breakpoint.name)
|
|
131
|
+
.attr('disabled', () => {
|
|
132
|
+
return i === 0
|
|
133
|
+
})
|
|
134
|
+
.appendTo(row)
|
|
135
|
+
|
|
136
|
+
$('<input/>').addClass('node-input-breakpoint-px')
|
|
137
|
+
.attr('type', 'text')
|
|
138
|
+
.attr('required', 'true')
|
|
139
|
+
.attr('placeholder', '1024')
|
|
140
|
+
.val(breakpoint.px)
|
|
141
|
+
.attr('disabled', () => {
|
|
142
|
+
return i === 0
|
|
143
|
+
})
|
|
144
|
+
.appendTo(row)
|
|
89
145
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
146
|
+
// Label field
|
|
147
|
+
$('<input/>').addClass('node-input-breakpoint-cols')
|
|
148
|
+
.attr('type', 'text')
|
|
149
|
+
.attr('required', 'true')
|
|
150
|
+
.attr('placeholder', '12')
|
|
151
|
+
.val(breakpoint.cols)
|
|
152
|
+
.appendTo(row)
|
|
153
|
+
|
|
154
|
+
// remove button
|
|
155
|
+
const removeButton = $('<a href="#" class="red-ui-editableList-item-remove red-ui-button red-ui-button-small"><i class="fa fa-remove"></i></a>')
|
|
156
|
+
removeButton.on('click', function (e) {
|
|
157
|
+
e.preventDefault()
|
|
158
|
+
if (i > 0) {
|
|
159
|
+
breakpointsList.editableList('removeItem', breakpoint)
|
|
160
|
+
}
|
|
161
|
+
})
|
|
162
|
+
if (i > 0) {
|
|
163
|
+
row.append(removeButton)
|
|
164
|
+
}
|
|
165
|
+
return row
|
|
166
|
+
}
|
|
167
|
+
})
|
|
168
|
+
|
|
169
|
+
// set defaults
|
|
170
|
+
const defaultBreakpoints = [
|
|
171
|
+
{ name: 'Default', px: 0, cols: 3 },
|
|
172
|
+
{ name: 'Tablet', px: 576, cols: 6 },
|
|
173
|
+
{ name: 'Small Desktop', px: 768, cols: 9 },
|
|
174
|
+
{ name: 'Desktop', px: 1024, cols: 12 }
|
|
175
|
+
]
|
|
176
|
+
|
|
177
|
+
if (!this.breakpoints) {
|
|
178
|
+
this.breakpoints = defaultBreakpoints
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
for (let i = 0; i < this.breakpoints.length; i++) {
|
|
182
|
+
const breakpoint = this.breakpoints[i]
|
|
183
|
+
breakpointsList.editableList('addItem', breakpoint)
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// setup reset to defaults button
|
|
187
|
+
$('#node-config-breakpoints-reset').on('click', function (e) {
|
|
188
|
+
e.preventDefault()
|
|
189
|
+
breakpointsList.editableList('empty')
|
|
190
|
+
for (let i = 0; i < defaultBreakpoints.length; i++) {
|
|
191
|
+
const breakpoint = defaultBreakpoints[i]
|
|
192
|
+
breakpointsList.editableList('addItem', breakpoint)
|
|
193
|
+
}
|
|
194
|
+
})
|
|
195
|
+
|
|
196
|
+
// backwards compatibility - because NR can't do boolean values on dropdowns
|
|
197
|
+
if (this.visible === false || this.visible === 'false') {
|
|
198
|
+
this.visible = false
|
|
199
|
+
$('#node-config-input-visible').val('false')
|
|
200
|
+
} else {
|
|
201
|
+
this.visible = true
|
|
202
|
+
$('#node-config-input-visible').val('true')
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// backwards compatibility
|
|
206
|
+
if (this.disabled === 'true' || this.disabled === true) {
|
|
207
|
+
this.disabled = true
|
|
208
|
+
$('#node-config-input-disabled').val('true')
|
|
209
|
+
} else {
|
|
210
|
+
this.disabled = false
|
|
211
|
+
$('#node-config-input-disabled').val('false')
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
oneditsave: function () {
|
|
215
|
+
const node = this
|
|
216
|
+
// convert string to boolean
|
|
217
|
+
const visible = $('#node-config-input-visible').val()
|
|
218
|
+
if (visible === 'true') {
|
|
219
|
+
this.visible = true
|
|
220
|
+
} else {
|
|
221
|
+
this.visible = false
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// convert string to boolean
|
|
225
|
+
const disabled = $('#node-config-input-disabled').val()
|
|
226
|
+
if (disabled === 'true') {
|
|
227
|
+
this.disabled = true
|
|
228
|
+
} else {
|
|
229
|
+
this.disabled = false
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// breakpoints
|
|
233
|
+
const breakpoints = $('#node-config-list-breakpoints').editableList('items')
|
|
234
|
+
|
|
235
|
+
node.breakpoints = []
|
|
236
|
+
breakpoints.each(function (i) {
|
|
237
|
+
const row = $(this)
|
|
238
|
+
const breakpoint = {
|
|
239
|
+
name: row.find('.node-input-breakpoint-name').val(),
|
|
240
|
+
px: row.find('.node-input-breakpoint-px').val(),
|
|
241
|
+
cols: row.find('.node-input-breakpoint-cols').val()
|
|
242
|
+
}
|
|
243
|
+
node.breakpoints.push(breakpoint)
|
|
244
|
+
})
|
|
245
|
+
},
|
|
246
|
+
label: function () {
|
|
247
|
+
const baseNode = RED.nodes.node(this.ui)
|
|
248
|
+
const base = baseNode ? baseNode.path : '/'
|
|
249
|
+
const path = this.path || ''
|
|
250
|
+
return `${this.name} [${base}${path}]` || 'UI Page'
|
|
96
251
|
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
const baseNode = RED.nodes.node(this.ui)
|
|
100
|
-
const base = baseNode ? baseNode.path : '/'
|
|
101
|
-
const path = this.path || ''
|
|
102
|
-
return `${this.name} [${base}${path}]` || 'UI Page'
|
|
103
|
-
}
|
|
104
|
-
})
|
|
252
|
+
})
|
|
253
|
+
})()
|
|
105
254
|
</script>
|
|
106
255
|
|
|
107
256
|
<script type="text/html" data-template-name="ui-page">
|
|
@@ -134,6 +283,21 @@
|
|
|
134
283
|
<label for="node-config-input-className"><i class="w-16 fa fa-code"></i> <span data-i18n="ui-page.label.class"></label>
|
|
135
284
|
<input type="text" id="node-config-input-className" data-i18n="[placeholder]ui-page.label.classNamePlaceholder"/>
|
|
136
285
|
</div>
|
|
286
|
+
<div id="node-config-container-breakpoints">
|
|
287
|
+
<div class="form-row node-config-breakpoints-header" style="font-weight: 600;">
|
|
288
|
+
<div>
|
|
289
|
+
<i class="w-16 fa fa-mobile"></i> <span data-i18n="ui-page.label.responsiveness">
|
|
290
|
+
</div>
|
|
291
|
+
<div class="node-config-breakpoints-actions">
|
|
292
|
+
<button id="node-config-breakpoints-reset" type="button" class="red-ui-button red-ui-button-small" style="margin-top: 4px; margin-right: 5px;" title="add an item">
|
|
293
|
+
<i class="fa fa-refresh"></i><span> <span data-i18n="ui-page.label.reset"></span>
|
|
294
|
+
</button>
|
|
295
|
+
</div>
|
|
296
|
+
</div>
|
|
297
|
+
<div class="form-row">
|
|
298
|
+
<ol id="node-config-list-breakpoints"></ol>
|
|
299
|
+
</div>
|
|
300
|
+
</div>
|
|
137
301
|
<div class="form-row" style="font-weight: 600;">
|
|
138
302
|
<i class="w-16 fa fa-eye"></i> <span data-i18n="ui-page.label.defaultState">
|
|
139
303
|
</div>
|
package/nodes/config/ui_page.js
CHANGED
|
@@ -28,6 +28,15 @@ module.exports = function (RED) {
|
|
|
28
28
|
config.visible = (config.visible === 'true' || config.visible === true)
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
if (!('breakpoints' in config)) {
|
|
32
|
+
config.breakpoints = [
|
|
33
|
+
{ name: 'Default', px: 0, cols: 3 },
|
|
34
|
+
{ name: 'Tablet', px: 576, cols: 6 },
|
|
35
|
+
{ name: 'Small Desktop', px: 768, cols: 9 },
|
|
36
|
+
{ name: 'Desktop', px: 1024, cols: 12 }
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
|
|
31
40
|
const ui = RED.nodes.getNode(config.ui)
|
|
32
41
|
|
|
33
42
|
// register self
|
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
<dt>Segments <span class="property-type">list</span></dt>
|
|
12
12
|
<dd>Collection of objects that define the relevant color for a given value</dd>
|
|
13
13
|
<dt>Label <span class="property-type">list</span></dt>
|
|
14
|
-
<dd>The
|
|
14
|
+
<dd>The label text shown above the gauge</dd>
|
|
15
|
+
<dt>Defaults <span class="property-type">list</span></dt>
|
|
16
|
+
<dd>Reset to default min/max and segments based on the selected gauge type</dd>
|
|
15
17
|
</dl>
|
|
16
18
|
<h3>Properties (Half & 3/4 Gauges Only)</h3>
|
|
17
19
|
<dl class="message-properties">
|
|
@@ -31,7 +33,7 @@
|
|
|
31
33
|
<h3>Dynamic Properties (Inputs)</h3>
|
|
32
34
|
<p>Any of the following can be appended to a <code>msg.ui_update</code> in order to override or set properties on this node at runtime.</p>
|
|
33
35
|
<dl class="message-properties">
|
|
34
|
-
<dt class="optional">
|
|
36
|
+
<dt class="optional">label <span class="property-type">string</span></dt>
|
|
35
37
|
<dd>Update the label rendered above the Gauge</dd>
|
|
36
38
|
<dt class="optional">segments <span class="property-type">array</span></dt>
|
|
37
39
|
<dd>
|
|
@@ -3,26 +3,37 @@
|
|
|
3
3
|
Adds a single number input row to your dashboard
|
|
4
4
|
</p>
|
|
5
5
|
<h3>Dynamic Properties (Inputs)</h3>
|
|
6
|
-
<p>Any of the following can be appended to
|
|
6
|
+
<p>Any of the following can be appended to <code>msg.ui_update</code> in order to override or set properties on this node at runtime.</p>
|
|
7
7
|
<dl class="message-properties">
|
|
8
8
|
<dt class="optional">class <span class="property-type">string</span></dt>
|
|
9
|
-
<dd>Add a CSS class, or more, to the
|
|
10
|
-
<dd>Range <span class="property-type">number</span></dd>
|
|
11
|
-
<dd>
|
|
12
|
-
min - the minimum value the slider can be changed to; max - the maximum value the
|
|
13
|
-
slider can be changed to; step - the increment/decrement value when the slider is moved.
|
|
14
|
-
</dd>
|
|
9
|
+
<dd>Add a CSS class, or more, to the number input at runtime.</dd>
|
|
15
10
|
</dl>
|
|
16
11
|
<dl class="message-properties">
|
|
17
12
|
<dt class="optional">min <span class="property-type">number</span></dt>
|
|
18
|
-
<dd>
|
|
13
|
+
<dd>Override the minimum value available on the number input.</dd>
|
|
19
14
|
</dl>
|
|
20
15
|
<dl class="message-properties">
|
|
21
16
|
<dt class="optional">step <span class="property-type">number</span></dt>
|
|
22
|
-
<dd>
|
|
17
|
+
<dd>Override the step size to allow a user to select from between the <code>min</code> and <code>max</code> values.</dd>
|
|
23
18
|
</dl>
|
|
24
19
|
<dl class="message-properties">
|
|
25
20
|
<dt class="optional">max <span class="property-type">number</span></dt>
|
|
26
|
-
<dd>
|
|
21
|
+
<dd>Override the maximum value available on the number input.</dd>
|
|
22
|
+
</dl>
|
|
23
|
+
<dl class="message-properties">
|
|
24
|
+
<dt class="optional">label <span class="property-type">string</span></dt>
|
|
25
|
+
<dd>Override the label displayed on the number input.</dd>
|
|
26
|
+
</dl>
|
|
27
|
+
<dl class="message-properties">
|
|
28
|
+
<dt class="optional">icon <span class="property-type">string</span></dt>
|
|
29
|
+
<dd>Override the icon defined in the initial configuration.</dd>
|
|
30
|
+
</dl>
|
|
31
|
+
<dl class="message-properties">
|
|
32
|
+
<dt class="optional">clearable <span class="property-type">boolean</span></dt>
|
|
33
|
+
<dd>Controls whether an "x" appears number on input as a user types in order to quickly clear any added numbers.</dd>
|
|
34
|
+
</dl>
|
|
35
|
+
<dl class="message-properties">
|
|
36
|
+
<dt class="optional">spinner <span class="property-type">string</span></dt>
|
|
37
|
+
<dd>Set the spinner layout as <code>inline</code> or <code>stacked</code> to control how the spinners appear in the number input.</dd>
|
|
27
38
|
</dl>
|
|
28
39
|
</script>
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
</p>
|
|
5
5
|
<h3>Input</h3>
|
|
6
6
|
<p>
|
|
7
|
-
The ui-table widget requires an array of data to be sent via <code>msg.payload</code>.
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
The ui-table widget requires an array or an object of data to be sent via <code>msg.payload</code>.
|
|
8
|
+
If an array is provided, the table will render a row for each object within the array, and, by default, a column for each property in the objects.
|
|
9
|
+
If an object is provided, the table will render a single row with columns for each property in the object.
|
|
10
10
|
</p>
|
|
11
11
|
<h3>Properties</h3>
|
|
12
12
|
<dl class="message-properties">
|
|
@@ -15,6 +15,11 @@
|
|
|
15
15
|
Defines the maximum number of data-rows to render in the table.
|
|
16
16
|
Excess rows will be available through pagination control. Set to "0" for no pagination.
|
|
17
17
|
</dd>
|
|
18
|
+
<dt>Action <span class="property-type">append | replace</span></dt>
|
|
19
|
+
<dd>
|
|
20
|
+
Determines the action taken when new data arrives, and whether the new data is appended
|
|
21
|
+
to the chart, or replaces the existing contents.
|
|
22
|
+
</dd>
|
|
18
23
|
<dt>Breakpoint <span class="property-type">str | num</span></dt>
|
|
19
24
|
<dd>
|
|
20
25
|
Controls when a table will render, instead, as a card, with each column from a row rendering
|
|
@@ -18,7 +18,10 @@
|
|
|
18
18
|
"selection": "Interaction",
|
|
19
19
|
"search": "Search",
|
|
20
20
|
"showSearch": "Show",
|
|
21
|
-
"mobileBreakpoint": "Breakpoint"
|
|
21
|
+
"mobileBreakpoint": "Breakpoint",
|
|
22
|
+
"action": "Action",
|
|
23
|
+
"append": "Append",
|
|
24
|
+
"replace": "Replace"
|
|
22
25
|
},
|
|
23
26
|
"selection": {
|
|
24
27
|
"none": "None",
|