import { FormSchema } from '/@/components/Form';

export const snmpSchemas: FormSchema[] = [
  {
    field: 'timeoutMs',
    component: 'InputNumber',
    label: '超时毫秒',
    required: true,
    defaultValue: 500,
    colProps: { span: 11 },
  },
  {
    field: 'retries',
    component: 'InputNumber',
    label: '重试次数',
    required: true,
    defaultValue: 0,
    colProps: { span: 11 },
  },
  {
    field: '1',
    component: 'Input',
    label: '',
    slot: 'add',
    colProps: { span: 11 },
  },
];

export const snmpLeftSchemas: FormSchema[] = [
  {
    field: 'spec',
    component: 'Select',
    label: 'Scope',
    defaultValue: 'CLIENT_ATTRIBUTES_QUERYING',
    componentProps: {
      options: [
        {
          label: 'Telemetry',
          value: 'TELEMETRY_QUERYING',
        },
        {
          label: 'Client attributes',
          value: 'CLIENT_ATTRIBUTES_QUERYING',
        },
        {
          label: 'Shared attributes',
          value: 'SHARED_ATTRIBUTES_SETTING',
        },
        {
          label: 'RPC request',
          value: 'TO_DEVICE_RPC_REQUEST',
        },
      ],
    },
    colProps: { span: 11 },
  },
];

export const snmpRightSchemas: FormSchema[] = [
  {
    field: 'queryingFrequencyMs',
    component: 'InputNumber',
    label: '查询频率，毫秒',
    required: true,
    defaultValue: 5000,
    colProps: { span: 22 },
  },
];

export const snmpRightSelectSchemas: FormSchema[] = [
  {
    field: 'dataType',
    component: 'Select',
    label: 'Type',
    defaultValue: '字符串',
    componentProps: {
      options: [
        {
          label: '字符串',
          value: '字符串',
        },
        {
          label: '数字',
          value: '数字',
        },
        {
          label: '布尔值',
          value: '布尔值',
        },
        {
          label: '双精度小数',
          value: '双精度小数',
        },
        {
          label: 'JSON',
          value: 'JSON',
        },
      ],
    },
    colProps: { span: 11 },
  },
];

export const snmpRightInputSchemas: FormSchema[] = [
  {
    field: 'key',
    component: 'Input',
    label: 'Data key',
    required: true,
    colProps: { span: 11 },
  },
  {
    field: 'oid',
    component: 'Input',
    label: 'OID',
    required: true,
    colProps: { span: 11 },
  },
];
