X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/31e84a9315728c2f58a26bf0e9e1d2b38326fb86..139421ac9ab6a7f60ad7762d1787d79533ce6831:/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 60adab66..271d77c1 100644 --- a/src/views-components/main-content-bar/main-content-bar.tsx +++ b/src/views-components/main-content-bar/main-content-bar.tsx @@ -2,16 +2,18 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Toolbar, StyleRulesCallback, IconButton, Tooltip, Grid, WithStyles, withStyles } from "@material-ui/core"; -import { DetailsIcon } from "~/components/icon/icon"; -import { Breadcrumbs } from "~/views-components/breadcrumbs/breadcrumbs"; +import { DetailsIcon } from "components/icon/icon"; +import { Breadcrumbs } from "views-components/breadcrumbs/breadcrumbs"; 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'; -import RefreshButton from "~/components/refresh-button/refresh-button"; +import { RootState } from 'store/store'; +import * as Routes from 'routes/routes'; +import { toggleDetailsPanel } from 'store/details-panel/details-panel-action'; +import RefreshButton from "components/refresh-button/refresh-button"; +import { loadSidePanelTreeProjects } from "store/side-panel-tree/side-panel-tree-actions"; +import { Dispatch } from "redux"; type CssRules = "infoTooltip"; @@ -43,40 +45,40 @@ const isButtonVisible = ({ router }: RootState) => { Routes.matchAllProcessesRoute(pathname) || Routes.matchTrashRoute(pathname) || Routes.matchFavoritesRoute(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, - })( - withStyles(styles)( - (props: MainContentBarProps & WithStyles & any) => - - - - - - - - - - {props.buttonVisible && - - - - } - - - - ) - ); +const mapStateToProps = (state: RootState) => ({ + buttonVisible: isButtonVisible(state), + projectUuid: state.detailsPanel.resourceUuid, +}); + +const mapDispatchToProps = () => (dispatch: Dispatch) => ({ + onDetailsPanelToggle: () => dispatch(toggleDetailsPanel()), + onRefreshButtonClick: (id) => { + dispatch(loadSidePanelTreeProjects(id)); + } +}); + +export const MainContentBar = connect(mapStateToProps, mapDispatchToProps)(withStyles(styles)( + (props: MainContentBarProps & WithStyles & any) => + + + + + + { + props.onRefreshButtonClick(props.projectUuid); + }} /> + + + {props.buttonVisible && + + + + } + + +));