From 445787c80c5abc9949133f45c3d9540b426fc046 Mon Sep 17 00:00:00 2001 From: Pawel Kowalczyk Date: Fri, 14 Dec 2018 12:25:39 +0100 Subject: [PATCH] -14614-added-output-and-remove-functionality-inside-process-menu Feature #14614 Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk --- .../context-menu/context-menu-actions.ts | 26 +++++++++++-------- .../action-sets/process-action-set.ts | 19 +++++++------- 2 files changed, 25 insertions(+), 20 deletions(-) diff --git a/src/store/context-menu/context-menu-actions.ts b/src/store/context-menu/context-menu-actions.ts index e9b08a8417..06d10185ff 100644 --- a/src/store/context-menu/context-menu-actions.ts +++ b/src/store/context-menu/context-menu-actions.ts @@ -19,6 +19,7 @@ import { VirtualMachinesResource } from '~/models/virtual-machines'; import { KeepServiceResource } from '~/models/keep-services'; import { NodeResource } from '~/models/node'; import { ApiClientAuthorization } from '~/models/api-client-authorization'; +import { ProcessResource } from '~/models/process'; export const contextMenuActions = unionize({ OPEN_CONTEXT_MENU: ofType<{ position: ContextMenuPosition, resource: ContextMenuResource }>(), @@ -35,7 +36,7 @@ export type ContextMenuResource = { kind: ResourceKind, menuKind: ContextMenuKind; isTrashed?: boolean; - index?: number + outputUuid?: string; }; export const isKeyboardClick = (event: React.MouseEvent) => event.nativeEvent.detail === 0; @@ -122,7 +123,7 @@ export const openComputeNodeContextMenu = (event: React.MouseEvent, })); }; -export const openApiClientAuthorizationContextMenu = +export const openApiClientAuthorizationContextMenu = (event: React.MouseEvent, apiClientAuthorization: ApiClientAuthorization) => (dispatch: Dispatch) => { dispatch(openContextMenu(event, { @@ -178,15 +179,18 @@ export const openSidePanelContextMenu = (event: React.MouseEvent, i export const openProcessContextMenu = (event: React.MouseEvent, process: Process) => (dispatch: Dispatch, getState: () => RootState) => { - const resource = { - uuid: process.containerRequest.uuid, - ownerUuid: process.containerRequest.ownerUuid, - kind: ResourceKind.PROCESS, - name: process.containerRequest.name, - description: process.containerRequest.description, - menuKind: ContextMenuKind.PROCESS - }; - dispatch(openContextMenu(event, resource)); + const res = getResource(process.containerRequest.uuid)(getState().resources); + if (res) { + dispatch(openContextMenu(event, { + uuid: res.uuid, + ownerUuid: res.ownerUuid, + kind: ResourceKind.PROCESS, + name: res.name, + description: res.description, + outputUuid: res.outputUuid || '', + menuKind: ContextMenuKind.PROCESS + })); + } }; export const resourceKindToContextMenuKind = (uuid: string) => { diff --git a/src/views-components/context-menu/action-sets/process-action-set.ts b/src/views-components/context-menu/action-sets/process-action-set.ts index 2d152543ca..1a2e49d798 100644 --- a/src/views-components/context-menu/action-sets/process-action-set.ts +++ b/src/views-components/context-menu/action-sets/process-action-set.ts @@ -15,11 +15,12 @@ import { openMoveProcessDialog } from '~/store/processes/process-move-actions'; import { openProcessUpdateDialog } from "~/store/processes/process-update-actions"; import { openCopyProcessDialog } from '~/store/processes/process-copy-actions'; import { openProcessCommandDialog } from '~/store/processes/process-command-actions'; -import { detailsPanelActions } from '~/store/details-panel/details-panel-action'; import { openSharingDialog } from "~/store/sharing-dialog/sharing-dialog-actions"; import { openAdvancedTabDialog } from "~/store/advanced-tab/advanced-tab"; import { openProcessInputDialog } from "~/store/processes/process-input-actions"; import { toggleDetailsPanel } from '~/store/details-panel/details-panel-action'; +import { openRemoveProcessDialog } from "~/store/processes/processes-actions"; +import { navigateToOutput } from "~/store/process-panel/process-panel-actions"; export const processActionSet: ContextMenuActionSet = [[ { @@ -76,7 +77,7 @@ export const processActionSet: ContextMenuActionSet = [[ icon: OutputIcon, name: "Outputs", execute: (dispatch, resource) => { - // add code + dispatch(navigateToOutput(resource.outputUuid || '')); } }, { @@ -113,12 +114,12 @@ export const processActionSet: ContextMenuActionSet = [[ execute: (dispatch, resource) => { dispatch(openAdvancedTabDialog(resource.uuid)); } + }, + { + name: "Remove", + icon: RemoveIcon, + execute: (dispatch, resource) => { + dispatch(openRemoveProcessDialog(resource.uuid)); + } } - // { - // icon: RemoveIcon, - // name: "Remove", - // execute: (dispatch, resource) => { - // // add code - // } - // } ]]; -- 2.30.2