gepic
Version:
基于vue3的设计器,可视化开发页面表单
69 lines (68 loc) • 3.27 kB
TypeScript
import { ComponentSchema } from '@epic-designer/core/types/epic-designer';
import { ComponentPublicInstance } from 'vue';
export interface ActionsModel {
componentId?: string;
args: string;
methodName: string;
type: "component" | "public" | "custom";
}
export declare function usePageManager(): {
componentInstances: import('vue').Ref<Record<string, ComponentPublicInstance>, Record<string, ComponentPublicInstance>>;
funcs: import('vue').Ref<Record<string, any>, Record<string, any>>;
isDesignMode: import('vue').Ref<boolean, boolean>;
defaultComponentIds: import('vue').Ref<string[], string[]>;
pageSchema: {
schemas: {
[x: string]: any;
id?: string | undefined;
type: string;
label?: string | undefined;
field?: string | undefined;
componentProps?: any;
slotName?: string | undefined;
rules?: {
[x: string]: any;
trigger?: string | string[] | undefined;
required?: boolean | undefined;
type?: string | undefined;
pattern?: (RegExp | string) | undefined;
min?: number | undefined;
max?: number | undefined;
len?: number | undefined;
enum?: Array<string | number | boolean | null | undefined> | undefined;
whitespace?: boolean | undefined;
validator?: string | undefined;
isValidator?: boolean | undefined;
message?: string | ((a?: string) => string) | undefined;
}[] | undefined;
noFormItem?: boolean | undefined;
input?: boolean | undefined;
children?: /*elided*/ any[] | undefined;
slots?: {
[slotName: string]: ComponentSchema[];
} | undefined;
show?: boolean | ((renderCallbackParams: import('@epic-designer/core/types/epic-designer').RenderCallbackParams) => boolean) | undefined;
editData?: any;
}[];
canvas?: {
width?: string | undefined;
height?: string | undefined;
mode?: string | undefined;
} | undefined;
script?: string | undefined;
};
setPageSchema: (schema: import('@epic-designer/core/types/epic-designer').PageSchema) => void;
forms: {};
addFormData: (formData: Record<string, any>, formName?: string) => void;
setFormData: (formData: Record<string, any>, formName?: string) => void;
getComponentInstance: (queryValue: string, queryField?: string) => ComponentPublicInstance | null;
find: (queryValue: string, queryField?: string) => ComponentPublicInstance | null;
findAll: (queryValue: string, queryField?: string) => ComponentPublicInstance[];
addComponentInstance: (id: string, instance: ComponentPublicInstance) => void;
removeComponentInstance: (id: string) => void;
setMethods: (scriptStr: string, outputError?: boolean) => void;
doActions: (actions: ActionsModel[], ...args: any) => void;
setDesignMode: (isDesign?: boolean) => void;
setDefaultComponentIds: (schemas: ComponentSchema[]) => void;
};
export type PageManager = ReturnType<typeof usePageManager>;