Adds support for parsing and loading Sites #244 and Performances #243#261
Merged
jrmartin merged 9 commits intodevelopmentfrom Jul 15, 2025
Merged
Adds support for parsing and loading Sites #244 and Performances #243#261jrmartin merged 9 commits intodevelopmentfrom
jrmartin merged 9 commits intodevelopmentfrom
Conversation
…n-splinter Fix Splinter deduplication of folder nodes
Contributor
There was a problem hiding this comment.
Pull Request Overview
Enhances hierarchical data rendering and node management to support parsing and loading Sites and Performances.
- Adjusts dendrogram separation to differentiate leaf and non-leaf nodes.
- Adds logic in Splinter.js to skip redundant Subject/Sample folder processing and properly link existing tree/graph nodes.
- Updates
buildNodeFromJsonto returnundefinedfor already-present nodes and handles missing parents gracefully.
Reviewed Changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| src/utils/Splinter.js | Skip duplicate node creation, link existing nodes, return undefined for proxies and handle missing parents. |
| src/utils/GraphViewerHelper.js | Modify dendrogram separation to use distinct spacing for leaf vs non-leaf nodes. |
| tests/f006/curation-export (6).ttl | Add TTL fixture covering new Sites and Performances parsing scenarios. |
Comments suppressed due to low confidence (2)
src/utils/GraphViewerHelper.js:188
- There isn't a test verifying the new separation logic for leaf vs non-leaf nodes; adding a unit test to cover this behavior will ensure visual consistency in the dendrogram.
const aIsLeaf = !a.children || a.children.length === 0;
src/utils/Splinter.js:1143
- Ensure that
proxies_mapis indeed keyed byremote_idhere—previously it useduri_api—as a mismatch could cause lookup failures.
const node_id = this.proxies_map.get(item.remote_id);
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds support for parsing and loading Sites #244 and Performances #243
This pull request introduces changes to improve the handling of hierarchical data structures and node relationships in the
GraphViewerHelper.jsandSplinter.jsutilities. The updates enhance the logic for node separation, skip redundant processing, and ensure proper linking of tree and graph nodes.Improvements to hierarchical data handling:
dendrogramfunction inGraphViewerHelper.jsto account for whether nodes are leaf nodes, applying different separation values based on their type. This change improves the visual representation of hierarchical relationships.Enhancements to node processing and linking:
Splinter.jsto skip processing folders that represent the same Subject/Sample node, while ensuring proper references between tree and graph nodes. This avoids unnecessary duplication and ensures consistency.Splinter.jsto skip processing when a parent node is missing or when a new node cannot be built. Existing nodes are linked to their parents, and child nodes are recursively linked to maintain the hierarchy.undefinedfor existing nodes during node creation: Modified thebuildNodeFromJsonmethod inSplinter.jsto returnundefinedfor nodes already present in theproxies_map, ensuring no duplicate nodes are created.