import React, { useEffect } from "react"; import { TaskDefinition } from "../../../workflowTemplates/services/WorkflowTemplateService"; import { GetAssignmentForCompletion } from "../services/assignmentCompleteService"; import BasicTask from "./tasksProcessor/BasicTask"; type TaskProcessorProps = { assignmentDetails: GetAssignmentForCompletion; taskDefinition: TaskDefinition; taskData: Record; onTaskDataChange?: (data: Record) => void; onValidationChange?: (isValid: boolean) => void; }; type TaskProcessorComponent = React.ComponentType; const taskProcessorRegistry: Record = { "e_suite.Workflow.Core.Tasks.BasicTask": BasicTask, }; const TaskProcessor: React.FC = ({ assignmentDetails, taskDefinition, taskData, onTaskDataChange, onValidationChange, }) => { const processorType = assignmentDetails.task.taskType; const Processor = taskProcessorRegistry[processorType]; useEffect(() => { if (!Processor) { onValidationChange?.(false); } }, [Processor, onValidationChange]); if (!Processor) { return
Unsupported task type: {processorType}
; } return ( ); }; export default TaskProcessor;