X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/d75f24fb44ef0f09359508bc3c4d80340ec023b1..dd30e03643f9b093c1fe05b05481f75906faa0e7:/src/views-components/context-menu/action-sets/project-action-set.ts diff --git a/src/views-components/context-menu/action-sets/project-action-set.ts b/src/views-components/context-menu/action-sets/project-action-set.ts index e0a5e541..01e6004e 100644 --- a/src/views-components/context-menu/action-sets/project-action-set.ts +++ b/src/views-components/context-menu/action-sets/project-action-set.ts @@ -2,21 +2,53 @@ // // SPDX-License-Identifier: AGPL-3.0 +import { reset, initialize } from "redux-form"; + import { ContextMenuActionSet } from "../context-menu-action-set"; -import { projectActions } from "../../../store/project/project-action"; -import { NewProjectIcon } from "../../../components/icon/icon"; -import { ToggleFavoriteAction } from "./favorite-action"; -import { toggleFavorite } from "../../../store/favorites/favorites-actions"; +import { projectActions, PROJECT_FORM_NAME } from "~/store/project/project-action"; +import { NewProjectIcon, RenameIcon, CopyIcon, MoveToIcon } from "~/components/icon/icon"; +import { ToggleFavoriteAction } from "../actions/favorite-action"; +import { toggleFavorite } from "~/store/favorites/favorites-actions"; +import { favoritePanelActions } from "~/store/favorite-panel/favorite-panel-action"; +import { PROJECT_CREATE_DIALOG } from "../../dialog-create/dialog-project-create"; +import { openMoveProjectDialog } from '~/store/move-project-dialog/move-project-dialog'; +import { openProjectCopyDialog } from "~/views-components/project-copy-dialog/project-copy-dialog"; -export const projectActionSet: ContextMenuActionSet = [[{ - icon: NewProjectIcon, - name: "New project", - execute: (dispatch, resource) => { - dispatch(projectActions.OPEN_PROJECT_CREATOR({ ownerUuid: resource.uuid })); - } -}, { - component: ToggleFavoriteAction, - execute: (dispatch, resource) => { - dispatch(toggleFavorite(resource)); +export const projectActionSet: ContextMenuActionSet = [[ + { + icon: NewProjectIcon, + name: "New project", + execute: (dispatch, resource) => { + dispatch(reset(PROJECT_CREATE_DIALOG)); + dispatch(projectActions.OPEN_PROJECT_CREATOR({ ownerUuid: resource.uuid })); + } + }, + { + icon: RenameIcon, + name: "Edit project", + execute: (dispatch, resource) => { + dispatch(projectActions.OPEN_PROJECT_UPDATER({ uuid: resource.uuid })); + dispatch(initialize(PROJECT_FORM_NAME, { name: resource.name, description: resource.description })); + } + }, + { + component: ToggleFavoriteAction, + execute: (dispatch, resource) => { + dispatch(toggleFavorite(resource)).then(() => { + dispatch(favoritePanelActions.REQUEST_ITEMS()); + }); + } + }, + { + icon: MoveToIcon, + name: "Move to", + execute: (dispatch, resource) => dispatch(openMoveProjectDialog(resource)) + }, + { + icon: CopyIcon, + name: "Copy to project", + execute: (dispatch, resource) => { + dispatch(openProjectCopyDialog({name: resource.name, projectUuid: resource.uuid})); + } } -}]]; +]];