create.config.ts 1.39 KB
import { FormSchema, useComponentRegister } from '/@/components/Form';
import { CredentialsCard } from './CredentialsCard';

import { useRuleChainI18n } from '../../../hook/useRuleChainI18n';
import { AzureIotHubFieldsEnum } from './enum';

const { tLabel, tPlaceholder } = useRuleChainI18n('external', 'azureIotHub');

useComponentRegister('CredentialsCard', CredentialsCard);

export const formSchemas: FormSchema[] = [
  {
    field: AzureIotHubFieldsEnum.TOPIC_PATTERN,
    label: tLabel(AzureIotHubFieldsEnum.TOPIC_PATTERN),
    component: 'Input',
    required: true,
    helpMessage:
      'Hint: use ${metadataKey} for value from metadata, $[messageKey] for value from message body',
    componentProps: {
      placeholder: tPlaceholder(AzureIotHubFieldsEnum.TOPIC_PATTERN),
    },
  },
  {
    field: AzureIotHubFieldsEnum.HOST,
    label: tLabel(AzureIotHubFieldsEnum.HOST),
    component: 'Input',
    required: true,
    componentProps: {
      placeholder: tPlaceholder(AzureIotHubFieldsEnum.HOST),
    },
  },
  {
    field: AzureIotHubFieldsEnum.CLIENT_ID,
    label: tLabel(AzureIotHubFieldsEnum.CLIENT_ID),
    component: 'Input',
    required: true,
    componentProps: {
      placeholder: tPlaceholder(AzureIotHubFieldsEnum.CLIENT_ID),
    },
  },
  {
    field: AzureIotHubFieldsEnum.CREDENTIALS,
    label: '',
    component: 'CredentialsCard',
    slot: AzureIotHubFieldsEnum.CREDENTIALS,
  },
];