컴포넌트 숨김처리
This commit is contained in:
parent
9dbb6b100a
commit
a3c29b28ad
|
|
@ -82,23 +82,9 @@ export function ComponentsPanel({
|
|||
tags: ["table", "list", "card", "kanban", "unified"],
|
||||
defaultSize: { width: 600, height: 400 },
|
||||
},
|
||||
{
|
||||
id: "unified-media",
|
||||
name: "통합 미디어",
|
||||
description: "이미지, 비디오, 오디오, 파일 업로드 등 미디어 컴포넌트",
|
||||
category: "display" as ComponentCategory,
|
||||
tags: ["image", "video", "audio", "file", "unified"],
|
||||
defaultSize: { width: 300, height: 200 },
|
||||
},
|
||||
// unified-media 제거 - 테이블 컬럼의 image/file 입력 타입으로 사용
|
||||
// unified-biz 제거 - 개별 컴포넌트(flow-widget, rack-structure, numbering-rule)로 직접 표시
|
||||
{
|
||||
id: "unified-hierarchy",
|
||||
name: "통합 계층",
|
||||
description: "트리, 조직도, BOM, 연쇄 선택박스 등 계층 구조 컴포넌트",
|
||||
category: "data" as ComponentCategory,
|
||||
tags: ["tree", "org", "bom", "cascading", "unified"],
|
||||
defaultSize: { width: 400, height: 300 },
|
||||
},
|
||||
// unified-hierarchy 제거 - 현재 미사용
|
||||
{
|
||||
id: "unified-repeater",
|
||||
name: "통합 반복 데이터",
|
||||
|
|
@ -148,6 +134,8 @@ export function ComponentsPanel({
|
|||
"accordion-basic", // 아코디언 컴포넌트
|
||||
"conditional-container", // 조건부 컨테이너
|
||||
"universal-form-modal", // 범용 폼 모달
|
||||
// 통합 미디어 (테이블 컬럼 입력 타입으로 사용)
|
||||
"unified-media", // → 테이블 컬럼의 image/file 입력 타입으로 사용
|
||||
];
|
||||
|
||||
return {
|
||||
|
|
|
|||
|
|
@ -238,8 +238,6 @@ export const UnifiedListConfigPanel: React.FC<UnifiedListConfigPanelProps> = ({
|
|||
<SelectContent>
|
||||
<SelectItem value="table">테이블</SelectItem>
|
||||
<SelectItem value="card">카드</SelectItem>
|
||||
<SelectItem value="kanban">칸반</SelectItem>
|
||||
<SelectItem value="list">리스트</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
// 핵심 입력 타입
|
||||
export type InputType =
|
||||
| "text" // 텍스트
|
||||
| "textarea" // 텍스트 에리어 (여러 줄 입력)
|
||||
| "number" // 숫자
|
||||
| "date" // 날짜
|
||||
| "code" // 코드
|
||||
|
|
@ -17,7 +16,8 @@ export type InputType =
|
|||
| "select" // 선택박스
|
||||
| "checkbox" // 체크박스
|
||||
| "radio" // 라디오버튼
|
||||
| "image"; // 이미지
|
||||
| "image" // 이미지
|
||||
| "file"; // 파일
|
||||
|
||||
// 입력 타입 옵션 정의
|
||||
export interface InputTypeOption {
|
||||
|
|
@ -43,13 +43,6 @@ export const INPUT_TYPE_OPTIONS: InputTypeOption[] = [
|
|||
category: "basic",
|
||||
icon: "Type",
|
||||
},
|
||||
{
|
||||
value: "textarea",
|
||||
label: "텍스트 에리어",
|
||||
description: "여러 줄 텍스트 입력",
|
||||
category: "basic",
|
||||
icon: "AlignLeft",
|
||||
},
|
||||
{
|
||||
value: "number",
|
||||
label: "숫자",
|
||||
|
|
@ -113,6 +106,13 @@ export const INPUT_TYPE_OPTIONS: InputTypeOption[] = [
|
|||
category: "basic",
|
||||
icon: "Image",
|
||||
},
|
||||
{
|
||||
value: "file",
|
||||
label: "파일",
|
||||
description: "파일 업로드/다운로드",
|
||||
category: "basic",
|
||||
icon: "File",
|
||||
},
|
||||
];
|
||||
|
||||
// 카테고리별 입력 타입 그룹화
|
||||
|
|
@ -138,11 +138,6 @@ export const INPUT_TYPE_DEFAULT_CONFIGS: Record<InputType, Record<string, any>>
|
|||
maxLength: 500,
|
||||
placeholder: "텍스트를 입력하세요",
|
||||
},
|
||||
textarea: {
|
||||
maxLength: 2000,
|
||||
rows: 4,
|
||||
placeholder: "내용을 입력하세요",
|
||||
},
|
||||
number: {
|
||||
min: 0,
|
||||
step: 1,
|
||||
|
|
@ -180,13 +175,18 @@ export const INPUT_TYPE_DEFAULT_CONFIGS: Record<InputType, Record<string, any>>
|
|||
placeholder: "이미지를 선택하세요",
|
||||
accept: "image/*",
|
||||
},
|
||||
file: {
|
||||
placeholder: "파일을 선택하세요",
|
||||
accept: "*/*",
|
||||
maxSize: 10485760, // 10MB
|
||||
},
|
||||
};
|
||||
|
||||
// 레거시 웹 타입 → 입력 타입 매핑
|
||||
export const WEB_TYPE_TO_INPUT_TYPE: Record<string, InputType> = {
|
||||
// 텍스트 관련
|
||||
text: "text",
|
||||
textarea: "textarea",
|
||||
textarea: "text",
|
||||
email: "text",
|
||||
tel: "text",
|
||||
url: "text",
|
||||
|
|
@ -213,15 +213,17 @@ export const WEB_TYPE_TO_INPUT_TYPE: Record<string, InputType> = {
|
|||
entity: "entity",
|
||||
category: "category",
|
||||
|
||||
// 파일/이미지 관련
|
||||
file: "file",
|
||||
image: "image",
|
||||
|
||||
// 기타 (기본값: text)
|
||||
file: "text",
|
||||
button: "text",
|
||||
};
|
||||
|
||||
// 입력 타입 → 웹 타입 역매핑 (화면관리 시스템 호환용)
|
||||
export const INPUT_TYPE_TO_WEB_TYPE: Record<InputType, string> = {
|
||||
text: "text",
|
||||
textarea: "textarea",
|
||||
number: "number",
|
||||
date: "date",
|
||||
code: "code",
|
||||
|
|
@ -231,6 +233,7 @@ export const INPUT_TYPE_TO_WEB_TYPE: Record<InputType, string> = {
|
|||
checkbox: "checkbox",
|
||||
radio: "radio",
|
||||
image: "image",
|
||||
file: "file",
|
||||
};
|
||||
|
||||
// 입력 타입 변환 함수
|
||||
|
|
@ -245,11 +248,6 @@ export const INPUT_TYPE_VALIDATION_RULES: Record<InputType, Record<string, any>>
|
|||
trim: true,
|
||||
maxLength: 500,
|
||||
},
|
||||
textarea: {
|
||||
type: "string",
|
||||
trim: true,
|
||||
maxLength: 2000,
|
||||
},
|
||||
number: {
|
||||
type: "number",
|
||||
allowFloat: true,
|
||||
|
|
@ -286,4 +284,8 @@ export const INPUT_TYPE_VALIDATION_RULES: Record<InputType, Record<string, any>>
|
|||
type: "string",
|
||||
required: false,
|
||||
},
|
||||
file: {
|
||||
type: "string",
|
||||
required: false,
|
||||
},
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue