const { detailsPanel, router }= getState()
const currentRoute = router.location?.pathname.split('/') || [];
const currentItemUuid = currentRoute[currentRoute.length - 1];
+ console.log('toggleDetailsPanel', uuid, detailsPanel.resourceUuid, currentItemUuid)
// because of material-ui issue resizing details panel breaks tabs.
// triggering window resize event fixes that.
if(uuid !== detailsPanel.resourceUuid && (detailsPanel.isOpened || uuid === currentItemUuid)){
isOpened: detailsPanel.isOpened,
tabNr: detailsPanel.tabNr,
res: resource || (file && file.value) || EMPTY_RESOURCE,
+ currentItemUuid
};
};
const mapDispatchToProps = (dispatch: Dispatch) => ({
- onCloseDrawer: () => {
- dispatch<any>(toggleDetailsPanel());
+ onCloseDrawer: (currentItemId) => {
+ dispatch<any>(toggleDetailsPanel(currentItemId));
},
setActiveTab: (tabNr: number) => {
dispatch<any>(openDetailsPanel(undefined, tabNr));
});
export interface DetailsPanelDataProps {
- onCloseDrawer: () => void;
+ onCloseDrawer: (currentItemId) => void;
setActiveTab: (tabNr: number) => void;
authConfig: Config;
isOpened: boolean;
tabNr: number;
res: DetailsResource;
isFrozen: boolean;
+ currentItemUuid: string;
}
type DetailsPanelProps = DetailsPanelDataProps & WithStyles<CssRules>;
}
renderContent() {
- const { classes, onCloseDrawer, res, tabNr, authConfig } = this.props;
+ const { classes, onCloseDrawer, res, tabNr, authConfig, currentItemUuid } = this.props;
let shouldShowInlinePreview = false;
if (!('kind' in res)) {
</Tooltip>
</Grid>
<Grid item>
- <IconButton color="inherit" onClick={onCloseDrawer}>
+ <IconButton color="inherit" onClick={()=>onCloseDrawer(currentItemUuid)}>
<CloseIcon />
</IconButton>
</Grid>