vue3-free-layout
Version:
[vue3+ts]拖动布局,自由拖动,标尺,放大缩小,控件之间的标尺
479 lines (478 loc) • 20 kB
TypeScript
import { Plugin } from 'vue';
declare const _default: {
new (...args: any[]): {
$: import("vue").ComponentInternalInstance;
$data: {};
$props: Partial<{
value: import("..").Widget[];
height: number;
unit: "px" | "mm" | "cm";
drawerBackgroud: string;
backgroundColor: string;
showRuler: boolean;
rulerColorLight: string;
rulerColorDark: string;
showAlign: boolean;
enableAdsorb: boolean;
alignWeight: number;
alignColor: string;
showAlignSpan: number;
adsorbSpan: number;
pagePadding: unknown[];
}> & Omit<Readonly<import("vue").ExtractPropTypes<{
value: {
type: import("vue").PropType<import("..").Widget[]>;
default: () => any[];
};
stateMap: {
type: MapConstructor;
required: true;
};
width: {
type: NumberConstructor;
required: true;
};
height: {
type: NumberConstructor;
required: true;
default: number;
};
unit: {
type: import("vue").PropType<"px" | "mm" | "cm">;
default: string;
};
drawerBackgroud: {
type: StringConstructor;
default: string;
};
backgroundColor: {
type: StringConstructor;
default: string;
};
showRuler: {
type: BooleanConstructor;
default: boolean;
};
rulerColorLight: {
type: StringConstructor;
default: string;
};
rulerColorDark: {
type: StringConstructor;
default: string;
};
showAlign: {
type: BooleanConstructor;
default: boolean;
};
enableAdsorb: {
type: BooleanConstructor;
default: boolean;
};
alignWeight: {
type: NumberConstructor;
default: number;
};
alignColor: {
type: StringConstructor;
default: string;
};
showAlignSpan: {
type: NumberConstructor;
default: number;
};
adsorbSpan: {
type: NumberConstructor;
default: number;
};
pagePadding: {
type: ArrayConstructor;
default: number;
};
}>> & {
"onUpdate:value"?: ((...args: any[]) => any) | undefined;
"onPage-resized"?: ((...args: any[]) => any) | undefined;
onAdded?: ((...args: any[]) => any) | undefined;
onDeleted?: ((...args: any[]) => any) | undefined;
"onDrag-start"?: ((...args: any[]) => any) | undefined;
"onDrag-moving"?: ((...args: any[]) => any) | undefined;
"onDrag-end"?: ((...args: any[]) => any) | undefined;
"onResize-start"?: ((...args: any[]) => any) | undefined;
onResizeing?: ((...args: any[]) => any) | undefined;
"onResize-end"?: ((...args: any[]) => any) | undefined;
"onDel-widgets"?: ((...args: any[]) => any) | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "value" | "height" | "unit" | "drawerBackgroud" | "backgroundColor" | "showRuler" | "rulerColorLight" | "rulerColorDark" | "showAlign" | "enableAdsorb" | "alignWeight" | "alignColor" | "showAlignSpan" | "adsorbSpan" | "pagePadding">;
$attrs: {
[x: string]: unknown;
};
$refs: {
[x: string]: unknown;
};
$slots: Readonly<{
[name: string]: import("vue").Slot | undefined;
}>;
$root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
$parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
$emit: (event: "update:value" | "page-resized" | "added" | "deleted" | "drag-start" | "drag-moving" | "drag-end" | "resize-start" | "resizeing" | "resize-end" | "del-widgets", ...args: any[]) => void;
$el: any;
$options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
value: {
type: import("vue").PropType<import("..").Widget[]>;
default: () => any[];
};
stateMap: {
type: MapConstructor;
required: true;
};
width: {
type: NumberConstructor;
required: true;
};
height: {
type: NumberConstructor;
required: true;
default: number;
};
unit: {
type: import("vue").PropType<"px" | "mm" | "cm">;
default: string;
};
drawerBackgroud: {
type: StringConstructor;
default: string;
};
backgroundColor: {
type: StringConstructor;
default: string;
};
showRuler: {
type: BooleanConstructor;
default: boolean;
};
rulerColorLight: {
type: StringConstructor;
default: string;
};
rulerColorDark: {
type: StringConstructor;
default: string;
};
showAlign: {
type: BooleanConstructor;
default: boolean;
};
enableAdsorb: {
type: BooleanConstructor;
default: boolean;
};
alignWeight: {
type: NumberConstructor;
default: number;
};
alignColor: {
type: StringConstructor;
default: string;
};
showAlignSpan: {
type: NumberConstructor;
default: number;
};
adsorbSpan: {
type: NumberConstructor;
default: number;
};
pagePadding: {
type: ArrayConstructor;
default: number;
};
}>> & {
"onUpdate:value"?: ((...args: any[]) => any) | undefined;
"onPage-resized"?: ((...args: any[]) => any) | undefined;
onAdded?: ((...args: any[]) => any) | undefined;
onDeleted?: ((...args: any[]) => any) | undefined;
"onDrag-start"?: ((...args: any[]) => any) | undefined;
"onDrag-moving"?: ((...args: any[]) => any) | undefined;
"onDrag-end"?: ((...args: any[]) => any) | undefined;
"onResize-start"?: ((...args: any[]) => any) | undefined;
onResizeing?: ((...args: any[]) => any) | undefined;
"onResize-end"?: ((...args: any[]) => any) | undefined;
"onDel-widgets"?: ((...args: any[]) => any) | undefined;
}, {
designContainer: import("vue").Ref<HTMLElement | undefined>;
designBody: import("vue").Ref<HTMLElement | undefined>;
service: import("../services/design.service").default;
createWidget: (widget: import("..").Widget) => void;
getPageWidgets: () => import("..").DesignWidget[];
renderHRulter: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> | undefined;
renderVRulter: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> | undefined;
renderBody: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>;
renderAddWdiget: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> | undefined;
mouseWheelHandler: (event: WheelEvent) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:value" | "page-resized" | "added" | "deleted" | "drag-start" | "drag-moving" | "drag-end" | "resize-start" | "resizeing" | "resize-end" | "del-widgets")[], string, {
value: import("..").Widget[];
height: number;
unit: "px" | "mm" | "cm";
drawerBackgroud: string;
backgroundColor: string;
showRuler: boolean;
rulerColorLight: string;
rulerColorDark: string;
showAlign: boolean;
enableAdsorb: boolean;
alignWeight: number;
alignColor: string;
showAlignSpan: number;
adsorbSpan: number;
pagePadding: unknown[];
}, {}, string> & {
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
created?: ((() => void) | (() => void)[]) | undefined;
beforeMount?: ((() => void) | (() => void)[]) | undefined;
mounted?: ((() => void) | (() => void)[]) | undefined;
beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
updated?: ((() => void) | (() => void)[]) | undefined;
activated?: ((() => void) | (() => void)[]) | undefined;
deactivated?: ((() => void) | (() => void)[]) | undefined;
beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
destroyed?: ((() => void) | (() => void)[]) | undefined;
unmounted?: ((() => void) | (() => void)[]) | undefined;
renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
};
$forceUpdate: () => void;
$nextTick: typeof import("vue").nextTick;
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
} & Readonly<import("vue").ExtractPropTypes<{
value: {
type: import("vue").PropType<import("..").Widget[]>;
default: () => any[];
};
stateMap: {
type: MapConstructor;
required: true;
};
width: {
type: NumberConstructor;
required: true;
};
height: {
type: NumberConstructor;
required: true;
default: number;
};
unit: {
type: import("vue").PropType<"px" | "mm" | "cm">;
default: string;
};
drawerBackgroud: {
type: StringConstructor;
default: string;
};
backgroundColor: {
type: StringConstructor;
default: string;
};
showRuler: {
type: BooleanConstructor;
default: boolean;
};
rulerColorLight: {
type: StringConstructor;
default: string;
};
rulerColorDark: {
type: StringConstructor;
default: string;
};
showAlign: {
type: BooleanConstructor;
default: boolean;
};
enableAdsorb: {
type: BooleanConstructor;
default: boolean;
};
alignWeight: {
type: NumberConstructor;
default: number;
};
alignColor: {
type: StringConstructor;
default: string;
};
showAlignSpan: {
type: NumberConstructor;
default: number;
};
adsorbSpan: {
type: NumberConstructor;
default: number;
};
pagePadding: {
type: ArrayConstructor;
default: number;
};
}>> & {
"onUpdate:value"?: ((...args: any[]) => any) | undefined;
"onPage-resized"?: ((...args: any[]) => any) | undefined;
onAdded?: ((...args: any[]) => any) | undefined;
onDeleted?: ((...args: any[]) => any) | undefined;
"onDrag-start"?: ((...args: any[]) => any) | undefined;
"onDrag-moving"?: ((...args: any[]) => any) | undefined;
"onDrag-end"?: ((...args: any[]) => any) | undefined;
"onResize-start"?: ((...args: any[]) => any) | undefined;
onResizeing?: ((...args: any[]) => any) | undefined;
"onResize-end"?: ((...args: any[]) => any) | undefined;
"onDel-widgets"?: ((...args: any[]) => any) | undefined;
} & import("vue").ShallowUnwrapRef<{
designContainer: import("vue").Ref<HTMLElement | undefined>;
designBody: import("vue").Ref<HTMLElement | undefined>;
service: import("../services/design.service").default;
createWidget: (widget: import("..").Widget) => void;
getPageWidgets: () => import("..").DesignWidget[];
renderHRulter: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> | undefined;
renderVRulter: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> | undefined;
renderBody: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>;
renderAddWdiget: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> | undefined;
mouseWheelHandler: (event: WheelEvent) => void;
}> & {} & import("vue").ComponentCustomProperties & {};
__isFragment?: undefined;
__isTeleport?: undefined;
__isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
value: {
type: import("vue").PropType<import("..").Widget[]>;
default: () => any[];
};
stateMap: {
type: MapConstructor;
required: true;
};
width: {
type: NumberConstructor;
required: true;
};
height: {
type: NumberConstructor;
required: true;
default: number;
};
unit: {
type: import("vue").PropType<"px" | "mm" | "cm">;
default: string;
};
drawerBackgroud: {
type: StringConstructor;
default: string;
};
backgroundColor: {
type: StringConstructor;
default: string;
};
showRuler: {
type: BooleanConstructor;
default: boolean;
};
rulerColorLight: {
type: StringConstructor;
default: string;
};
rulerColorDark: {
type: StringConstructor;
default: string;
};
showAlign: {
type: BooleanConstructor;
default: boolean;
};
enableAdsorb: {
type: BooleanConstructor;
default: boolean;
};
alignWeight: {
type: NumberConstructor;
default: number;
};
alignColor: {
type: StringConstructor;
default: string;
};
showAlignSpan: {
type: NumberConstructor;
default: number;
};
adsorbSpan: {
type: NumberConstructor;
default: number;
};
pagePadding: {
type: ArrayConstructor;
default: number;
};
}>> & {
"onUpdate:value"?: ((...args: any[]) => any) | undefined;
"onPage-resized"?: ((...args: any[]) => any) | undefined;
onAdded?: ((...args: any[]) => any) | undefined;
onDeleted?: ((...args: any[]) => any) | undefined;
"onDrag-start"?: ((...args: any[]) => any) | undefined;
"onDrag-moving"?: ((...args: any[]) => any) | undefined;
"onDrag-end"?: ((...args: any[]) => any) | undefined;
"onResize-start"?: ((...args: any[]) => any) | undefined;
onResizeing?: ((...args: any[]) => any) | undefined;
"onResize-end"?: ((...args: any[]) => any) | undefined;
"onDel-widgets"?: ((...args: any[]) => any) | undefined;
}, {
designContainer: import("vue").Ref<HTMLElement | undefined>;
designBody: import("vue").Ref<HTMLElement | undefined>;
service: import("../services/design.service").default;
createWidget: (widget: import("..").Widget) => void;
getPageWidgets: () => import("..").DesignWidget[];
renderHRulter: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> | undefined;
renderVRulter: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> | undefined;
renderBody: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>;
renderAddWdiget: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}> | undefined;
mouseWheelHandler: (event: WheelEvent) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:value" | "page-resized" | "added" | "deleted" | "drag-start" | "drag-moving" | "drag-end" | "resize-start" | "resizeing" | "resize-end" | "del-widgets")[], "update:value" | "page-resized" | "added" | "deleted" | "drag-start" | "drag-moving" | "drag-end" | "resize-start" | "resizeing" | "resize-end" | "del-widgets", {
value: import("..").Widget[];
height: number;
unit: "px" | "mm" | "cm";
drawerBackgroud: string;
backgroundColor: string;
showRuler: boolean;
rulerColorLight: string;
rulerColorDark: string;
showAlign: boolean;
enableAdsorb: boolean;
alignWeight: number;
alignColor: string;
showAlignSpan: number;
adsorbSpan: number;
pagePadding: unknown[];
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Plugin<any[]>;
export default _default;