super-page-runtime 2.2.51 → 2.2.52
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/assets/file.png.js +4 -0
- package/dist/es/assets/folder.png.js +4 -0
- package/dist/es/components/runtime/utils/events/standard-event.d.ts +1 -1
- package/dist/es/components/runtime/utils/events/standard-event.js +82 -78
- package/dist/es/components/runtime/utils/page-helper-util.d.ts +2 -0
- package/dist/es/components/runtime/utils/page-helper-util.js +14 -0
- package/dist/es/components/runtime/utils/page-init-util.js +21 -10
- package/dist/es/components/runtime/utils/tree-utils.js +49 -15
- package/dist/es/components/runtime/views/assemblys/container/card/card-runtime.vue.js +1 -1
- package/dist/es/components/runtime/views/assemblys/container/card/card-runtime.vue2.js +1 -1
- package/dist/es/components/runtime/views/assemblys/container/fixed/FixedBox.vue.js +1 -1
- package/dist/es/components/runtime/views/assemblys/container/fixed/YxAffix.vue.d.ts +94 -0
- package/dist/es/components/runtime/views/assemblys/container/fixed/YxAffix.vue.js +5 -71
- package/dist/es/components/runtime/views/assemblys/container/fixed/YxAffix.vue2.js +72 -2
- package/dist/es/components/runtime/views/assemblys/container/tabs/tabs-runtime.vue.js +4 -1
- package/dist/es/components/runtime/views/assemblys/container/tabs/tabs-runtime.vue2.js +3 -3
- package/dist/es/components/runtime/views/assemblys/container/tools/tools-runtime.vue.js +1 -1
- package/dist/es/components/runtime/views/assemblys/container/tools/tools-runtime.vue2.js +22 -19
- package/dist/es/components/runtime/views/assemblys/data/tree/tree-runtime.vue.js +4 -1
- package/dist/es/components/runtime/views/assemblys/data/tree/tree-runtime.vue2.js +113 -45
- package/dist/es/components/runtime/views/assemblys/form/input-text/inputtext-runtime.vue2.js +59 -54
- package/dist/es/components/runtime/views/super-page.vue.js +1 -1
- package/dist/es/index.d.ts +2 -1
- package/dist/es/index.js +2 -0
- package/dist/es/style.css +370 -26
- package/package.json +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import e from "./FixedBox.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import o from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const r = o(e, [["__scopeId", "data-v-
|
|
4
|
+
const r = o(e, [["__scopeId", "data-v-9b488f43"]]);
|
|
5
5
|
export {
|
|
6
6
|
r as default
|
|
7
7
|
};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
|
|
3
|
+
type Position = 'top' | 'bottom';
|
|
4
|
+
type Target = string | HTMLElement | Window;
|
|
5
|
+
declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
6
|
+
offset: {
|
|
7
|
+
type: NumberConstructor;
|
|
8
|
+
default: number;
|
|
9
|
+
};
|
|
10
|
+
position: {
|
|
11
|
+
type: PropType<Position>;
|
|
12
|
+
default: string;
|
|
13
|
+
validator: (value: string) => value is Position;
|
|
14
|
+
};
|
|
15
|
+
target: {
|
|
16
|
+
type: PropType<Target>;
|
|
17
|
+
default: () => Window & typeof globalThis;
|
|
18
|
+
};
|
|
19
|
+
autoDetectParentScroll: {
|
|
20
|
+
type: BooleanConstructor;
|
|
21
|
+
default: boolean;
|
|
22
|
+
};
|
|
23
|
+
stickyInScrollContainer: {
|
|
24
|
+
type: BooleanConstructor;
|
|
25
|
+
default: boolean;
|
|
26
|
+
};
|
|
27
|
+
zIndex: {
|
|
28
|
+
type: NumberConstructor;
|
|
29
|
+
default: number;
|
|
30
|
+
};
|
|
31
|
+
enableIntervalUpdate: {
|
|
32
|
+
type: BooleanConstructor;
|
|
33
|
+
default: boolean;
|
|
34
|
+
};
|
|
35
|
+
enableIntervalTime: {
|
|
36
|
+
type: NumberConstructor;
|
|
37
|
+
default: number;
|
|
38
|
+
};
|
|
39
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
40
|
+
change: (fixed: boolean) => void;
|
|
41
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
42
|
+
offset: {
|
|
43
|
+
type: NumberConstructor;
|
|
44
|
+
default: number;
|
|
45
|
+
};
|
|
46
|
+
position: {
|
|
47
|
+
type: PropType<Position>;
|
|
48
|
+
default: string;
|
|
49
|
+
validator: (value: string) => value is Position;
|
|
50
|
+
};
|
|
51
|
+
target: {
|
|
52
|
+
type: PropType<Target>;
|
|
53
|
+
default: () => Window & typeof globalThis;
|
|
54
|
+
};
|
|
55
|
+
autoDetectParentScroll: {
|
|
56
|
+
type: BooleanConstructor;
|
|
57
|
+
default: boolean;
|
|
58
|
+
};
|
|
59
|
+
stickyInScrollContainer: {
|
|
60
|
+
type: BooleanConstructor;
|
|
61
|
+
default: boolean;
|
|
62
|
+
};
|
|
63
|
+
zIndex: {
|
|
64
|
+
type: NumberConstructor;
|
|
65
|
+
default: number;
|
|
66
|
+
};
|
|
67
|
+
enableIntervalUpdate: {
|
|
68
|
+
type: BooleanConstructor;
|
|
69
|
+
default: boolean;
|
|
70
|
+
};
|
|
71
|
+
enableIntervalTime: {
|
|
72
|
+
type: NumberConstructor;
|
|
73
|
+
default: number;
|
|
74
|
+
};
|
|
75
|
+
}>> & Readonly<{
|
|
76
|
+
onChange?: (fixed: boolean) => any;
|
|
77
|
+
}>, {
|
|
78
|
+
position: Position;
|
|
79
|
+
offset: number;
|
|
80
|
+
zIndex: number;
|
|
81
|
+
target: Target;
|
|
82
|
+
autoDetectParentScroll: boolean;
|
|
83
|
+
stickyInScrollContainer: boolean;
|
|
84
|
+
enableIntervalUpdate: boolean;
|
|
85
|
+
enableIntervalTime: number;
|
|
86
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, {
|
|
87
|
+
default?(_: {}): any;
|
|
88
|
+
}>;
|
|
89
|
+
export default _default;
|
|
90
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
91
|
+
new (): {
|
|
92
|
+
$slots: S;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
@@ -1,73 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!y.value) return;
|
|
6
|
-
const e3 = y.value.getBoundingClientRect(), t2 = T.value;
|
|
7
|
-
if (t2 === window) {
|
|
8
|
-
const t3 = "top" === m.position ? e3.top <= m.offset : e3.bottom >= window.innerHeight - m.offset;
|
|
9
|
-
B.value = 0, S(t3, e3);
|
|
10
|
-
} else if (m.stickyInScrollContainer) {
|
|
11
|
-
const o2 = t2.getBoundingClientRect(), { isFixTop: n2, isFixBottom: i2, containerOffset: l2 } = ((e4) => {
|
|
12
|
-
const t3 = ["top"].includes(m.position), o3 = ["bottom"].includes(m.position);
|
|
13
|
-
if (!x.value) return { isTop: t3, isBottom: o3 };
|
|
14
|
-
const n3 = x.value.getBoundingClientRect(), i3 = n3.top - e4.top, l3 = n3.left - e4.left, a2 = e4.height - n3.height - i3, r2 = e4.top, s2 = window.innerHeight - e4.bottom;
|
|
15
|
-
return { isTop: t3, isBottom: o3, containerTop: r2, containerBottom: s2, containerOffset: t3 ? r2 : o3 ? s2 : 0, offsetTop: i3, offsetLeft: l3, offsetBottom: a2, isFixTop: t3 && i3 <= 0, isFixBottom: o3 && a2 <= 0 };
|
|
16
|
-
})(o2);
|
|
17
|
-
B.value = l2 ?? 0, S(n2 || i2 || false, e3);
|
|
18
|
-
}
|
|
19
|
-
} catch (e3) {
|
|
20
|
-
}
|
|
21
|
-
}, S = (e3, t2) => {
|
|
22
|
-
e3 !== h.value && (h.value = e3, w("change", e3), g.value = e3 ? { width: `${t2.width}px`, height: `${t2.height}px` } : {});
|
|
23
|
-
}, C = () => {
|
|
24
|
-
requestAnimationFrame(E);
|
|
25
|
-
};
|
|
26
|
-
let L;
|
|
27
|
-
const k = () => {
|
|
28
|
-
h.value = false, clearTimeout(L), L = window.setTimeout(() => {
|
|
29
|
-
E();
|
|
30
|
-
}, 100);
|
|
31
|
-
};
|
|
32
|
-
o(() => {
|
|
33
|
-
setTimeout(() => {
|
|
34
|
-
n(() => {
|
|
35
|
-
try {
|
|
36
|
-
m.enableIntervalUpdate && (I.value = setInterval(C, m.enableIntervalTime));
|
|
37
|
-
const e3 = (() => {
|
|
38
|
-
if (m.autoDetectParentScroll && y.value) {
|
|
39
|
-
const e4 = [];
|
|
40
|
-
let t2 = y.value.parentElement;
|
|
41
|
-
for (; t2 && t2 !== document.body; ) {
|
|
42
|
-
const { overflowY: o2 } = window.getComputedStyle(t2);
|
|
43
|
-
/(auto|scroll)/.test(o2) && e4.push(t2), t2 = t2.parentElement;
|
|
44
|
-
}
|
|
45
|
-
return [...e4, window];
|
|
46
|
-
}
|
|
47
|
-
if ("string" == typeof m.target) {
|
|
48
|
-
const e4 = document.querySelector(m.target);
|
|
49
|
-
return [...e4 ? [e4] : [], window];
|
|
50
|
-
}
|
|
51
|
-
return [window];
|
|
52
|
-
})();
|
|
53
|
-
b.value = e3, T.value = e3[0], b.value.forEach((e4) => e4.addEventListener("scroll", C)), window.addEventListener("resize", k), E();
|
|
54
|
-
} catch (e3) {
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
}, 100);
|
|
58
|
-
}), i(() => {
|
|
59
|
-
T.value && b.value.forEach((e3) => e3.removeEventListener("scroll", C)), window.removeEventListener("resize", k), clearTimeout(L), I.value && clearInterval(I.value);
|
|
60
|
-
}), l(() => {
|
|
61
|
-
n(() => {
|
|
62
|
-
C();
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
const z = a(() => {
|
|
66
|
-
var _a;
|
|
67
|
-
return h.value ? { position: "fixed", width: `${(_a = y.value) == null ? void 0 : _a.offsetWidth}px`, zIndex: m.zIndex, [m.position]: `${m.offset + B.value}px` } : { position: "relative" };
|
|
68
|
-
});
|
|
69
|
-
return (e3, t2) => (s(), r("div", { ref_key: "affixMainRef", ref: x, class: "yx-affix" }, [h.value ? (s(), r("div", { key: 0, style: c(g.value), class: "yx-affix-placeholder" }, null, 4)) : u("", true), f("div", { ref_key: "affixRef", ref: y, style: c(z.value), class: d({ "yx-affix-content": true, "is-fixed": h.value, "is-top": "top" === m.position, "is-bottom": "bottom" === m.position }) }, [p(e3.$slots, "default")], 6)], 512));
|
|
70
|
-
} });
|
|
1
|
+
import e from "./YxAffix.vue2.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import o from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const r = o(e, [["__scopeId", "data-v-d053fb6d"]]);
|
|
71
5
|
export {
|
|
72
|
-
|
|
6
|
+
r as default
|
|
73
7
|
};
|
|
@@ -1,4 +1,74 @@
|
|
|
1
|
-
import f from "
|
|
1
|
+
import { defineComponent as e, ref as t, onMounted as o, nextTick as n, onUnmounted as i, watchEffect as l, computed as a, createElementBlock as r, openBlock as s, createCommentVNode as u, createElementVNode as f, normalizeStyle as c, normalizeClass as d, renderSlot as p } from "vue";
|
|
2
|
+
const v = 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 }, enableIntervalUpdate: { type: Boolean, default: true }, enableIntervalTime: { type: Number, default: 2e3 } }, emits: ["change"], setup(e2, { emit: v2 }) {
|
|
3
|
+
const m = e2, w = v2, h = t(null), x = t(null), y = t(false), g = t({}), b = t([]), T = t(window), B = t(0), I = t(null), E = () => {
|
|
4
|
+
try {
|
|
5
|
+
if (!x.value) return;
|
|
6
|
+
const e3 = x.value.getBoundingClientRect(), t2 = T.value;
|
|
7
|
+
if (t2 === window) {
|
|
8
|
+
const t3 = "top" === m.position ? e3.top <= m.offset : e3.bottom >= window.innerHeight - m.offset;
|
|
9
|
+
B.value = 0, S(t3, e3);
|
|
10
|
+
} else if (m.stickyInScrollContainer) {
|
|
11
|
+
const o2 = t2.getBoundingClientRect(), { isFixTop: n2, isFixBottom: i2, containerOffset: l2 } = ((e4) => {
|
|
12
|
+
const t3 = ["top"].includes(m.position), o3 = ["bottom"].includes(m.position);
|
|
13
|
+
if (!h.value) return { isTop: t3, isBottom: o3 };
|
|
14
|
+
const n3 = h.value.getBoundingClientRect(), i3 = n3.top - e4.top, l3 = n3.left - e4.left, a2 = e4.height - n3.height - i3, r2 = e4.top, s2 = window.innerHeight - e4.bottom;
|
|
15
|
+
return { isTop: t3, isBottom: o3, containerTop: r2, containerBottom: s2, containerOffset: t3 ? r2 : o3 ? s2 : 0, offsetTop: i3, offsetLeft: l3, offsetBottom: a2, isFixTop: t3 && i3 <= 0, isFixBottom: o3 && a2 <= 0 };
|
|
16
|
+
})(o2);
|
|
17
|
+
B.value = l2 ?? 0, S(n2 || i2 || false, e3);
|
|
18
|
+
}
|
|
19
|
+
} catch (e3) {
|
|
20
|
+
}
|
|
21
|
+
}, S = (e3, t2) => {
|
|
22
|
+
var _a;
|
|
23
|
+
e3 === y.value && ((_a = g.value) == null ? void 0 : _a.height) === `${t2.height}px` || (y.value = e3, w("change", e3), g.value = e3 ? { width: "100%", height: `${t2.height}px` } : {});
|
|
24
|
+
}, C = () => {
|
|
25
|
+
requestAnimationFrame(E);
|
|
26
|
+
};
|
|
27
|
+
let L;
|
|
28
|
+
const k = () => {
|
|
29
|
+
y.value = false, clearTimeout(L), L = window.setTimeout(() => {
|
|
30
|
+
E();
|
|
31
|
+
}, 100);
|
|
32
|
+
};
|
|
33
|
+
o(() => {
|
|
34
|
+
setTimeout(() => {
|
|
35
|
+
n(() => {
|
|
36
|
+
try {
|
|
37
|
+
m.enableIntervalUpdate && (I.value = setInterval(C, m.enableIntervalTime));
|
|
38
|
+
const e3 = (() => {
|
|
39
|
+
if (m.autoDetectParentScroll && x.value) {
|
|
40
|
+
const e4 = [];
|
|
41
|
+
let t2 = x.value.parentElement;
|
|
42
|
+
for (; t2 && t2 !== document.body; ) {
|
|
43
|
+
const { overflowY: o2 } = window.getComputedStyle(t2);
|
|
44
|
+
/(auto|scroll)/.test(o2) && e4.push(t2), t2 = t2.parentElement;
|
|
45
|
+
}
|
|
46
|
+
return [...e4, window];
|
|
47
|
+
}
|
|
48
|
+
if ("string" == typeof m.target) {
|
|
49
|
+
const e4 = document.querySelector(m.target);
|
|
50
|
+
return [...e4 ? [e4] : [], window];
|
|
51
|
+
}
|
|
52
|
+
return [window];
|
|
53
|
+
})();
|
|
54
|
+
b.value = e3, T.value = e3[0], b.value.forEach((e4) => e4.addEventListener("scroll", C)), window.addEventListener("resize", k), E();
|
|
55
|
+
} catch (e3) {
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}, 100);
|
|
59
|
+
}), i(() => {
|
|
60
|
+
T.value && b.value.forEach((e3) => e3.removeEventListener("scroll", C)), window.removeEventListener("resize", k), clearTimeout(L), I.value && clearInterval(I.value);
|
|
61
|
+
}), l(() => {
|
|
62
|
+
n(() => {
|
|
63
|
+
C();
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
const z = a(() => {
|
|
67
|
+
var _a;
|
|
68
|
+
return y.value ? { position: "fixed", width: `${(_a = x.value) == null ? void 0 : _a.offsetWidth}px`, zIndex: m.zIndex, [m.position]: `${m.offset + B.value}px` } : { position: "relative" };
|
|
69
|
+
});
|
|
70
|
+
return (e3, t2) => (s(), r("div", { ref_key: "affixMainRef", ref: h, class: "yx-affix" }, [y.value ? (s(), r("div", { key: 0, style: c(g.value), class: "yx-affix-placeholder" }, null, 4)) : u("", true), f("div", { ref_key: "affixRef", ref: x, style: c(z.value), class: d({ "yx-affix-content": true, "is-fixed": y.value, "is-top": "top" === m.position, "is-bottom": "bottom" === m.position }) }, [p(e3.$slots, "default", {}, void 0, true)], 6)], 512));
|
|
71
|
+
} });
|
|
2
72
|
export {
|
|
3
|
-
|
|
73
|
+
v as default
|
|
4
74
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as e, ref as t, onMounted as n, nextTick as o, createBlock as a, openBlock as i, unref as
|
|
1
|
+
import { defineComponent as e, ref as t, onMounted as n, nextTick as o, createBlock as a, openBlock as i, unref as u, normalizeClass as l, normalizeStyle as r, withCtx as c, createElementBlock as p, Fragment as s, renderList as g, createElementVNode as f, createCommentVNode as m, toDisplayString as d } from "vue";
|
|
2
2
|
import { ElTabs as b, ElTabPane as y } from "element-plus";
|
|
3
3
|
import x from "../../object-render.vue.js";
|
|
4
4
|
import { SuperIcon as C } from "agilebuilder-ui";
|
|
@@ -23,7 +23,7 @@ const V = e({ __name: "tabs-runtime", props: { pageContext: {}, configure: {} },
|
|
|
23
23
|
function q() {
|
|
24
24
|
return T(null, V2.pageContext, V2.configure, "tab-add");
|
|
25
25
|
}
|
|
26
|
-
function
|
|
26
|
+
function w(e3, t2) {
|
|
27
27
|
const n2 = { paneName: e3, action: t2 };
|
|
28
28
|
return T(e3, V2.pageContext, V2.configure, "edit", n2);
|
|
29
29
|
}
|
|
@@ -34,7 +34,7 @@ const V = e({ __name: "tabs-runtime", props: { pageContext: {}, configure: {} },
|
|
|
34
34
|
t2.code && e3.push(document.querySelector("." + t2.code));
|
|
35
35
|
}), v(null, V2.pageContext, V2.configure, { componentRef: _.value, tabsDom: e3, entity: V2.pageContext.entity.data, pageData: V2.pageContext.entity.page });
|
|
36
36
|
});
|
|
37
|
-
}), (e3, t2) => (i(), a(
|
|
37
|
+
}), (e3, t2) => (i(), a(u(b), { ref_key: "thisRef", ref: _, modelValue: k.value, "onUpdate:modelValue": t2[0] || (t2[0] = (e4) => k.value = e4), type: e3.configure.props.cardType, "tab-position": e3.configure.props.tabPosition, style: r(u(N)), class: l([u(R), "runtime-page-container-tabs-view"]), onTabClick: E, onTabChange: O, onTabRemove: S, onTabAdd: q, onEdit: w }, { default: c(() => [(i(true), p(s, null, g(e3.configure.items, (t3, n2) => (i(), a(u(y), { label: t3.label, name: t3.index }, { label: c(() => [f("span", { class: l(t3.code) }, [t3.iconType && t3.iconValue ? (i(), a(u(C), { key: 0, iconType: t3.iconType, iconValue: t3.iconValue, style: { "margin-right": "2px" } }, null, 8, ["iconType", "iconValue"])) : m("", true), f("span", { style: r(u(D)) }, d(u(h)(t3.label)), 5)], 2)]), default: c(() => [(i(true), p(s, null, g(t3.items, (t4, n3) => (i(), a(x, { key: t4.uuid, pageContext: e3.pageContext, configure: t4 }, null, 8, ["pageContext", "configure"]))), 128))]), _: 2 }, 1032, ["label", "name"]))), 256))]), _: 1 }, 8, ["modelValue", "type", "tab-position", "style", "class"]));
|
|
38
38
|
} });
|
|
39
39
|
export {
|
|
40
40
|
V as default
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./tools-runtime.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const e = t(o, [["__scopeId", "data-v-
|
|
4
|
+
const e = t(o, [["__scopeId", "data-v-445a411e"]]);
|
|
5
5
|
export {
|
|
6
6
|
e as default
|
|
7
7
|
};
|
|
@@ -1,32 +1,35 @@
|
|
|
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 u,
|
|
2
|
-
import
|
|
3
|
-
import { handleAfterInitEvent as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
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 u, createCommentVNode as s, openBlock as f, withCtx as r, createElementVNode as g, normalizeStyle as p, normalizeClass as v, unref as d, Fragment as c, renderList as m } from "vue";
|
|
2
|
+
import x from "../../object-render.vue.js";
|
|
3
|
+
import { handleAfterInitEvent as y } from "../../../../utils/events/event-util.js";
|
|
4
|
+
import C from "../fixed/YxAffix.vue.js";
|
|
5
|
+
import b from "../fixed/FixedBox.vue.js";
|
|
6
|
+
const k = { "data-v": "1.0.0", class: "amb-widget-tools-parent" }, w = { "data-v": "1.0.0", class: "amb-widget-tools-parent" }, _ = { key: 2, "data-v": "1.0.0", class: "amb-widget-tools-parent" }, j = e({ __name: "tools-runtime", props: { pageContext: {}, configure: {} }, setup(e2) {
|
|
7
|
+
const j2 = e2, h = t(null), R = j2.configure.runtime ?? {}, A = R.class, F = o(() => j2.configure.props), B = o(() => {
|
|
8
|
+
var _a, _b;
|
|
9
|
+
return !!((_b = (_a = j2.configure) == null ? void 0 : _a.items) == null ? void 0 : _b.length);
|
|
10
|
+
}), D = o(() => {
|
|
11
|
+
const { gap: e3 } = F.value ?? {};
|
|
9
12
|
return { backgroundColor: "#fff", ...e3 ? { gap: `${e3}px` } : {}, ...R.style ?? {} };
|
|
10
|
-
}),
|
|
13
|
+
}), Y = o(() => {
|
|
11
14
|
var _a, _b, _c;
|
|
12
|
-
return !![(_a =
|
|
13
|
-
}),
|
|
15
|
+
return !![(_a = F.value) == null ? void 0 : _a.isAffix, (_b = F.value) == null ? void 0 : _b.isFixed].every((e3) => void 0 === e3) || ((_c = F.value) == null ? void 0 : _c.isAffix);
|
|
16
|
+
}), $ = o(() => {
|
|
14
17
|
var _a;
|
|
15
|
-
return (_a =
|
|
16
|
-
}),
|
|
18
|
+
return (_a = F.value) == null ? void 0 : _a.isFixed;
|
|
19
|
+
}), q = o(() => {
|
|
17
20
|
var _a, _b;
|
|
18
|
-
return ["top"].includes((_a =
|
|
19
|
-
}),
|
|
21
|
+
return ["top"].includes((_a = F.value) == null ? void 0 : _a.position) ? "top" : ["bottom"].includes((_b = F.value) == null ? void 0 : _b.position) ? "bottom" : void 0;
|
|
22
|
+
}), z = o(() => {
|
|
20
23
|
var _a;
|
|
21
|
-
return ((_a =
|
|
24
|
+
return ((_a = F.value) == null ? void 0 : _a.offset) ?? 0;
|
|
22
25
|
});
|
|
23
26
|
return i(() => {
|
|
24
27
|
a(() => {
|
|
25
|
-
|
|
28
|
+
y(null, j2.pageContext, j2.configure, { componentRef: h.value, entity: j2.pageContext.entity.data, pageData: j2.pageContext.entity.page });
|
|
26
29
|
});
|
|
27
30
|
}), n(() => {
|
|
28
|
-
}), (e3, t2) =>
|
|
31
|
+
}), (e3, t2) => $.value && B.value ? (f(), l(b, { key: 0, position: q.value, offset: z.value }, { default: r(() => [g("div", k, [g("div", { class: v(["amb-widget-container-tool amb-widget-tools", d(A)]), style: p(D.value), ref_key: "thisRef", ref: h }, [(f(true), u(c, null, m(j2.configure.items, (e4) => (f(), l(x, { pageContext: j2.pageContext, configure: e4, key: e4.uuid }, null, 8, ["pageContext", "configure"]))), 128))], 6)])]), _: 1 }, 8, ["position", "offset"])) : Y.value && B.value ? (f(), l(C, { key: 1, position: q.value, offset: z.value }, { default: r(() => [g("div", w, [g("div", { class: v(["amb-widget-container-tool amb-widget-tools", d(A)]), style: p(D.value), ref_key: "thisRef", ref: h }, [(f(true), u(c, null, m(j2.configure.items, (e4) => (f(), l(x, { pageContext: j2.pageContext, configure: e4, key: e4.uuid }, null, 8, ["pageContext", "configure"]))), 128))], 6)])]), _: 1 }, 8, ["position", "offset"])) : B.value ? (f(), u("div", _, [g("div", { class: v(["amb-widget-container-tool amb-widget-tools", d(A)]), style: p(D.value), ref_key: "thisRef", ref: h }, [(f(true), u(c, null, m(j2.configure.items, (e4) => (f(), l(x, { pageContext: j2.pageContext, configure: e4, key: e4.uuid }, null, 8, ["pageContext", "configure"]))), 128))], 6)])) : s("", true);
|
|
29
32
|
} });
|
|
30
33
|
export {
|
|
31
|
-
|
|
34
|
+
j as default
|
|
32
35
|
};
|
|
@@ -1,62 +1,130 @@
|
|
|
1
|
-
import { defineComponent as e,
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
1
|
+
import { defineComponent as e, ref as a, computed as t, onMounted as n, nextTick as l, watch as o, resolveComponent as u, createElementBlock as d, openBlock as i, normalizeClass as s, unref as c, createBlock as r, createCommentVNode as p, withDirectives as v, normalizeStyle as f, withCtx as g, createVNode as m, createElementVNode as h, createTextVNode as y, Fragment as C, toDisplayString as x, renderList as k, vShow as N } from "vue";
|
|
2
|
+
import T from "../../../../../../assets/folder.png.js";
|
|
3
|
+
import I from "../../../../../../assets/file.png.js";
|
|
4
|
+
import { getFormModelFields as V } from "../../../../utils/page-init-util.js";
|
|
5
|
+
import { setVariableValue as b, getVariableValue as E } from "../../../../utils/page-helper-util.js";
|
|
6
|
+
import { getMenuTreeData as L, createTreeNode as M, updateTreeNode as K, deleteNode as _ } from "../../../../utils/tree-utils.js";
|
|
7
|
+
import { handleAfterInitEvent as w, handleFormEvent as j } from "../../../../utils/events/event-util.js";
|
|
8
|
+
import { ElMessageBox as S, ElMessage as z } from "element-plus";
|
|
9
|
+
import { checkPermission as B } from "agilebuilder-ui/src/utils/permission";
|
|
10
|
+
const P = { key: 0, class: "custom-tree-node" }, R = ["title"], D = { key: 0, class: "item-row" }, O = { class: "item-side" }, U = { key: 1, class: "item-side", style: { display: "flex", "align-items": "center" } }, W = ["onClick"], A = e({ __name: "tree-runtime", props: { pageContext: {}, configure: {} }, setup(e2, { expose: A2 }) {
|
|
11
|
+
var _a, _b, _c;
|
|
12
|
+
const q = a(), F = a(false), G = e2, H = G.pageContext.entity ? G.pageContext.entity : {}, J = a([]);
|
|
13
|
+
((_a = G.configure.props) == null ? void 0 : _a.contextMenus) && (G.pageContext && G.configure && !G.pageContext.isTest ? G.configure.props.contextMenus.forEach((e3) => {
|
|
14
|
+
if (e3.functionCodes && e3.functionCodes.length > 0) for (let a2 = 0; a2 < e3.functionCodes.length; a2++) {
|
|
15
|
+
const t2 = e3.functionCodes[a2];
|
|
16
|
+
if (B(t2)) return void J.value.push(e3);
|
|
17
|
+
}
|
|
18
|
+
else J.value.push(e3);
|
|
19
|
+
}) : J.value = G.configure.props.contextMenus);
|
|
20
|
+
let Q = V(G.pageContext, G.configure);
|
|
21
|
+
const X = t({ get: () => E(H, Q), set(e3) {
|
|
22
|
+
b(H, Q, e3);
|
|
23
|
+
} }), Y = a(!!((_c = (_b = G.configure.props) == null ? void 0 : _b.base) == null ? void 0 : _c.lazy)), Z = G.configure.runtime ? G.configure.runtime : {}, $ = Z.style, ee = Z.class, ae = a(), te = a(Z.props ? Z.props : {}), ne = a({ id: "nodeId", label: "name", children: "children", isLeaf: "leaf", disabled: "disabled", nodeType: "nodeType", iconType: "iconType", iconValue: "iconValue" }), le = a(false), oe = a([]), ue = a(null), de = a(""), ie = a(false), se = a(""), ce = a(""), re = a("");
|
|
24
|
+
n(() => {
|
|
25
|
+
l(() => {
|
|
26
|
+
const e3 = X.value;
|
|
27
|
+
w(e3, G.pageContext, G.configure, { componentRef: ae.value, value: e3, entity: G.pageContext.entity.data, pageData: G.pageContext.entity.page });
|
|
19
28
|
});
|
|
20
|
-
}),
|
|
21
|
-
|
|
22
|
-
}), o(
|
|
23
|
-
|
|
29
|
+
}), Y.value ? le.value = true : L(G.pageContext, G.configure).then((e3) => {
|
|
30
|
+
oe.value = e3, le.value = true;
|
|
31
|
+
}), o(de, (e3) => {
|
|
32
|
+
ie.value = true, ae.value.filter(e3);
|
|
24
33
|
});
|
|
25
|
-
const
|
|
26
|
-
function
|
|
27
|
-
|
|
34
|
+
const pe = (e3, a2) => !e3 || a2.name.includes(e3);
|
|
35
|
+
function ve(e3, a2, t2) {
|
|
36
|
+
ue.value = a2, j(null, G.pageContext, G.configure, "node-click", { data: e3, node: a2, nodeTree: t2 });
|
|
28
37
|
}
|
|
29
|
-
function
|
|
30
|
-
let
|
|
31
|
-
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
if (
|
|
38
|
+
function fe(e3, a2) {
|
|
39
|
+
let t2 = "0";
|
|
40
|
+
t2 = 0 === e3.level ? "0" : e3.data.nodeId, function(e4, a3, t3) {
|
|
41
|
+
const n2 = { parentNodeId: e4, data: a3.data, searchValue: de, isSearch: ie.value };
|
|
42
|
+
L(G.pageContext, G.configure, e4, a3, n2).then((n3) => {
|
|
43
|
+
if (ie.value = false, t3(n3), "0" === e4) {
|
|
35
44
|
!function(e5, a4) {
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
45
|
+
const t4 = { parentNodeId: e5, data: a4.data, searchValue: de, isSearch: ie.value };
|
|
46
|
+
L(G.pageContext, G.configure, e5, a4, t4).then((a5) => {
|
|
47
|
+
ie.value = false, ae.value.updateKeyChildren(e5, a5), ae.value.store.nodesMap[e5] && (ae.value.store.nodesMap[e5].expanded = true);
|
|
39
48
|
});
|
|
40
|
-
}(
|
|
49
|
+
}(n3[0].nodeId, a3);
|
|
41
50
|
}
|
|
42
51
|
});
|
|
43
|
-
}(
|
|
52
|
+
}(t2, e3, a2);
|
|
44
53
|
}
|
|
45
|
-
|
|
46
|
-
return
|
|
54
|
+
const ge = a({}), me = (e3, a2, t2, n2) => {
|
|
55
|
+
if (se.value) return void z.warning("请先保存当前编辑节点!");
|
|
56
|
+
document.removeEventListener("click", he), ge.value = t2, F.value = true;
|
|
57
|
+
const l2 = document.documentElement.scrollTop || document.body.scrollTop;
|
|
58
|
+
q.value.style.display = "block", q.value.style.left = e3.x + "px", q.value.style.top = e3.y + l2 - 10 + "px", document.addEventListener("click", he);
|
|
59
|
+
}, he = () => {
|
|
60
|
+
F.value = false, document.removeEventListener("click", he);
|
|
61
|
+
}, ye = (e3, a2) => {
|
|
62
|
+
if (e3.parent && e3.parent.level > 0) {
|
|
63
|
+
const t2 = e3.parent.data.children.findIndex((a3) => a3.nodeId === e3.data.nodeId);
|
|
64
|
+
e3.parent.data.children[t2] = a2, e3.data = a2;
|
|
65
|
+
} else {
|
|
66
|
+
const t2 = e3.parent.data.findIndex((a3) => a3.nodeId === e3.data.nodeId);
|
|
67
|
+
e3.parent.data[t2] = a2, e3.data = a2;
|
|
68
|
+
}
|
|
69
|
+
}, Ce = () => {
|
|
70
|
+
se.value = "", re.value = "", ce.value = "";
|
|
71
|
+
}, xe = () => ({ nodeId: "primary" + (/* @__PURE__ */ new Date()).getTime(), name: "新增节点", disabled: false, iconType: "custom", isLeaf: true });
|
|
72
|
+
function ke(e3) {
|
|
73
|
+
e3.tipMessage ? S.confirm(e3.tipMessage, { confirmButtonText: "确定", cancelButtonText: "取消", type: "error" }).then(() => {
|
|
74
|
+
_(ge.value, G.configure, G.pageContext).then(() => {
|
|
75
|
+
z.success("删除成功!"), Ne(), ge.value = null;
|
|
76
|
+
});
|
|
77
|
+
}).catch(() => {
|
|
78
|
+
ge.value = null;
|
|
79
|
+
}) : _(ge.value, G.configure, G.pageContext).then(() => {
|
|
80
|
+
z.success("删除成功!"), Ne(), ge.value = null;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
const Ne = () => {
|
|
84
|
+
const e3 = ge.value.parent;
|
|
85
|
+
ae.value.remove(ge.value), e3.childNodes && 0 === e3.childNodes.length && (e3.data.isLeaf = true), e3.data.children && e3.data.children.length > 0 && (e3.data.children = e3.data.children.filter((e4) => e4.nodeId !== ge.value.data.nodeId));
|
|
86
|
+
};
|
|
87
|
+
return A2({ getSelectNode: function() {
|
|
88
|
+
return ue.value;
|
|
47
89
|
}, expandNode: function(e3) {
|
|
48
90
|
e3.loaded = false, e3.expand();
|
|
49
91
|
}, loadTreeNodes: function() {
|
|
50
|
-
|
|
51
|
-
|
|
92
|
+
L(G.pageContext, G.configure).then((e3) => {
|
|
93
|
+
ie.value = false, oe.value = e3;
|
|
52
94
|
});
|
|
53
95
|
}, getNode: function(e3) {
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
|
|
96
|
+
ae.value.getNode(e3);
|
|
97
|
+
}, getCheckedNodes: (e3, a2) => ae.value.getCheckedNodes(e3, a2), setCheckedNodes: (e3) => {
|
|
98
|
+
ae.value.setCheckedNodes(e3);
|
|
99
|
+
}, getCheckedKeys: (e3) => ae.value.getCheckedKeysleafOnly(), setCheckedKeys: (e3, a2) => {
|
|
100
|
+
ae.value.setCheckedKeys(e3, a2);
|
|
101
|
+
}, setChecked: (e3, a2, t2) => {
|
|
102
|
+
ae.value.setChecked(e3, a2, t2);
|
|
103
|
+
}, getCurrentKey: () => ae.value.getCurrentKey(), getCurrentNode: () => ae.value.getCurrentNode(), setCurrentKey: (e3, a2 = true) => ae.value.setCurrentKey(e3, a2), setCurrentNode: (e3, a2 = true) => ae.value.setCurrentNode(e3, a2) }), (e3, a2) => {
|
|
104
|
+
var _a2;
|
|
105
|
+
const t2 = u("el-input"), n2 = u("el-button"), l2 = u("SuperIcon"), o2 = u("el-tree");
|
|
106
|
+
return i(), d("div", { class: s(c(ee)) }, [te.value.filter ? (i(), r(t2, { key: 0, modelValue: de.value, "onUpdate:modelValue": a2[0] || (a2[0] = (e4) => de.value = e4), style: { width: "240px" }, placeholder: "请输入查询条件" }, null, 8, ["modelValue"])) : p("", true), le.value ? (i(), r(o2, { key: 1, ref_key: "menuTreeRef", ref: ae, style: f(c($)), load: fe, data: oe.value, "node-key": "nodeId", props: ne.value, "default-expand-all": te.value.defaultExpandAll, "expand-on-click-node": te.value.expandOnClickNode, indent: te.value.retractWidth ? te.value.retractWidth : 18, accordion: te.value.accordion, "show-checkbox": !!te.value.showCheckbox, "highlight-current": "", lazy: Y.value, "filter-node-method": pe, onNodeClick: ve, onNodeContextmenu: me }, { default: g(({ node: o3, data: u2 }) => [u2.nodeId === se.value ? (i(), d("div", P, [m(t2, { modelValue: re.value, "onUpdate:modelValue": a2[1] || (a2[1] = (e4) => re.value = e4), size: "small" }, null, 8, ["modelValue"]), h("div", null, [m(n2, { type: "primary", link: "", onClick: (e4) => ((e5) => {
|
|
107
|
+
"" !== re.value ? (e5.data.name = re.value, ce.value && e5.data.nodeId === ce.value ? M(e5, G.configure, G.pageContext).then((a3) => {
|
|
108
|
+
ye(e5, a3.currentNode), Ce(), z.success("保存成功!");
|
|
109
|
+
}) : K(e5, G.configure, G.pageContext).then((a3) => {
|
|
110
|
+
ye(e5, a3.currentNode), Ce(), z.success("保存成功!");
|
|
111
|
+
})) : z.warning("请输入节点名称");
|
|
112
|
+
})(o3) }, { default: g(() => a2[2] || (a2[2] = [y(" 保存 ")])), _: 2 }, 1032, ["onClick"]), m(n2, { style: { "margin-left": "4px" }, type: "primary", link: "", onClick: (a3) => ((e4) => {
|
|
113
|
+
ce.value && e4.data.nodeId === ce.value && ae.value.remove(e4), Ce();
|
|
114
|
+
})(o3, e3.configure, e3.pageContext) }, { default: g(() => a2[3] || (a2[3] = [y(" 撤销 ")])), _: 2 }, 1032, ["onClick"])])])) : (i(), d("span", { key: 1, title: o3.label, class: "ellipsis" }, [u2.iconValue ? (i(), r(l2, { key: 0, iconType: u2.iconType, iconValue: u2.iconValue }, null, 8, ["iconType", "iconValue"])) : te.value.iconValue ? (i(), r(l2, { key: 1, iconType: te.value.iconType, iconValue: te.value.iconValue }, null, 8, ["iconType", "iconValue"])) : (i(), d(C, { key: 2 }, [u2.isLeaf ? (i(), d("div", U, [a2[5] || (a2[5] = h("img", { src: I, class: "file" }, null, -1)), h("span", null, x(u2.name), 1)])) : (i(), d("div", D, [h("div", O, [a2[4] || (a2[4] = h("img", { src: T, class: "file" }, null, -1)), h("span", null, x(u2.name), 1)])]))], 64))], 8, R))]), _: 1 }, 8, ["style", "data", "props", "default-expand-all", "expand-on-click-node", "indent", "accordion", "show-checkbox", "lazy"])) : p("", true), v(h("div", null, [h("ul", { ref_key: "contxtMenuRef", ref: q, class: "context-menu" }, [(i(true), d(C, null, k(J.value, (e4, a3) => (i(), d("li", { key: a3, tabindex: "-1", class: "menu__item", onClick: (a4) => ((e5) => {
|
|
115
|
+
if (ge.value && "standard" === e5.type && e5.standardEvent) if ("edit" === e5.standardEvent) se.value = ge.value.data.nodeId, re.value = ge.value.data.name;
|
|
116
|
+
else if ("delete" === e5.standardEvent) ge.value.childNodes && ge.value.childNodes.length > 0 && e5.deleteParentNodeTip ? (e5.deleteParentNodeTipMessage || (e5.deleteParentNodeTipMessage = "当前节点下有子节点,确认删除?"), S.confirm(e5.deleteParentNodeTipMessage, { confirmButtonText: "确定", cancelButtonText: "取消", type: "error" }).then(() => {
|
|
117
|
+
ke(e5);
|
|
118
|
+
}).catch(() => {
|
|
119
|
+
ge.value = null;
|
|
120
|
+
})) : ke(e5);
|
|
121
|
+
else {
|
|
122
|
+
const a5 = xe();
|
|
123
|
+
se.value = a5.nodeId, ce.value = a5.nodeId, re.value = a5.name, "addSiblingNode" === e5.standardEvent ? (a5.isLeaf = ge.value.data.isLeaf, ge.value.parent && ge.value.parent.level > 0 ? ae.value.append(a5, ge.value.parent) : oe.value.push(a5)) : "addChildNode" === e5.standardEvent && (a5.isLeaf = true, ge.value.data.isLeaf = false, ae.value.append(a5, ge.value), ae.value.setCurrentKey(a5.nodeId, true));
|
|
124
|
+
}
|
|
125
|
+
})(e4) }, [h("span", null, x(e4.name), 1)], 8, W))), 128))], 512)], 512), [[N, F.value && ((_a2 = J.value) == null ? void 0 : _a2.length) > 0]])], 2);
|
|
58
126
|
};
|
|
59
127
|
} });
|
|
60
128
|
export {
|
|
61
|
-
|
|
129
|
+
A as default
|
|
62
130
|
};
|