From 6e4266dde93324107ddbe1983e1209f86afd8b7c Mon Sep 17 00:00:00 2001 From: thkim Date: Tue, 5 Mar 2024 13:28:41 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EA=B4=80=EB=A6=AC=EC=9E=90=20-=20?= =?UTF-8?q?=EC=BB=A8=ED=85=90=EC=B8=A0=EA=B4=80=EB=A6=AC>=20=ED=8C=9D?= =?UTF-8?q?=EC=97=85=20=EA=B4=80=EB=A6=AC=20=EC=B2=A8=EB=B6=80=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20drag=20&=20drop=EC=A7=80=EC=9B=90=20=EA=B1=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../package.json | 1 + .../src/components/file/FileDragDrop.jsx | 27 +++++ .../list/ListCreateUpdateDelete.jsx | 2 +- .../admin/contents/PopUp/PopupEditor.jsx | 108 +++++++++++++----- .../pages/admin/contents/StandardResearch.jsx | 22 +++- .../yarn.lock | 10 +- .../service}/EgovFileMngUtil.java | 0 .../dbnt/kcscbackend/util/NetworkUtil.java | 2 + 8 files changed, 139 insertions(+), 33 deletions(-) create mode 100644 egovframe-template-simple-react-contribution/src/components/file/FileDragDrop.jsx rename kcsc-back-end/src/main/java/com/dbnt/kcscbackend/{admin/contents/popUp/utils => file/service}/EgovFileMngUtil.java (100%) create mode 100644 kcsc-back-end/src/main/java/com/dbnt/kcscbackend/util/NetworkUtil.java diff --git a/egovframe-template-simple-react-contribution/package.json b/egovframe-template-simple-react-contribution/package.json index ee83992..bd8d7f2 100644 --- a/egovframe-template-simple-react-contribution/package.json +++ b/egovframe-template-simple-react-contribution/package.json @@ -25,6 +25,7 @@ "react-csv": "^2.2.2", "react-datepicker": "^4.8.0", "react-dom": "^18.2.0", + "react-drag-drop-files": "^2.3.10", "react-element-to-jsx-string": "^15.0.0", "react-icons": "^4.11.0", "react-loader-spinner": "^5.4.5", diff --git a/egovframe-template-simple-react-contribution/src/components/file/FileDragDrop.jsx b/egovframe-template-simple-react-contribution/src/components/file/FileDragDrop.jsx new file mode 100644 index 0000000..4cc8a16 --- /dev/null +++ b/egovframe-template-simple-react-contribution/src/components/file/FileDragDrop.jsx @@ -0,0 +1,27 @@ +import React, { useState } from "react"; +import { FileUploader } from "react-drag-drop-files"; + + +/** + * https://www.npmjs.com/package/react-drag-drop-files를 참고해주세요. + * @param {fileTypes} const fileTypes = ["JPG", "PNG", "GIF"]; + * @returns + */ +function FileDragDrop({fileTypes, children, multiple, label, onDrop, handleChange, file, setFile, dropMessageStyle}) { + + return ( + + {children && children} + + ); +} + +export default FileDragDrop; \ No newline at end of file diff --git a/egovframe-template-simple-react-contribution/src/components/list/ListCreateUpdateDelete.jsx b/egovframe-template-simple-react-contribution/src/components/list/ListCreateUpdateDelete.jsx index 09eeb11..e382b40 100644 --- a/egovframe-template-simple-react-contribution/src/components/list/ListCreateUpdateDelete.jsx +++ b/egovframe-template-simple-react-contribution/src/components/list/ListCreateUpdateDelete.jsx @@ -115,7 +115,7 @@ function ListCreateUpdateDelete(props) { - + {generate( props.items, { + //alert('ddd'); + }; + + const [file, setFile] = useState(null); + const handleChange = (file) => { + setFile(file); + }; + + useEffect(function () { + if( file ) { + console.log('%o', file); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [file]); + + const Location = React.memo(function Location() { return (
@@ -263,7 +311,7 @@ function PopupEditor(props) { {/* */}
-

팝업 추가

+

팝업 관리

{/* */}
@@ -315,22 +363,28 @@ function PopupEditor(props) { + +
+
첨부파일
+
+ + +
+ + {file ? file.name : fileName ? fileName : "파일을 마우스로 끌어놓으세요."} +
+
+
+
- { - console.log("====>>> Changed attachfile file = ", attachfile); - const arrayConcat = { ...popupDetail}; // 기존 단일 파일 업로드에서 다중파일 객체 추가로 변환(아래 for문으로) - for ( let i = 0; i < attachfile.length; i++) { - arrayConcat[`file_${i}`] = attachfile[i]; - } - setPopupDetail(arrayConcat); - }} - fnDeleteFile={(deletedFile) => { - console.log("====>>> Delete deletedFile = ", deletedFile); - setBoardAttachFiles(deletedFile); - }} - boardFiles={boardAttachFiles} - mode={props.mode} /> +
{/* */} @@ -339,22 +393,22 @@ function PopupEditor(props) { {/* */} {/* */} -
+
+ +
+
{modeInfo.mode === CODE.MODE_MODIFY && - }
-
- -
{/* */} diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/contents/StandardResearch.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/contents/StandardResearch.jsx index 7d1a67a..69a13ca 100644 --- a/egovframe-template-simple-react-contribution/src/pages/admin/contents/StandardResearch.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/admin/contents/StandardResearch.jsx @@ -14,12 +14,26 @@ import styled from "styled-components"; const StyledDiv = styled.div` .BRD008 { - .head > span:nth-child(3) { - width: 200px; + .head { + span:nth-child(3) { + width: 200px; + } + span:nth-child(4) { + width: 200px; + } } - .result .list_item > div:nth-child(3) { - width: 200px; + .result .list_item { + & > div { + &:nth-child(3) { + width: 200px; + } + &:nth-child(4) { + width: 200px; + } + } } + + } .board-bot { diff --git a/egovframe-template-simple-react-contribution/yarn.lock b/egovframe-template-simple-react-contribution/yarn.lock index 42e9a01..b9950ec 100644 --- a/egovframe-template-simple-react-contribution/yarn.lock +++ b/egovframe-template-simple-react-contribution/yarn.lock @@ -8613,6 +8613,14 @@ react-dom@^18.2.0: loose-envify "^1.1.0" scheduler "^0.23.0" +react-drag-drop-files@^2.3.10: + version "2.3.10" + resolved "https://registry.yarnpkg.com/react-drag-drop-files/-/react-drag-drop-files-2.3.10.tgz#3f6ea316f8ad66a6f76b312cc4108c7c14065b06" + integrity sha512-Fv614W9+OtXFB5O+gjompTxQZLYGO7wJeT4paETGiXtiADB9yPOMGYD4A3PMCTY9Be874/wcpl+2dm3MvCIRzg== + dependencies: + prop-types "^15.7.2" + styled-components "^5.3.0" + react-element-to-jsx-string@^15.0.0: version "15.0.0" resolved "https://registry.npmjs.org/react-element-to-jsx-string/-/react-element-to-jsx-string-15.0.0.tgz" @@ -9604,7 +9612,7 @@ style-loader@^3.3.1: resolved "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz" integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== -styled-components@^5.3.5: +styled-components@^5.3.0, styled-components@^5.3.5: version "5.3.11" resolved "https://registry.npmjs.org/styled-components/-/styled-components-5.3.11.tgz" integrity sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw== diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/contents/popUp/utils/EgovFileMngUtil.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/file/service/EgovFileMngUtil.java similarity index 100% rename from kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/contents/popUp/utils/EgovFileMngUtil.java rename to kcsc-back-end/src/main/java/com/dbnt/kcscbackend/file/service/EgovFileMngUtil.java diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/util/NetworkUtil.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/util/NetworkUtil.java new file mode 100644 index 0000000..7a6fd72 --- /dev/null +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/util/NetworkUtil.java @@ -0,0 +1,2 @@ +package com.dbnt.kcscbackend.util;public class NetworkUtil { +}