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

const { t } = useI18n();

export const formSchemas: FormSchema[] = [
  {
    field: OriginatorAttributesEnum.TELL_FAILURE_IF_ABSENT,
    component: 'Checkbox',
    label: t(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: t(OriginatorAttributesNameEnum.CLIENT_ATTRIBUTE_NAMES),
    helpMessage: [
      `Hint: use \${metadataKey} for value from metadata, $[messageKey] for value from message body`,
    ],
    componentProps: {
      mode: 'tags',
      open: false,
      placeholder: `请输入${t(OriginatorAttributesNameEnum.CLIENT_ATTRIBUTE_NAMES)}`,
    },
  },
  {
    field: OriginatorAttributesEnum.SHARED_ATTRIBUTE_NAMES,
    component: 'Select',
    label: t(OriginatorAttributesNameEnum.SHARED_ATTRIBUTE_NAMES),
    helpMessage: [
      `Hint: use \${metadataKey} for value from metadata, $[messageKey] for value from message body`,
    ],
    componentProps: {
      mode: 'tags',
      open: false,
      placeholder: `请输入${t(OriginatorAttributesNameEnum.SHARED_ATTRIBUTE_NAMES)}`,
    },
  },
  {
    field: OriginatorAttributesEnum.SERVER_ATTRIBUTE_NAMES,
    component: 'Select',
    label: t(OriginatorAttributesNameEnum.SERVER_ATTRIBUTE_NAMES),
    helpMessage: [
      `Hint: use \${metadataKey} for value from metadata, $[messageKey] for value from message body`,
    ],
    componentProps: {
      mode: 'tags',
      open: false,
      placeholder: `请输入${t(OriginatorAttributesNameEnum.SERVER_ATTRIBUTE_NAMES)}`,
    },
  },
  {
    field: OriginatorAttributesEnum.LATEST_TS_KEY_NAMES,
    component: 'Select',
    label: t(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: `请输入${t(OriginatorAttributesNameEnum.LATEST_TS_KEY_NAMES)}`,
    },
  },
  {
    field: OriginatorAttributesEnum.GET_LATEST_VALUE_WITH_TS,
    component: 'Checkbox',
    label: t(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}"',
    }),
  },
];