From d1f076b40cd0af0ae202029c66f6e49b21f99cac Mon Sep 17 00:00:00 2001 From: Espen Hovlandsdal Date: Tue, 5 Nov 2019 14:32:24 -0800 Subject: [PATCH] [desk-tool] Pass child item id to panes --- packages/@sanity/desk-tool/src/DeskToolPanes.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/@sanity/desk-tool/src/DeskToolPanes.js b/packages/@sanity/desk-tool/src/DeskToolPanes.js index 064b8560789..ebc4b87b255 100644 --- a/packages/@sanity/desk-tool/src/DeskToolPanes.js +++ b/packages/@sanity/desk-tool/src/DeskToolPanes.js @@ -205,6 +205,7 @@ export default class DeskToolPanes extends React.Component { const {isMobile} = this.state const path = [] + const paneKeys = ['root'].concat(keys) const paneGroups = [[{id: 'root'}]].concat(routerPanes || []) let i = -1 @@ -217,8 +218,10 @@ export default class DeskToolPanes extends React.Component { } const isCollapsed = Boolean(!isMobile && this.state.collapsedPanes[i]) - const paneKey = `${i}-${keys[i - 1] || 'root'}-${groupIndexes[i - 1]}` - const itemId = keys[Math.max(0, i - 1)] + const paneKey = `${i}-${paneKeys[i] || 'root'}-${groupIndexes[i - 1]}` + + const itemId = paneKeys[i] + const childItemId = paneKeys[i + 1] // Same pane might appear multiple times, so use index as tiebreaker const wrapperKey = pane === LOADING_PANE ? `loading-${i}` : `${i}-${pane.id}` @@ -255,6 +258,7 @@ export default class DeskToolPanes extends React.Component { paneKey={paneKey} index={i} itemId={itemId} + childItemId={childItemId} onExpand={this.handlePaneExpand} onCollapse={this.handlePaneCollapse} isCollapsed={isCollapsed}