From b0ac044035b14432ab33db9ede8f799fb55ac01a Mon Sep 17 00:00:00 2001 From: Martino Ferrari Date: Sun, 21 Jun 2026 12:50:04 +0200 Subject: [PATCH] Working on better ux and comnfig editro --- TODO.md | 34 ++++++++++++++++-- workspace/data/audit.db | Bin 24576 -> 24576 bytes workspace/data/audit.db-shm | Bin 32768 -> 0 bytes workspace/data/audit.db-wal | 0 workspace/data/controllogic.json | 10 +++++- .../new-config-set.json | 7 ++++ workspace/softioc.log | 1 + 7 files changed, 49 insertions(+), 3 deletions(-) delete mode 100644 workspace/data/audit.db-shm delete mode 100644 workspace/data/audit.db-wal create mode 100644 workspace/data/trash/configs/sets/new-config-set.1781970149012/new-config-set.json diff --git a/TODO.md b/TODO.md index d336ee1..db358c2 100644 --- a/TODO.md +++ b/TODO.md @@ -11,8 +11,26 @@ - user can fork an existing config instance to create a new one - user can compare two instances: show unified diff or side by side diff - etc... - - user can apply and save configuration instances - - in logic editor and control loop add nodes to read/write/create/apply config instances + - [ ] user can apply and save configuration instances from manager + - [ ] in logic editor and control loop add nodes to read/write/create/apply config instances + - [ ] support for all supported types (number, bools, enums, arrays, string etc) + - [ ] ux elements for config set + - the configuration editor should automatically get type and info from signal when possible + - a slick tree drag and drop editor to order elements and organize in group and sub-groups + - possibility to customise unit, max, min etc + - [ ] ux elements for config instances: + - automatically use the correct setting widget depending on the type (e.g. combo for enum, nubmer input for number): + - for arrays: import csv option, display points as mini plot (+ open dialog plot with more info), manual enter points via table like interface + - automatically fill with default or existing values (when forking an existing instance) + - explicity show errors/missing info and give additional info on hover + - [ ] add advanced validation / transformation framework to configurations using custom CUE rules: + - backend should run validation / transformation rules + - user can create/edit/delete/compare rules from webui: + - integrate syntax highlight + - integrate autocomplete for signals names and cue grammars + - integrate cue lsp + - when validation fail error should be propagated to user in the webui + - all action should be tracked via history management and audit - [ ] Improve UX: - [x] Synthetic editor: - [x] color code the node link by type @@ -22,6 +40,18 @@ - [ ] Panels: - [x] in view mode the widgets should have no border/bg but blend with background - [ ] add widgets such as toggle switch, table and other industrial hmi widgets + - [ ] add container widgets: labelled/title pane, tab panes, collapsable panes etc + - [ ] plot pane: + - add toolbar + - [ ] clean ui: + - create small statusbar where connection widget and other status related info will be placed + - group advanced items (audit/control loops/config manager etc) in a tool menu or something similar to not fill the toolbar + - make the toolbar as clean as possible +- [ ] Logic editor: + - add full support to local array values: dynamic, dynamic but capped max, fixed size etc: + - array functions should work with new local array +- [ ] Control loop: + - add full support to server side array values - [ ] Implement git style versioning for: synthetic variable, panels, control logic: - possibility to fork any version - click to view the version diff --git a/workspace/data/audit.db b/workspace/data/audit.db index 1acb13a84137ae52d7f6d6d567fc45fdc9f690b5..edf9a205d0e218c70d8bd3243e23ff3977ee33e7 100644 GIT binary patch delta 624 zcmZoTz}RqraRZA0vnc1D$?O7(T-@AT`?(6Z6gl^7Z0zC`PZs56V3QU#=H=xLmlx!f z*mdQe$yb5m$$hel0v5^UM#&aQDaPg|2IeW|X_NQM%8L7nfHmj>H5fuPTzw~Y{=j5= zSqpJrVRX4m=cFgH-A~jm-57fY2~MJ5msCmOI3(#2Jj!K43R1xhOTUBvk{|Fa^KV zas`Ol3aDmpPLrM~!Xe7Vz`!8N_hB--fg%^b3col%7vEpL51R!Q_VGFLFtahj0!kFh z0SAHzlmqs)Fq8xKrVx|^cBkNEL;K6jqWt=k*&TqU$MXmCyYpM~>jO>y%QrdOpW9HB zn^~F>>KzdzwlES~2#GBS)HPE@l+TZWZyDbN{vbX-{t5g7{2KgOe82fu@Z0h|