feat(editor): properties-panel toggle + LabVIEW-style type colours
Two visible UX fixes:
1. Properties-panel toggle. Tap a step → opens. Tap the
same step again → closes (deselect via toggle). Tap the
canvas background → also closes. selectStep now returns
to null when called with the already-selected id; the
editor-controller test updated for the new semantics.
2. LabVIEW-style type colours on every port + wire.
_typeAccent now picks vibrant brightness-aware hues per
datatype:
text → magenta/pink (LabVIEW string)
json → amber/orange (cluster feel)
bytes → cyan/teal (raw binary)
file → green (file reference)
number → yellow/amber
Step-input dots, step-output dots, and outputs-endpoint
dots all switch from the generic theme.primary to the
field's declared type accent. Operators read the
payload from the dot alone.
Editor tests still pass (20).
Signed-off-by: flemming-it <sf@flemming.it>
This commit is contained in:
parent
7b256b5e35
commit
1e9968496e
6 changed files with 133 additions and 39 deletions
|
|
@ -149,10 +149,14 @@ class FlowEditorController extends ChangeNotifier {
|
|||
notifyListeners();
|
||||
}
|
||||
|
||||
/// User clicked a node on the canvas.
|
||||
/// User clicked a node on the canvas. Clicking the
|
||||
/// already-selected step deselects it (toggle semantics) —
|
||||
/// matches every modern node editor. Pass null explicitly
|
||||
/// to deselect without re-clicking (e.g. background tap).
|
||||
void selectStep(String? stepId) {
|
||||
if (_selectedStepId == stepId) return;
|
||||
_selectedStepId = stepId;
|
||||
final next = stepId != null && _selectedStepId == stepId ? null : stepId;
|
||||
if (_selectedStepId == next) return;
|
||||
_selectedStepId = next;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue