migrate and adapt indicator box component from workspace navigator #20
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.
This doesn't do anything yet, its just the indicator box component and dependencies migrated and adapted over to this module.
I did make one significant change in that the markers are now stored with each node directly, as opposed to keeping them in a central place (was: the
Workspace
class), in a map with path strings as keys to look them up. While this has cleared up the code that makes up this PR, it will mean that the way marker values are being set needs to change.One option would be to traverse the whole tree to find particular nodes to manipulate marker states. Alternatively, we could signal marker changes via message bus events. If both methods turn out to be too expensive, we would need a lookup map, again, which, this time around, I would propose to design as a "tree index", i.e. a map from node id to node object. Downside of that is the additional bookkeeping required to keep the tree structure and its index in sync…