create.config.ts 1.25 KB
import { useRuleChainI18n } from '../../../hook/useRuleChainI18n';
import { JavascriptEditorWithTestModal } from '../../../src/components/JavaScriptFilterModal';
import { FormSchema, useComponentRegister } from '/@/components/Form';

useComponentRegister('JavascriptEditorWithTestModal', JavascriptEditorWithTestModal);

export enum ClearAlarmFieldsEnum {
  ALARM_TYPE = 'alarmType',
  ALARM_DETAILS_BUILD_JS = 'alarmDetailsBuildJs',
}

const { tLabel, tPlaceholder, t } = useRuleChainI18n('action', 'clearAlarm');

export const formSchemas: FormSchema[] = [
  {
    field: ClearAlarmFieldsEnum.ALARM_DETAILS_BUILD_JS,
    component: 'JavascriptEditorWithTestModal',
    label: tLabel(ClearAlarmFieldsEnum.ALARM_DETAILS_BUILD_JS),
    changeEvent: 'update:value',
    componentProps: {
      javaScriptEditorProps: {
        functionName: 'Details',
        paramsName: ['msg', 'metadata', 'msgType'],
        scriptType: 'json',
      },
      buttonName: t('rule.chain.action.clearAlarm.fields.alarmTypeButtonName'),
    },
  },
  {
    field: ClearAlarmFieldsEnum.ALARM_TYPE,
    component: 'Input',
    label: tLabel(ClearAlarmFieldsEnum.ALARM_TYPE),
    required: true,
    componentProps: {
      placeholder: tPlaceholder(ClearAlarmFieldsEnum.ALARM_TYPE),
    },
  },
];