Skip to content

Core implementation of the Generic Tree View feature#29

Merged
ramesh521 merged 6 commits into
AudioReach:feature/use-case-designerfrom
satyakris:feature/gtv-implementation
Jul 15, 2026
Merged

Core implementation of the Generic Tree View feature#29
ramesh521 merged 6 commits into
AudioReach:feature/use-case-designerfrom
satyakris:feature/gtv-implementation

Conversation

@satyakris

Copy link
Copy Markdown
Contributor

Add utilities, rendering primitives and the generic tree view host component along with adding PUT to the existing http client and spf-module-data entity API to get and set cal data to the backend.

@ramesh521
ramesh521 self-requested a review July 10, 2026 04:51
satyakris added a commit to satyakris/audioreach-creator-ui that referenced this pull request Jul 10, 2026
Fix tag-data API endpoint documentation to use the correct
two-segment path (tag-data/{tagSystemId}/{tkvSystemId}) matching
swagger and implementation.

Also close a design gap found in PR AudioReach#29 review (finding AudioReach#3):
FR-GS-02 previously specified the same full reseed-and-clear for
both Get and Set, which meant setPaths could never be populated.
Rewrite FR-GS-02/FR-ST-05 and design.md Sec 9.6, and add Sec 9.7,
to specify that Set instead merges the (possibly partial) backend
response into the existing DTO and reconciles dirty/set state
per-path, leaving Get's full reseed unchanged.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
@satyakris
satyakris force-pushed the feature/gtv-implementation branch from e17954d to 11a784a Compare July 10, 2026 13:02
Comment thread packages/react-app/src/entities/spf-module-data/model/spf-module.dto.ts Outdated
Comment thread packages/react-app/src/features/generic-tree-view/ui/components/legacy-view.tsx Outdated
Comment thread packages/react-app/src/features/generic-tree-view/ui/generic-tree-view.tsx Outdated
Comment thread packages/react-app/src/features/generic-tree-view/ui/components/toolbar.tsx Outdated
Comment thread packages/react-app/src/features/generic-tree-view/ui/generic-tree-view.tsx Outdated
satyakris added a commit to satyakris/audioreach-creator-ui that referenced this pull request Jul 14, 2026
Fix tag-data API endpoint documentation to use the correct
two-segment path (tag-data/{tagSystemId}/{tkvSystemId}) matching
swagger and implementation.

Also close a design gap found in PR AudioReach#29 review (finding AudioReach#3):
FR-GS-02 previously specified the same full reseed-and-clear for
both Get and Set, which meant setPaths could never be populated.
Rewrite FR-GS-02/FR-ST-05 and design.md Sec 9.6, and add Sec 9.7,
to specify that Set instead merges the (possibly partial) backend
response into the existing DTO and reconciles dirty/set state
per-path, leaving Get's full reseed unchanged.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
@satyakris
satyakris force-pushed the feature/gtv-implementation branch from 11a784a to 1a9ec4a Compare July 14, 2026 11:03
Comment thread packages/react-app/src/features/generic-tree-view/ui/generic-tree-view.tsx Outdated
satyakris added a commit to satyakris/audioreach-creator-ui that referenced this pull request Jul 14, 2026
Fix tag-data API endpoint documentation to use the correct
two-segment path (tag-data/{tagSystemId}/{tkvSystemId}) matching
swagger and implementation.

