create.config.ts 1.23 KB
import { DetailsListEnum, DetailsListNameEnum } from '../../../enum/form';
import { useRuleChainI18n } from '../../../hook/useRuleChainI18n';
import { FormSchema } from '/@/components/Form';

export enum TenantDetailsFieldsEnum {
  DETAILS_LIST = 'detailsList',
  ADD_TO_METADATA = 'addToMetadata',
}

const { tLabel, tPlaceholder } = useRuleChainI18n('enrichment', 'tenantDetails');

export const formSchemas: FormSchema[] = [
  {
    field: TenantDetailsFieldsEnum.DETAILS_LIST,
    component: 'Select',
    label: tLabel(TenantDetailsFieldsEnum.DETAILS_LIST),
    rules: [
      {
        required: true,
        message: tPlaceholder(TenantDetailsFieldsEnum.DETAILS_LIST, 'choose'),
        type: 'array',
      },
    ],
    componentProps: {
      mode: 'multiple',
      options: Object.keys(DetailsListEnum).map((value) => ({
        label: DetailsListNameEnum[value],
        value,
      })),
      getPopupContainer: () => document.body,
      placeholder: tPlaceholder(TenantDetailsFieldsEnum.DETAILS_LIST, 'choose'),
    },
  },
  {
    field: TenantDetailsFieldsEnum.ADD_TO_METADATA,
    component: 'Checkbox',
    label: '',
    renderComponentContent: () => ({
      default: () => tLabel(TenantDetailsFieldsEnum.ADD_TO_METADATA),
    }),
  },
];