feat: Mount layout panels inside the main react tree#1229
feat: Mount layout panels inside the main react tree#1229mattrunyon merged 8 commits intodeephaven:mainfrom
Conversation
Codecov Report
@@ Coverage Diff @@
## main #1229 +/- ##
=======================================
Coverage 45.89% 45.89%
=======================================
Files 492 492
Lines 34371 34373 +2
Branches 8566 8565 -1
=======================================
+ Hits 15775 15776 +1
- Misses 18545 18546 +1
Partials 51 51
Flags with carried forward coverage won't be shown. Click here to find out more.
|
mofojed
left a comment
There was a problem hiding this comment.
Getting an issue when opening a panel - if I click a table twice from the console, it opens briefly and then opens into a blank panel (on the second click)
|
Fixed the double clicking a pill button in the console not opening the panel properly. It was an issue of the events triggering rapidly. The first event would open the panel and the 2nd event would replace that panel. However, the layoutConfig did not change between these 2 events, so |
mofojed
left a comment
There was a problem hiding this comment.
Still running into an issue - it may be because of the switch from addChild/removeChild with replaceChild? Perhaps we should just change replace to do the add/remove? It may be because of something else. But anyway, issue is really easy to reproduce:
- Create a plot
- Open the plot from the button
- Click the plot button again to "open" it again
- Close the plot
- Open the plot with the button again
Expected Results:
4) No errors, area previously occupied by the plot is reclaimed
5) Plot re-opens
Actual Results:
4) Error in the logs, area previously occupied by the plot just goes black
5) Plot will not re-open
mofojed
left a comment
There was a problem hiding this comment.
Looks good, but let's wait til Vlad's changes are in and we publish that version, then this will be in the next version.

This will be useful for any providers/contexts we want to use without needing to wrap each panel in the provider and synchronize them (works w/ redux, becomes painful with react providers like the spectrum provider)
Tested interactions