From f056e645f46193689f70b716c41e63a7ce8256b2 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 26 Aug 2023 00:13:48 +0200 Subject: [PATCH] equipment documentation --- src/Components/AppRoutes/index.js | 16 +- src/Components/MyModal/index.js | 8 +- .../CreateEquipmentDocumentationModal.js | 246 +---- .../EditEquipmentDocumentationModal.js | 26 + .../ViewEquipmentDocumentation.js | 126 +-- src/Pages/EquipmentDocumentation/index.js | 954 ++++++++++++------ src/utils.js | 5 + 7 files changed, 796 insertions(+), 585 deletions(-) create mode 100644 src/Pages/EquipmentDocumentation/EditEquipmentDocumentationModal.js diff --git a/src/Components/AppRoutes/index.js b/src/Components/AppRoutes/index.js index eb65edf..c6259f6 100644 --- a/src/Components/AppRoutes/index.js +++ b/src/Components/AppRoutes/index.js @@ -41,6 +41,15 @@ export default function AppRoutes() { } element={} /> + + + + } + /> */ return ( @@ -52,13 +61,6 @@ export default function AppRoutes() { element={} /> - } - /> - } diff --git a/src/Components/MyModal/index.js b/src/Components/MyModal/index.js index 966f147..d96427b 100644 --- a/src/Components/MyModal/index.js +++ b/src/Components/MyModal/index.js @@ -104,13 +104,17 @@ export function MyModalOnlyCloseButtonFooter({ onCancel }) { return ; } -export function MyModalCloseSaveButtonFooter({ onCancel, onSave }) { +export function MyModalCloseSaveButtonFooter({ + onCancel, + onSave, + isSaveButtonLoading, +}) { const { t } = useTranslation(); return ( <> - diff --git a/src/Pages/EquipmentDocumentation/CreateEquipmentDocumentationModal.js b/src/Pages/EquipmentDocumentation/CreateEquipmentDocumentationModal.js index 1868544..195db7b 100644 --- a/src/Pages/EquipmentDocumentation/CreateEquipmentDocumentationModal.js +++ b/src/Pages/EquipmentDocumentation/CreateEquipmentDocumentationModal.js @@ -1,228 +1,43 @@ -import { useParams } from "react-router-dom"; -import MyModal, { - MyModalCloseCreateButtonFooter, -} from "../../Components/MyModal"; -import { AppStyle, Constants, myFetch } from "../../utils"; -import { Button, Card, Col, Row, Select, Typography } from "antd"; -import { useRef, useState } from "react"; -import TextArea from "antd/es/input/TextArea"; -import Webcam from "react-webcam"; -import { - CameraOutlined, - DeleteOutlined, - FullscreenOutlined, - PlusOutlined, -} from "@ant-design/icons"; -import MyImage from "../../Components/MyImage"; +import { Button } from "antd"; +import { useState } from "react"; +import { PlusOutlined } from "@ant-design/icons"; +import { EquipmentDocumentationViewEditComponent } from "."; -function UploadComponent({ index, setImagePreview }) { - const handleFileChange = (event) => { - const file = event.target.files[0]; - - if (file) { - const reader = new FileReader(); - reader.onload = () => { - //setImagePreview(URL.createObjectURL(file)); - setImagePreview(reader.result); - }; - reader.readAsDataURL(file); - } - }; - - return ( -
- - -
- ); -} - -function CameraComponent({ setImagePreview }) { - const [modalVisible, setModalVisible] = useState(false); - const [cameraVisible, setCameraVisible] = useState(false); - const webcamRef = useRef(null); - - const handleCapture = () => { - const imageSrc = webcamRef.current.getScreenshot(); - setImagePreview(imageSrc); - - handleCancel(); - }; - - const handleCancel = () => { - setCameraVisible(false); - // this is needed to close the camera correctly - setTimeout(() => setModalVisible(false), 100); - }; +export default function CreateEquipmentDocumentationModal({ + stockItemId, + fetchDocumentation, + buttonBlock, +}) { + const [isOpen, setIsOpen] = useState(false); return ( <> -
{ - setModalVisible(true); - setCameraVisible(true); - }} +
+ Create documentation + - - Take picture - , - ]} - > - {cameraVisible && ( - - )} - + setIsOpen(false)} + stockItemId={stockItemId} + fetchDocumentation={fetchDocumentation} + /> ); } -export function NoteComponent({ - viewMode, - index, - image, - onImageChange, - description, - onDescriptionChange, - onDeleteImage, - imageDocumentationId, -}) { - const [isImageFullScreenModalOpen, setIsImageFullScreenModalOpen] = - useState(false); - - const imageSrc = imageDocumentationId - ? `${Constants.STATIC_CONTENT_ADDRESS}equipmentdocumentation/${imageDocumentationId}/${image}` - : image; - - const FullscreenOutlinedIcon = ({ disabled }) => ( - { - if (disabled) return; - - setIsImageFullScreenModalOpen(true); - }} - /> - ); - - return ( -
- - - ] - : null - : [ - , - , - , - , - ] - } - > - {!image ? ( -
- {viewMode ? "No image" : "No image selected"} -
- ) : ( - - )} -
- - - - {viewMode ? ( - {description} - ) : ( -