From 2e7718f8da0a2ea857ab57e18bd062d1a320d6ff Mon Sep 17 00:00:00 2001 From: YangJinSoo94 Date: Mon, 16 Jun 2025 17:15:48 +0900 Subject: [PATCH 1/8] =?UTF-8?q?-=EC=88=98=EC=9A=94=EC=8B=A0=EC=B2=AD=20?= =?UTF-8?q?=EC=A7=84=ED=96=89=EC=83=81=ED=83=9C=20=ED=91=9C=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=EC=99=84=EB=A3=8C=20-rgtr=20=EA=B0=92=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/business_components/src/ui/sdmInsertForm/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/common/business_components/src/ui/sdmInsertForm/index.tsx b/packages/common/business_components/src/ui/sdmInsertForm/index.tsx index 4e6ad06d6..13e461910 100644 --- a/packages/common/business_components/src/ui/sdmInsertForm/index.tsx +++ b/packages/common/business_components/src/ui/sdmInsertForm/index.tsx @@ -60,7 +60,7 @@ const defaultValues: FormSchema = { bznmTotNo: '', daddr: '', telno: '', - rgtr: "3fa85f64-5717-4562-b3fc-2c963f66afa6", + rgtr: '', dmdAplyPswd: '', }; From d2fd46b20a2cd76d21c8d4c9256b6f1914e1f062 Mon Sep 17 00:00:00 2001 From: jyha00 Date: Tue, 17 Jun 2025 10:23:17 +0900 Subject: [PATCH 2/8] =?UTF-8?q?=ED=8C=8C=EC=9D=BC=20max=EA=B0=92=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business_components/src/ui/file-upload/index.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/common/business_components/src/ui/file-upload/index.tsx b/packages/common/business_components/src/ui/file-upload/index.tsx index 22ef56820..7ef6dfc31 100644 --- a/packages/common/business_components/src/ui/file-upload/index.tsx +++ b/packages/common/business_components/src/ui/file-upload/index.tsx @@ -3,7 +3,7 @@ import { CloudUpload, Paperclip } from "lucide-react"; import { FileInput, FileUploader, FileUploaderContent, FileUploaderItem } from "./lib/file_upload"; const dropZoneConfig = { maxFiles: 5, - maxSize: 1024 * 1024 * 4, + maxSize: 1024 * 1024 * 100, multiple: true, }; @@ -12,12 +12,18 @@ const dropZoneConfig = { files: File[]; // 파일 배열 setFiles: (files: File[] | null) => void; // 파일 배열 세터 fileTypes?: string; // 옵션 (파일 확장자 문자열) - onFileClick?:(index:number)=> void; // 파일 클릭 핸들러 + onFileClick?:(index:number)=> void; + maxFiles?: number; // 파일 클릭 핸들러 } export const FileUpload = -({ files, setFiles, fileTypes ,onFileClick}: FileUploadProps) => { +({ files, setFiles, fileTypes ,onFileClick, maxFiles}: FileUploadProps) => { + if(maxFiles){ + dropZoneConfig.maxFiles = maxFiles; + if(maxFiles===1) + dropZoneConfig.multiple = false; + } return ( Date: Wed, 18 Jun 2025 20:33:15 +0900 Subject: [PATCH 3/8] =?UTF-8?q?=ED=8C=9D=EC=98=A4=EB=B2=84=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business_components/src/ui/index.ts | 3 ++- .../src/ui/popover_ui/index.tsx | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 packages/common/business_components/src/ui/popover_ui/index.tsx diff --git a/packages/common/business_components/src/ui/index.ts b/packages/common/business_components/src/ui/index.ts index a1fa95f39..19d966a53 100644 --- a/packages/common/business_components/src/ui/index.ts +++ b/packages/common/business_components/src/ui/index.ts @@ -19,4 +19,5 @@ export * from "./tab"; export * from "./table"; export * from "./table_div"; export * from "./title"; -export * from "./sdmInsertForm"; \ No newline at end of file +export * from "./sdmInsertForm"; +export * from "./popover_ui" \ No newline at end of file diff --git a/packages/common/business_components/src/ui/popover_ui/index.tsx b/packages/common/business_components/src/ui/popover_ui/index.tsx new file mode 100644 index 000000000..39094bc24 --- /dev/null +++ b/packages/common/business_components/src/ui/popover_ui/index.tsx @@ -0,0 +1,23 @@ +import { Popover, PopoverContent, PopoverTrigger } from "@common/components/ui"; + +export default function PopoverUi({ + childrenTriger, + childrenBody, + bodyClassName + }: { + childrenTriger: React.ReactNode; + childrenBody: React.ReactNode; + bodyClassName:string + }) { + return ( + <> + + {childrenTriger} + + {childrenBody} + + + + ); + } + \ No newline at end of file From 976a20c485db7d2b9c1efc6d02bcb20e19f7dfc5 Mon Sep 17 00:00:00 2001 From: truthwing Date: Thu, 19 Jun 2025 09:50:10 +0900 Subject: [PATCH 4/8] =?UTF-8?q?=ED=83=80=EC=9E=85=EC=98=A4=EB=A5=98?= =?UTF-8?q?=EB=A1=9C=20=EC=9D=B8=ED=95=9C=20chartConfig=20=EC=88=98?= =?UTF-8?q?=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/business_components/src/ui/chart/DoughnutChart.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/common/business_components/src/ui/chart/DoughnutChart.tsx b/packages/common/business_components/src/ui/chart/DoughnutChart.tsx index d666f1d14..39dee3d9e 100644 --- a/packages/common/business_components/src/ui/chart/DoughnutChart.tsx +++ b/packages/common/business_components/src/ui/chart/DoughnutChart.tsx @@ -1,7 +1,7 @@ "use client" -import { Pie, PieChart } from "recharts"; import type { CSSProperties } from "react"; +import { Pie, PieChart } from "recharts"; import { Card, CardContent @@ -99,7 +99,7 @@ const CustomLegend = (props: LegendProps) => { }; export default function DoughnutChart(props: { - chartConfig: ChartConfig; + chartConfig: any; chartData: ChartDataItem[] | undefined; chartTitle: string }) { From 82b48a945d7d27dbfbf1653da7ba88cc6037d7d3 Mon Sep 17 00:00:00 2001 From: leedj312 Date: Fri, 20 Jun 2025 17:52:50 +0900 Subject: [PATCH 5/8] =?UTF-8?q?=ED=85=8C=EC=9D=B4=EB=B8=94=20=EC=B2=B4?= =?UTF-8?q?=ED=81=AC=EB=B0=95=EC=8A=A4=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/ui/table/index.tsx | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/packages/common/business_components/src/ui/table/index.tsx b/packages/common/business_components/src/ui/table/index.tsx index c2b5219e8..a6c5cfdee 100644 --- a/packages/common/business_components/src/ui/table/index.tsx +++ b/packages/common/business_components/src/ui/table/index.tsx @@ -1,9 +1,11 @@ "use client" -import { Table, TableBody, TableCell, TableHeader, TableRow } from "@common/components"; +import { Checkbox, Table, TableBody, TableCell, TableHeader, TableRow } from "@common/components"; import { useEffect, useState } from "react"; import { HeadMakeColSpan } from "./HeadMakeColSpan"; import UiPageNations from "./uiPageNations"; +import { AlignVerticalDistributeCenterIcon, Check } from "lucide-react"; +import { boolean } from "zod"; type UiTableProps = { headName: React.ReactNode | undefined; @@ -29,6 +31,9 @@ type UiHeadProps = { export function UiTable({ tableData, headlist, pageSize, total, headName, children, cellClick, onPageChange, className = '', resetPageNo = false, boldArray = [] }: UiTableProps) { const [cur, setCur] = useState(1); const [idx, setIdx] = useState(-1); + const [isCheck, seIsCheck] = useState(false); + + useEffect(() => { if (resetPageNo) { setCur(1); @@ -47,6 +52,7 @@ export function UiTable({ tableData, headlist, pageSize, total, headName, childr setIdx(index); } }; + return ( <> @@ -65,7 +71,9 @@ export function UiTable({ tableData, headlist, pageSize, total, headName, childr .filter((item) => item.visible != false) .map((head) => ( head.id && head.id.length > 1 && ( - boldArray.includes(index) ? : + + : handleCellClick(index, head.id)} key={`cell-${head.id}-${index}`} > - {typeof el[head.id] !== 'number'?String(el[head.id] ?? ''): String(el[head.id]).includes('.') + {typeof el[head.id] === 'boolean' + ? { + el[head.id]= checked; + }} + > + + + : + typeof el[head.id] !== 'number'? + String(el[head.id] ?? ''): + String(el[head.id]).includes('.') ? String(el[head.id]).split('.').map((part, index) => index === 0 ? part.replace(/\B(?=(\d{3})+(?!\d))/g, ",") : part - ).join('.') - : String(el[head.id] ?? '').replace(/\B(?=(\d{3})+(?!\d))/g, ",")} + ).join('.') + : + String(el[head.id] ?? '').replace(/\B(?=(\d{3})+(?!\d))/g, ",")} ) ))} From a7c8420e6a100d5034055496748d343283b379de Mon Sep 17 00:00:00 2001 From: swcho Date: Mon, 23 Jun 2025 18:20:04 +0900 Subject: [PATCH 6/8] =?UTF-8?q?feat:=20DatePicker=20=EC=BB=B4=ED=8F=AC?= =?UTF-8?q?=EB=84=8C=ED=8A=B8=20readOnly=20=EC=86=8D=EC=84=B1=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/ui/date_picker/index.tsx | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/packages/common/business_components/src/ui/date_picker/index.tsx b/packages/common/business_components/src/ui/date_picker/index.tsx index d3a6a05c1..9df32b3b5 100644 --- a/packages/common/business_components/src/ui/date_picker/index.tsx +++ b/packages/common/business_components/src/ui/date_picker/index.tsx @@ -12,37 +12,39 @@ import { FormControl } from "../form"; import { ko } from "date-fns/locale"; import { useState } from "react"; -type DatePickerProps = DayPickerSingleProps & { field: { value: Date; onChange: (date: Date | undefined) => void } ,selectClass:string|undefined }; - - -export function DatePicker({ field, selectClass }: DatePickerProps) { +type DatePickerProps = DayPickerSingleProps & { field: { value: Date; onChange: (date: Date | undefined) => void }, selectClass: string | undefined, readOnly?: boolean }; +export function DatePicker({ field, selectClass, readOnly = false, ...props }: DatePickerProps) { const [open, setOpen] = useState(false); const handleSelect = (date: Date | undefined) => { - field.onChange(date); // React Hook Form 업데이트 - setOpen(false); - }; + if (!readOnly) { // readOnly가 아닐 때만 변경 허용 + field.onChange(date); // React Hook Form 업데이트 + setOpen(false); + } + }; + return ( - +