create.config.ts 2.29 KB
import { NodeBindDataFieldEnum, NodeBindDataFieldNameEnum } from '../../../enum/node';
import { FormSchema } from '/@/components/Form';

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