From 3fd7fdcb58856d624d2e70ef5928f8342cd33f45 Mon Sep 17 00:00:00 2001 From: SeongHyun Kim Date: Wed, 21 Jan 2026 16:47:40 +0900 Subject: [PATCH] =?UTF-8?q?fix(backend):=20=ED=85=8C=EC=9D=B4=EB=B8=94=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EB=B3=80=EA=B2=BD=20=EC=8B=9C=20screen=5F?= =?UTF-8?q?layouts=EC=9D=98=20webType=20=EB=8F=99=EA=B8=B0=ED=99=94=20?= =?UTF-8?q?=EB=88=84=EB=9D=BD=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 테이블 설정에서 input_type을 변경할 때 screen_layouts의 componentConfig.webType이 업데이트되지 않는 버그 수정 문제: - syncScreenLayoutsInputType 함수에서 widgetType, inputType은 업데이트하지만 componentConfig.webType은 누락되어 기존 값(예: "text")이 유지됨 - 프론트엔드 SelectBasicComponent는 webType을 기준으로 카테고리 로딩 여부를 판단하므로, input_type을 category로 변경해도 옵션이 표시되지 않음 수정: - componentConfig 업데이트 시 webType도 inputType과 동일하게 설정 - 로그 메시지에 webType 정보 추가 품목정보에서 동일하게 발생하는 문제 화면 레이아웃(screen_layouts)의 componentConfig.webType이 text로 설정되어 있어서 카테고리 API를 호출하지 않습니다 --- backend-node/src/services/tableManagementService.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend-node/src/services/tableManagementService.ts b/backend-node/src/services/tableManagementService.ts index 9dad459c..b409d8bf 100644 --- a/backend-node/src/services/tableManagementService.ts +++ b/backend-node/src/services/tableManagementService.ts @@ -921,11 +921,12 @@ export class TableManagementService { ...layout.properties, widgetType: inputType, inputType: inputType, - // componentConfig 내부의 type도 업데이트 + // componentConfig 내부의 type, inputType, webType 모두 업데이트 componentConfig: { ...layout.properties?.componentConfig, type: newComponentType, inputType: inputType, + webType: inputType, // 프론트엔드 SelectBasicComponent에서 카테고리 로딩 여부 판단에 사용 }, }; @@ -941,7 +942,7 @@ export class TableManagementService { ); logger.info( - `화면 레이아웃 업데이트: screen_id=${layout.screen_id}, component_id=${layout.component_id}, widgetType=${inputType}, componentType=${newComponentType}` + `화면 레이아웃 업데이트: screen_id=${layout.screen_id}, component_id=${layout.component_id}, widgetType=${inputType}, webType=${inputType}, componentType=${newComponentType}` ); }