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
Front end
========
- ObjectArray -> MultiRow: refactor search -> filter
- MultiInput: currentTime reactive
Back End
=======
- Module: execOnUpdate() and update() from state to service to check for originID for saveNeeded, array to rows
- Devices, tasks: property -> control, use ModuleState::update
- IO: add Cube202010
- E_MoonLight: random speed->fade
* Implement function **onUpdate** to define what happens if data changes
63
-
* struct UpdatedItem defines the update (parent property (including index in case of multiple records), name of property and value)
63
+
* struct UpdatedItem defines the update (parent control (including index in case of multiple records), name of control and value)
64
64
* This runs in the httpd / webserver task. To run it in another task (application task) use runInAppTask - see [ModuleLightsControl](https://github.com/MoonModules/MoonLight/blob/main/src/MoonLight/ModuleLightsControl.h)
65
65
66
66
```cpp
@@ -131,7 +131,7 @@ submenu: [
131
131
132
132
### Readonly data
133
133
134
-
A module can consist of data which is edited by the user (e.g. selecting a live script to run) and data which is send from the server to the UI (e.g. a list of running processes). Currently both type of valuas are stored in state data and definition. Distinguished by property["ro"] = true in setupDefinition. So the client uses state data and definition to build a screen with both types visually mixed together (what is desirable). Currently there are 2 websocket events: one for the entire state (including readonly) and one only for readonly which only contains the changed values. Module.svelte handles readonly differently by the function handleRO which calls updateRecursive which only update the parts of the data which has changed.
134
+
A module can consist of data which is edited by the user (e.g. selecting a live script to run) and data which is send from the server to the UI (e.g. a list of running processes). Currently both type of values are stored in state data and definition. Distinguished by control["ro"] = true in setupDefinition. So the client uses state data and definition to build a screen with both types visually mixed together (what is desirable). Currently there are 2 websocket events: one for the entire state (including readonly) and one only for readonly which only contains the changed values. Module.svelte handles readonly differently by the function handleRO which calls updateRecursive which only update the parts of the data which has changed.
135
135
136
136
It might be arguable that readonly variables are not stored in state data.
0 commit comments