epic-designer-dev
Version:
基于vue3的设计器,可视化开发页面表单。在epic-designer的基础上新增了字典选择器
78 lines (77 loc) • 4.67 kB
TypeScript
import { FormDataModel } from '../../../../../types/src/index';
export declare function useBuilder(): {
forms: import('vue').Ref<any, any>;
getData: (formName?: string) => Promise<FormDataModel>;
getFormInstance: (formName?: string) => Promise<any>;
getForms: () => Promise<Record<string, FormDataModel>>;
pageManager: {
addComponentInstance: (id: string, instance: import('../../../../../types/src/index').EpicNodeInstance) => void;
addFormData: (formData: Record<string, unknown>, formName?: string) => void;
componentInstances: import('vue').Ref<Record<string, import('../../../../../types/src/index').EpicNodeInstance>, Record<string, import('../../../../../types/src/index').EpicNodeInstance>>;
defaultComponentIds: import('vue').Ref<string[], string[]>;
doActions: (actions: import('../../../../../utils/src/index').ActionsModel[], ...args: unknown[]) => void;
find: (queryValue: string, queryField?: string) => import('../../../../../types/src/index').EpicNodeInstance["exposed"] | null;
findAll: (queryValue: string, queryField?: string) => import('../../../../../types/src/index').EpicNodeInstance["exposed"][];
findInstance: (queryValue: string, queryField?: string) => import('../../../../../types/src/index').EpicNodeInstance | null;
findInstanceAll: (queryValue: string, queryField?: string) => import('../../../../../types/src/index').EpicNodeInstance[];
forms: Record<string, unknown>;
funcs: import('vue').Ref<Record<string, Function>, Record<string, Function>>;
getComponentInstance: (queryValue: string, queryField?: string) => import('../../../../../types/src/index').EpicNodeInstance["exposed"] | null;
isDesignMode: import('vue').Ref<boolean, boolean>;
pageSchema: {
canvas?: {
height?: string | undefined;
mode?: "desktop" | "mobile" | "pad" | "pc" | "tablet" | undefined;
width?: string | undefined;
} | undefined;
schemas: {
[x: string]: any;
children?: /*elided*/ any[] | undefined;
componentProps?: any;
describe?: string | undefined;
editData?: object | undefined;
field?: string | undefined;
id?: string | undefined;
input?: boolean | undefined;
label?: string | undefined;
noFormItem?: boolean | undefined;
on?: {
[eventName: string]: import('../../../../../utils/src/index').ActionsModel[];
} | undefined;
rules?: {
[x: string]: any;
trigger?: string | string[] | undefined;
enum?: Array<boolean | null | number | string | undefined> | undefined;
isValidator?: boolean | undefined;
len?: number | undefined;
max?: number | undefined;
message?: ((a?: string) => string) | string | undefined;
min?: number | undefined;
pattern?: (RegExp | string) | undefined;
required?: boolean | undefined;
type?: string | undefined;
validator?: string | undefined;
whitespace?: boolean | undefined;
}[] | undefined;
show?: ((renderCallbackParams: import('../../../../../types/src/index').RenderCallbackParams) => boolean) | boolean | undefined;
slotName?: string | undefined;
slots?: {
[slotName: string]: import('../../../../../types/src/index').ComponentSchema[];
} | undefined;
type: string;
}[];
script?: string | undefined;
};
removeComponentInstance: (id: string) => void;
setDefaultComponentIds: (schemas: import('../../../../../types/src/index').ComponentSchema[]) => void;
setDesignMode: (isDesign?: boolean) => void;
setFormData: (formData: Record<string, unknown>, formName?: string) => void;
setMethods: (scriptStr: string, outputError?: boolean) => void;
setPageSchema: (schema: import('../../../../../types/src/index').PageSchema) => void;
};
ready: import('vue').Ref<boolean, boolean>;
setData: (data: FormDataModel, formName?: string) => void;
setForms: (data: Record<string, FormDataModel>) => void;
validate: (formName?: string) => Promise<FormDataModel>;
validateAll: () => Promise<Record<string, FormDataModel>>;
};