From 6cf58483785ab8cff40a32c411f73aa85005742c Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 10 Jun 2023 19:11:47 +0200 Subject: [PATCH] show task files on step log instead of popover --- src/Pages/GroupTasks/GroupTasksViewModal.js | 202 ++++++++++++-------- 1 file changed, 124 insertions(+), 78 deletions(-) diff --git a/src/Pages/GroupTasks/GroupTasksViewModal.js b/src/Pages/GroupTasks/GroupTasksViewModal.js index f56fdaf..2b2438a 100644 --- a/src/Pages/GroupTasks/GroupTasksViewModal.js +++ b/src/Pages/GroupTasks/GroupTasksViewModal.js @@ -1,6 +1,7 @@ import { Alert, Button, + Col, Form, Image, Input, @@ -8,6 +9,7 @@ import { Modal, Popover, Result, + Row, Steps, Tag, notification, @@ -25,10 +27,9 @@ import { GroupTasksStepsLockedAndUserUpdateInputValueRememberId, } from "../../utils"; import { - DownloadOutlined, + FileImageOutlined, InfoCircleOutlined, LockOutlined, - PaperClipOutlined, } from "@ant-design/icons"; import { StlViewer } from "react-stl-viewer"; @@ -207,79 +208,6 @@ export default function GroupTasksViewModal({ isOpen }) { } }; - const getGroupTaskStepLog = (log, files) => { - const getPopoverContent = (file) => { - const fileExtension = file.SystemFileName.split(".")[1]; - const fileUrl = `${Constants.STATIC_CONTENT_ADDRESS}grouptasks/${currentGroupTask.Id}/${file.SystemFileName}`; - - switch (fileExtension) { - case "png": - return ; - case "stl": - return ( - - ); - - default: - return ( - <> - Preview not supported -
- - - - - ); - } - }; - - return log.length === 0 ? ( - "" - ) : ( - - {log} - - {files !== "" && - JSON.parse(files).map((file) => { - return ( - - } - color="processing" - > - {file.OriginalFileName} - - - ); - })} - - ); - }; - const stepsItemHandler = () => { let groupTaskSteps = []; let groupTasks = []; @@ -440,9 +368,12 @@ export default function GroupTasksViewModal({ isOpen }) { taskLockedByUserId={groupTaskSteps[index].LockedByUserId} /> ) : ( - getGroupTaskStepLog( - groupTaskSteps[index].Log, - groupTaskSteps[index].Files + groupTaskSteps[index].Log.length > 0 && ( + ) ) } @@ -787,3 +718,118 @@ function InputRequiredHandler({ ); } + +function GroupTaskStepLogHandler({ currentGroupTaskId, log, files }) { + const getDownloadUrl = (file) => { + return `${Constants.STATIC_CONTENT_ADDRESS}grouptasks/${currentGroupTaskId}/${file.SystemFileName}`; + }; + + const getTag = (file) => { + return ( + + } + color="processing" + style={{ marginTop: 6 }} + > + {file.OriginalFileName} + + + ); + }; + + const fileContent = (files) => { + const nonImageFiles = []; + const imageFiles = []; + + for (const file of files) { + const fileExtension = file.SystemFileName.split(".")[1]; + + if ( + fileExtension === "png" || + fileExtension === "jpeg" || + fileExtension === "jpg" || + fileExtension === "webp" + ) { + imageFiles.push(file); + } else { + nonImageFiles.push(file); + } + } + + const elements = []; + + for (const nonImageFile of nonImageFiles) { + const fileExtension = nonImageFile.SystemFileName.split(".")[1]; + + if (fileExtension === "stl") { + elements.push( +
+
+ { + console.log("ev", ev); + }} + /> +
+ {getTag(nonImageFile)} +
+ ); + console.log("stl download", nonImageFile.SystemFileName); + } else { + elements.push(getTag(nonImageFile)); + } + } + + const imageFileElements = []; + + for (const imageFile of imageFiles) { + imageFileElements.push( + + + {getTag(imageFile)} + + ); + } + + if (imageFileElements.length > 0) { + elements.push( + + {imageFileElements} + + ); + } + + return elements; + }; + + return ( + + {log} + + {files !== "" && fileContent(JSON.parse(files))} + + ); +}