- 채번 규칙 scope_type을 table로 단순화 - 화면의 테이블명을 자동으로 감지하여 채번 규칙 필터링 - TextInputConfigPanel에 screenTableName prop 추가 - getAvailableNumberingRulesForScreen API로 테이블 기반 조회 - NumberingRuleDesigner에서 자동으로 테이블명 설정 - webTypeConfigConverter 유틸리티 추가 (기존 화면 호환성) - AutoGenerationConfig 타입 개선 (enabled, options.numberingRuleId) - 채번 규칙 선택 UI에서 ID 제거, 설명 추가 - 불필요한 console.log 제거 Backend: - numberingRuleService: 테이블 기반 필터링 로직 구현 - numberingRuleController: available-for-screen 엔드포인트 수정 Frontend: - TextInputConfigPanel: 테이블명 기반 채번 규칙 로드 - NumberingRuleDesigner: 적용 범위 UI 제거, 테이블명 자동 설정 - ScreenDesigner: webTypeConfig → autoGeneration 변환 로직 통합 - DetailSettingsPanel: autoGeneration 속성 매핑 개선
35 lines
963 B
TypeScript
35 lines
963 B
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; // 현재 화면의 테이블명
|
|
}
|
|
|
|
export const NumberingRuleWrapper: React.FC<NumberingRuleWrapperProps> = ({
|
|
config,
|
|
onChange,
|
|
isPreview = false,
|
|
tableName,
|
|
}) => {
|
|
console.log("📋 NumberingRuleWrapper: 테이블명 전달", { tableName, config });
|
|
|
|
return (
|
|
<div className="h-full w-full">
|
|
<NumberingRuleDesigner
|
|
maxRules={config.maxRules || 6}
|
|
isPreview={isPreview}
|
|
className="h-full"
|
|
currentTableName={tableName} // 테이블명 전달
|
|
/>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
export const NumberingRuleComponent = NumberingRuleWrapper;
|