/*
 * 配置类型
 */
export enum ItemType {
  SEPARATOR = 'separator',
  ALERT = 'alert',
  CARD = 'card',
  COLLAPSE = 'collapse',
  TABS = 'tabs',
  TABS_ITEM = 'tabs_item',
  TEXT = 'text',
  TEXTAREA = 'textarea',
  PASSWORD = 'password',
  CHECKBOX = 'checkbox',
  RADIO = 'radio',
  DATE = 'date',
  DATETIME = 'datetime',
  TIME = 'time',
  SWITCH = 'switch',
  HIDDEN = 'hidden',
  RANGE = 'range',
  DATE_RANGE = 'date_range',
  DATETIME_RANGE = 'datetime_range',
  TIME_RANGE = 'time_range',
  NUMBER = 'number'
}

export const ItemLabels: Record<ItemType, string> = {
  [ItemType.SEPARATOR]: '分割线',
  [ItemType.ALERT]: '提示',
  [ItemType.CARD]: '卡片',
  [ItemType.COLLAPSE]: '折叠面板',
  [ItemType.TABS]: 'Tabs',
  [ItemType.TABS_ITEM]: 'Tabs子项',
  [ItemType.TEXT]: '单行文本',
  [ItemType.TEXTAREA]: '多行文本',
  [ItemType.PASSWORD]: '密码',
  [ItemType.CHECKBOX]: '复选框',
  [ItemType.RADIO]: '单选按钮',
  [ItemType.DATE]: '日期',
  [ItemType.DATETIME]: '日期+时间',
  [ItemType.TIME]: '时间',
  [ItemType.SWITCH]: '开关',
  [ItemType.HIDDEN]: '隐藏',
  [ItemType.RANGE]: '范围',
  [ItemType.DATE_RANGE]: '日期范围',
  [ItemType.DATETIME_RANGE]: '日期时间范围',
  [ItemType.TIME_RANGE]: '时间范围',
  [ItemType.NUMBER]: '数字'
};

export function getItemLabel(type: ItemType): string {
  return ItemLabels[type] || type.toString();
}
