amis-model-design
Version:
amis模型设计器
113 lines (112 loc) • 2.95 kB
TypeScript
/**
* 这个是给模型组件用的
*/
import { FieldItem } from '../type';
import { ApiBuilder } from './ApiBuilder';
import { FormSchemaBuilder } from './Form';
import { BaseSchemaBuilder } from './SchemaBuilder';
type ConditionField = any;
export interface TableListBuildOptions {
/**
* 开启哪些功能
*/
features: Array<string>;
/**
* 列表字段信息
*/
schemaFields: Array<{
data: any;
enabled: boolean;
}>;
/**
* 简单搜索字段
*/
simpleFilters?: Array<{
data: any;
enabled: boolean;
}>;
/**
* 是否开启模糊搜索
*/
keywordsFilter?: boolean;
keywordsFilters?: Array<{
field: FieldItem;
enabled: boolean;
}>;
advancedFilter?: boolean;
advancedFilters?: Array<{
field: ConditionField;
enabled: boolean;
}>;
/**
* 新增字段信息,这个可能并不会存储。
*/
createSchemaFields?: Array<{
data: any;
enabled: boolean;
}>;
/**
* 更新字段信息,这个可能并不会存储
*/
updateSchemaFields?: Array<{
data: any;
enabled: boolean;
}>;
/**
* 更新字段信息,这个可能并不会存储
*/
bulkUpdateSchemaFields?: Array<{
data: any;
enabled: boolean;
}>;
/**
* 详情字段信息,这个可能也不会存储
*/
viewSchemaFields?: Array<{
data: any;
enabled: boolean;
}>;
/**
* 预设条件
*/
presetConditions?: any;
dsId: string;
dsKey: string;
id: string;
key: string;
name: string;
dsName: string;
schema?: any;
req?: Request;
}
export declare class TableListSchemaBuilder extends BaseSchemaBuilder {
static id: string;
readonly formBuilder: FormSchemaBuilder;
setTraceMode(value: boolean): void;
makeDefaultOptions(): Promise<TableListBuildOptions>;
/**
* 从 schema 中反推用了哪些功能
*/
guessOptionsFromSchema(schema: any): Promise<TableListBuildOptions>;
protected buildColumn(field: FieldItem, options: any, ab?: ApiBuilder): Promise<import("amis-core").Schema | undefined>;
extractFieldsAndActions(schema: any): {
fields: any[];
actions: any[];
};
build(options?: TableListBuildOptions, originSchema?: any): Promise<any>;
/**
* 生成表单结构
*
* @returns 返回生成的表单结构
*/
genScaffoldForm(): Promise<any[]>;
/**
* 生成面板表单
*
* @returns 返回面板表单数组
*/
genPanelForm(): Promise<any[]>;
genFieldPanelForm(options: TableListBuildOptions, field: FieldItem, region: string): Promise<any>;
buildFieldSchema(options: TableListBuildOptions, field: FieldItem, fieldOptions: any, region: string): Promise<import("amis-core").Schema | undefined>;
}
export {};