create.config.ts 1.4 KB
import { OriginatorSourceEnum, OriginatorSourceNameEnum } from '../../../enum/form';
import { useRuleChainI18n } from '../../../hook/useRuleChainI18n';

import { RelationsQuery } from '../../../src/components/RelationsQuery';
import { FormSchema, useComponentRegister } from '/@/components/Form';

export enum ChangeOriginatorFieldsEnum {
  ORIGINATOR_SOURCE = 'originatorSource',
  RELATIONS_QUERY = 'relationsQuery',
}

const { tLabel, tPlaceholder } = useRuleChainI18n('transformation', 'changeOriginator');

useComponentRegister('RelationsQuery', RelationsQuery);

export const formSchemas: FormSchema[] = [
  {
    field: ChangeOriginatorFieldsEnum.ORIGINATOR_SOURCE,
    component: 'Select',
    label: tLabel(ChangeOriginatorFieldsEnum.ORIGINATOR_SOURCE),
    required: true,
    componentProps: {
      options: Object.keys(OriginatorSourceEnum).map((value) => ({
        label: OriginatorSourceNameEnum[value],
        value,
      })),
      getPopupContainer: () => document.body,
      placeholder: tPlaceholder(ChangeOriginatorFieldsEnum.ORIGINATOR_SOURCE, 'choose'),
    },
  },
  {
    field: ChangeOriginatorFieldsEnum.RELATIONS_QUERY,
    component: 'RelationsQuery',
    label: tLabel(ChangeOriginatorFieldsEnum.RELATIONS_QUERY),
    slot: ChangeOriginatorFieldsEnum.RELATIONS_QUERY,
    ifShow: ({ model }) =>
      model[ChangeOriginatorFieldsEnum.ORIGINATOR_SOURCE] === OriginatorSourceEnum.RELATED,
  },
];