From dcd25465fd2126f6b0f97754b172a11355caaf9b Mon Sep 17 00:00:00 2001 From: Joao Correia Date: Thu, 23 Jan 2025 22:56:45 +0000 Subject: [PATCH] on workflow builder, only render steps if name and entity are set. reset workflow on entity reset. --- .../ApprovalWorkflows/WorkflowForm.tsx | 117 +++++++++--------- src/pages/approval-workflows/create.tsx | 15 ++- 2 files changed, 74 insertions(+), 58 deletions(-) diff --git a/src/components/ApprovalWorkflows/WorkflowForm.tsx b/src/components/ApprovalWorkflows/WorkflowForm.tsx index 9361ded4..bb4bdddf 100644 --- a/src/components/ApprovalWorkflows/WorkflowForm.tsx +++ b/src/components/ApprovalWorkflows/WorkflowForm.tsx @@ -44,7 +44,7 @@ export default function WorkflowForm({ workflow, onWorkflowChange, entityTeacher setStepCounter((count) => count + 1); const updatedSteps = [ - ...workflow.steps.slice(0, -1), + ...workflow.steps.slice(0, -1), newStep, lastStep ]; @@ -95,66 +95,69 @@ export default function WorkflowForm({ workflow, onWorkflowChange, entityTeacher onWorkflowChange({ ...workflow, steps: renumberSteps(newOrder) }); }; + return ( -
- + <> + {workflow.entityId && workflow.name && +
+ - - - - {workflow.steps.map((step, index) => ( - - handleDelete(step.key)} - onSelectChange={(numberOfSelects, idx, option) => handleSelectChange(step.key, numberOfSelects, idx, option)} - entityTeachers={entityTeachers} - entityCorporates={entityCorporates} - /> - {step.finalStep && - - } - - ))} - - - -
+ handleDelete(step.key)} + onSelectChange={(numberOfSelects, idx, option) => handleSelectChange(step.key, numberOfSelects, idx, option)} + entityTeachers={entityTeachers} + entityCorporates={entityCorporates} + /> + {step.finalStep && + + } + + ))} + + +
+ } + ); }; \ No newline at end of file diff --git a/src/pages/approval-workflows/create.tsx b/src/pages/approval-workflows/create.tsx index 46e4f922..83a50ccf 100644 --- a/src/pages/approval-workflows/create.tsx +++ b/src/pages/approval-workflows/create.tsx @@ -51,7 +51,7 @@ interface Props { export default function Home({ user, userEntitiesWithLabel, userEntitiesTeachers, userEntitiesCorporates }: Props) { const [workflows, setWorkflows] = useState([]); const [selectedWorkflowId, setSelectedWorkflowId] = useState(undefined); - const [entityId, setEntityId] = useState(undefined); + const [entityId, setEntityId] = useState(null); const [entityTeachers, setEntityTeachers] = useState([]); const [entityCorporates, setEntityCorporates] = useState([]); @@ -122,6 +122,11 @@ export default function Home({ user, userEntitiesWithLabel, userEntitiesTeachers } }; + const handleResetWorkflow = (id: string) => { + setWorkflows(prev => prev.filter(wf => wf.id !== id)); + handleAddNewWorkflow(); + } + return ( <> @@ -201,6 +206,11 @@ export default function Home({ user, userEntitiesWithLabel, userEntitiesTeachers />