amis-model-design
Version:
amis模型设计器
47 lines (46 loc) • 2.23 kB
TypeScript
import { BasePlugin } from '../../base/BasePlugin';
import { FormSchema, MayBeSchema, RelationMode } from '../../type';
import { BuildFieldSchemaContext } from '../../base/PluginInterface';
import { ApiBuilder } from '../../schema-builder/ApiBuilder';
export declare class ManyToManyRelationPlugin extends BasePlugin {
static id: string;
registerRelationType(): {
type: RelationMode;
title: string;
description: string;
};
guessFieldOptionsFromSchema(options: Record<string, any>, context: BuildFieldSchemaContext, schema?: any): void;
buildFieldSettingForm(schema: FormSchema, context: BuildFieldSchemaContext, options?: any): Promise<void>;
buildFieldSchema(schema: MayBeSchema, context: BuildFieldSchemaContext, options?: any, ab?: ApiBuilder, originSchema?: any): Promise<void>;
/**
* 构建字段查看模式可配置的属性配置面板表单
*/
buildFieldViewSettingForm(schema: MayBeSchema, context: BuildFieldSchemaContext): Promise<void>;
buildFieldViewSchema(schema: MayBeSchema, context: BuildFieldSchemaContext, options?: {
displayType?: 'dialog' | 'drawer' | 'embed' | 'link';
displayColumns?: Array<string>;
tpl?: string;
quickEdit?: boolean;
[propName: string]: any;
}, ab?: ApiBuilder): Promise<void>;
/**
* 构建字段编辑模式可配置的属性配置面板表单
*/
buildFieldEditSettingForm(schema: MayBeSchema, context: BuildFieldSchemaContext, options?: {
isRelationField?: boolean;
}): Promise<void>;
buildFieldEditSchema(schema: MayBeSchema, context: BuildFieldSchemaContext, options: {
label?: string;
inputType?: 'combo' | 'table' | 'select' | 'checkboxes' | 'list-select' | 'picker';
displayColumns?: Array<string> | string;
inputColumns?: Array<string>;
inputCreatable?: boolean;
inputEditable?: boolean;
inputRemovable?: boolean;
/** 关系表的交互方式 */
interationType?: 'embed' | 'drawer' | 'dialog';
/** 选项类控件的展示标题 */
labelField: string;
[propName: string]: any;
}, ab?: ApiBuilder, originSchema?: any): Promise<void>;
}