From 27244ddd79bb09497a76f2f75c1cdb420aca5084 Mon Sep 17 00:00:00 2001 From: YangJinSoo94 Date: Fri, 11 Jul 2025 11:03:07 +0900 Subject: [PATCH 1/4] =?UTF-8?q?=EB=9D=BC=EC=9D=B8=EB=B0=94=20=EC=A2=8C?= =?UTF-8?q?=EC=B8=A1=20=EB=9D=BC=EB=B2=A8=EB=AA=85=20=EA=B0=84=EA=B2=A9?= =?UTF-8?q?=EC=A1=B0=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/business_components/src/ui/chart/LineBarChart.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/common/business_components/src/ui/chart/LineBarChart.tsx b/packages/common/business_components/src/ui/chart/LineBarChart.tsx index 8c7202104..64a7d5bce 100644 --- a/packages/common/business_components/src/ui/chart/LineBarChart.tsx +++ b/packages/common/business_components/src/ui/chart/LineBarChart.tsx @@ -128,7 +128,7 @@ export default function LineBarchart({ tickCount={6} orientation="left" domain={[0, Math.ceil(lineMaxValue * 1)]} - label={{ value: yFieldText, angle: -90, position: 'insideLeft' }} + label={{ value: yFieldText, angle: -90, position: 'insideLeft', offset: -8 }} />} {/* 오른쪽 Y축: barVal */} {yFieldText2 && Date: Mon, 14 Jul 2025 10:19:34 +0900 Subject: [PATCH 2/4] =?UTF-8?q?=EB=B9=8C=EB=93=9C=EC=97=90=EB=9F=AC?= =?UTF-8?q?=EC=88=98=EC=A0=95=20-=20rgtr=20optional=EB=A1=9C=20zod=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/business_components/src/ui/sdmInsertForm/form.tsx | 2 +- .../common/business_components/src/ui/sdmInsertForm/index.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/common/business_components/src/ui/sdmInsertForm/form.tsx b/packages/common/business_components/src/ui/sdmInsertForm/form.tsx index e58592837..7b41bf30c 100644 --- a/packages/common/business_components/src/ui/sdmInsertForm/form.tsx +++ b/packages/common/business_components/src/ui/sdmInsertForm/form.tsx @@ -54,7 +54,7 @@ interface FormSchema { daddr: string; telno: string; bznmTotNo?: string; - rgtr?: string; + rgtr?: string | ''; dmdAplyPswd?: string; dmdAplyPswdConfirm?: string; } diff --git a/packages/common/business_components/src/ui/sdmInsertForm/index.tsx b/packages/common/business_components/src/ui/sdmInsertForm/index.tsx index 35c609f9e..9b46cc653 100644 --- a/packages/common/business_components/src/ui/sdmInsertForm/index.tsx +++ b/packages/common/business_components/src/ui/sdmInsertForm/index.tsx @@ -42,7 +42,7 @@ const createFormSchema = (isBznmTotNoDisabled: boolean, isDuplicate: boolean ,up .min(8, "전화번호는 8자 이상 입력해주세요") .max(11, "전화번호는 11자 이내로 입력해주세요") .regex(/^[0-9]+$/, "전화번호는 숫자만 입력 가능합니다"), - rgtr: z.string().nullish(), + rgtr: z.string().optional(), dmdAplyPswd : updateList?.dmdInfoPk // 업데이트일경우 ? z.string().optional() // 패스워드는 선택 사항이며 길이 제한 없음 : z.string().optional() From ed7a56480e908609346949d00e12319c5dd4ec5c Mon Sep 17 00:00:00 2001 From: truthwing Date: Mon, 14 Jul 2025 13:53:18 +0900 Subject: [PATCH 3/4] =?UTF-8?q?UITAB=20children=20=EC=B2=98=EB=A6=AC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/common/business_components/src/ui/tab/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/common/business_components/src/ui/tab/index.tsx b/packages/common/business_components/src/ui/tab/index.tsx index aee969460..a762c5c62 100644 --- a/packages/common/business_components/src/ui/tab/index.tsx +++ b/packages/common/business_components/src/ui/tab/index.tsx @@ -9,7 +9,7 @@ interface TabItem { interface UITabProps extends Omit, 'dir'> { defaultValue?: string; tabList: TabItem[]; - children: React.ReactNode; + children?: React.ReactNode; onValueChange?: (value: string) => void; } From a23b80431cf15bcd09933a6f5ee1a67cd9701fb2 Mon Sep 17 00:00:00 2001 From: YangJinSoo94 Date: Mon, 14 Jul 2025 14:25:31 +0900 Subject: [PATCH 4/4] =?UTF-8?q?=EB=8F=84=EB=84=9B=EB=B0=94=20=EC=B0=A8?= =?UTF-8?q?=ED=8A=B8=20=EC=97=90=EB=9F=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/ui/chart/DoughnutChart.tsx | 56 ++++--------------- 1 file changed, 10 insertions(+), 46 deletions(-) diff --git a/packages/common/business_components/src/ui/chart/DoughnutChart.tsx b/packages/common/business_components/src/ui/chart/DoughnutChart.tsx index 99395267a..3dd14e5b7 100644 --- a/packages/common/business_components/src/ui/chart/DoughnutChart.tsx +++ b/packages/common/business_components/src/ui/chart/DoughnutChart.tsx @@ -6,22 +6,13 @@ import { Card, CardContent } from "./lib/card"; -import { ChartContainer, ChartTooltip } from "./lib/chart"; +import { ChartContainer, ChartTooltip, type ChartConfig } from "./lib/chart"; type ChartDataItem = { label: string; val: number; }; -type ChartConfigItem = { - label: string; - fill: string; -}; - -type ChartConfig = { - [key: string]: ChartConfigItem; -}; - type TooltipPayloadItem = { name: string; value: number; @@ -47,20 +38,6 @@ type LegendProps = { payload?: LegendEntry[]; }; -/** 차트 기본 스타일 */ -/* -const customStyles = { - legendContainer: { - display: "flex", - justifyContent: "center", - gap: "20px", - fontSize: "9px", - fontWeight: "bold", - marginTop: "10px", - } as CSSProperties, -}; -*/ - /** 차트 기본 스타일 (라인차트와 동일하게) */ const customStyles = { legendContainer: { @@ -99,25 +76,6 @@ const CustomTooltip = ({ active, payload, label }: { return null; }; -// 커스텀 범례 -/* -const CustomLegend = (props: LegendProps) => { - const { payload } = props; - if (!payload) return null; - - return ( -
- {payload.map((entry: LegendEntry, index: number) => ( -
-
- {entry.value} -
- ))} -
- ); -}; -*/ - const CustomLegend = (props: LegendProps) => { const { payload } = props; if (!payload) return null; @@ -154,14 +112,20 @@ const CustomLegend = (props: LegendProps) => { }; export default function DoughnutChart(props: { - chartConfig: any; + chartConfig: ChartConfig; chartData: ChartDataItem[] | undefined; chartTitle: string }) { const legendData = props.chartData?.map(item => ({ value: item.label, - fill: props.chartConfig?.[item.label]?.fill || 'blue', + fill: props.chartConfig?.[item.label]?.color || 'blue', + payload: { + label: item.label, + val: item.val, + fill: props.chartConfig?.[item.label]?.color || 'blue' + } })) ?? []; + return ( @@ -183,7 +147,7 @@ export default function DoughnutChart(props: { ({ ...item, - fill: props.chartConfig[item.label]?.fill || 'blue' + fill: props.chartConfig[item.label]?.color || 'blue' }))} dataKey="val" nameKey="label"