Skip to content

M2.14 Browser: single-click row expansion and full selected-DO Read - #584

Draft
masarray wants to merge 1 commit into
fix/m214-operator-contours-20261015from
feat/m214-browser-row-click-do-read-20261015
Draft

masarray wants to merge 1 commit into
fix/m214-operator-contours-20261015from
feat/m214-browser-row-click-do-read-20261015

Conversation

@masarray

Copy link
Copy Markdown
Owner

M2.14 Browser field UX: whole-row navigation and explicit selected DO reads

Direct base: Draft #583 756de98a2bb0 (retains #582 GOOSE and TapChg repair, live title, icons, prior A/B safety and 2,002 regression baseline). PR remains Draft and all ancestors are untouched.

Root causes fixed

  • Operator can currently only expand the Objects tree by clicking a tiny chevron; details rely on chevron or double-click. Add single-click on the row in the existing virtualized DataGrid/ListView, including safe chevron Button suppression so no double toggle. Double-click retains page-navigation semantics only. No new grid, UI tree, or item materialization.
  • A model LN is the deepest selectable left-navigation node. The Read handler previously read the entire LN, ignoring which Data Object the operator is working on in the detail pane. After the operator clicks a top-level DO row, explicit Read now scopes to all verified safe FC attributes in exactly that DO (ST q/t/stVal, CF ctlModel, DC d, MX etc.), not just a convenient stVal leaf. Uses the existing IedBrowserReadPlan and read service, no second client, no cyclic poll. If no DO focused, existing LN-wide Read remains. Read All remains global and unchanged.
  • DO Read focus is a separate exact ReadObjectReference, never a preferred process leaf or inferred name. Model identity is constrained to the active selected LN. Focus is cleared on page navigation.
  • Three focused regression tests: all safe FC attributes present, wrong LN and CO forbidden, global Read All unaffected, primary scalar preference cannot hijack DO identity.

Safety / acceptance

No automatic read on navigation, control/GI/GOOSE activation, write, MMS runtime changes, RCB, engine pin or stable/main modifications. Windows exact-SHA CI + device acceptance required. If IED rejects individual reads, unavailable stays truthful: a click or model declaration never fabricates remote values.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant