ERP-node/frontend/components/screen/config-panels/index.ts

58 lines
1.6 KiB
TypeScript
Raw Normal View History

2025-09-09 14:29:04 +09:00
// Config panels for different web types
export { TextConfigPanel } from "./TextConfigPanel";
export { NumberConfigPanel } from "./NumberConfigPanel";
export { DateConfigPanel } from "./DateConfigPanel";
export { SelectConfigPanel } from "./SelectConfigPanel";
export { TextareaConfigPanel } from "./TextareaConfigPanel";
export { CheckboxConfigPanel } from "./CheckboxConfigPanel";
export { RadioConfigPanel } from "./RadioConfigPanel";
export { FileConfigPanel } from "./FileConfigPanel";
export { CodeConfigPanel } from "./CodeConfigPanel";
export { EntityConfigPanel } from "./EntityConfigPanel";
// Config panel registry mapping
export const CONFIG_PANEL_REGISTRY = {
// Text-based types
text: "TextConfigPanel",
email: "TextConfigPanel",
password: "TextConfigPanel",
tel: "TextConfigPanel",
// Number types
number: "NumberConfigPanel",
decimal: "NumberConfigPanel",
// Date types
date: "DateConfigPanel",
datetime: "DateConfigPanel",
// Selection types
select: "SelectConfigPanel",
dropdown: "SelectConfigPanel",
// Text area
textarea: "TextareaConfigPanel",
text_area: "TextareaConfigPanel",
// Boolean/Checkbox types
boolean: "CheckboxConfigPanel",
checkbox: "CheckboxConfigPanel",
// Radio button
radio: "RadioConfigPanel",
// File upload
file: "FileConfigPanel",
// Code editor
code: "CodeConfigPanel",
// Entity selection
entity: "EntityConfigPanel",
} as const;
export type ConfigPanelType = keyof typeof CONFIG_PANEL_REGISTRY;
export type ConfigPanelComponent = (typeof CONFIG_PANEL_REGISTRY)[ConfigPanelType];