import {
  IColorConfigType,
  IFormItemsConfigType,
  INumberConfigType,
  ITextConfigType,
  TColorDefaultType,
  TFormItemsDefaultType,
  TNumberDefaultType,
  TTextDefaultType,
} from '@/components/PanelComponents/FormEditor/types';

export type TFormEditData = Array<
  ITextConfigType | INumberConfigType | IColorConfigType | ITextConfigType | IFormItemsConfigType
>;
export interface IFormConfig {
  title: TTextDefaultType;
  fontSize: TNumberDefaultType;
  titColor: TColorDefaultType;
  bgColor: TColorDefaultType;
  btnColor: TColorDefaultType;
  btnTextColor: TColorDefaultType;
  api: TTextDefaultType;
  formControls: TFormItemsDefaultType;
}

export interface IFormSchema {
  editData: TFormEditData;
  config: IFormConfig;
}

const Form: IFormSchema = {
  editData: [
    {
      key: 'title',
      name: '标题',
      type: 'Text',
    },
    {
      key: 'fontSize',
      name: '标题大小',
      type: 'Number',
    },
    {
      key: 'titColor',
      name: '标题颜色',
      type: 'Color',
    },
    {
      key: 'bgColor',
      name: '背景色',
      type: 'Color',
    },
    {
      key: 'btnColor',
      name: '按钮颜色',
      type: 'Color',
    },
    {
      key: 'btnTextColor',
      name: '按钮文本颜色',
      type: 'Color',
    },
    {
      key: 'api',
      name: '表单Api地址',
      type: 'Text',
    },
    {
      key: 'formControls',
      name: '表单控件',
      type: 'FormItems',
    },
  ],
  config: {
    title: '表单定制组件',
    fontSize: 18,
    titColor: 'rgba(60,60,60,1)',
    bgColor: 'rgba(255,255,255,1)',
    btnColor: 'rgba(129,173,173,1)',
    btnTextColor: 'rgba(255,255,255,1)',
    api: '',
    formControls: [
      {
        id: '1',
        type: 'Text',
        label: '姓名',
        placeholder: '请输入姓名',
      },
      {
        id: '2',
        type: 'Number',
        label: '年龄',
        placeholder: ' 请输入年龄',
      },
      {
        id: '4',
        type: 'MySelect',
        label: '爱好',
        options: [
          { label: '篮球', value: '1' },
          { label: '乒乓球', value: '2' },
          { label: '健身', value: '3' },
        ],
      },
    ],
  },
};
export default Form;
