-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Canvas: Override dimension filters in panel #6486
Open
djbarnwal
wants to merge
57
commits into
main
Choose a base branch
from
feat/canvas-filter-panel
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
57 commits
Select commit
Hold shift + click to select a range
a2bcdd4
Add VL config tab, cosmetic changes
djbarnwal 93e634f
Use deepmerge for merging configs
djbarnwal 4cf1cf7
Split multi and single select field input
djbarnwal 254fcd7
Add dot menu for chart fields
djbarnwal 12a0c5d
Center align KPI content
djbarnwal 3e3121c
Add default title to charts
djbarnwal a962b30
Remove optional labels
djbarnwal cfbc358
Fix bug in multi select
djbarnwal 76ba3fb
KPI sparkline fainter, add plus to diff
djbarnwal 67f2349
Remove whitespace before percent symbol
djbarnwal c2fdca8
Merge branch 'main' into feat/canvas-vl-config
djbarnwal 027c4cc
Add canvas filters store
djbarnwal 5004559
Move state out of granular filter components
djbarnwal 0942f79
Add canvas filters UI
djbarnwal 35a5170
Add support for multi metrics view for a common filer
djbarnwal 361b104
Add method for fetching multiple metrics dimensions
djbarnwal 5c5c4d0
Merge main
djbarnwal 88dcce2
Use new canvas resolver api
djbarnwal d68a6ae
Initial time controls integration
djbarnwal 12cea7a
Add new keys to canvas panel, update styles
djbarnwal 5e809be
Create class and readables for valid spec
djbarnwal 798c8e0
Add loading state from spec store
djbarnwal 79446a2
Style as per mock
djbarnwal 44c65f7
Resolve merge conflicts
djbarnwal 333b39b
Move dimension/measure selectors to spec class
djbarnwal 6cf795d
Move timefilterstore as a method to canvas entity
djbarnwal 2076df9
Move all selectors to canvas spec
djbarnwal 7dc275b
Merge main
djbarnwal 9248474
Review
djbarnwal 7d52387
Fix bug in all time store
djbarnwal 0bffa3e
Fix stale cache issues
djbarnwal 34ae376
Add measure dimension to metrics map
djbarnwal 3c3fc95
Measure filter for multiple metrics
djbarnwal d26e788
Add dimensions for measure filter
djbarnwal 905eec1
support multiple metrics view in dimension filter chip
djbarnwal e39213d
Cleanup
djbarnwal b0ac598
Merge branch 'main' into feat/canvas-charts
djbarnwal bd1b80d
Change label for one color
djbarnwal ab9a92e
Add tooltips style to default tooltip id
djbarnwal b45de4c
Simplify chart specs
djbarnwal d1a978b
Use canvas instead of svg for viz
djbarnwal f87cc03
Add formating to tooltips
djbarnwal f6af833
format axis
djbarnwal c7e77f2
cleanup
djbarnwal 41d9989
Use field as formatter name
djbarnwal ce0c45e
Support time dimension in chart
djbarnwal 6dfc57e
Add stacked area chart
djbarnwal 783301f
Merge branch 'main' into feat/canvas-filter-panel
djbarnwal 5349452
Add dimension filter to panel UI
djbarnwal bb71792
Read filter from YAML
djbarnwal 84ece5c
Remove unused var
djbarnwal 46adc84
Wrap parsed expression
djbarnwal 459824a
Avoid overwriting on other component
djbarnwal fbf3591
Merge branch 'main' into feat/canvas-filter-panel
djbarnwal 078d3ec
Use component filter for KPI and charts
djbarnwal b72cb81
Add note for table
djbarnwal 6092553
Make dimension chip smaller
djbarnwal File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm thinking these selectors are doing too much. Remember, we should be able to embed a single Component without having a Canvas wrapper. I think the selector should not do the resolution of Canvas-level & Component-level state, but rather that resolution should happen outside this function, and the resolved time range & filter should be passed-in. Thoughts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure what is the the timeline to have these components as standalone ones without canvas (if any). I would not consider this a blocker for this PR though. What is the use case where we want these components to be without a canvas wrapper?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some use cases:
But beyond the use cases, decoupling Components from Canvas will also make the code more maintainable. It'll lessen the cognitive overhead required to edit Component code & Components will be easier to test. As an exercise, it should be trivial to create a Storybook story for all of these Components.
For inspiration, look at the APIs for Evidence's components. They're pure components: all state is passed in, there's no closure over global state.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My comment below...
... also applies here. Let's assume the case where there are no Component-level overrides. We shouldn't redundantly create a Canvas
timeAndFilterStore
for each Component.