From 9922b99f64aa75da5fe83143913d256484ad6c74 Mon Sep 17 00:00:00 2001 From: Elizabeth Esswein Date: Fri, 21 Apr 2023 17:22:17 -0400 Subject: [PATCH] get callers & pass to diagram editor --- .../src/components/ReactDiagramEditor.tsx | 4 ++++ spiffworkflow-frontend/src/interfaces.ts | 1 + spiffworkflow-frontend/src/routes/MyTasks.tsx | 1 + .../src/routes/ProcessModelEditDiagram.tsx | 15 +++++++++++++++ .../src/routes/ProcessModelNew.tsx | 1 + 5 files changed, 22 insertions(+) diff --git a/spiffworkflow-frontend/src/components/ReactDiagramEditor.tsx b/spiffworkflow-frontend/src/components/ReactDiagramEditor.tsx index ad583d92..208cbd29 100644 --- a/spiffworkflow-frontend/src/components/ReactDiagramEditor.tsx +++ b/spiffworkflow-frontend/src/components/ReactDiagramEditor.tsx @@ -85,6 +85,7 @@ type OwnProps = { onSearchProcessModels?: (..._args: any[]) => any; onElementsChanged?: (..._args: any[]) => any; url?: string; + callers?: any; }; // https://codesandbox.io/s/quizzical-lake-szfyo?file=/src/App.js was a handy reference @@ -110,6 +111,7 @@ export default function ReactDiagramEditor({ onSearchProcessModels, onElementsChanged, url, + callers, }: OwnProps) { const [diagramXMLString, setDiagramXMLString] = useState(''); const [diagramModelerState, setDiagramModelerState] = useState(null); @@ -125,6 +127,8 @@ export default function ReactDiagramEditor({ const { ability } = usePermissionFetcher(permissionRequestData); const navigate = useNavigate(); + console.log(callers); + useEffect(() => { if (diagramModelerState) { return; diff --git a/spiffworkflow-frontend/src/interfaces.ts b/spiffworkflow-frontend/src/interfaces.ts index e482bede..93db3af5 100644 --- a/spiffworkflow-frontend/src/interfaces.ts +++ b/spiffworkflow-frontend/src/interfaces.ts @@ -197,6 +197,7 @@ export interface ProcessModel { description: string; display_name: string; primary_file_name: string; + primary_process_id: string; files: ProcessFile[]; parent_groups?: ProcessGroupLite[]; metadata_extraction_paths?: MetadataExtractionPath[]; diff --git a/spiffworkflow-frontend/src/routes/MyTasks.tsx b/spiffworkflow-frontend/src/routes/MyTasks.tsx index 810c811b..2520f202 100644 --- a/spiffworkflow-frontend/src/routes/MyTasks.tsx +++ b/spiffworkflow-frontend/src/routes/MyTasks.tsx @@ -147,6 +147,7 @@ export default function MyTasks() { description: '', display_name: '', primary_file_name: '', + primary_process_id: '', files: [], }; const modifiedProcessModelId = modifyProcessIdentifierForPathParam( diff --git a/spiffworkflow-frontend/src/routes/ProcessModelEditDiagram.tsx b/spiffworkflow-frontend/src/routes/ProcessModelEditDiagram.tsx index 0dfd4afd..07f4d16f 100644 --- a/spiffworkflow-frontend/src/routes/ProcessModelEditDiagram.tsx +++ b/spiffworkflow-frontend/src/routes/ProcessModelEditDiagram.tsx @@ -119,6 +119,8 @@ export default function ProcessModelEditDiagram() { const processModelPath = `process-models/${modifiedProcessModelId}`; + const [callers, setCallers] = useState>([]); + usePrompt('Changes you made may not be saved.', diagramHasChanges); useEffect(() => { @@ -162,6 +164,18 @@ export default function ProcessModelEditDiagram() { } }, [processModelPath, params]); + useEffect(() => { + const getCallerIds = (result: any) => { + setCallers(result.map((r: any) => r.process_model_id)); + } + if (processModel !== null) { + HttpService.makeCallToBackend({ + path: `/processes/${processModel.primary_process_id}/callers`, + successCallback: getCallerIds, + }); + } + }, [processModel]); + const handleFileNameCancel = () => { setShowFileNameEditor(false); setNewFileName(''); @@ -958,6 +972,7 @@ export default function ProcessModelEditDiagram() { onDmnFilesRequested={onDmnFilesRequested} onSearchProcessModels={onSearchProcessModels} onElementsChanged={onElementsChanged} + callers={callers} /> ); }; diff --git a/spiffworkflow-frontend/src/routes/ProcessModelNew.tsx b/spiffworkflow-frontend/src/routes/ProcessModelNew.tsx index 12a6e472..c3d3a67c 100644 --- a/spiffworkflow-frontend/src/routes/ProcessModelNew.tsx +++ b/spiffworkflow-frontend/src/routes/ProcessModelNew.tsx @@ -12,6 +12,7 @@ export default function ProcessModelNew() { display_name: '', description: '', primary_file_name: '', + primary_process_id: '', files: [], });