4294fbf608
- 채번 규칙 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 속성 매핑 개선
148 lines
3.4 KiB
TypeScript
148 lines
3.4 KiB
TypeScript
/**
|
|
* 🔄 레거시 호환성을 위한 re-export 파일
|
|
*
|
|
* @deprecated 이 파일은 단계적으로 제거될 예정입니다.
|
|
* 새로운 코드에서는 다음을 사용해주세요:
|
|
* - import { ... } from "@/types" (통합 타입 시스템)
|
|
* - import { ... } from "@/types/screen-management" (화면관리 전용)
|
|
* - import { ... } from "@/types/unified-core" (핵심 공통 타입)
|
|
*/
|
|
|
|
// 🎯 새로운 통합 타입 시스템에서 re-export
|
|
export * from "./index";
|
|
|
|
// 🔄 기존 호환성을 위한 타입 별칭들
|
|
export type {
|
|
// 핵심 타입들 (unified-core에서)
|
|
WebType,
|
|
ButtonActionType,
|
|
ComponentType,
|
|
Position,
|
|
Size,
|
|
CommonStyle as ComponentStyle,
|
|
ValidationRule,
|
|
|
|
// 컴포넌트 타입들 (screen-management에서)
|
|
ComponentData,
|
|
BaseComponent,
|
|
WidgetComponent,
|
|
ContainerComponent,
|
|
GroupComponent,
|
|
DataTableComponent,
|
|
FileComponent,
|
|
|
|
// 웹타입 설정들 (screen-management에서)
|
|
WebTypeConfig,
|
|
DateTypeConfig,
|
|
NumberTypeConfig,
|
|
SelectTypeConfig,
|
|
TextTypeConfig,
|
|
FileTypeConfig,
|
|
EntityTypeConfig,
|
|
ButtonTypeConfig,
|
|
|
|
// 화면 관련 (screen-management에서)
|
|
ScreenDefinition,
|
|
CreateScreenRequest,
|
|
UpdateScreenRequest,
|
|
LayoutData,
|
|
GridSettings,
|
|
ScreenTemplate,
|
|
ScreenResolution,
|
|
GroupState,
|
|
|
|
// 화면 해상도 상수
|
|
SCREEN_RESOLUTIONS,
|
|
|
|
// 데이터 테이블 (screen-management에서)
|
|
DataTableColumn,
|
|
DataTableFilter,
|
|
|
|
// 파일 업로드 (screen-management에서)
|
|
UploadedFile,
|
|
|
|
// 테이블 정보 (table-management에서)
|
|
TableInfo,
|
|
UnifiedColumnInfo as ColumnInfo,
|
|
|
|
// API 응답들
|
|
PaginatedResponse,
|
|
} from "./index";
|
|
|
|
// 🔄 타입 가드 함수들 re-export
|
|
export {
|
|
// 핵심 타입 가드들
|
|
isWebType,
|
|
isButtonActionType,
|
|
isComponentType,
|
|
|
|
// 컴포넌트 타입 가드들
|
|
isWidgetComponent,
|
|
isContainerComponent,
|
|
isGroupComponent,
|
|
isDataTableComponent,
|
|
isFileComponent,
|
|
|
|
// 안전한 캐스팅 함수들
|
|
asWidgetComponent,
|
|
asContainerComponent,
|
|
asGroupComponent,
|
|
asDataTableComponent,
|
|
asFileComponent,
|
|
|
|
// 유틸리티 함수들
|
|
ynToBoolean,
|
|
booleanToYN,
|
|
} from "./index";
|
|
|
|
// ===== 레거시 호환성을 위한 추가 타입들 =====
|
|
|
|
// 🔄 기존 호환성을 위한 타입 별칭들
|
|
import { ContainerComponent } from "./index";
|
|
|
|
/**
|
|
* @deprecated ContainerComponent를 사용하세요
|
|
*/
|
|
export interface RowComponent extends ContainerComponent {
|
|
type: "row";
|
|
}
|
|
|
|
/**
|
|
* @deprecated ContainerComponent를 사용하세요
|
|
*/
|
|
export interface ColumnComponent extends ContainerComponent {
|
|
type: "column";
|
|
}
|
|
|
|
/**
|
|
* @deprecated ContainerComponent를 사용하세요
|
|
*/
|
|
export interface AreaComponent extends ContainerComponent {
|
|
type: "area";
|
|
layoutType?: "absolute" | "flex" | "grid";
|
|
}
|
|
|
|
/**
|
|
* @deprecated 사용하지 않는 타입입니다
|
|
*/
|
|
export type AutoGenerationType = "table" | "form" | "mixed";
|
|
|
|
/**
|
|
* @deprecated 사용하지 않는 타입입니다
|
|
*/
|
|
export interface AutoGenerationConfig {
|
|
type: AutoGenerationType;
|
|
enabled?: boolean;
|
|
tableName?: string;
|
|
includeSearch?: boolean;
|
|
includePagination?: boolean;
|
|
options?: {
|
|
length?: number; // 랜덤 문자열/숫자 길이
|
|
prefix?: string; // 접두사
|
|
suffix?: string; // 접미사
|
|
format?: string; // 시간 형식 (current_time용)
|
|
startValue?: number; // 시퀀스 시작값
|
|
numberingRuleId?: string; // 채번 규칙 ID (numbering_rule 타입용)
|
|
};
|
|
}
|