| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529 |
- import { n as x, d as w, ac as M, aS as F, o as G, aT as $ } from "./index2.js";
- import { ref as z, shallowRef as B, watchEffect as R } from "vue";
- function ee(e, t) {
- if (!e) return [];
- const o = e.slice(), n = o.indexOf(t);
- return n >= 0 && o.splice(n, 1), o;
- }
- function te(e, t) {
- const o = (e || []).slice();
- return o.indexOf(t) === -1 && o.push(t), o;
- }
- function j(e) {
- return e.split("-");
- }
- function _(e, t) {
- return `${e}-${t}`;
- }
- function U(e) {
- return e && e.type && e.type.isTreeNode;
- }
- function ne(e, t) {
- const o = [], n = t[e];
- function r() {
- (arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : []).forEach((f) => {
- let {
- key: c,
- children: u
- } = f;
- o.push(c), r(u);
- });
- }
- return r(n.children), o;
- }
- function V(e) {
- if (e.parent) {
- const t = j(e.pos);
- return Number(t[t.length - 1]) === e.parent.children.length - 1;
- }
- return !1;
- }
- function W(e) {
- const t = j(e.pos);
- return Number(t[t.length - 1]) === 0;
- }
- function re(e, t, o, n, r, s, f, c, u, l) {
- var a;
- const {
- clientX: i,
- clientY: d
- } = e, {
- top: p,
- height: h
- } = e.target.getBoundingClientRect(), g = ((l === "rtl" ? -1 : 1) * (((r == null ? void 0 : r.x) || 0) - i) - 12) / n;
- let y = c[o.eventKey];
- if (d < p + h / 2) {
- const N = f.findIndex((D) => D.key === y.key), E = N <= 0 ? 0 : N - 1, L = f[E].key;
- y = c[L];
- }
- const k = y.key, b = y, m = y.key;
- let K = 0, C = 0;
- if (!u.has(k))
- for (let N = 0; N < g && V(y); N += 1)
- y = y.parent, C += 1;
- const S = t.eventData, O = y.node;
- let P = !0;
- return W(y) && y.level === 0 && d < p + h / 2 && s({
- dragNode: S,
- dropNode: O,
- dropPosition: -1
- }) && y.key === o.eventKey ? K = -1 : (b.children || []).length && u.has(m) ? s({
- dragNode: S,
- dropNode: O,
- dropPosition: 0
- }) ? K = 0 : P = !1 : C === 0 ? g > -1.5 ? s({
- dragNode: S,
- dropNode: O,
- dropPosition: 1
- }) ? K = 1 : P = !1 : s({
- dragNode: S,
- dropNode: O,
- dropPosition: 0
- }) ? K = 0 : s({
- dragNode: S,
- dropNode: O,
- dropPosition: 1
- }) ? K = 1 : P = !1 : s({
- dragNode: S,
- dropNode: O,
- dropPosition: 1
- }) ? K = 1 : P = !1, {
- dropPosition: K,
- dropLevelOffset: C,
- dropTargetKey: y.key,
- dropTargetPos: y.pos,
- dragOverNodeKey: m,
- dropContainerKey: K === 0 ? null : ((a = y.parent) === null || a === void 0 ? void 0 : a.key) || null,
- dropAllowed: P
- };
- }
- function oe(e, t) {
- if (!e) return;
- const {
- multiple: o
- } = t;
- return o ? e.slice() : e.length ? [e[0]] : e;
- }
- function se(e) {
- if (!e)
- return null;
- let t;
- if (Array.isArray(e))
- t = {
- checkedKeys: e,
- halfCheckedKeys: void 0
- };
- else if (typeof e == "object")
- t = {
- checkedKeys: e.checked || void 0,
- halfCheckedKeys: e.halfChecked || void 0
- };
- else
- return x(!1, "`checkedKeys` is not an array or an object"), null;
- return t;
- }
- function ie(e, t) {
- const o = /* @__PURE__ */ new Set();
- function n(r) {
- if (o.has(r)) return;
- const s = t[r];
- if (!s) return;
- o.add(r);
- const {
- parent: f,
- node: c
- } = s;
- c.disabled || f && n(f.key);
- }
- return (e || []).forEach((r) => {
- n(r);
- }), [...o];
- }
- var X = function(e, t) {
- var o = {};
- for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (o[n] = e[n]);
- if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var r = 0, n = Object.getOwnPropertySymbols(e); r < n.length; r++)
- t.indexOf(n[r]) < 0 && Object.prototype.propertyIsEnumerable.call(e, n[r]) && (o[n[r]] = e[n[r]]);
- return o;
- };
- function T(e, t) {
- return e != null ? e : t;
- }
- function A(e) {
- const {
- title: t,
- _title: o,
- key: n,
- children: r
- } = e || {}, s = t || "title";
- return {
- title: s,
- _title: o || [s],
- key: n || "key",
- children: r || "children"
- };
- }
- function ae(e) {
- function t() {
- let o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
- return M(o).map((r) => {
- var s, f, c, u;
- if (!U(r))
- return x(!r, "Tree/TreeNode can only accept TreeNode as children."), null;
- const l = r.children || {}, a = r.key, i = {};
- for (const [N, E] of Object.entries(r.props))
- i[F(N)] = E;
- const {
- isLeaf: d,
- checkable: p,
- selectable: h,
- disabled: v,
- disableCheckbox: g
- } = i, y = {
- isLeaf: d || d === "" || void 0,
- checkable: p || p === "" || void 0,
- selectable: h || h === "" || void 0,
- disabled: v || v === "" || void 0,
- disableCheckbox: g || g === "" || void 0
- }, k = w(w({}, i), y), {
- title: b = (s = l.title) === null || s === void 0 ? void 0 : s.call(l, k),
- icon: m = (f = l.icon) === null || f === void 0 ? void 0 : f.call(l, k),
- switcherIcon: K = (c = l.switcherIcon) === null || c === void 0 ? void 0 : c.call(l, k)
- } = i, C = X(i, ["title", "icon", "switcherIcon"]), S = (u = l.default) === null || u === void 0 ? void 0 : u.call(l), O = w(w(w({}, C), {
- title: b,
- icon: m,
- switcherIcon: K,
- key: a,
- isLeaf: d
- }), y), P = t(S);
- return P.length && (O.children = P), O;
- });
- }
- return t(e);
- }
- function le(e, t, o) {
- const {
- _title: n,
- key: r,
- children: s
- } = A(o), f = new Set(t === !0 ? [] : t), c = [];
- function u(l) {
- let a = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : null;
- return l.map((i, d) => {
- const p = _(a ? a.pos : "0", d), h = T(i[r], p);
- let v;
- for (let y = 0; y < n.length; y += 1) {
- const k = n[y];
- if (i[k] !== void 0) {
- v = i[k];
- break;
- }
- }
- const g = w(w({}, G(i, [...n, r, s])), {
- title: v,
- key: h,
- parent: a,
- pos: p,
- children: null,
- data: i,
- isStart: [...a ? a.isStart : [], d === 0],
- isEnd: [...a ? a.isEnd : [], d === l.length - 1]
- });
- return c.push(g), t === !0 || f.has(h) ? g.children = u(i[s] || [], g) : g.children = [], g;
- });
- }
- return u(e), c;
- }
- function Y(e, t, o) {
- let n = {};
- typeof o == "object" ? n = o : n = {
- externalGetKey: o
- }, n = n || {};
- const {
- childrenPropName: r,
- externalGetKey: s,
- fieldNames: f
- } = n, {
- key: c,
- children: u
- } = A(f), l = r || u;
- let a;
- s ? typeof s == "string" ? a = (d) => d[s] : typeof s == "function" && (a = (d) => s(d)) : a = (d, p) => T(d[c], p);
- function i(d, p, h, v) {
- const g = d ? d[l] : e, y = d ? _(h.pos, p) : "0", k = d ? [...v, d] : [];
- if (d) {
- const b = a(d, y), m = {
- node: d,
- index: p,
- pos: y,
- key: b,
- parentPos: h.node ? h.pos : null,
- level: h.level + 1,
- nodes: k
- };
- t(m);
- }
- g && g.forEach((b, m) => {
- i(b, m, {
- node: d,
- pos: y,
- level: h ? h.level + 1 : -1
- }, k);
- });
- }
- i(null);
- }
- function ce(e) {
- let {
- initWrapper: t,
- processEntity: o,
- onProcessFinished: n,
- externalGetKey: r,
- childrenPropName: s,
- fieldNames: f
- } = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, c = arguments.length > 2 ? arguments[2] : void 0;
- const u = r || c, l = {}, a = {};
- let i = {
- posEntities: l,
- keyEntities: a
- };
- return t && (i = t(i) || i), Y(e, (d) => {
- const {
- node: p,
- index: h,
- pos: v,
- key: g,
- parentPos: y,
- level: k,
- nodes: b
- } = d, m = {
- node: p,
- nodes: b,
- index: h,
- key: g,
- pos: v,
- level: k
- }, K = T(g, v);
- l[v] = m, a[K] = m, m.parent = l[y], m.parent && (m.parent.children = m.parent.children || [], m.parent.children.push(m)), o && o(m, i);
- }, {
- externalGetKey: u,
- childrenPropName: s,
- fieldNames: f
- }), n && n(i), i;
- }
- function de(e, t) {
- let {
- expandedKeysSet: o,
- selectedKeysSet: n,
- loadedKeysSet: r,
- loadingKeysSet: s,
- checkedKeysSet: f,
- halfCheckedKeysSet: c,
- dragOverNodeKey: u,
- dropPosition: l,
- keyEntities: a
- } = t;
- const i = a[e];
- return {
- eventKey: e,
- expanded: o.has(e),
- selected: n.has(e),
- loaded: r.has(e),
- loading: s.has(e),
- checked: f.has(e),
- halfChecked: c.has(e),
- pos: String(i ? i.pos : ""),
- parent: i.parent,
- // [Legacy] Drag props
- // Since the interaction of drag is changed, the semantic of the props are
- // not accuracy, I think it should be finally removed
- dragOver: u === e && l === 0,
- dragOverGapTop: u === e && l === -1,
- dragOverGapBottom: u === e && l === 1
- };
- }
- function fe(e) {
- const {
- data: t,
- expanded: o,
- selected: n,
- checked: r,
- loaded: s,
- loading: f,
- halfChecked: c,
- dragOver: u,
- dragOverGapTop: l,
- dragOverGapBottom: a,
- pos: i,
- active: d,
- eventKey: p
- } = e, h = w(w({
- dataRef: t
- }, t), {
- expanded: o,
- selected: n,
- checked: r,
- loaded: s,
- loading: f,
- halfChecked: c,
- dragOver: u,
- dragOverGapTop: l,
- dragOverGapBottom: a,
- pos: i,
- active: d,
- eventKey: p,
- key: p
- });
- return "props" in h || Object.defineProperty(h, "props", {
- get() {
- return x(!1, "Second param return from event is node data instead of TreeNode instance. Please read value directly instead of reading from `props`."), e;
- }
- }), h;
- }
- function I(e, t) {
- const o = /* @__PURE__ */ new Set();
- return e.forEach((n) => {
- t.has(n) || o.add(n);
- }), o;
- }
- function q(e) {
- const {
- disabled: t,
- disableCheckbox: o,
- checkable: n
- } = e || {};
- return !!(t || o) || n === !1;
- }
- function H(e, t, o, n) {
- const r = new Set(e), s = /* @__PURE__ */ new Set();
- for (let c = 0; c <= o; c += 1)
- (t.get(c) || /* @__PURE__ */ new Set()).forEach((l) => {
- const {
- key: a,
- node: i,
- children: d = []
- } = l;
- r.has(a) && !n(i) && d.filter((p) => !n(p.node)).forEach((p) => {
- r.add(p.key);
- });
- });
- const f = /* @__PURE__ */ new Set();
- for (let c = o; c >= 0; c -= 1)
- (t.get(c) || /* @__PURE__ */ new Set()).forEach((l) => {
- const {
- parent: a,
- node: i
- } = l;
- if (n(i) || !l.parent || f.has(l.parent.key))
- return;
- if (n(l.parent.node)) {
- f.add(a.key);
- return;
- }
- let d = !0, p = !1;
- (a.children || []).filter((h) => !n(h.node)).forEach((h) => {
- let {
- key: v
- } = h;
- const g = r.has(v);
- d && !g && (d = !1), !p && (g || s.has(v)) && (p = !0);
- }), d && r.add(a.key), p && s.add(a.key), f.add(a.key);
- });
- return {
- checkedKeys: Array.from(r),
- halfCheckedKeys: Array.from(I(s, r))
- };
- }
- function J(e, t, o, n, r) {
- const s = new Set(e);
- let f = new Set(t);
- for (let u = 0; u <= n; u += 1)
- (o.get(u) || /* @__PURE__ */ new Set()).forEach((a) => {
- const {
- key: i,
- node: d,
- children: p = []
- } = a;
- !s.has(i) && !f.has(i) && !r(d) && p.filter((h) => !r(h.node)).forEach((h) => {
- s.delete(h.key);
- });
- });
- f = /* @__PURE__ */ new Set();
- const c = /* @__PURE__ */ new Set();
- for (let u = n; u >= 0; u -= 1)
- (o.get(u) || /* @__PURE__ */ new Set()).forEach((a) => {
- const {
- parent: i,
- node: d
- } = a;
- if (r(d) || !a.parent || c.has(a.parent.key))
- return;
- if (r(a.parent.node)) {
- c.add(i.key);
- return;
- }
- let p = !0, h = !1;
- (i.children || []).filter((v) => !r(v.node)).forEach((v) => {
- let {
- key: g
- } = v;
- const y = s.has(g);
- p && !y && (p = !1), !h && (y || f.has(g)) && (h = !0);
- }), p || s.delete(i.key), h && f.add(i.key), c.add(i.key);
- });
- return {
- checkedKeys: Array.from(s),
- halfCheckedKeys: Array.from(I(f, s))
- };
- }
- function ue(e, t, o, n, r, s) {
- const f = [];
- let c;
- s ? c = s : c = q;
- const u = new Set(e.filter((a) => {
- const i = !!o[a];
- return i || f.push(a), i;
- }));
- $(!f.length, `Tree missing follow keys: ${f.slice(0, 100).map((a) => `'${a}'`).join(", ")}`);
- let l;
- return t === !0 ? l = H(u, r, n, c) : l = J(u, t.halfCheckedKeys, r, n, c), l;
- }
- function he(e) {
- const t = z(0), o = B();
- return R(() => {
- const n = /* @__PURE__ */ new Map();
- let r = 0;
- const s = e.value || {};
- for (const f in s)
- if (Object.prototype.hasOwnProperty.call(s, f)) {
- const c = s[f], {
- level: u
- } = c;
- let l = n.get(u);
- l || (l = /* @__PURE__ */ new Set(), n.set(u, l)), l.add(c), r = Math.max(r, u);
- }
- t.value = r, o.value = n;
- }), {
- maxLevel: t,
- levelEntities: o
- };
- }
- export {
- ue as a,
- ee as b,
- ce as c,
- te as d,
- ae as e,
- A as f,
- ie as g,
- de as h,
- fe as i,
- T as j,
- le as k,
- oe as l,
- ne as m,
- re as n,
- j as o,
- se as p,
- he as u
- };
|