X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/ff74ff70ced6e15e0c70735bbd54ca7acadb6185..f9dde5c781766b8be71d43d0f031c201a0edcfbb:/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 ae86fe52..c0014d00 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,43 @@ 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.matchUserVirtualMachineRoute(pathname) && + !Routes.matchAdminVirtualMachineRoute(pathname) && !Routes.matchRepositoriesRoute(pathname) && + !Routes.matchSshKeysAdminRoute(pathname) && !Routes.matchSshKeysUserRoute(pathname) && + !Routes.matchSiteManagerRoute(pathname) && + !Routes.matchKeepServicesRoute(pathname) && !Routes.matchComputeNodesRoute(pathname) && + !Routes.matchApiClientAuthorizationsRoute(pathname) && !Routes.matchUsersRoute(pathname) && + !Routes.matchMyAccountRoute(pathname) && !Routes.matchLinksRoute(pathname); +}; + +export const MainContentBar = connect((state: RootState) => ({ + buttonVisible: isButtonVisible(state) +}), { + onDetailsPanelToggle: toggleDetailsPanel + })((props: MainContentBarProps) => + + + + + + + {props.buttonVisible && + + + + } + - - ); + );