snowy-designer
Version:
基于Epic-Designer-Pro版本的设计器,可视化开发页面表单
110 lines (109 loc) • 4.85 kB
TypeScript
import { ComponentSchema, EpicNodeInstance } from '../../../types/src/index';
export interface ActionsModel {
args: string;
componentId?: string;
methodName: string;
type: 'component' | 'custom' | 'public';
}
export declare function usePageManager(): {
addComponentInstance: (id: string, instance: EpicNodeInstance) => void;
addFormData: (formData: Record<string, any>, formName?: string) => void;
apiResults: import('vue').Ref<{}, {}>;
clearPollIntervals: () => void;
componentInstances: import('vue').Ref<Record<string, EpicNodeInstance>, Record<string, EpicNodeInstance>>;
defaultComponentIds: import('vue').Ref<string[], string[]>;
doActions: (actions: ActionsModel[], ...args: any) => void;
find: (queryValue: string, queryField?: string) => EpicNodeInstance["exposed"] | null;
findAll: (queryValue: string, queryField?: string) => EpicNodeInstance["exposed"][];
findInstance: (queryValue: string, queryField?: string) => EpicNodeInstance | null;
findInstanceAll: (queryValue: string, queryField?: string) => EpicNodeInstance[];
funcs: import('vue').Ref<Record<string, any>, Record<string, any>>;
getComponentInstance: (queryValue: string, queryField?: string) => EpicNodeInstance["exposed"] | null;
hideSidebar: () => void;
initRequest: (pageSchema: import('../../../types/src/index').PageSchema) => Promise<void>;
isDesignMode: import('vue').Ref<boolean, boolean>;
isSidebarVisible: import('vue').Ref<boolean, boolean>;
pageEntity: {};
pageSchema: {
canvas?: {
height?: string | undefined;
mode?: "desktop" | "mobile" | "pad" | "pc" | "tablet" | undefined;
width?: string | undefined;
} | undefined;
globalApiConfig?: {
apis: {
data?: any;
dataFormat: string;
id: string;
method: "delete" | "get" | "post" | "put";
params?: any;
url: string;
}[];
autoLoad: boolean;
} | undefined;
schemas: {
[x: string]: any;
bindable?: boolean | undefined;
children?: /*elided*/ any[] | undefined;
componentProps?: any;
dataSource?: any;
editData?: any;
field?: string | undefined;
id?: string | undefined;
input?: boolean | undefined;
label?: string | undefined;
noFormItem?: boolean | undefined;
on?: {
[eventName: string]: ActionsModel[];
} | undefined;
onChange?: ((params: {
componentAttributes?: import('../../../types/src/index').AttributeConfig[];
tableJson?: import('../../../types/src/index').TableJson;
value: any;
values: ComponentSchema;
}) => void) | 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?: ((params: {
tableJson?: import('../../../types/src/index').TableJson;
values: ComponentSchema;
}) => boolean) | boolean | undefined;
slotName?: string | undefined;
slots?: {
[slotName: string]: ComponentSchema[];
} | undefined;
status?: {
invalid?: boolean | undefined;
lock?: boolean | undefined;
} | undefined;
type: string;
}[];
script?: string | undefined;
};
removeComponentInstance: (id: string) => void;
removeProperty: (key: string) => void;
setDefaultComponentIds: (schemas: ComponentSchema[]) => void;
setDesignMode: (isDesign?: boolean) => void;
setFormData: (formData: Record<string, any>, formName?: string) => void;
setMethods: (scriptStr: string, outputError?: boolean) => void;
setPageSchema: (schema: import('../../../types/src/index').PageSchema) => void;
setProperty: (key: string, value: any) => void;
showSidebar: () => void;
state: {
[x: string]: any;
};
};
export type PageManager = ReturnType<typeof usePageManager>;