X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c324b64f3b26e79b4640b6f0cf55671f1a261bca..3865bd152892a1ad5f85f23d085268837db8c9ee:/src/views-components/main-content-bar/main-content-bar.tsx diff --git a/src/views-components/main-content-bar/main-content-bar.tsx b/src/views-components/main-content-bar/main-content-bar.tsx index 071b986ab5..a3279e3773 100644 --- a/src/views-components/main-content-bar/main-content-bar.tsx +++ b/src/views-components/main-content-bar/main-content-bar.tsx @@ -6,27 +6,40 @@ import * as React from "react"; import { Toolbar, IconButton, Tooltip, Grid } from "@material-ui/core"; import { DetailsIcon } from "~/components/icon/icon"; import { Breadcrumbs } from "~/views-components/breadcrumbs/breadcrumbs"; -import { detailsPanelActions } from "~/store/details-panel/details-panel-action"; import { connect } from 'react-redux'; +import { RootState } from '~/store/store'; +import * as Routes from '~/routes/routes'; +import { toggleDetailsPanel } from '~/store/details-panel/details-panel-action'; interface MainContentBarProps { onDetailsPanelToggle: () => void; + buttonVisible: boolean; } -export const MainContentBar = connect(undefined, { - onDetailsPanelToggle: detailsPanelActions.TOGGLE_DETAILS_PANEL -})((props: MainContentBarProps) => - - - - - - - - - - - +const isButtonVisible = ({ router }: RootState) => { + const pathname = router.location ? router.location.pathname : ''; + return !Routes.matchWorkflowRoute(pathname) && !Routes.matchVirtualMachineRoute(pathname) && + !Routes.matchRepositoriesRoute(pathname) && !Routes.matchSshKeysRoute(pathname) && + !Routes.matchKeepServicesRoute(pathname) && !Routes.matchComputeNodesRoute(pathname) && + !Routes.matchApiClientAuthorizationsRoute(pathname); +}; + +export const MainContentBar = connect((state: RootState) => ({ + buttonVisible: isButtonVisible(state) +}), { + onDetailsPanelToggle: toggleDetailsPanel + })((props: MainContentBarProps) => + + + + + + + {props.buttonVisible && + + + + } + - - ); + );