amis-model-design
Version:
amis模型设计器
71 lines (70 loc) • 2.87 kB
TypeScript
import { FieldItem, RelationShipItem } from '../type';
import { BaseSchemaBuilder, EditorView } from './SchemaBuilder';
import { PageFormSchemaBuilder } from './PageForm';
import { ApiBuilder } from './ApiBuilder';
export interface PageTableListBuildOptions {
title?: string;
subTitle?: string;
remark?: string;
tablePlaceholder?: any;
listFields: Array<FieldItem | RelationShipItem>;
viewFields?: Array<FieldItem | RelationShipItem>;
createFields?: Array<FieldItem | RelationShipItem>;
updateFields?: Array<FieldItem | RelationShipItem>;
bulkEditFields?: Array<FieldItem | RelationShipItem>;
filters?: Array<any>;
enableBulkDelete?: boolean;
enableBulkEdit?: boolean;
enableExportData?: boolean;
enableImportData?: boolean;
enableKeywordsFilter?: boolean;
keywordsFields?: Array<FieldItem>;
showDetail?: boolean;
detailLabel?: string;
detailModalType?: 'dialog' | 'drawer';
detailModalSize?: 'sm' | 'base' | 'md' | 'lg';
enableCreate?: boolean;
createLabel?: string;
createModalType?: 'dialog' | 'drawer';
createModalSize?: 'sm' | 'base' | 'md' | 'lg';
enableUpdate?: boolean;
updateLabel?: string;
updateModalType?: 'dialog' | 'drawer';
updateModalSize?: 'sm' | 'base' | 'md' | 'lg';
enableDelete?: boolean;
deleteLabel?: string;
enableFilter?: boolean;
enableTruncatData?: boolean;
showRefresher?: boolean;
defaultOrderBy?: string;
defaultOrderDir?: string;
enableSearchable?: boolean;
}
export declare class PageTableListSchemaBuilder extends BaseSchemaBuilder<PageTableListBuildOptions> {
static id: string;
readonly formBuilder: PageFormSchemaBuilder;
setTraceMode(value: boolean): void;
/**
* 构建默认配置项
* @returns
*/
makeDefaultOptions(): PageTableListBuildOptions;
/**
* 基于配置项构建构建页面
* @param options
* @returns
*/
build(options?: PageTableListBuildOptions): Promise<any>;
protected buildColumn(field: FieldItem, ab?: ApiBuilder, options?: PageTableListBuildOptions): Promise<import("amis").Schema | undefined>;
protected buildTableList(options: PageTableListBuildOptions): Promise<any>;
protected buildDetailForm(options: PageTableListBuildOptions): Promise<import("amis").Schema>;
protected buildStoreForm(options: PageTableListBuildOptions): Promise<import("amis").Schema>;
protected buildUpdateForm(options: PageTableListBuildOptions): Promise<import("amis").Schema>;
protected buildBulkUpdateForm(options: PageTableListBuildOptions): Promise<import("amis").Schema>;
getEditorViews(options: PageTableListBuildOptions): EditorView[];
buildPartialView(options: PageTableListBuildOptions, editorView: string): Promise<any>;
/**
* 构建配置面板
*/
initEditor(): void;
}