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