create.config.ts 2.61 KB
import {
  OriginatorAttributesEnum,
  OriginatorAttributesNameEnum,
} from '../../../enum/formField/enrichment';
import { FormSchema } from '/@/components/Form';

export const formSchemas: FormSchema[] = [
  {
    field: OriginatorAttributesEnum.TELL_FAILURE_IF_ABSENT,
    component: 'Checkbox',
    label: OriginatorAttributesNameEnum.TELL_FAILURE_IF_ABSENT,
    renderComponentContent: () => ({
      default: () =>
        'If at least one selected key doesn\'t exist the outbound message will report "Failure".',
    }),
  },
  {
    field: OriginatorAttributesEnum.CLIENT_ATTRIBUTE_NAMES,
    component: 'Select',
    label: OriginatorAttributesNameEnum.CLIENT_ATTRIBUTE_NAMES,
    helpMessage: [
      `Hint: use \${metadataKey} for value from metadata, $[messageKey] for value from message body`,
    ],
    componentProps: {
      mode: 'tags',
      open: false,
      placeholder: `请输入${OriginatorAttributesNameEnum.CLIENT_ATTRIBUTE_NAMES}`,
    },
  },
  {
    field: OriginatorAttributesEnum.SHARED_ATTRIBUTE_NAMES,
    component: 'Select',
    label: OriginatorAttributesNameEnum.SHARED_ATTRIBUTE_NAMES,
    helpMessage: [
      `Hint: use \${metadataKey} for value from metadata, $[messageKey] for value from message body`,
    ],
    componentProps: {
      mode: 'tags',
      open: false,
      placeholder: `请输入${OriginatorAttributesNameEnum.SHARED_ATTRIBUTE_NAMES}`,
    },
  },
  {
    field: OriginatorAttributesEnum.SERVER_ATTRIBUTE_NAMES,
    component: 'Select',
    label: OriginatorAttributesNameEnum.SERVER_ATTRIBUTE_NAMES,
    helpMessage: [
      `Hint: use \${metadataKey} for value from metadata, $[messageKey] for value from message body`,
    ],
    componentProps: {
      mode: 'tags',
      open: false,
      placeholder: `请输入${OriginatorAttributesNameEnum.SERVER_ATTRIBUTE_NAMES}`,
    },
  },
  {
    field: OriginatorAttributesEnum.LATEST_TS_KEY_NAMES,
    component: 'Select',
    label: OriginatorAttributesNameEnum.LATEST_TS_KEY_NAMES,
    helpMessage: [
      `Hint: use \${metadataKey} for value from metadata, $[messageKey] for value from message body`,
    ],
    componentProps: {
      mode: 'tags',
      open: false,
      placeholder: `请输入${OriginatorAttributesNameEnum.LATEST_TS_KEY_NAMES}`,
    },
  },
  {
    field: OriginatorAttributesEnum.GET_LATEST_VALUE_WITH_TS,
    component: 'Checkbox',
    label: OriginatorAttributesNameEnum.GET_LATEST_VALUE_WITH_TS,
    renderComponentContent: () => ({
      default: () =>
        'If selected, latest telemetry values will be added to the outbound message metadata with timestamp, e.g: "temp": "{"ts":1574329385897, "value":42}"',
    }),
  },
];