UNPKG

gepic

Version:

基于vue3的设计器,可视化开发页面表单

465 lines (464 loc) 25.8 kB
import { ComponentSchema, PageSchema } from '../../../types/epic-designer'; import { DesignerProps } from './types'; /** * 接受一个PageSchema对象作为参数。根据传入的schemas和script属性,更新页面对应的数据 * @param pageSchema */ declare function setData(schema: PageSchema): void; /** * 返回当前页面数据的 PageSchema 对象,包含页面当前的 schemas 和 script 数据。 */ declare function getData(): PageSchema; /** * 重置页面数据为默认数据。 */ declare function reset(): void; /** * 保存数据 */ declare function handleSave(): void; /** * 预览 */ declare function handlePreview(): void; declare function __VLS_template(): { attrs: Partial<{}>; slots: { header?(_: {}): any; 'header-prefix'?(_: {}): any; 'header-prefix'?(_: {}): any; 'header-title'?(_: {}): any; 'header-right-prefix'?(_: {}): any; 'header-right-action'?(_: {}): any; 'header-right-suffix'?(_: {}): any; }; refs: { previewRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{ hideConfirm?: boolean; width?: string; }> & Readonly<{}>, { handleOpen: () => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, { width: string; }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, { kb: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{ pageSchema: PageSchema; formData?: import('../../../types/epic-designer').FormDataModel; disabled?: boolean; }> & Readonly<{ onReady?: ((...args: unknown[] & []) => any) | undefined; }>, { ready: import('vue').Ref<boolean, boolean>; pageManager: { componentInstances: import('vue').Ref<Record<string, import('vue').ComponentPublicInstance>, Record<string, import('vue').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('../../../types/epic-designer').RenderCallbackParams) => boolean) | undefined; editData?: any; }[]; canvas?: { width?: string | undefined; height?: string | undefined; mode?: string | undefined; } | undefined; script?: string | undefined; }; setPageSchema: (schema: PageSchema) => void; forms: {}; addFormData: (formData: Record<string, any>, formName?: string) => void; setFormData: (formData: Record<string, any>, formName?: string) => void; getComponentInstance: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null; find: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null; findAll: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance[]; addComponentInstance: (id: string, instance: import('vue').ComponentPublicInstance) => void; removeComponentInstance: (id: string) => void; setMethods: (scriptStr: string, outputError?: boolean) => void; doActions: (actions: import('@epic-designer/utils').ActionsModel[], ...args: any) => void; setDesignMode: (isDesign?: boolean) => void; setDefaultComponentIds: (schemas: ComponentSchema[]) => void; }; getData: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>; setData: (data: import('../../../types/epic-designer').FormDataModel, formName?: string) => void; validate: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>; getForms: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>; setForms: (data: Record<string, import('../../../types/epic-designer').FormDataModel>) => void; validateAll: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>; getFormInstance: (formName?: string) => Promise<any>; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { ready: ((...args: unknown[]) => any) | (() => any); }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<{ pageSchema: PageSchema; formData?: import('../../../types/epic-designer').FormDataModel; disabled?: boolean; }> & Readonly<{ onReady?: ((...args: unknown[] & []) => any) | undefined; }>, { ready: import('vue').Ref<boolean, boolean>; pageManager: { componentInstances: import('vue').Ref<Record<string, import('vue').ComponentPublicInstance>, Record<string, import('vue').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('../../../types/epic-designer').RenderCallbackParams) => boolean) | undefined; editData?: any; }[]; canvas?: { width?: string | undefined; height?: string | undefined; mode?: string | undefined; } | undefined; script?: string | undefined; }; setPageSchema: (schema: PageSchema) => void; forms: {}; addFormData: (formData: Record<string, any>, formName?: string) => void; setFormData: (formData: Record<string, any>, formName?: string) => void; getComponentInstance: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null; find: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null; findAll: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance[]; addComponentInstance: (id: string, instance: import('vue').ComponentPublicInstance) => void; removeComponentInstance: (id: string) => void; setMethods: (scriptStr: string, outputError?: boolean) => void; doActions: (actions: import('@epic-designer/utils').ActionsModel[], ...args: any) => void; setDesignMode: (isDesign?: boolean) => void; setDefaultComponentIds: (schemas: ComponentSchema[]) => void; }; getData: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>; setData: (data: import('../../../types/epic-designer').FormDataModel, formName?: string) => void; validate: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>; getForms: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>; setForms: (data: Record<string, import('../../../types/epic-designer').FormDataModel>) => void; validateAll: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>; getFormInstance: (formName?: string) => Promise<any>; }, {}, {}, {}, {}> | null; monacoEditorRef: unknown; }, any, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<{ hideConfirm?: boolean; width?: string; }> & Readonly<{}>, { handleOpen: () => void; }, {}, {}, {}, { width: string; }> | null; }; rootEl: any; }; type __VLS_TemplateResult = ReturnType<typeof __VLS_template>; declare const __VLS_component: import('vue').DefineComponent<DesignerProps, { revoke: { recordList: import('vue').Ref<{ type: string; componentSchema: string; }[], import('@epic-designer/utils').RecordModel[] | { type: string; componentSchema: string; }[]>; undoList: import('vue').Ref<{ type: string; componentSchema: string; }[], import('@epic-designer/utils').RecordModel[] | { type: string; componentSchema: string; }[]>; currentRecord: import('vue').Ref<{ type: string; componentSchema: string; } | null, import('@epic-designer/utils').RecordModel | { type: string; componentSchema: string; } | null>; push: (componentSchema: ComponentSchema[], type?: string) => void; undo: () => import('@epic-designer/utils').RecordModel | false; redo: () => import('@epic-designer/utils').RecordModel | false; reset: () => void; }; setData: typeof setData; getData: typeof getData; reset: typeof reset; preview: typeof handlePreview; save: typeof handleSave; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { reset: (...args: any[]) => void; ready: (...args: any[]) => void; save: (...args: any[]) => void; imported: (...args: any[]) => void; toggleDeviceMode: (...args: any[]) => void; }, string, import('vue').PublicProps, Readonly<DesignerProps> & Readonly<{ onReset?: ((...args: any[]) => any) | undefined; onReady?: ((...args: any[]) => any) | undefined; onSave?: ((...args: any[]) => any) | undefined; onImported?: ((...args: any[]) => any) | undefined; onToggleDeviceMode?: ((...args: any[]) => any) | undefined; }>, { title: string; disabledZoom: boolean; draggable: boolean; hiddenHeader: boolean; lockDefaultSchemaEdit: boolean; formMode: boolean; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, { previewRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{ hideConfirm?: boolean; width?: string; }> & Readonly<{}>, { handleOpen: () => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, { width: string; }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, { kb: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{ pageSchema: PageSchema; formData?: import('../../../types/epic-designer').FormDataModel; disabled?: boolean; }> & Readonly<{ onReady?: ((...args: unknown[] & []) => any) | undefined; }>, { ready: import('vue').Ref<boolean, boolean>; pageManager: { componentInstances: import('vue').Ref<Record<string, import('vue').ComponentPublicInstance>, Record<string, import('vue').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('../../../types/epic-designer').RenderCallbackParams) => boolean) | undefined; editData?: any; }[]; canvas?: { width?: string | undefined; height?: string | undefined; mode?: string | undefined; } | undefined; script?: string | undefined; }; setPageSchema: (schema: PageSchema) => void; forms: {}; addFormData: (formData: Record<string, any>, formName?: string) => void; setFormData: (formData: Record<string, any>, formName?: string) => void; getComponentInstance: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null; find: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null; findAll: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance[]; addComponentInstance: (id: string, instance: import('vue').ComponentPublicInstance) => void; removeComponentInstance: (id: string) => void; setMethods: (scriptStr: string, outputError?: boolean) => void; doActions: (actions: import('@epic-designer/utils').ActionsModel[], ...args: any) => void; setDesignMode: (isDesign?: boolean) => void; setDefaultComponentIds: (schemas: ComponentSchema[]) => void; }; getData: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>; setData: (data: import('../../../types/epic-designer').FormDataModel, formName?: string) => void; validate: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>; getForms: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>; setForms: (data: Record<string, import('../../../types/epic-designer').FormDataModel>) => void; validateAll: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>; getFormInstance: (formName?: string) => Promise<any>; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { ready: ((...args: unknown[]) => any) | (() => any); }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<{ pageSchema: PageSchema; formData?: import('../../../types/epic-designer').FormDataModel; disabled?: boolean; }> & Readonly<{ onReady?: ((...args: unknown[] & []) => any) | undefined; }>, { ready: import('vue').Ref<boolean, boolean>; pageManager: { componentInstances: import('vue').Ref<Record<string, import('vue').ComponentPublicInstance>, Record<string, import('vue').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('../../../types/epic-designer').RenderCallbackParams) => boolean) | undefined; editData?: any; }[]; canvas?: { width?: string | undefined; height?: string | undefined; mode?: string | undefined; } | undefined; script?: string | undefined; }; setPageSchema: (schema: PageSchema) => void; forms: {}; addFormData: (formData: Record<string, any>, formName?: string) => void; setFormData: (formData: Record<string, any>, formName?: string) => void; getComponentInstance: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null; find: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance | null; findAll: (queryValue: string, queryField?: string) => import('vue').ComponentPublicInstance[]; addComponentInstance: (id: string, instance: import('vue').ComponentPublicInstance) => void; removeComponentInstance: (id: string) => void; setMethods: (scriptStr: string, outputError?: boolean) => void; doActions: (actions: import('@epic-designer/utils').ActionsModel[], ...args: any) => void; setDesignMode: (isDesign?: boolean) => void; setDefaultComponentIds: (schemas: ComponentSchema[]) => void; }; getData: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>; setData: (data: import('../../../types/epic-designer').FormDataModel, formName?: string) => void; validate: (formName?: string) => Promise<import('../../../types/epic-designer').FormDataModel>; getForms: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>; setForms: (data: Record<string, import('../../../types/epic-designer').FormDataModel>) => void; validateAll: () => Promise<Record<string, import('../../../types/epic-designer').FormDataModel>>; getFormInstance: (formName?: string) => Promise<any>; }, {}, {}, {}, {}> | null; monacoEditorRef: unknown; }, any, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<{ hideConfirm?: boolean; width?: string; }> & Readonly<{}>, { handleOpen: () => void; }, {}, {}, {}, { width: string; }> | null; }, any>; declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>; export default _default; type __VLS_WithTemplateSlots<T, S> = T & { new (): { $slots: S; }; };