X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/920ccdc45d7c3a8517b430ab17af53c3fc23cf6d..d4b18e45f319eb0885442ab1b64a01683630e38b:/src/store/context-menu/context-menu-actions.ts diff --git a/src/store/context-menu/context-menu-actions.ts b/src/store/context-menu/context-menu-actions.ts index e9b08a84..c43d5685 100644 --- a/src/store/context-menu/context-menu-actions.ts +++ b/src/store/context-menu/context-menu-actions.ts @@ -17,8 +17,8 @@ import { RepositoryResource } from '~/models/repositories'; import { SshKeyResource } from '~/models/ssh-key'; 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 +35,7 @@ export type ContextMenuResource = { kind: ResourceKind, menuKind: ContextMenuKind; isTrashed?: boolean; - index?: number + outputUuid?: string; }; export const isKeyboardClick = (event: React.MouseEvent) => event.nativeEvent.detail === 0; @@ -111,18 +111,18 @@ export const openKeepServiceContextMenu = (event: React.MouseEvent, })); }; -export const openComputeNodeContextMenu = (event: React.MouseEvent, computeNode: NodeResource) => +export const openComputeNodeContextMenu = (event: React.MouseEvent, resourceUuid: string) => (dispatch: Dispatch) => { dispatch(openContextMenu(event, { name: '', - uuid: computeNode.uuid, - ownerUuid: computeNode.ownerUuid, + uuid: resourceUuid, + ownerUuid: '', kind: ResourceKind.NODE, menuKind: ContextMenuKind.NODE })); }; -export const openApiClientAuthorizationContextMenu = +export const openApiClientAuthorizationContextMenu = (event: React.MouseEvent, apiClientAuthorization: ApiClientAuthorization) => (dispatch: Dispatch) => { dispatch(openContextMenu(event, { @@ -178,15 +178,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) => {