Prepare for the next update: Data Anchor#132
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This pull request implements changes to support Data Anchoring by introducing a persistent “anchored” flag and table references throughout the codebase. Key changes include updating concept and table creation functions to include a new tableRef property, adding new reducers (updateTableAnchored and updateTableDisplayId) to manage table state, and revising UI components (e.g. ConceptGroup, EditableTableName, EncodingBox) to properly display and interact with anchored tables.
Reviewed Changes
Copilot reviewed 19 out of 21 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/views/ConceptShelf.tsx | Updates custom concept creation to include tableRef in generated concepts |
| src/app/utils.tsx | Revises getTriggers loop to account for anchored tables |
| src/views/DataView.tsx | Adjusts extTable generation and dependencies using the updated tableRef |
| src/views/EncodingShelfCard.tsx | Modifies filtering logic to incorporate anchored tables |
| src/components/ComponentType.tsx | Adds displayId for tables to support user-friendly naming |
| src/views/ConceptCard.tsx | Updates genFreshDerivedConcept signature to include tableRef parameter |
| src/views/EncodingShelfThread.tsx | Introduces new UI behavior for anchored tables in thread view |
| src/data/utils.ts | Changes table creation functions to require passing anchored flag |
| src/views/ViewUtils.tsx | Adjusts grouping of concept items based on table displayId |
| src/views/TableSelectionView.tsx | Updates table creation from text/JSON to pass anchored flag true |
| src/views/DerivedDataDialog.tsx | Removes obsolete styled Group components |
| src/views/DisambiguationDialog.tsx | Removes unused GroupHeader/GroupItems definitions |
| src/views/DataFormulator.tsx | Removes unused styled components and updates split pane usage |
| src/views/ModelSelectionDialog.tsx | Removes unused GroupHeader/GroupItems definitions |
| src/views/ReactTable.tsx | Updates TableCell styling syntax |
| src/app/dfSlice.tsx | Adds new reducers for updating table anchored state and display id |
| src/views/DataThread.tsx | Introduces EditableTableName into thread view for renaming anchored tables |
| src/views/EncodingBox.tsx | Updates concept grouping and ensures new tableRef property is passed |
Files not reviewed (2)
- src/scss/App.scss: Language not supported
- src/scss/EncodingShelf.scss: Language not supported
Comments suppressed due to low confidence (3)
src/views/ConceptCard.tsx:139
- Ensure that the tableRef passed into genFreshDerivedConcept matches the originating field’s tableRef so that derived concepts are correctly anchored to their source table.
handleUpdateConcept(genFreshDerivedConcept([field.id], field.tableRef));
src/views/EncodingBox.tsx:529
- Verify that all invocations of groupConceptItems are updated to pass the tables argument, ensuring that concept items are grouped based on the correct table displayId.
let conceptGroups = groupConceptItems(conceptShelfItems, tables);
src/app/dfSlice.tsx:338
- Add unit tests for the new reducers (updateTableAnchored and updateTableDisplayId) to verify that table state updates occur as expected when toggling the anchored flag or modifying the displayId.
updateTableAnchored: (state, action: PayloadAction<{tableId: string, anchored: boolean}>) => { ... }
Collaborator
Author
Vansh2209
reviewed
Jun 26, 2025
| ); | ||
| </Tooltip>); | ||
|
|
||
| let deriveOption = ( |
Merged
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.

With Data Anchor, we can anchor an intermediate data to isolate it's derivation context from it's predecessors. Tables created from the anchor will take the anchored table as direct input (not the original data).
This could be helpful for cleaning initial input data (so we always work with cleaned data afterwards), or when we want to focus our analysis into a subset of dataset.
This makes analysis clean, but also makes it more efficient for LLM to work with, since it won't have the gigantic context attached to the anchored data.
We'll merge it after some more testing and playing. Made quite a bit of updates so it can be messy(?)
Here is a quick demo:
data-anchor-demo.mp4