From 969c25b56f6d29d7ffa4bc2ce04c5fb4e5846b34 Mon Sep 17 00:00:00 2001 From: dujinkim Date: Thu, 14 Aug 2025 11:54:47 +0000 Subject: (대표님) 정규벤더등록, 벤더문서관리, 벤더데이터입력, 첨부파일관리 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/form-data/spreadJS-dialog.tsx | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'components/form-data/spreadJS-dialog.tsx') diff --git a/components/form-data/spreadJS-dialog.tsx b/components/form-data/spreadJS-dialog.tsx index 54a70d9d..a223a849 100644 --- a/components/form-data/spreadJS-dialog.tsx +++ b/components/form-data/spreadJS-dialog.tsx @@ -327,6 +327,17 @@ export function TemplateViewDialog({ }); }, []); + const createCellStyle = React.useCallback((isEditable: boolean) => { + const style = new GC.Spread.Sheets.Style(); + if (isEditable) { + style.backColor = "#f0fdf4"; + } else { + style.backColor = "#f9fafb"; + style.foreColor = "#6b7280"; + } + return style; + }, []); + const setBatchStyles = React.useCallback(( activeSheet: any, stylesToSet: Array<{row: number, col: number, isEditable: boolean}> @@ -440,16 +451,7 @@ export function TemplateViewDialog({ return errors; }, [currentSpread, selectedTemplate, cellMappings, columnsJSON]); - const createCellStyle = React.useCallback((isEditable: boolean) => { - const style = new GC.Spread.Sheets.Style(); - if (isEditable) { - style.backColor = "#f0fdf4"; - } else { - style.backColor = "#f9fafb"; - style.foreColor = "#6b7280"; - } - return style; - }, []); + const setupOptimizedListValidation = React.useCallback((activeSheet: any, cellPos: { row: number, col: number }, options: string[], rowCount: number) => { try { @@ -780,7 +782,7 @@ export function TemplateViewDialog({ }); // 🛡️ 시트 보호 재설정 (편집 허용 모드로) - activeSheet.options.isProtected = true; + activeSheet.options.isProtected = false; activeSheet.options.protectionOptions = { allowSelectLockedCells: true, allowSelectUnlockedCells: true, -- cgit v1.2.3