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

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

export enum CalculateDeltaFieldsEnum {
  INPUT_VALUE_KEY = 'inputValueKey',
  OUTPUT_VALUE_KEY = 'outputValueKey',
  ROUND = 'round',
  USE_CACHE = 'useCache',
  TELL_FAILURE_IF_DELTA_IS_NEGATIVE = 'tellFailureIfDeltaIsNegative',
  ADD_PERIOD_BETWEEN_MSGS = 'addPeriodBetweenMsgs',
  PERIOD_VALUE_KEY = 'periodValueKey',
}

export const formSchemas: FormSchema[] = [
  {
    field: CalculateDeltaFieldsEnum.INPUT_VALUE_KEY,
    component: 'Input',
    label: tLabel(CalculateDeltaFieldsEnum.INPUT_VALUE_KEY),
    colProps: { span: 8 },
    required: true,
    componentProps: {
      placeholder: tPlaceholder(CalculateDeltaFieldsEnum.INPUT_VALUE_KEY),
    },
  },
  {
    field: CalculateDeltaFieldsEnum.OUTPUT_VALUE_KEY,
    component: 'Input',
    label: tLabel(CalculateDeltaFieldsEnum.OUTPUT_VALUE_KEY),
    colProps: { span: 8 },
    required: true,
    componentProps: {
      placeholder: tPlaceholder(CalculateDeltaFieldsEnum.OUTPUT_VALUE_KEY),
    },
  },
  {
    field: CalculateDeltaFieldsEnum.ROUND,
    component: 'InputNumber',
    label: tLabel(CalculateDeltaFieldsEnum.ROUND),
    colProps: { span: 8 },
    componentProps: {
      step: 1,
      max: 15,
      placeholder: tPlaceholder(CalculateDeltaFieldsEnum.ROUND),
    },
  },
  {
    field: CalculateDeltaFieldsEnum.USE_CACHE,
    component: 'Checkbox',
    label: '',
    renderComponentContent: () => {
      return {
        default: () => tLabel(CalculateDeltaFieldsEnum.USE_CACHE),
      };
    },
  },
  {
    field: CalculateDeltaFieldsEnum.TELL_FAILURE_IF_DELTA_IS_NEGATIVE,
    component: 'Checkbox',
    label: '',
    renderComponentContent: () => {
      return {
        default: () => tLabel(CalculateDeltaFieldsEnum.TELL_FAILURE_IF_DELTA_IS_NEGATIVE),
      };
    },
  },
  {
    field: CalculateDeltaFieldsEnum.ADD_PERIOD_BETWEEN_MSGS,
    component: 'Checkbox',
    label: '',
    renderComponentContent: () => {
      return {
        default: () => tLabel(CalculateDeltaFieldsEnum.ADD_PERIOD_BETWEEN_MSGS),
      };
    },
  },
  {
    field: CalculateDeltaFieldsEnum.PERIOD_VALUE_KEY,
    component: 'Input',
    label: tLabel(CalculateDeltaFieldsEnum.PERIOD_VALUE_KEY),
    required: true,
    ifShow: ({ model }) => model[CalculateDeltaFieldsEnum.ADD_PERIOD_BETWEEN_MSGS],
    componentProps: {
      placeholder: tPlaceholder(CalculateDeltaFieldsEnum.PERIOD_VALUE_KEY),
    },
  },
];