ERP-node/frontend/constants/tableManagement.ts

195 lines
7.7 KiB
TypeScript
Raw Permalink Normal View History

2025-08-29 10:09:34 +09:00
// 테이블 타입 관리 다국어 키 상수
export const TABLE_MANAGEMENT_KEYS = {
// 페이지 제목 및 설명
PAGE_TITLE: "table.management.page.title",
PAGE_DESCRIPTION: "table.management.page.description",
// 테이블 관련
TABLE_NAME: "table.management.table.name",
TABLE_DISPLAY_NAME: "table.management.table.display.name",
TABLE_DESCRIPTION: "table.management.table.description",
TABLE_COLUMN_COUNT: "table.management.table.column.count",
// 컬럼 관련
COLUMN_NAME: "table.management.column.name",
COLUMN_DISPLAY_NAME: "table.management.column.display.name",
COLUMN_DB_TYPE: "table.management.column.db.type",
COLUMN_WEB_TYPE: "table.management.column.web.type",
COLUMN_DETAIL_SETTINGS: "table.management.column.detail.settings",
COLUMN_DESCRIPTION: "table.management.column.description",
COLUMN_NULLABLE: "table.management.column.nullable",
COLUMN_DEFAULT_VALUE: "table.management.column.default.value",
COLUMN_MAX_LENGTH: "table.management.column.max.length",
COLUMN_NUMERIC_PRECISION: "table.management.column.numeric.precision",
COLUMN_NUMERIC_SCALE: "table.management.column.numeric.scale",
COLUMN_CODE_CATEGORY: "table.management.column.code.category",
COLUMN_CODE_VALUE: "table.management.column.code.value",
COLUMN_REFERENCE_TABLE: "table.management.column.reference.table",
COLUMN_REFERENCE_COLUMN: "table.management.column.reference.column",
// 웹 타입 옵션
WEB_TYPE_TEXT: "table.management.web.type.text",
WEB_TYPE_TEXT_DESC: "table.management.web.type.text.description",
WEB_TYPE_NUMBER: "table.management.web.type.number",
WEB_TYPE_NUMBER_DESC: "table.management.web.type.number.description",
WEB_TYPE_DATE: "table.management.web.type.date",
WEB_TYPE_DATE_DESC: "table.management.web.type.date.description",
WEB_TYPE_CODE: "table.management.web.type.code",
WEB_TYPE_CODE_DESC: "table.management.web.type.code.description",
WEB_TYPE_ENTITY: "table.management.web.type.entity",
WEB_TYPE_ENTITY_DESC: "table.management.web.type.entity.description",
2025-09-01 11:48:12 +09:00
WEB_TYPE_TEXTAREA: "table.management.web.type.textarea",
WEB_TYPE_TEXTAREA_DESC: "table.management.web.type.textarea.description",
WEB_TYPE_SELECT: "table.management.web.type.select",
WEB_TYPE_SELECT_DESC: "table.management.web.type.select.description",
WEB_TYPE_CHECKBOX: "table.management.web.type.checkbox",
WEB_TYPE_CHECKBOX_DESC: "table.management.web.type.checkbox.description",
WEB_TYPE_RADIO: "table.management.web.type.radio",
WEB_TYPE_RADIO_DESC: "table.management.web.type.radio.description",
WEB_TYPE_FILE: "table.management.web.type.file",
WEB_TYPE_FILE_DESC: "table.management.web.type.file.description",
WEB_TYPE_DECIMAL: "table.management.web.type.decimal",
WEB_TYPE_DECIMAL_DESC: "table.management.web.type.decimal.description",
WEB_TYPE_DATETIME: "table.management.web.type.datetime",
WEB_TYPE_DATETIME_DESC: "table.management.web.type.datetime.description",
WEB_TYPE_BOOLEAN: "table.management.web.type.boolean",
WEB_TYPE_BOOLEAN_DESC: "table.management.web.type.boolean.description",
WEB_TYPE_EMAIL: "table.management.web.type.email",
WEB_TYPE_EMAIL_DESC: "table.management.web.type.email.description",
WEB_TYPE_TEL: "table.management.web.type.tel",
WEB_TYPE_TEL_DESC: "table.management.web.type.tel.description",
WEB_TYPE_URL: "table.management.web.type.url",
WEB_TYPE_URL_DESC: "table.management.web.type.url.description",
WEB_TYPE_DROPDOWN: "table.management.web.type.dropdown",
WEB_TYPE_DROPDOWN_DESC: "table.management.web.type.dropdown.description",
2025-11-05 15:23:57 +09:00
WEB_TYPE_CATEGORY: "table.management.web.type.category",
WEB_TYPE_CATEGORY_DESC: "table.management.web.type.category.description",
2025-08-29 10:09:34 +09:00
// 공통 UI 요소
BUTTON_REFRESH: "table.management.button.refresh",
BUTTON_SAVE: "table.management.button.save",
BUTTON_CANCEL: "table.management.button.cancel",
BUTTON_EDIT: "table.management.button.edit",
// 검색 및 필터
SEARCH_PLACEHOLDER: "table.management.search.placeholder",
SELECT_TABLE_PLACEHOLDER: "table.management.select.table.placeholder",
SELECT_CODE_PLACEHOLDER: "table.management.select.code.placeholder",
// 메시지
MESSAGE_LOADING_TABLES: "table.management.message.loading.tables",
MESSAGE_LOADING_COLUMNS: "table.management.message.loading.columns",
MESSAGE_TABLES_LOADED: "table.management.message.tables.loaded",
MESSAGE_COLUMNS_LOADED: "table.management.message.columns.loaded",
MESSAGE_SAVE_SUCCESS: "table.management.message.save.success",
MESSAGE_SAVE_ERROR: "table.management.message.save.error",
MESSAGE_NO_TABLES: "table.management.message.no.tables",
MESSAGE_NO_COLUMNS: "table.management.message.no.columns",
// 상태 및 라벨
STATUS_ACTIVE: "table.management.status.active",
STATUS_INACTIVE: "table.management.status.inactive",
LABEL_YES: "table.management.label.yes",
LABEL_NO: "table.management.label.no",
LABEL_NONE: "table.management.label.none",
// 도움말 및 설명
HELP_WEB_TYPE: "table.management.help.web.type",
HELP_CODE_CATEGORY: "table.management.help.code.category",
HELP_REFERENCE_TABLE: "table.management.help.reference.table",
} as const;
// 웹 타입 옵션을 다국어 키와 매핑
export const WEB_TYPE_OPTIONS_WITH_KEYS = [
{
value: "text",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_TEXT,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_TEXT_DESC,
},
{
value: "number",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_NUMBER,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_NUMBER_DESC,
},
{
value: "date",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_DATE,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_DATE_DESC,
},
{
value: "code",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_CODE,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_CODE_DESC,
},
{
value: "entity",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_ENTITY,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_ENTITY_DESC,
},
2025-09-01 11:48:12 +09:00
{
value: "textarea",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_TEXTAREA,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_TEXTAREA_DESC,
},
{
value: "select",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_SELECT,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_SELECT_DESC,
},
{
value: "checkbox",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_CHECKBOX,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_CHECKBOX_DESC,
},
{
value: "radio",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_RADIO,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_RADIO_DESC,
},
{
value: "file",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_FILE,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_FILE_DESC,
},
{
value: "decimal",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_DECIMAL,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_DECIMAL_DESC,
},
{
value: "datetime",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_DATETIME,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_DATETIME_DESC,
},
{
value: "boolean",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_BOOLEAN,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_BOOLEAN_DESC,
},
{
value: "email",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_EMAIL,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_EMAIL_DESC,
},
{
value: "tel",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_TEL,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_TEL_DESC,
},
{
value: "url",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_URL,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_URL_DESC,
},
{
value: "dropdown",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_DROPDOWN,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_DROPDOWN_DESC,
},
2025-11-05 15:23:57 +09:00
{
value: "category",
labelKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_CATEGORY,
descriptionKey: TABLE_MANAGEMENT_KEYS.WEB_TYPE_CATEGORY_DESC,
},
2025-08-29 10:09:34 +09:00
] as const;