You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ FlowFuse also comes with a collection of [FlowFuse Dashboard Blueprints](https:/
31
31
32
32
## Features
33
33
34
-
FlowFuse Dashboard provides a base set of nodes for building your own user interfaces and data visualisations. Much like it's predecessor, it provides a set of easy-to-use, core nodes, but provides complete flexibility for customisation and control over theming, layout and behaviour if you want to go further.
34
+
FlowFuse Dashboard provides a base set of nodes for building your own user interfaces and data visualisations. Much like its predecessor, it provides a set of easy-to-use, core nodes, but provides complete flexibility for customisation and control over theming, layout and behaviour if you want to go further.
Copy file name to clipboardExpand all lines: docs/en/contributing/guides/registration.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ Every `ui-base`, `ui-page` and `ui-group` has a `.register` function. The core r
8
8
9
9
This function is used by all of the widgets to inform Dashboard of their existence, and allows the widget to define which group/page/ui it belongs too, along with the relevant properties that widget has and any event handlers (e.g. `onInput` or `onAction`).
10
10
11
-
The function is called within the node's Node-RED `.js` file, and in th case of a widget registering as part of a group (the most common use case), would look something like this:
11
+
The function is called within the node's Node-RED `.js` file, and in the case of a widget registering as part of a group (the most common use case), would look something like this:
12
12
13
13
```js
14
14
module.exports=function (RED) {
@@ -48,13 +48,13 @@ This is the `this` of your node's constructor, and can be used directly from the
48
48
49
49
### `config`
50
50
51
-
This is made available by Node-RED as the input to the constructor, and can generally passed straight into the `.register` function without modification, it will be an object that maps all of the properties and values that have been described in the node's `.html` definition.
51
+
This is made available by Node-RED as the input to the constructor, and can generally passed straight into the `.register` function without modification. It will be an object that maps all of the properties and values that have been described in the node's `.html` definition.
52
52
53
53
### `evts`
54
54
55
55
We expose a range of different event handlers as part of the `register` function. All of these handlers run server (Node-RED) side.
56
56
57
-
In some cases, it is possible to define full functions (that will run at the appropriate point in the event lifecycle), in other occasions, it's only possible to define a `true`/`false` value that informs Dashboard that you wish for the widget to send or subscribe to that event.
57
+
In some cases, it is possible to define full functions (that will run at the appropriate point in the event lifecycle); in other cases, it is only possible to define a `true`/`false` value that informs Dashboard that you wish for the widget to send or subscribe to that event.
58
58
59
59
A full breakdown of the event lifecycle can be found [here](../../contributing/guides/events.md).
60
60
@@ -88,7 +88,7 @@ An example of this is with `ui-button`, where the widget's `UIButton` contains a
88
88
this.$socket.emit('widget-action', this.id, msg)
89
89
```
90
90
91
-
This sends a message via SocketIO to Node-RED, with the topic of the widget's ID. Because the `ui-button` has `onAction: true` in it's registration, it will consequently run the default handler detailed above.
91
+
This sends a message via SocketIO to Node-RED, with the topic of the widget's ID. Because the `ui-button` has `onAction: true` in its registration, it will consequently run the default handler detailed above.
92
92
93
93
### `.onChange` (`boolean` || `function`)
94
94
@@ -100,12 +100,12 @@ Similar to `onAction`, when used as a boolean, this flag will trigger the defaul
100
100
2. Appends any `msg.topic` defined on the node config
101
101
3. Runs `evts.beforeSend()`_(if provided)_
102
102
4. Store the most recent message on the widget under the `._msg` property which will contain the latest state/value of the widget
103
-
5. Pushes a `widget-sync` event to synchronize the widgets in all clients.
103
+
5. Pushes a `widget-sync` event to synchronize the widgets in all clients
104
104
6. Sends the `msg` onwards to any connected nodes
105
105
106
106
#### Custom `onChange` Handler
107
107
108
-
Alternatively, you can override this default behaviour by providing a custom `onChange` function. An example of this is in the `ui-switch` node which needs to do `node.status` updates to in order for the Node-RED Editor to reflect it's latest status:
108
+
Alternatively, you can override this default behaviour by providing a custom `onChange` function. An example of this is in the `ui-switch` node which needs to do `node.status` updates to in order for the Node-RED Editor to reflect its latest status:
109
109
110
110
```js
111
111
/**
@@ -165,7 +165,7 @@ When provided, this will override the default handler.
165
165
166
166
We use this in the core widgets in Dashboard with `ui-chart`, where we want to be storing the history of recent `msg` value, rather than _just_ the most recent value as done in the default handler. We also use it here to ensure we don't have too many data points (as defined in the `ui-chart` config).
167
167
168
-
Another use case here would be if you do not want to pass on any incoming `msg` payloads onto connected nodes automatically, for example, you could have a bunch of command-type `msg` payloads that instruct your node to do something, that are then not relevant to any preceding nodes in the flow.
168
+
Another use case here would be if you do not want to pass on any incoming `msg` payloads onto connected nodes automatically. For example, you could have a bunch of command-type `msg` payloads that instruct your node to do something, that are then not relevant to any preceding nodes in the flow.
Copy file name to clipboardExpand all lines: docs/en/contributing/widgets/third-party.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,7 +42,7 @@ FlowFuse Dashboard is built on top of [VueJS](https://vuejs.org/), and as such,
42
42
43
43
We have created an [Example Node repository](https://github.com/FlowFuse/node-red-dashboard-example-node) that will provide foundations for your widget. It includes plenty of examples for functionality you'll likely need.
44
44
45
-
It's base repository has the following file/folder structure:
45
+
Its base repository has the following file/folder structure:
46
46
47
47
As with any Node-RED nodes, you'll need to start with two files:
48
48
@@ -79,7 +79,7 @@ To start working with your own third-party widget, locally on your machine:
79
79
```bash
80
80
export NODE_ENV=development
81
81
```
82
-
4. Inside the Example Node directory, build the Example Node's `.umd.js` file (what Node-RED uses to run your widget), this will generate it's`/resources` folder, loaded by Node-RED.
82
+
4. Inside the Example Node directory, build the Example Node's `.umd.js` file (what Node-RED uses to run your widget), this will generate its`/resources` folder, loaded by Node-RED.
83
83
```bash
84
84
npm run build
85
85
```
@@ -356,7 +356,7 @@ You can read more about the Node-RED data store in our [State Management](../gui
356
356
357
357
State refers to any properties of your widget that have changed in runtime, and would differ from that set in the Node-RED editor.
358
358
359
-
For example, the `ui-dropdown` can have it's`options` overriden with a `msg.options` message sent to the node. This updates `options` would be stored against the node in the state store.
359
+
For example, the `ui-dropdown` can have its `options` overriden with a `msg.options` message sent to the node. This updates `options` would be stored against the node in the state store.
*An example UI rendered using the "Notebook" Layout*
27
27
28
-
We can get finer grain width control within a group by increasing it's width. The Notebook itself will not render the group any wider, but the group itself will render with 12 columns internally. So, if we increase the "width" (number of columns) of the group to 12, then the two charts are then setup to only take up half of the width of the group (3 columns each).
28
+
We can get finer grain width control within a group by increasing its width. The Notebook itself will not render the group any wider, but the group itself will render with 12 columns internally. So, if we increase the "width" (number of columns) of the group to 12, then the two charts are then setup to only take up half of the width of the group (3 columns each).
Copy file name to clipboardExpand all lines: docs/en/nodes/config/ui-group.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,9 @@ props:
4
4
Name: Descriptive name for this group, will show in the Node-RED Editor and as a label in the Dashboard.
5
5
Page: The Page (<code>ui-page</code>) that this group will render on.
6
6
Type: Controls whether the group appears as a default group or as a dialog, which needs to be triggered manually using ui-control. You can choose between 'Default' and 'Dialog' types.
7
-
Size: The width and height of the group. Height will always be reinforced by this value, the height is generally a <i>minimum</i> height, and will extend to fit it's content.
7
+
Size: The width and height of the group. Height will always be reinforced by this value, the height is generally a <i>minimum</i> height, and will extend to fit its content.
8
8
Class: Any custom CSS classes you wish to add to the Group.
9
-
Default State: <ul><li><b>Visibility</b> - Defines the default visibility of this group.</li><li><b>Interactivity</b> - Controls whether the group and it's contents are disabled/enabled when the page is loaded.</li></ul><p>Both of these can be overridden by the user at runtime using a <code>ui-control</code> node.</p>
9
+
Default State: <ul><li><b>Visibility</b> - Defines the default visibility of this group.</li><li><b>Interactivity</b> - Controls whether the group and its contents are disabled/enabled when the page is loaded.</li></ul><p>Both of these can be overridden by the user at runtime using a <code>ui-control</code> node.</p>
Copy file name to clipboardExpand all lines: docs/en/nodes/widgets/ui-button.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -102,7 +102,7 @@ Adds a clickable button to your dashboard.
102
102
103
103
### Measuring Hold Duration
104
104
105
-
It's possible to cofnigure a button to emit `pointerdown` and `pointerup` events. With this, it's possible to measure how long a button is held down for.
105
+
It's possible to configure a button to emit `pointerdown` and `pointerup` events. With this, it's possible to measure how long a button is held down for.
0 commit comments