X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/5dce317bcb52fb20e0849f08b5359a8d00bc2954..d53fb37a98b7d23cfefd6fe191ee182cdbf9ec91:/services/workbench2/src/views-components/details-panel/details-panel.tsx diff --git a/services/workbench2/src/views-components/details-panel/details-panel.tsx b/services/workbench2/src/views-components/details-panel/details-panel.tsx index 2653a21033..d8c8be09fd 100644 --- a/services/workbench2/src/views-components/details-panel/details-panel.tsx +++ b/services/workbench2/src/views-components/details-panel/details-panel.tsx @@ -28,6 +28,7 @@ import { toggleDetailsPanel, SLIDE_TIMEOUT, openDetailsPanel } from 'store/detai import { FileDetails } from 'views-components/details-panel/file-details'; import { getNode } from 'models/tree'; import { resourceIsFrozen } from 'common/frozen-resources'; +import { CLOSE_DRAWER } from 'store/details-panel/details-panel-action'; type CssRules = 'root' | 'container' | 'opened' | 'headerContainer' | 'headerIcon' | 'tabContainer'; @@ -83,10 +84,8 @@ const getItem = (res: DetailsResource): DetailsData => { } }; -const mapStateToProps = ({ auth, detailsPanel, resources, collectionPanelFiles, multiselect, router }: RootState) => { - const isDetailsResourceChecked = multiselect.checkedList[detailsPanel.resourceUuid] - const currentRoute = router.location ? router.location.pathname : ""; - const currentItemUuid = isDetailsResourceChecked || currentRoute.includes('collections') ? detailsPanel.resourceUuid : multiselect.selectedUuid ? multiselect.selectedUuid : currentRoute.split('/')[2]; +const mapStateToProps = ({ auth, detailsPanel, resources, collectionPanelFiles, selectedResourceUuid: selectedResource }: RootState) => { + const currentItemUuid = selectedResource; const resource = getResource(currentItemUuid)(resources) as DetailsResource | undefined; const file = resource ? undefined @@ -103,12 +102,13 @@ const mapStateToProps = ({ auth, detailsPanel, resources, collectionPanelFiles, isOpened: detailsPanel.isOpened, tabNr: detailsPanel.tabNr, res: resource || (file && file.value) || EMPTY_RESOURCE, + currentItemUuid }; }; const mapDispatchToProps = (dispatch: Dispatch) => ({ - onCloseDrawer: () => { - dispatch(toggleDetailsPanel()); + onCloseDrawer: (currentItemId) => { + dispatch(toggleDetailsPanel(currentItemId)); }, setActiveTab: (tabNr: number) => { dispatch(openDetailsPanel(undefined, tabNr)); @@ -116,7 +116,7 @@ const mapDispatchToProps = (dispatch: Dispatch) => ({ }); export interface DetailsPanelDataProps { - onCloseDrawer: () => void; + onCloseDrawer: (currentItemId) => void; setActiveTab: (tabNr: number) => void; authConfig: Config; isOpened: boolean; @@ -199,7 +199,7 @@ export const DetailsPanel = withStyles(styles)( - + onCloseDrawer(CLOSE_DRAWER)}>