- 백엔드: screenManagementService에 getMenuByScreen 함수 추가 - 백엔드: GET /api/screen-management/screens/:id/menu 엔드포인트 추가 - 프론트엔드: screenApi.getScreenMenu() 함수 추가 - ScreenDesigner: 화면 로드 시 menu_objid 자동 조회 - ScreenDesigner: menuObjid를 RealtimePreview와 UnifiedPropertiesPanel에 전달 - UnifiedPropertiesPanel: menuObjid를 DynamicComponentConfigPanel에 전달 이로써 화면 편집기에서 코드/카테고리/채번규칙이 해당 화면이 할당된 메뉴 기준으로 필터링됨
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
"use client";
|
|
|
|
import React from "react";
|
|
import { NumberingRuleDesigner } from "@/components/numbering-rule/NumberingRuleDesigner";
|
|
import { NumberingRuleComponentConfig } from "./types";
|
|
|
|
interface NumberingRuleWrapperProps {
|
|
config: NumberingRuleComponentConfig;
|
|
onChange?: (config: NumberingRuleComponentConfig) => void;
|
|
isPreview?: boolean;
|
|
tableName?: string; // 현재 화면의 테이블명
|
|
menuObjid?: number; // 🆕 메뉴 OBJID
|
|
}
|
|
|
|
export const NumberingRuleWrapper: React.FC<NumberingRuleWrapperProps> = ({
|
|
config,
|
|
onChange,
|
|
isPreview = false,
|
|
tableName,
|
|
menuObjid,
|
|
}) => {
|
|
console.log("📋 NumberingRuleWrapper: 테이블명 + menuObjid 전달", {
|
|
tableName,
|
|
menuObjid,
|
|
hasMenuObjid: !!menuObjid,
|
|
config
|
|
});
|
|
|
|
return (
|
|
<div className="h-full w-full">
|
|
<NumberingRuleDesigner
|
|
maxRules={config.maxRules || 6}
|
|
isPreview={isPreview}
|
|
className="h-full"
|
|
currentTableName={tableName} // 테이블명 전달
|
|
menuObjid={menuObjid} // 🆕 메뉴 OBJID 전달
|
|
/>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export const NumberingRuleComponent = NumberingRuleWrapper;
|