epic-designer-gold
Version:
基于vue3的设计器,可视化开发页面表单
27 lines (26 loc) • 1.3 kB
TypeScript
import { ComponentSchema } from '../../core/types/epic-designer';
import { Ref, ComponentPublicInstance } from 'vue';
export interface ActionsModel {
componentId?: string;
args: string;
methodName: string;
type: "component" | "public" | "custom";
}
export declare function usePageManager(): {
componentInstances: Ref<Record<string, ComponentPublicInstance>, Record<string, ComponentPublicInstance>>;
funcs: Ref<Record<string, any>, Record<string, any>>;
isDesignMode: Ref<boolean, boolean>;
defaultComponentIds: Ref<string[], string[]>;
forms: {};
addFormData: (formData: Record<string, any>, formName?: string) => void;
setFormData: (formData: Record<string, any>, formName?: string) => void;
getComponentInstance: (id: string) => ComponentPublicInstance;
find: (id: 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>;