diff --git a/src/Pages/GroupTasks/GroupTasksViewModal.js b/src/Pages/GroupTasks/GroupTasksViewModal.js index 7d02282..fdcc977 100644 --- a/src/Pages/GroupTasks/GroupTasksViewModal.js +++ b/src/Pages/GroupTasks/GroupTasksViewModal.js @@ -1,4 +1,15 @@ -import { Alert, Button, Modal, Popover, Result, Steps } from "antd"; +import { + Alert, + Button, + Form, + Input, + InputNumber, + Modal, + Popover, + Result, + Steps, + notification, +} from "antd"; import { useContext } from "react"; import { useNavigate, useParams } from "react-router-dom"; import { @@ -12,6 +23,8 @@ import { export default function GroupTasksViewModal({ isOpen }) { const webSocketContext = useContext(WebSocketContext); const navigate = useNavigate(); + const [notificationApi, notificationContextHolder] = + notification.useNotification(); let { paramGroupTaskId } = useParams(); const handleCancel = () => navigate(Constants.ROUTE_PATHS.GROUP_TASKS); @@ -102,6 +115,27 @@ export default function GroupTasksViewModal({ isOpen }) { ); }; + const alertActionHandler = (status, taskStepId, index) => { + switch (status) { + case Constants.GROUP_TASKS_STATUS.FAILED: + return ( + + handleTaskFailedTryAgainRunTaskStep(taskStepId, index + 1) + } + > + Try again + + ); + case Constants.GROUP_TASKS_STATUS.INPUT_REQUIRED: + return Continue; + default: + return <>>; + } + }; + const stepsItemHandler = () => { let groupTaskSteps = []; let groupTasks = []; @@ -157,28 +191,24 @@ export default function GroupTasksViewModal({ isOpen }) { {getAlertMessage(groupTaskSteps[index].Status)}} - description={groupTaskSteps[index].Log} - type={getAlertType(groupTaskSteps[index].Status)} - showIcon - action={ + description={ groupTaskSteps[index].Status === - Constants.GROUP_TASKS_STATUS.FAILED ? ( - - handleTaskFailedTryAgainRunTaskStep( - groupTaskSteps[index].Id, - index + 1 - ) - } - > - Try again - + Constants.GROUP_TASKS_STATUS.INPUT_REQUIRED ? ( + ) : ( - <>> + groupTaskSteps[index].Log ) } + type={getAlertType(groupTaskSteps[index].Status)} + showIcon + action={alertActionHandler( + groupTaskSteps[index].Status, + groupTaskSteps[index].Id, + index + )} /> > ) : ( @@ -197,6 +227,7 @@ export default function GroupTasksViewModal({ isOpen }) { onCancel={handleCancel} maskClosable={false} > + {notificationContextHolder} {webSocketContext.GroupTasks.map((groupTask) => { if (groupTask.Id === paramGroupTaskId) { let currentGroupTask = groupTask; @@ -299,3 +330,50 @@ export default function GroupTasksViewModal({ isOpen }) { ); } + +function InputRequiredHandler({ groupTaskParameters, notificationApi }) { + console.log("groupTaskParameters", groupTaskParameters); + + return ( + + {groupTaskParameters.map((groupTaskParameter) => { + switch (groupTaskParameter.type) { + case "text": + return ( + + + + ); + case "number": + return ( + + + + ); + default: + notificationApi["error"]({ + message: `Type ${groupTaskParameter.type} not implemented`, + description: `Was specified in: ${groupTaskParameter.displayName}`, + }); + return ( + + Type ${groupTaskParameter.type} not implemented. Was specified + in: ${groupTaskParameter.displayName} + + ); + } + })} + + ); +}
+ Type ${groupTaskParameter.type} not implemented. Was specified + in: ${groupTaskParameter.displayName} +