import { type AuthRole, type RuntimeM2OField, SubmitRelationHandler, SubmitValue } from '@oinone/kunlun-engine'; import { ModelFieldType, ViewType } from '@oinone/kunlun-meta'; import { SPI } from '@oinone/kunlun-spi'; import { FormFieldWidget } from '../../../../basic'; import { AbstractFormRoleFieldWidget } from '../../abstract'; @SPI.ClassFactory( FormFieldWidget.Token({ viewType: [ViewType.Form, ViewType.Search], ttype: ModelFieldType.ManyToOne, widget: 'Role' }) ) export class FormM2ORoleFieldWidget extends AbstractFormRoleFieldWidget { public async submit(submitValue: SubmitValue) { const { field, itemName, value, viewMode, submitCache, submitType, relationUpdateType } = this; return SubmitRelationHandler.M2O( field, itemName, submitValue, value, viewMode, submitCache, submitType, relationUpdateType ); } }