15672: subprocess view WIP
[arvados-workbench2.git] / src / views / subprocess-panel / subprocess-panel.tsx
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { Dispatch } from "redux";
6 import { connect } from "react-redux";
7 import { openContextMenu, resourceKindToContextMenuKind } from '~/store/context-menu/context-menu-actions';
8 import { SubprocessPanelRoot, SubprocessPanelActionProps, SubprocessPanelDataProps } from '~/views/subprocess-panel/subprocess-panel-root';
9 import { ResourceKind } from '~/models/resource';
10 import { RootState } from "~/store/store";
11
12 const mapDispatchToProps = (dispatch: Dispatch): SubprocessPanelActionProps => ({
13     onContextMenu: (event, resourceUuid, isAdmin) => {
14         const kind = resourceKindToContextMenuKind(resourceUuid);
15         if (kind) {
16             dispatch<any>(openContextMenu(event, {
17                 name: '',
18                 uuid: resourceUuid,
19                 ownerUuid: '',
20                 kind: ResourceKind.PROCESS,
21                 menuKind: kind
22             }));
23         }
24     },
25     onItemClick: (resourceUuid: string) => { return; },
26     onItemDoubleClick: uuid => { return; }
27 });
28
29 const mapStateToProps = (state: RootState): SubprocessPanelDataProps => ({
30     isAdmin: state.auth.user ? state.auth.user.isAdmin : false
31 });
32
33 export const SubprocessPanel = connect(mapStateToProps, mapDispatchToProps)(SubprocessPanelRoot);