super-page-runtime 2.2.36 → 2.2.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/es/components/runtime/utils/assemblys-config.js +1 -1
- package/dist/es/components/runtime/views/assemblys/container/fixed/FixedBox.vue.js +28 -0
- package/dist/es/components/runtime/views/assemblys/container/fixed/FixedBox.vue2.js +4 -0
- package/dist/es/components/runtime/views/assemblys/container/fixed/YxAffix.vue.js +61 -0
- package/dist/es/components/runtime/views/assemblys/container/fixed/YxAffix.vue2.js +4 -0
- package/dist/es/components/runtime/views/assemblys/container/tools/tools-runtime.vue.js +4 -0
- package/dist/es/components/runtime/views/assemblys/container/tools/tools-runtime.vue2.js +32 -0
- package/dist/es/style.css +11 -1
- package/package.json +1 -1
- package/dist/es/components/runtime/views/assemblys/container/fixed/FixedBox.js +0 -33
- package/dist/es/components/runtime/views/assemblys/container/fixed/SmartAffix.js +0 -42
- package/dist/es/components/runtime/views/assemblys/container/tools/tools-runtime.js +0 -38
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineAsyncComponent as e } from "vue";
|
|
2
2
|
import { usePageContextStore as t } from "./page-store.js";
|
|
3
|
-
const m = [{ name: "container", label: "容器", icon: "assets/images/group-container.png", items: [{ name: "form", label: "表单", runtimeComponent: e(() => import("../views/assemblys/container/form/form-runtime.vue.js")) }, { name: "card", label: "卡片", runtimeComponent: e(() => import("../views/assemblys/container/card/card-runtime.vue.js")) }, { name: "collapse", label: "折叠面板", runtimeComponent: e(() => import("../views/assemblys/container/collapse/collapse-runtime.vue.js")) }, { name: "layout", label: "Flex", runtimeComponent: e(() => import("../views/assemblys/container/flex/flex-runtime.vue.js")) }, { name: "tabs", label: "Tabs", runtimeComponent: e(() => import("../views/assemblys/container/tabs/tabs-runtime.vue.js")) }, { name: "tools", label: "工具栏", runtimeComponent: e(() => import("../views/assemblys/container/tools/tools-runtime.js")) }, { name: "iframe", label: "Iframe", runtimeComponent: e(() => import("../views/assemblys/container/iframe/iframe-runtime.vue.js")) }, { name: "container", label: "布局", runtimeComponent: e(() => import("../views/assemblys/container/container/container-runtime.vue.js")) }] }, { name: "form", label: "表单", items: [{ name: "input-text", label: "文本框", runtimeComponent: e(() => import("../views/assemblys/form/input-text/inputtext-runtime.vue.js")) }, { name: "select", label: "下拉框", runtimeComponent: e(() => import("../views/assemblys/form/select/select-runtime.vue.js")) }, { name: "radio", label: "单选框", runtimeComponent: e(() => import("../views/assemblys/form/radio/radio-runtime.vue.js")) }, { name: "checkbox", label: "复选框", runtimeComponent: e(() => import("../views/assemblys/form/checkbox/checkbox-runtime.vue.js")) }, { name: "textarea", label: "文本域", runtimeComponent: e(() => import("../views/assemblys/form/textarea/textarea-runtime.vue.js")) }, { name: "datePicker", label: "日期/时间", runtimeComponent: e(() => import("../views/assemblys/form/date-picker/datepicker-runtime.vue.js")) }, { name: "switch", label: "开关", runtimeComponent: e(() => import("../views/assemblys/form/switch/switch-runtime.vue.js")) }, { name: "inputNumber", label: "计数器", runtimeComponent: e(() => import("../views/assemblys/form/input-number/input-number-runtime.vue.js")) }, { name: "tag", label: "标签", runtimeComponent: e(() => import("../views/assemblys/form/tag/tag-runtime.vue.js")) }, { name: "richText", label: "富文本", runtimeComponent: e(() => import("../views/assemblys/form/rich-text/richtext-runtime.vue.js")) }, { name: "divider", label: "分割线", runtimeComponent: e(() => import("../views/assemblys/form/divider/divider-runtime.vue.js")) }, { name: "separatelabel", label: "分割标签", runtimeComponent: e(() => import("../views/assemblys/form/separatelabel/separatelabel-runtime.vue.js")) }, { name: "placeholder", label: "占位符", runtimeComponent: e(() => import("../views/assemblys/form/placeholder/placeholder-runtime.vue.js")) }, { name: "link", label: "链接", runtimeComponent: e(() => import("../views/assemblys/form/link/link-runtime.vue.js")) }, { name: "label", label: "Label组件", runtimeComponent: e(() => import("../views/assemblys/form/label/label-runtime.vue.js")) }, { name: "dept-tree", label: "组织树", runtimeComponent: e(() => import("../views/assemblys/form/dept-tree/depttree-runtime.vue.js")) }, { name: "file-upload", label: "文件上传", runtimeComponent: e(() => import("../views/assemblys/form/file-upload/fileupload-runtime.vue.js")) }] }, { name: "button", label: "按钮", items: [{ name: "button-detail", label: "按钮", runtimeComponent: e(() => import("../views/assemblys/button/button/button-runtime.vue.js")) }, { name: "button-group", label: "按钮组", runtimeComponent: e(() => import("../views/assemblys/button/button-group/buttongroup-runtime.vue.js")) }, { name: "dropdown", label: "下拉菜单", runtimeComponent: e(() => import("../views/assemblys/button/dropdown/dropdown-runtime.vue.js")) }, { name: "print-label", label: "打印标签", runtimeComponent: e(() => import("../views/assemblys/button/print-label/printlabel-runtime.vue.js")) }, { name: "export-pdf", label: "打印标签", runtimeComponent: e(() => import("../views/assemblys/button/export-pdf/exportpdf-runtime.vue.js")) }] }, { name: "workflow", label: "工作流", items: [{ name: "workflow-button", label: "工作流按钮", runtimeComponent: e(() => import("../views/assemblys/workflow/workflow-button/workflowbutton-runtime.vue.js")) }, { name: "picture-flow", label: "图形历史", runtimeComponent: e(() => import("../views/assemblys/workflow/picture-flow/pictureflow-runtime.vue.js")) }, { name: "text-flow", label: "文本历史", runtimeComponent: e(() => import("../views/assemblys/workflow/text-history/textflow-runtime.vue.js")) }, { name: "workflow-node", label: "流程环节", runtimeComponent: e(() => import("../views/assemblys/workflow/workflow-node/workflownode-runtime.vue.js")) }] }, { name: "chart", label: "统计图", items: [{ name: "chart-column-line", label: "柱/折图", runtimeComponent: e(() => import("../views/assemblys/chart/column-line/column-line-runtime.vue.js")) }, { name: "chart-pie", label: "饼图", runtimeComponent: e(() => import("../views/assemblys/chart/pie/pie-runtime.vue.js")) }, { name: "chart-gauge", label: "仪表盘", runtimeComponent: e(() => import("../views/assemblys/chart/gauge/gauge-runtime.vue.js")) }, { name: "chart-radar", label: "雷达图", runtimeComponent: e(() => import("../views/assemblys/chart/radar/radar-runtime.vue.js")) }, { name: "chart-scatter", label: "散点图", runtimeComponent: e(() => import("../views/assemblys/chart/scatter/scatter-runtime.vue.js")) }, { name: "statistical-table", label: "统计表格", runtimeComponent: e(() => import("../views/assemblys/chart/table/table-runtime.vue.js")) }] }, { name: "data", label: "数据", items: [{ name: "table", label: "表格", runtimeComponent: e(() => import("../views/assemblys/data/table/table-runtime.vue.js")) }, { name: "tree", label: "树控件", runtimeComponent: e(() => import("../views/assemblys/data/tree/tree-runtime.vue.js")) }, { name: "bar-code", label: "条码", runtimeComponent: e(() => import("../views/assemblys/data/bar-code/barcode-runtime.vue.js")) }] }, { name: "other", label: "其他", items: [{ name: "custom", label: "自定义", runtimeComponent: e(() => import("../views/assemblys/form/custom/custom-runtime.vue.js")) }] }];
|
|
3
|
+
const m = [{ name: "container", label: "容器", icon: "assets/images/group-container.png", items: [{ name: "form", label: "表单", runtimeComponent: e(() => import("../views/assemblys/container/form/form-runtime.vue.js")) }, { name: "card", label: "卡片", runtimeComponent: e(() => import("../views/assemblys/container/card/card-runtime.vue.js")) }, { name: "collapse", label: "折叠面板", runtimeComponent: e(() => import("../views/assemblys/container/collapse/collapse-runtime.vue.js")) }, { name: "layout", label: "Flex", runtimeComponent: e(() => import("../views/assemblys/container/flex/flex-runtime.vue.js")) }, { name: "tabs", label: "Tabs", runtimeComponent: e(() => import("../views/assemblys/container/tabs/tabs-runtime.vue.js")) }, { name: "tools", label: "工具栏", runtimeComponent: e(() => import("../views/assemblys/container/tools/tools-runtime.vue.js")) }, { name: "iframe", label: "Iframe", runtimeComponent: e(() => import("../views/assemblys/container/iframe/iframe-runtime.vue.js")) }, { name: "container", label: "布局", runtimeComponent: e(() => import("../views/assemblys/container/container/container-runtime.vue.js")) }] }, { name: "form", label: "表单", items: [{ name: "input-text", label: "文本框", runtimeComponent: e(() => import("../views/assemblys/form/input-text/inputtext-runtime.vue.js")) }, { name: "select", label: "下拉框", runtimeComponent: e(() => import("../views/assemblys/form/select/select-runtime.vue.js")) }, { name: "radio", label: "单选框", runtimeComponent: e(() => import("../views/assemblys/form/radio/radio-runtime.vue.js")) }, { name: "checkbox", label: "复选框", runtimeComponent: e(() => import("../views/assemblys/form/checkbox/checkbox-runtime.vue.js")) }, { name: "textarea", label: "文本域", runtimeComponent: e(() => import("../views/assemblys/form/textarea/textarea-runtime.vue.js")) }, { name: "datePicker", label: "日期/时间", runtimeComponent: e(() => import("../views/assemblys/form/date-picker/datepicker-runtime.vue.js")) }, { name: "switch", label: "开关", runtimeComponent: e(() => import("../views/assemblys/form/switch/switch-runtime.vue.js")) }, { name: "inputNumber", label: "计数器", runtimeComponent: e(() => import("../views/assemblys/form/input-number/input-number-runtime.vue.js")) }, { name: "tag", label: "标签", runtimeComponent: e(() => import("../views/assemblys/form/tag/tag-runtime.vue.js")) }, { name: "richText", label: "富文本", runtimeComponent: e(() => import("../views/assemblys/form/rich-text/richtext-runtime.vue.js")) }, { name: "divider", label: "分割线", runtimeComponent: e(() => import("../views/assemblys/form/divider/divider-runtime.vue.js")) }, { name: "separatelabel", label: "分割标签", runtimeComponent: e(() => import("../views/assemblys/form/separatelabel/separatelabel-runtime.vue.js")) }, { name: "placeholder", label: "占位符", runtimeComponent: e(() => import("../views/assemblys/form/placeholder/placeholder-runtime.vue.js")) }, { name: "link", label: "链接", runtimeComponent: e(() => import("../views/assemblys/form/link/link-runtime.vue.js")) }, { name: "label", label: "Label组件", runtimeComponent: e(() => import("../views/assemblys/form/label/label-runtime.vue.js")) }, { name: "dept-tree", label: "组织树", runtimeComponent: e(() => import("../views/assemblys/form/dept-tree/depttree-runtime.vue.js")) }, { name: "file-upload", label: "文件上传", runtimeComponent: e(() => import("../views/assemblys/form/file-upload/fileupload-runtime.vue.js")) }] }, { name: "button", label: "按钮", items: [{ name: "button-detail", label: "按钮", runtimeComponent: e(() => import("../views/assemblys/button/button/button-runtime.vue.js")) }, { name: "button-group", label: "按钮组", runtimeComponent: e(() => import("../views/assemblys/button/button-group/buttongroup-runtime.vue.js")) }, { name: "dropdown", label: "下拉菜单", runtimeComponent: e(() => import("../views/assemblys/button/dropdown/dropdown-runtime.vue.js")) }, { name: "print-label", label: "打印标签", runtimeComponent: e(() => import("../views/assemblys/button/print-label/printlabel-runtime.vue.js")) }, { name: "export-pdf", label: "打印标签", runtimeComponent: e(() => import("../views/assemblys/button/export-pdf/exportpdf-runtime.vue.js")) }] }, { name: "workflow", label: "工作流", items: [{ name: "workflow-button", label: "工作流按钮", runtimeComponent: e(() => import("../views/assemblys/workflow/workflow-button/workflowbutton-runtime.vue.js")) }, { name: "picture-flow", label: "图形历史", runtimeComponent: e(() => import("../views/assemblys/workflow/picture-flow/pictureflow-runtime.vue.js")) }, { name: "text-flow", label: "文本历史", runtimeComponent: e(() => import("../views/assemblys/workflow/text-history/textflow-runtime.vue.js")) }, { name: "workflow-node", label: "流程环节", runtimeComponent: e(() => import("../views/assemblys/workflow/workflow-node/workflownode-runtime.vue.js")) }] }, { name: "chart", label: "统计图", items: [{ name: "chart-column-line", label: "柱/折图", runtimeComponent: e(() => import("../views/assemblys/chart/column-line/column-line-runtime.vue.js")) }, { name: "chart-pie", label: "饼图", runtimeComponent: e(() => import("../views/assemblys/chart/pie/pie-runtime.vue.js")) }, { name: "chart-gauge", label: "仪表盘", runtimeComponent: e(() => import("../views/assemblys/chart/gauge/gauge-runtime.vue.js")) }, { name: "chart-radar", label: "雷达图", runtimeComponent: e(() => import("../views/assemblys/chart/radar/radar-runtime.vue.js")) }, { name: "chart-scatter", label: "散点图", runtimeComponent: e(() => import("../views/assemblys/chart/scatter/scatter-runtime.vue.js")) }, { name: "statistical-table", label: "统计表格", runtimeComponent: e(() => import("../views/assemblys/chart/table/table-runtime.vue.js")) }] }, { name: "data", label: "数据", items: [{ name: "table", label: "表格", runtimeComponent: e(() => import("../views/assemblys/data/table/table-runtime.vue.js")) }, { name: "tree", label: "树控件", runtimeComponent: e(() => import("../views/assemblys/data/tree/tree-runtime.vue.js")) }, { name: "bar-code", label: "条码", runtimeComponent: e(() => import("../views/assemblys/data/bar-code/barcode-runtime.vue.js")) }] }, { name: "other", label: "其他", items: [{ name: "custom", label: "自定义", runtimeComponent: e(() => import("../views/assemblys/form/custom/custom-runtime.vue.js")) }] }];
|
|
4
4
|
function n(e2) {
|
|
5
5
|
if (!e2) return null;
|
|
6
6
|
for (let n2 = 0; n2 < m.length; n2++) {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { defineComponent as e, ref as t, onMounted as i, nextTick as s, onUnmounted as o, watch as d, createElementBlock as l, openBlock as n, normalizeStyle as f, createElementVNode as a, renderSlot as u } from "vue";
|
|
2
|
+
const r = e({ __name: "FixedBox", props: { isFixed: { type: Boolean, default: true }, position: { type: String, default: "top" }, offset: { type: Number, default: 0 } }, setup(e2) {
|
|
3
|
+
const r2 = e2, v = t(null), p = t({}), x = t({}), c = [], h = () => {
|
|
4
|
+
(() => {
|
|
5
|
+
if (v.value) {
|
|
6
|
+
const e3 = v.value.getBoundingClientRect();
|
|
7
|
+
p.value = { width: `${e3.width}px`, height: `${e3.height}px` }, x.value = { width: `${e3.width}px`, position: r2.isFixed ? "fixed" : "static", [r2.position]: `${r2.offset}px`, left: `${e3.left}px`, zIndex: 100, pointerEvents: "auto" };
|
|
8
|
+
} else p.value = {}, x.value = {};
|
|
9
|
+
})();
|
|
10
|
+
}, y = (e3) => {
|
|
11
|
+
e3 ? ((() => {
|
|
12
|
+
if (c.forEach((e4) => e4.disconnect()), c.length = 0, v.value) {
|
|
13
|
+
const e4 = new ResizeObserver(h);
|
|
14
|
+
e4.observe(v.value), c.push(e4);
|
|
15
|
+
}
|
|
16
|
+
})(), window.addEventListener("resize", h)) : (window.removeEventListener("resize", h), c.forEach((e4) => e4.disconnect())), h();
|
|
17
|
+
};
|
|
18
|
+
return i(() => {
|
|
19
|
+
s(() => {
|
|
20
|
+
y(r2.isFixed);
|
|
21
|
+
});
|
|
22
|
+
}), o(() => {
|
|
23
|
+
y(false);
|
|
24
|
+
}), d(() => r2.isFixed, y), (e3, t2) => r2.isFixed ? (n(), l("div", { key: 0, style: f(p.value) }, [a("div", { ref_key: "fixedRef", ref: v, style: f(x.value) }, [u(e3.$slots, "default")], 4)], 4)) : (n(), l("div", { key: 1, ref_key: "fixedRef", ref: v, style: f(x.value) }, [u(e3.$slots, "default")], 4));
|
|
25
|
+
} });
|
|
26
|
+
export {
|
|
27
|
+
r as default
|
|
28
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { defineComponent as e, ref as t, onMounted as o, nextTick as i, onUnmounted as n, computed as l, createElementBlock as s, openBlock as a, createCommentVNode as r, createElementVNode as u, normalizeStyle as f, normalizeClass as c, renderSlot as d } from "vue";
|
|
2
|
+
/* empty css */
|
|
3
|
+
const p = e({ __name: "YxAffix", props: { offset: { type: Number, default: 0 }, position: { type: String, default: "top", validator: (e2) => ["top", "bottom"].includes(e2) }, target: { type: [String, HTMLElement], default: () => window }, autoDetectParentScroll: { type: Boolean, default: true }, stickyInScrollContainer: { type: Boolean, default: true }, zIndex: { type: Number, default: 100 } }, emits: ["change", "on-change"], setup(e2, { emit: p2 }) {
|
|
4
|
+
const v = e2, m = p2, w = t(null), x = t(null), g = t(false), h = t({}), y = t([]), B = t(window), T = t(0), b = () => {
|
|
5
|
+
if (!x.value || !w.value) return;
|
|
6
|
+
const e3 = x.value.getBoundingClientRect(), t2 = B.value;
|
|
7
|
+
if (t2 === window) {
|
|
8
|
+
const t3 = "top" === v.position ? e3.top <= v.offset : e3.bottom >= window.innerHeight - v.offset;
|
|
9
|
+
T.value = 0, E(t3, e3);
|
|
10
|
+
} else if (v.stickyInScrollContainer) {
|
|
11
|
+
const o2 = t2.getBoundingClientRect(), { isFixTop: i2, isFixBottom: n2, containerOffset: l2 } = ((e4) => {
|
|
12
|
+
const t3 = ["top"].includes(v.position), o3 = ["bottom"].includes(v.position);
|
|
13
|
+
if (!w.value) return { isTop: t3, isBottom: o3 };
|
|
14
|
+
const i3 = w.value.getBoundingClientRect(), n3 = i3.top - e4.top, l3 = i3.left - e4.left, s2 = e4.height - i3.height - n3, a2 = e4.top, r2 = window.innerHeight - e4.bottom;
|
|
15
|
+
return { isTop: t3, isBottom: o3, containerTop: a2, containerBottom: r2, containerOffset: t3 ? a2 : o3 ? r2 : 0, offsetTop: n3, offsetLeft: l3, offsetBottom: s2, isFixTop: t3 && n3 <= 0, isFixBottom: o3 && s2 <= 0 };
|
|
16
|
+
})(o2);
|
|
17
|
+
T.value = l2 ?? 0, E(i2 || n2 || false, e3);
|
|
18
|
+
}
|
|
19
|
+
}, E = (e3, t2) => {
|
|
20
|
+
e3 !== g.value && (g.value = e3, m("change", e3), m("on-change", e3), h.value = e3 ? { width: `${t2.width}px`, height: `${t2.height}px` } : {});
|
|
21
|
+
}, S = () => {
|
|
22
|
+
requestAnimationFrame(b);
|
|
23
|
+
};
|
|
24
|
+
let C;
|
|
25
|
+
const L = () => {
|
|
26
|
+
clearTimeout(C), C = window.setTimeout(() => {
|
|
27
|
+
b();
|
|
28
|
+
}, 100);
|
|
29
|
+
};
|
|
30
|
+
o(() => {
|
|
31
|
+
i(() => {
|
|
32
|
+
const e3 = (() => {
|
|
33
|
+
if (v.autoDetectParentScroll && x.value) {
|
|
34
|
+
const e4 = [];
|
|
35
|
+
let t2 = x.value.parentElement;
|
|
36
|
+
for (; t2 && t2 !== document.body; ) {
|
|
37
|
+
const { overflowY: o2 } = window.getComputedStyle(t2);
|
|
38
|
+
/(auto|scroll)/.test(o2) && e4.push(t2), t2 = t2.parentElement;
|
|
39
|
+
}
|
|
40
|
+
return [...e4, window];
|
|
41
|
+
}
|
|
42
|
+
if ("string" == typeof v.target) {
|
|
43
|
+
const e4 = document.querySelector(v.target);
|
|
44
|
+
return [...e4 ? [e4] : [], window];
|
|
45
|
+
}
|
|
46
|
+
return [window];
|
|
47
|
+
})();
|
|
48
|
+
y.value = e3, B.value = y.value[0], y.value.forEach((e4) => e4.addEventListener("scroll", S)), window.addEventListener("resize", L), b();
|
|
49
|
+
});
|
|
50
|
+
}), n(() => {
|
|
51
|
+
B.value && y.value.forEach((e3) => e3.removeEventListener("scroll", S)), window.removeEventListener("resize", L), clearTimeout(C);
|
|
52
|
+
});
|
|
53
|
+
const k = l(() => {
|
|
54
|
+
var _a;
|
|
55
|
+
return g.value ? { position: "fixed", width: `${(_a = x.value) == null ? void 0 : _a.offsetWidth}px`, zIndex: v.zIndex, [v.position]: `${v.offset + T.value}px` } : {};
|
|
56
|
+
});
|
|
57
|
+
return (e3, t2) => (a(), s("div", { ref_key: "affixMainRef", ref: w, class: "yx-affix" }, [g.value ? (a(), s("div", { key: 0, style: f(h.value), class: "yx-affix-placeholder" }, null, 4)) : r("", true), u("div", { ref_key: "affixRef", ref: x, style: f(k.value), class: c({ "yx-affix-content": true, "is-fixed": g.value, "is-top": "top" === v.position, "is-bottom": "bottom" === v.position }) }, [d(e3.$slots, "default")], 6)], 512));
|
|
58
|
+
} });
|
|
59
|
+
export {
|
|
60
|
+
p as default
|
|
61
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { defineComponent as e, ref as t, computed as o, onMounted as i, nextTick as a, onUnmounted as n, createBlock as l, createElementBlock as s, openBlock as u, withCtx as f, createElementVNode as r, normalizeStyle as p, normalizeClass as g, unref as v, Fragment as d, renderList as c } from "vue";
|
|
2
|
+
import m from "../../object-render.vue.js";
|
|
3
|
+
import { handleAfterInitEvent as x } from "../../../../utils/events/event-util.js";
|
|
4
|
+
import y from "../fixed/YxAffix.vue.js";
|
|
5
|
+
import C from "../fixed/FixedBox.vue.js";
|
|
6
|
+
const b = { "data-v": "1.0.0", class: "amb-widget-tools-parent" }, k = { "data-v": "1.0.0", class: "amb-widget-tools-parent" }, w = { key: 2, "data-v": "1.0.0", class: "amb-widget-tools-parent" }, _ = e({ __name: "tools-runtime", props: { pageContext: {}, configure: {} }, setup(e2) {
|
|
7
|
+
const _2 = e2, j = t(null), R = _2.configure.runtime ?? {}, h = R.class, A = o(() => _2.configure.props), F = o(() => {
|
|
8
|
+
const { gap: e3 } = A.value ?? {};
|
|
9
|
+
return { ...e3 ? { gap: `${e3}px` } : {}, ...R.style ?? {} };
|
|
10
|
+
}), B = o(() => {
|
|
11
|
+
var _a, _b, _c;
|
|
12
|
+
return !![(_a = A.value) == null ? void 0 : _a.isAffix, (_b = A.value) == null ? void 0 : _b.isFixed].every((e3) => void 0 === e3) || ((_c = A.value) == null ? void 0 : _c.isAffix);
|
|
13
|
+
}), D = o(() => {
|
|
14
|
+
var _a;
|
|
15
|
+
return (_a = A.value) == null ? void 0 : _a.isFixed;
|
|
16
|
+
}), Y = o(() => {
|
|
17
|
+
var _a, _b;
|
|
18
|
+
return ["top"].includes((_a = A.value) == null ? void 0 : _a.position) ? "top" : ["bottom"].includes((_b = A.value) == null ? void 0 : _b.position) ? "bottom" : void 0;
|
|
19
|
+
}), $ = o(() => {
|
|
20
|
+
var _a;
|
|
21
|
+
return ((_a = A.value) == null ? void 0 : _a.offset) ?? 0;
|
|
22
|
+
});
|
|
23
|
+
return i(() => {
|
|
24
|
+
a(() => {
|
|
25
|
+
x(null, _2.pageContext, _2.configure, { componentRef: j.value, entity: _2.pageContext.entity.data, pageData: _2.pageContext.entity.page });
|
|
26
|
+
});
|
|
27
|
+
}), n(() => {
|
|
28
|
+
}), (e3, t2) => D.value ? (u(), l(C, { key: 0, position: Y.value, offset: $.value }, { default: f(() => [r("div", b, [r("div", { class: g(["amb-widget-container-tool amb-widget-tools", v(h)]), style: p(F.value), ref_key: "thisRef", ref: j }, [(u(true), s(d, null, c(_2.configure.items, (e4) => (u(), l(m, { pageContext: _2.pageContext, configure: e4, key: e4.uuid }, null, 8, ["pageContext", "configure"]))), 128))], 6)])]), _: 1 }, 8, ["position", "offset"])) : B.value ? (u(), l(y, { key: 1, position: Y.value, offset: $.value }, { default: f(() => [r("div", k, [r("div", { class: g(["amb-widget-container-tool amb-widget-tools", v(h)]), style: p(F.value), ref_key: "thisRef", ref: j }, [(u(true), s(d, null, c(_2.configure.items, (e4) => (u(), l(m, { pageContext: _2.pageContext, configure: e4, key: e4.uuid }, null, 8, ["pageContext", "configure"]))), 128))], 6)])]), _: 1 }, 8, ["position", "offset"])) : (u(), s("div", w, [r("div", { class: g(["amb-widget-container-tool amb-widget-tools", v(h)]), style: p(F.value), ref_key: "thisRef", ref: j }, [(u(true), s(d, null, c(_2.configure.items, (e4) => (u(), l(m, { pageContext: _2.pageContext, configure: e4, key: e4.uuid }, null, 8, ["pageContext", "configure"]))), 128))], 6)]));
|
|
29
|
+
} });
|
|
30
|
+
export {
|
|
31
|
+
_ as default
|
|
32
|
+
};
|
package/dist/es/style.css
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
|
-
.
|
|
1
|
+
.vue-affix-placeholder {
|
|
2
|
+
display: block;
|
|
3
|
+
visibility: hidden;
|
|
4
|
+
}
|
|
5
|
+
.vue-affix-content.is-fixed {
|
|
6
|
+
left: 50%;
|
|
7
|
+
transform: translateX(-50%);
|
|
8
|
+
}
|
|
9
|
+
.vue-affix-content.is-fixed[style*="position: static"] {
|
|
10
|
+
transform: none;
|
|
11
|
+
}.el-form-item[data-v-96fc65d8] {
|
|
2
12
|
margin-bottom: 0px;
|
|
3
13
|
}
|
|
4
14
|
[data-v-16a29b68] .el-empty {
|
package/package.json
CHANGED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { defineComponent as e, ref as t, onMounted as i, nextTick as s, onUnmounted as o, watch as n, createVNode as d } from "vue";
|
|
2
|
-
const l = e({ name: "FixedBox", props: { isFixed: { type: Boolean, default: true }, position: { type: String, default: "top" }, offset: { type: Number, default: 0 } }, setup(e2, { slots: l2 }) {
|
|
3
|
-
const a = t(), u = t({}), r = t({}), p = [], v = () => {
|
|
4
|
-
(() => {
|
|
5
|
-
if (a.value) {
|
|
6
|
-
const t2 = a.value.getBoundingClientRect();
|
|
7
|
-
u.value = { width: `${t2.width}px`, height: `${t2.height}px` }, r.value = { width: `${t2.width}px`, position: e2.isFixed ? "fixed" : "static", [e2.position]: `${e2.offset}px`, left: `${t2.left}px`, zIndex: 100, pointerEvents: "auto" };
|
|
8
|
-
} else u.value = {}, r.value = {};
|
|
9
|
-
})();
|
|
10
|
-
}, f = (e3) => {
|
|
11
|
-
e3 ? ((() => {
|
|
12
|
-
if (p.forEach((e4) => e4.disconnect()), p.length = 0, a.value) {
|
|
13
|
-
const e4 = new ResizeObserver(v);
|
|
14
|
-
e4.observe(a.value), p.push(e4);
|
|
15
|
-
}
|
|
16
|
-
})(), window.addEventListener("resize", v)) : (window.removeEventListener("resize", v), p.forEach((e4) => e4.disconnect())), v();
|
|
17
|
-
};
|
|
18
|
-
i(() => {
|
|
19
|
-
s(() => {
|
|
20
|
-
f(e2.isFixed);
|
|
21
|
-
});
|
|
22
|
-
}), o(() => {
|
|
23
|
-
f(false);
|
|
24
|
-
}), n(() => e2.isFixed, f);
|
|
25
|
-
const x = () => {
|
|
26
|
-
var _a;
|
|
27
|
-
return d("div", { ref: a, style: r.value }, [(_a = l2.default) == null ? void 0 : _a.call(l2)]);
|
|
28
|
-
};
|
|
29
|
-
return e2.isFixed ? () => d("div", { style: u.value }, [x()]) : x;
|
|
30
|
-
} });
|
|
31
|
-
export {
|
|
32
|
-
l as default
|
|
33
|
-
};
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { defineComponent as e, ref as t, computed as o, watch as l, onMounted as n, onUnmounted as r, createVNode as s, resolveComponent as a, nextTick as i } from "vue";
|
|
2
|
-
const u = e({ name: "SmartAffix", props: { offset: { type: Number, default: 0 }, position: { type: String, default: "top" }, dynamicOffset: { type: Boolean, default: true }, identifier: { type: String, default: () => `affix-${Math.random().toString(36).substr(2, 9)}` } }, setup(e2, { slots: u2 }) {
|
|
3
|
-
const f = t(), v = t(null), d = t(0), p = [], c = o(() => ["top", "bottom"].includes(e2.position)), m = (e3, t2 = 0) => {
|
|
4
|
-
if (!e3 || t2 > 20) return null;
|
|
5
|
-
const o2 = getComputedStyle(e3);
|
|
6
|
-
return /(auto|scroll|overlay)/.test(o2.overflow + o2.overflowY + o2.overflowX) ? e3 : m(e3.parentElement, t2 + 1);
|
|
7
|
-
}, w = () => {
|
|
8
|
-
var _a, _b;
|
|
9
|
-
if (!v.value || v.value === document.documentElement) return void (d.value = 0);
|
|
10
|
-
const { top: t2 = 0, bottom: o2 = 0 } = ((_b = (_a = v.value) == null ? void 0 : _a.getBoundingClientRect) == null ? void 0 : _b.call(_a)) ?? {};
|
|
11
|
-
d.value = "top" === e2.position ? t2 : window.innerHeight - o2;
|
|
12
|
-
}, g = o(() => e2.dynamicOffset ? e2.offset + d.value : e2.offset), y = () => {
|
|
13
|
-
var _a, _b;
|
|
14
|
-
f.value && (v.value || (v.value = m(f.value), (_b = (_a = v.value) == null ? void 0 : _a.addEventListener) == null ? void 0 : _b.call(_a, "scroll", w, { passive: true })), w());
|
|
15
|
-
}, E = (e3) => {
|
|
16
|
-
var _a, _b, _c;
|
|
17
|
-
if (p.forEach((e4) => e4.disconnect()), p.length = 0, e3) {
|
|
18
|
-
const e4 = new ResizeObserver(y);
|
|
19
|
-
f.value && (e4.observe(f.value), p.push(e4));
|
|
20
|
-
let t2 = (_a = f.value) == null ? void 0 : _a.parentElement;
|
|
21
|
-
for (; t2; ) {
|
|
22
|
-
const e5 = new ResizeObserver(y);
|
|
23
|
-
e5.observe(t2), p.push(e5), t2 = t2.parentElement;
|
|
24
|
-
}
|
|
25
|
-
window.addEventListener("scroll", w, { passive: true }), i(y), setTimeout(y, 1e3);
|
|
26
|
-
} else window.removeEventListener("scroll", w), (_c = (_b = v.value) == null ? void 0 : _b.removeEventListener) == null ? void 0 : _c.call(_b, "scroll", w);
|
|
27
|
-
};
|
|
28
|
-
return l(c, E), n(() => {
|
|
29
|
-
E(c.value);
|
|
30
|
-
}), r(() => {
|
|
31
|
-
E(false);
|
|
32
|
-
}), () => {
|
|
33
|
-
var _a;
|
|
34
|
-
return c.value ? s("div", { ref: f }, [s(a("el-affix"), { target: v.value, offset: g.value, position: e2.position, key: e2.identifier }, { default: () => {
|
|
35
|
-
var _a2;
|
|
36
|
-
return [(_a2 = u2.default) == null ? void 0 : _a2.call(u2)];
|
|
37
|
-
} })]) : (_a = u2.default) == null ? void 0 : _a.call(u2);
|
|
38
|
-
};
|
|
39
|
-
} });
|
|
40
|
-
export {
|
|
41
|
-
u as default
|
|
42
|
-
};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { defineComponent as e, ref as t, computed as o, onMounted as i, nextTick as a, onUnmounted as n, createVNode as u, isVNode as r } from "vue";
|
|
2
|
-
import l from "../../object-render.vue.js";
|
|
3
|
-
import { handleAfterInitEvent as s } from "../../../../utils/events/event-util.js";
|
|
4
|
-
import f from "../fixed/SmartAffix.js";
|
|
5
|
-
import p from "../fixed/FixedBox.js";
|
|
6
|
-
function c(e2) {
|
|
7
|
-
return "function" == typeof e2 || "[object Object]" === Object.prototype.toString.call(e2) && !r(e2);
|
|
8
|
-
}
|
|
9
|
-
const v = e({ name: "AmbWidgetTools", props: { pageContext: { type: Object, required: true }, configure: { type: Object, required: true } }, setup(e2) {
|
|
10
|
-
var _a;
|
|
11
|
-
const r2 = t(null), v2 = e2.configure.runtime ?? {}, d = v2.class, g = o(() => e2.configure.props), m = o(() => {
|
|
12
|
-
const { gap: e3 } = g.value ?? {};
|
|
13
|
-
return { ...e3 ? { gap: `${e3}px` } : {}, ...v2.style ?? {} };
|
|
14
|
-
}), x = o(() => {
|
|
15
|
-
var _a2, _b, _c;
|
|
16
|
-
return !![(_a2 = g.value) == null ? void 0 : _a2.isAffix, (_b = g.value) == null ? void 0 : _b.isFixed].every((e3) => void 0 === e3) || ((_c = g.value) == null ? void 0 : _c.isAffix);
|
|
17
|
-
}), y = o(() => {
|
|
18
|
-
var _a2;
|
|
19
|
-
return (_a2 = g.value) == null ? void 0 : _a2.isFixed;
|
|
20
|
-
}), b = o(() => {
|
|
21
|
-
var _a2;
|
|
22
|
-
return (_a2 = g.value) == null ? void 0 : _a2.position;
|
|
23
|
-
}), j = o(() => {
|
|
24
|
-
var _a2;
|
|
25
|
-
return ((_a2 = g.value) == null ? void 0 : _a2.offset) ?? 0;
|
|
26
|
-
});
|
|
27
|
-
i(() => {
|
|
28
|
-
a(() => {
|
|
29
|
-
s(null, e2.pageContext, e2.configure, { componentRef: r2.value, entity: e2.pageContext.entity.data, pageData: e2.pageContext.entity.page });
|
|
30
|
-
});
|
|
31
|
-
}), n(() => {
|
|
32
|
-
});
|
|
33
|
-
const C = u("div", { class: "amb-widget-tools-parent" }, [u("div", { class: ["amb-widget-container-tool amb-widget-tools", d], style: m.value, ref: r2 }, [(_a = e2.configure.items) == null ? void 0 : _a.map((t2) => u(l, { pageContext: e2.pageContext, configure: t2, key: t2.uuid }, null))])]);
|
|
34
|
-
return y.value ? () => u(p, { isFixed: true, offset: j.value, position: b.value }, c(C) ? C : { default: () => [C] }) : x.value ? () => u(f, { offset: j.value, position: b.value }, c(C) ? C : { default: () => [C] }) : () => C;
|
|
35
|
-
} });
|
|
36
|
-
export {
|
|
37
|
-
v as default
|
|
38
|
-
};
|