UNPKG

epic-designer-gold

Version:

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

504 lines (503 loc) 25 kB
import { Ref, PropType, nextTick } from 'vue'; import { ElForm } from 'element-plus'; import { ComponentSchema, FormDataModel } from '../../../core/types/epic-designer'; interface FormInstance extends InstanceType<typeof ElForm> { getData?: () => Promise<FormDataModel> | FormDataModel; setData?: (FormDataModel: any) => void; } /** * 获取表单数据 * @param formName 表单name */ declare function getData(): Promise<FormDataModel>; /** * 设置表单数据 * @param data */ declare function setData(data: FormDataModel): void; /** * 校验表单数据 * @param data */ declare function validate(): import('element-plus').FormValidationResult | undefined; declare function __VLS_template(): { attrs: Partial<{}>; slots: { 'edit-node'?(_: {}): any; node?(_: { componentSchema: ComponentSchema; }): any; }; refs: { form: ({ $: import('vue').ComponentInternalInstance; $data: {}; $props: Partial<{ labelWidth: string | number; labelPosition: "left" | "right" | "top"; requireAsteriskPosition: "left" | "right"; labelSuffix: string; showMessage: boolean; validateOnRuleChange: boolean; scrollIntoViewOptions: ScrollIntoViewOptions | boolean; }> & Omit<{ readonly labelWidth: string | number; readonly labelPosition: "left" | "right" | "top"; readonly requireAsteriskPosition: "left" | "right"; readonly labelSuffix: string; readonly showMessage: boolean; readonly validateOnRuleChange: boolean; readonly scrollIntoViewOptions: ScrollIntoViewOptions | boolean; readonly rules?: import('element-plus').FormRules | undefined; readonly size?: import('element-plus').ComponentSize | undefined; readonly disabled?: boolean | undefined; readonly model?: Record<string, any> | undefined; readonly inline?: boolean | undefined; readonly inlineMessage?: boolean | undefined; readonly statusIcon?: boolean | undefined; readonly hideRequiredAsterisk?: boolean | undefined; readonly scrollToError?: boolean | undefined; onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined | undefined; } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "labelWidth" | "labelPosition" | "requireAsteriskPosition" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions">; $attrs: import('vue').Attrs; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: import('vue').Slot<any> | undefined; }>; $root: import('vue').ComponentPublicInstance | null; $parent: import('vue').ComponentPublicInstance | null; $host: Element | null; $emit: (event: "validate", prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => void; $el: any; $options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{ rules: { type: PropType<Partial<Record<string, Record<string, any> | import('element-plus/es/utils').Arrayable<import('element-plus').FormItemRule>>>>; }; size: { type: PropType<"" | "small" | "default" | "large">; }; labelWidth: { type: PropType<string | number>; default: string; }; disabled: { type: PropType<boolean>; }; model: { type: PropType<Record<string, any>>; }; inline: { type: PropType<boolean>; }; labelPosition: { type: PropType<"right" | "left" | "top">; default: string; }; requireAsteriskPosition: { type: PropType<"right" | "left">; default: string; }; labelSuffix: { type: PropType<string>; default: string; }; inlineMessage: { type: PropType<boolean>; }; statusIcon: { type: PropType<boolean>; }; showMessage: { type: PropType<boolean>; default: boolean; }; validateOnRuleChange: { type: PropType<boolean>; default: boolean; }; hideRequiredAsterisk: { type: PropType<boolean>; }; scrollToError: { type: PropType<boolean>; }; scrollIntoViewOptions: { type: PropType<boolean | ScrollIntoViewOptions>; default: boolean; }; }>> & { onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined; }, { validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult; validateField: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult; resetFields: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void; clearValidate: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void; scrollToField: (prop: import('element-plus').FormItemProp) => void; getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined; fields: import('vue').Reactive<import('element-plus').FormItemContext[]>; setInitialValues: (initModel: Record<string, any>) => void; }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { validate: (prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => void; }, string, { labelWidth: string | number; labelPosition: "left" | "right" | "top"; requireAsteriskPosition: "left" | "right"; labelSuffix: string; showMessage: boolean; validateOnRuleChange: boolean; scrollIntoViewOptions: ScrollIntoViewOptions | boolean; }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof nextTick; $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle; } & Readonly<{ labelWidth: string | number; labelPosition: "left" | "right" | "top"; requireAsteriskPosition: "left" | "right"; labelSuffix: string; showMessage: boolean; validateOnRuleChange: boolean; scrollIntoViewOptions: ScrollIntoViewOptions | boolean; }> & Omit<Readonly<import('vue').ExtractPropTypes<{ rules: { type: PropType<Partial<Record<string, Record<string, any> | import('element-plus/es/utils').Arrayable<import('element-plus').FormItemRule>>>>; }; size: { type: PropType<"" | "small" | "default" | "large">; }; labelWidth: { type: PropType<string | number>; default: string; }; disabled: { type: PropType<boolean>; }; model: { type: PropType<Record<string, any>>; }; inline: { type: PropType<boolean>; }; labelPosition: { type: PropType<"right" | "left" | "top">; default: string; }; requireAsteriskPosition: { type: PropType<"right" | "left">; default: string; }; labelSuffix: { type: PropType<string>; default: string; }; inlineMessage: { type: PropType<boolean>; }; statusIcon: { type: PropType<boolean>; }; showMessage: { type: PropType<boolean>; default: boolean; }; validateOnRuleChange: { type: PropType<boolean>; default: boolean; }; hideRequiredAsterisk: { type: PropType<boolean>; }; scrollToError: { type: PropType<boolean>; }; scrollIntoViewOptions: { type: PropType<boolean | ScrollIntoViewOptions>; default: boolean; }; }>> & { onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined; }, "labelWidth" | "validate" | "labelPosition" | "requireAsteriskPosition" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{ validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult; validateField: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult; resetFields: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void; clearValidate: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void; scrollToField: (prop: import('element-plus').FormItemProp) => void; getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined; fields: import('vue').Reactive<import('element-plus').FormItemContext[]>; setInitialValues: (initModel: Record<string, any>) => void; }> & {} & import('vue').ComponentCustomProperties & {} & { $slots: { default?: (props: {}) => any; }; }) | null; signatureCanvas: HTMLCanvasElement; }; rootEl: any; }; type __VLS_TemplateResult = ReturnType<typeof __VLS_template>; declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{ componentSchema: { type: PropType<ComponentSchema>; require: boolean; default: () => {}; }; }>, { form: Ref<FormInstance | null, FormInstance | null>; getData: typeof getData; setData: typeof setData; validate: typeof validate; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{ componentSchema: { type: PropType<ComponentSchema>; require: boolean; default: () => {}; }; }>> & Readonly<{}>, { componentSchema: ComponentSchema; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, { form: ({ $: import('vue').ComponentInternalInstance; $data: {}; $props: Partial<{ labelWidth: string | number; labelPosition: "left" | "right" | "top"; requireAsteriskPosition: "left" | "right"; labelSuffix: string; showMessage: boolean; validateOnRuleChange: boolean; scrollIntoViewOptions: ScrollIntoViewOptions | boolean; }> & Omit<{ readonly labelWidth: string | number; readonly labelPosition: "left" | "right" | "top"; readonly requireAsteriskPosition: "left" | "right"; readonly labelSuffix: string; readonly showMessage: boolean; readonly validateOnRuleChange: boolean; readonly scrollIntoViewOptions: ScrollIntoViewOptions | boolean; readonly rules?: import('element-plus').FormRules | undefined; readonly size?: import('element-plus').ComponentSize | undefined; readonly disabled?: boolean | undefined; readonly model?: Record<string, any> | undefined; readonly inline?: boolean | undefined; readonly inlineMessage?: boolean | undefined; readonly statusIcon?: boolean | undefined; readonly hideRequiredAsterisk?: boolean | undefined; readonly scrollToError?: boolean | undefined; onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined | undefined; } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "labelWidth" | "labelPosition" | "requireAsteriskPosition" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions">; $attrs: import('vue').Attrs; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: import('vue').Slot<any> | undefined; }>; $root: import('vue').ComponentPublicInstance | null; $parent: import('vue').ComponentPublicInstance | null; $host: Element | null; $emit: (event: "validate", prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => void; $el: any; $options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{ rules: { type: PropType<Partial<Record<string, Record<string, any> | import('element-plus/es/utils').Arrayable<import('element-plus').FormItemRule>>>>; }; size: { type: PropType<"" | "small" | "default" | "large">; }; labelWidth: { type: PropType<string | number>; default: string; }; disabled: { type: PropType<boolean>; }; model: { type: PropType<Record<string, any>>; }; inline: { type: PropType<boolean>; }; labelPosition: { type: PropType<"right" | "left" | "top">; default: string; }; requireAsteriskPosition: { type: PropType<"right" | "left">; default: string; }; labelSuffix: { type: PropType<string>; default: string; }; inlineMessage: { type: PropType<boolean>; }; statusIcon: { type: PropType<boolean>; }; showMessage: { type: PropType<boolean>; default: boolean; }; validateOnRuleChange: { type: PropType<boolean>; default: boolean; }; hideRequiredAsterisk: { type: PropType<boolean>; }; scrollToError: { type: PropType<boolean>; }; scrollIntoViewOptions: { type: PropType<boolean | ScrollIntoViewOptions>; default: boolean; }; }>> & { onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined; }, { validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult; validateField: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult; resetFields: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void; clearValidate: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void; scrollToField: (prop: import('element-plus').FormItemProp) => void; getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined; fields: import('vue').Reactive<import('element-plus').FormItemContext[]>; setInitialValues: (initModel: Record<string, any>) => void; }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { validate: (prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => void; }, string, { labelWidth: string | number; labelPosition: "left" | "right" | "top"; requireAsteriskPosition: "left" | "right"; labelSuffix: string; showMessage: boolean; validateOnRuleChange: boolean; scrollIntoViewOptions: ScrollIntoViewOptions | boolean; }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof nextTick; $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle; } & Readonly<{ labelWidth: string | number; labelPosition: "left" | "right" | "top"; requireAsteriskPosition: "left" | "right"; labelSuffix: string; showMessage: boolean; validateOnRuleChange: boolean; scrollIntoViewOptions: ScrollIntoViewOptions | boolean; }> & Omit<Readonly<import('vue').ExtractPropTypes<{ rules: { type: PropType<Partial<Record<string, Record<string, any> | import('element-plus/es/utils').Arrayable<import('element-plus').FormItemRule>>>>; }; size: { type: PropType<"" | "small" | "default" | "large">; }; labelWidth: { type: PropType<string | number>; default: string; }; disabled: { type: PropType<boolean>; }; model: { type: PropType<Record<string, any>>; }; inline: { type: PropType<boolean>; }; labelPosition: { type: PropType<"right" | "left" | "top">; default: string; }; requireAsteriskPosition: { type: PropType<"right" | "left">; default: string; }; labelSuffix: { type: PropType<string>; default: string; }; inlineMessage: { type: PropType<boolean>; }; statusIcon: { type: PropType<boolean>; }; showMessage: { type: PropType<boolean>; default: boolean; }; validateOnRuleChange: { type: PropType<boolean>; default: boolean; }; hideRequiredAsterisk: { type: PropType<boolean>; }; scrollToError: { type: PropType<boolean>; }; scrollIntoViewOptions: { type: PropType<boolean | ScrollIntoViewOptions>; default: boolean; }; }>> & { onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined; }, "labelWidth" | "validate" | "labelPosition" | "requireAsteriskPosition" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{ validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult; validateField: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult; resetFields: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void; clearValidate: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void; scrollToField: (prop: import('element-plus').FormItemProp) => void; getField: (prop: import('element-plus').FormItemProp) => import('element-plus').FormItemContext | undefined; fields: import('vue').Reactive<import('element-plus').FormItemContext[]>; setInitialValues: (initModel: Record<string, any>) => void; }> & {} & import('vue').ComponentCustomProperties & {} & { $slots: { default?: (props: {}) => any; }; }) | null; signatureCanvas: HTMLCanvasElement; }, any>; declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>; export default _default; type __VLS_WithTemplateSlots<T, S> = T & { new (): { $slots: S; }; };