X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/38d27e9783f7f760cee84cc225e86144069848c4..85836abe716b2403f3b7fe75c551e4ace3995157:/src/store/workbench/workbench-actions.ts diff --git a/src/store/workbench/workbench-actions.ts b/src/store/workbench/workbench-actions.ts index 3aa598023f..58d8d5f15f 100644 --- a/src/store/workbench/workbench-actions.ts +++ b/src/store/workbench/workbench-actions.ts @@ -81,16 +81,14 @@ import { loadRepositoriesPanel } from 'store/repositories/repositories-actions'; import { loadKeepServicesPanel } from 'store/keep-services/keep-services-actions'; import { loadUsersPanel, userBindedActions } from 'store/users/users-actions'; import { linkPanelActions, loadLinkPanel } from 'store/link-panel/link-panel-actions'; -import { computeNodesActions, loadComputeNodesPanel } from 'store/compute-nodes/compute-nodes-actions'; import { linkPanelColumns } from 'views/link-panel/link-panel-root'; import { userPanelColumns } from 'views/user-panel/user-panel'; -import { computeNodePanelColumns } from 'views/compute-node-panel/compute-node-panel-root'; import { loadApiClientAuthorizationsPanel, apiClientAuthorizationsActions } from 'store/api-client-authorizations/api-client-authorizations-actions'; import { apiClientAuthorizationPanelColumns } from 'views/api-client-authorization-panel/api-client-authorization-panel-root'; import * as groupPanelActions from 'store/groups-panel/groups-panel-actions'; import { groupsPanelColumns } from 'views/groups-panel/groups-panel'; import * as groupDetailsPanelActions from 'store/group-details-panel/group-details-panel-actions'; -import { groupDetailsPanelColumns } from 'views/group-details-panel/group-details-panel'; +import { groupDetailsMembersPanelColumns, groupDetailsPermissionsPanelColumns } from 'views/group-details-panel/group-details-panel'; import { DataTableFetchMode } from "components/data-table/data-table"; import { loadPublicFavoritePanel, publicFavoritePanelActions } from 'store/public-favorites-panel/public-favorites-action'; import { publicFavoritePanelColumns } from 'views/public-favorites-panel/public-favorites-panel'; @@ -102,6 +100,7 @@ import { loadAllProcessesPanel, allProcessesPanelActions } from '../all-processe import { allProcessesPanelColumns } from 'views/all-processes-panel/all-processes-panel'; import { collectionPanelFilesAction } from '../collection-panel/collection-panel-files/collection-panel-files-actions'; import { createTree } from 'models/tree'; +import { AdminMenuIcon } from 'components/icon/icon'; export const WORKBENCH_LOADING_SCREEN = 'workbenchLoadingScreen'; @@ -138,9 +137,9 @@ export const loadWorkbench = () => dispatch(searchResultsPanelActions.SET_COLUMNS({ columns: searchResultsPanelColumns })); dispatch(userBindedActions.SET_COLUMNS({ columns: userPanelColumns })); dispatch(groupPanelActions.GroupsPanelActions.SET_COLUMNS({ columns: groupsPanelColumns })); - dispatch(groupDetailsPanelActions.GroupDetailsPanelActions.SET_COLUMNS({ columns: groupDetailsPanelColumns })); + dispatch(groupDetailsPanelActions.GroupMembersPanelActions.SET_COLUMNS({ columns: groupDetailsMembersPanelColumns })); + dispatch(groupDetailsPanelActions.GroupPermissionsPanelActions.SET_COLUMNS({ columns: groupDetailsPermissionsPanelColumns })); dispatch(linkPanelActions.SET_COLUMNS({ columns: linkPanelColumns })); - dispatch(computeNodesActions.SET_COLUMNS({ columns: computeNodePanelColumns })); dispatch(apiClientAuthorizationsActions.SET_COLUMNS({ columns: apiClientAuthorizationPanelColumns })); dispatch(collectionsContentAddressActions.SET_COLUMNS({ columns: collectionContentAddressPanelColumns })); dispatch(subprocessPanelActions.SET_COLUMNS({ columns: subprocessPanelColumns })); @@ -274,6 +273,20 @@ export const updateProject = (data: projectUpdateActions.ProjectUpdateFormDialog } }; +export const updateGroup = (data: projectUpdateActions.ProjectUpdateFormDialogData) => + async (dispatch: Dispatch) => { + const updatedGroup = await dispatch(groupPanelActions.updateGroup(data)); + if (updatedGroup) { + dispatch(snackbarActions.OPEN_SNACKBAR({ + message: "Group has been successfully updated.", + hideDuration: 2000, + kind: SnackbarKind.SUCCESS + })); + await dispatch(loadSidePanelTreeProjects(updatedGroup.ownerUuid)); + dispatch(reloadProjectMatchingUuid([updatedGroup.ownerUuid, updatedGroup.uuid])); + } + }; + export const loadCollection = (uuid: string) => handleFirstTimeLoad( async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => { @@ -480,6 +493,12 @@ export const loadVirtualMachines = handleFirstTimeLoad( dispatch(setBreadcrumbs([{ label: 'Virtual Machines' }])); }); +export const loadVirtualMachinesAdmin = handleFirstTimeLoad( + async (dispatch: Dispatch) => { + await dispatch(loadVirtualMachinesPanel()); + dispatch(setBreadcrumbs([{ label: 'Virtual Machines Admin', icon: AdminMenuIcon }])); + }); + export const loadRepositories = handleFirstTimeLoad( async (dispatch: Dispatch) => { await dispatch(loadRepositoriesPanel()); @@ -517,11 +536,6 @@ export const loadUsers = handleFirstTimeLoad( dispatch(setBreadcrumbs([{ label: 'Users' }])); }); -export const loadComputeNodes = handleFirstTimeLoad( - async (dispatch: Dispatch) => { - await dispatch(loadComputeNodesPanel()); - }); - export const loadApiClientAuthorizations = handleFirstTimeLoad( async (dispatch: Dispatch) => { await dispatch(loadApiClientAuthorizationsPanel());