create.config.ts 1.54 KB
import { useRuleChainI18n } from '../../../hook/useRuleChainI18n';
import { FormSchema } from '/@/components/Form';

const { tPlaceholder, tLabel } = useRuleChainI18n('action', 'assignToCustomer');

export enum AssignToCustomerFieldsEnum {
  CUSTOMER_NAME_PATTERN = 'customerNamePattern',
  CREATE_CUSTOMER_IF_NOT_EXISTS = 'createCustomerIfNotExists',
  CUSTOMER_CACHE_EXPIRATION = 'customerCacheExpiration',
}

export const formSchemas: FormSchema[] = [
  {
    field: AssignToCustomerFieldsEnum.CUSTOMER_NAME_PATTERN,
    component: 'Input',
    label: tLabel(AssignToCustomerFieldsEnum.CUSTOMER_NAME_PATTERN),
    helpMessage:
      'Hint: use ${metadataKey} for value from metadata, $[messageKey] for value from message body',
    componentProps: {
      placeholder: tPlaceholder(AssignToCustomerFieldsEnum.CUSTOMER_NAME_PATTERN),
    },
  },
  {
    field: AssignToCustomerFieldsEnum.CREATE_CUSTOMER_IF_NOT_EXISTS,
    component: 'Checkbox',
    label: '',
    renderComponentContent: () => ({
      default: () => tLabel(AssignToCustomerFieldsEnum.CREATE_CUSTOMER_IF_NOT_EXISTS),
    }),
  },
  {
    field: AssignToCustomerFieldsEnum.CUSTOMER_CACHE_EXPIRATION,
    component: 'InputNumber',
    label: tLabel(AssignToCustomerFieldsEnum.CUSTOMER_CACHE_EXPIRATION),
    required: true,
    helpMessage:
      'Specifies maximum time interval allowed to store found customer records. 0 value means that records will never expire.',
    componentProps: {
      placeholder: tPlaceholder(AssignToCustomerFieldsEnum.CUSTOMER_CACHE_EXPIRATION),
      min: 0,
    },
  },
];