amis-model-design
Version:
amis模型设计器
48 lines (47 loc) • 1.62 kB
TypeScript
/**
* 这个是给模型组件用的
*/
import { FieldItem } from '../type';
import { BaseSchemaBuilder } from './SchemaBuilder';
export type FormBuilderBehavior = 'view' | 'create' | 'view-or-create' | 'update' | 'update-or-create' | 'bulk-update';
export interface FormBuildOptions {
behavior: FormBuilderBehavior;
isUnderList?: boolean;
id: string;
name: string;
key: string;
title?: string;
dsId: string;
dsKey: string;
dsName: string;
schemaFields: Array<{
enabled: boolean;
data: any;
[propName: string]: any;
}>;
createFields?: Array<{
enabled: boolean;
data: any;
}>;
presetConditions?: any;
notFoundMsg?: string;
schema?: any;
}
export declare const behaviorMapping: {
create: string;
view: string;
'view-or-create': string;
'update-or-create': string;
update: string;
'bulk-update': string;
};
export declare class FormSchemaBuilder extends BaseSchemaBuilder<FormBuildOptions> {
static id: string;
makeDefaultOptions(behavior?: FormBuilderBehavior): Promise<FormBuildOptions>;
guessOptionsFromSchema(schema: any, behavior?: FormBuilderBehavior): Promise<FormBuildOptions>;
build(options?: FormBuildOptions, schema?: any): Promise<any>;
genScaffoldForm(): Promise<any[]>;
genPanelForm(): Promise<any[]>;
genFieldPanelForm(options: FormBuildOptions, field: FieldItem, region: string): Promise<any>;
buildFieldSchema(options: FormBuildOptions, field: FieldItem, fieldOptions: any, region: string): Promise<import("amis-core").Schema | undefined>;
}