import { DataTableDefaultView } from '~/components/data-table-default-view/data-table-default-view';
import { createTree } from '~/models/tree';
import { getInitialProcessStatusFilters } from '~/store/resource-type-filters/resource-type-filters';
+import { ResourcesState } from '~/store/resources/resources';
export enum SubprocessPanelColumnNames {
NAME = "Name",
];
export interface SubprocessPanelDataProps {
- isAdmin: boolean;
+ resources: ResourcesState;
}
export interface SubprocessPanelActionProps {
onItemClick: (item: string) => void;
- onContextMenu: (event: React.MouseEvent<HTMLElement>, item: string, isAdmin: boolean) => void;
+ onContextMenu: (event: React.MouseEvent<HTMLElement>, item: string, resources: ResourcesState) => void;
onItemDoubleClick: (item: string) => void;
}
id={SUBPROCESS_PANEL_ID}
onRowClick={props.onItemClick}
onRowDoubleClick={props.onItemDoubleClick}
- onContextMenu={(event, item) => props.onContextMenu(event, item, props.isAdmin)}
+ onContextMenu={(event, item) => props.onContextMenu(event, item, props.resources)}
contextMenuColumn={true}
dataTableDefaultView={
<DataTableDefaultView
import { Dispatch } from "redux";
import { connect } from "react-redux";
-import { openContextMenu, resourceKindToContextMenuKind } from '~/store/context-menu/context-menu-actions';
+import { openProcessContextMenu } from '~/store/context-menu/context-menu-actions';
import { SubprocessPanelRoot, SubprocessPanelActionProps, SubprocessPanelDataProps } from '~/views/subprocess-panel/subprocess-panel-root';
-import { ResourceKind } from '~/models/resource';
import { RootState } from "~/store/store";
import { navigateTo } from "~/store/navigation/navigation-action";
import { loadDetailsPanel } from "~/store/details-panel/details-panel-action";
import { getProcess } from "~/store/processes/process";
const mapDispatchToProps = (dispatch: Dispatch): SubprocessPanelActionProps => ({
- onContextMenu: (event, resourceUuid, isAdmin) => {
- const menuKind = resourceKindToContextMenuKind(resourceUuid, isAdmin);
- const resource = getProcess(resourceUuid);
- if (menuKind && resource) {
- dispatch<any>(openContextMenu(event, {
- name: resource.name,
- uuid: resourceUuid,
- ownerUuid: '',
- kind: ResourceKind.PROCESS,
- menuKind
- }));
+ onContextMenu: (event, resourceUuid, resources) => {
+ const process = getProcess(resourceUuid)(resources);
+ if (process) {
+ dispatch<any>(openProcessContextMenu(event, process));
}
},
onItemClick: (uuid: string) => {
});
const mapStateToProps = (state: RootState): SubprocessPanelDataProps => ({
- isAdmin: state.auth.user ? state.auth.user.isAdmin : false
+ resources: state.resources
});
export const SubprocessPanel = connect(mapStateToProps, mapDispatchToProps)(SubprocessPanelRoot);
\ No newline at end of file