Also close a design gap found in PR AudioReach#29 review (finding AudioReach#3):
FR-GS-02 previously specified the same full reseed-and-clear for
both Get and Set, which meant setPaths could never be populated.
Rewrite FR-GS-02/FR-ST-05 and design.md Sec 9.6, and add Sec 9.7,
to specify that Set instead merges the (possibly partial) backend
response into the existing DTO and reconciles dirty/set state
per-path, leaving Get's full reseed unchanged.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
@satyakris
satyakris force-pushed the feature/gtv-implementation branch from 1a9ec4a to b7c7e2d Compare July 14, 2026 16:57
Add a PUT method to the shared HttpClient, mirroring patch
(Content-Type application/json, same request/retry handling).
Needed by the cal-data API wrapper for save requests.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
Add getCalData, putCalData, getTagData, and putTagData HTTP wrapper
functions to the spf-module-data entity.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
Add the pure utilities the tree view builds on: element-key path
helper, parse-hex-or-dec numeric parser, and patch-elements which
applies edited values back onto the element tree. No React
dependency; consumed by the rendering primitives and host.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
satyakris added a commit to satyakris/audioreach-creator-ui that referenced this pull request Jul 15, 2026
Fix tag-data API endpoint documentation to use the correct
two-segment path (tag-data/{tagSystemId}/{tkvSystemId}) matching
swagger and implementation.

Also close a design gap found in PR AudioReach#29 review (finding AudioReach#3):
FR-GS-02 previously specified the same full reseed-and-clear for
both Get and Set, which meant setPaths could never be populated.
Rewrite FR-GS-02/FR-ST-05 and design.md Sec 9.6, and add Sec 9.7,
to specify that Set instead merges the (possibly partial) backend
response into the existing DTO and reconciles dirty/set state
per-path, leaving Get's full reseed unchanged.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
@satyakris
satyakris force-pushed the feature/gtv-implementation branch from b7c7e2d to bc7eb83 Compare July 15, 2026 04:18
satyakris added a commit to satyakris/audioreach-creator-ui that referenced this pull request Jul 15, 2026
Fix tag-data API endpoint documentation to use the correct
two-segment path (tag-data/{tagSystemId}/{tkvSystemId}) matching
swagger and implementation.

Also close a design gap found in PR AudioReach#29 review (finding AudioReach#3):
FR-GS-02 previously specified the same full reseed-and-clear for
both Get and Set, which meant setPaths could never be populated.
Rewrite FR-GS-02/FR-ST-05 and design.md Sec 9.6, and add Sec 9.7,
to specify that Set instead merges the (possibly partial) backend
response into the existing DTO and reconciles dirty/set state
per-path, leaving Get's full reseed unchanged.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
@satyakris
satyakris force-pushed the feature/gtv-implementation branch from bc7eb83 to 695f111 Compare July 15, 2026 06:46
Add the sub-components that render tree items and their leaves:
element-table, element-tree, legacy-view, parameter-detail-pane,
parameter-list-panel, toolbar, status-strip, view-switch-overlay,
horizontal-guide-line, and the render-element dispatch. The QUI
prop-leak suppressor in test-setup targets React 19. No host
state; the host component consumes these next.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
Add GenericTreeView — the stateful host that orchestrates the
rendering primitives. Wires the imperative handle,
initialUiState/onUiStateChange, hideToolbar, autoCommit, and
defaultPolicyFilter props. Manages elementValues, dirtyPaths,
setPaths, invalidPaths, arrayCounts, and the tree/table view
mode.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
Fix tag-data API endpoint documentation to use the correct
two-segment path (tag-data/{tagSystemId}/{tkvSystemId}) matching
swagger and implementation.

Also close a design gap found in PR AudioReach#29 review (finding AudioReach#3):
FR-GS-02 previously specified the same full reseed-and-clear for
both Get and Set, which meant setPaths could never be populated.
Rewrite FR-GS-02/FR-ST-05 and design.md Sec 9.6, and add Sec 9.7,
to specify that Set instead merges the (possibly partial) backend
response into the existing DTO and reconciles dirty/set state
per-path, leaving Get's full reseed unchanged.

Signed-off-by: Satya Krishna Pindiproli <satyak@qti.qualcomm.com>
@satyakris
satyakris force-pushed the feature/gtv-implementation branch from 695f111 to c2a9b14 Compare July 15, 2026 09:02
@ramesh521
ramesh521 merged commit 0fcc845 into AudioReach:feature/use-case-designer Jul 15, 2026
14 checks passed
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.

2 participants