Set expanded stores to objects instead of arrays #6290
Merged
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.
Issue: #6210
What I did
Fixed the setting of
unfilteredExpanded
&filteredExpanded
to objects instead of arrays (I'm assuming these were meant to be objects).The bug was happening on
treeview.js:153
.unfilteredExpanded[key]
was being stored as the value. This usually returns a bool if the key exists in the array, but when you run this with an array function name it returns the function itself 😮 😆How to test
examples/cra-kitchen-sink/src/stories/Lifecycle.stories.js
tocd examples/cra-kitchen-sink yarn storybook --no-dll
Alternatively I also coded a solution which refactored these stores of expanded items into arrays of sidebar item id's and checked
indexOf()
, instead of using a key-value relationship. This was before I realised these were probably just meant to be objects. If you'd prefer that solution I can push that up.