@dinert/element-plus 1.1.0 → 1.1.1

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.
Files changed (73) hide show
  1. package/dist/element-plus.umd.js +1 -1
  2. package/dist/element-plus.umd.js.map +1 -1
  3. package/dist/style.css +1 -1
  4. package/es/node_modules/@element-plus/icons-vue/dist/index.mjs +63 -33
  5. package/es/node_modules/@element-plus/icons-vue/dist/index.mjs.map +1 -1
  6. package/es/packages/assets/fonts/iconfont.mjs +40 -0
  7. package/es/packages/assets/fonts/iconfont.mjs.map +1 -0
  8. package/es/packages/assets/scss/dinert-dialog.scss.mjs +2 -0
  9. package/es/packages/assets/scss/dinert-dialog.scss.mjs.map +1 -0
  10. package/es/packages/components/dialog/index.mjs +10 -0
  11. package/es/packages/components/dialog/index.mjs.map +1 -0
  12. package/es/packages/components/dialog/src/index.mjs +87 -0
  13. package/es/packages/components/dialog/src/index.mjs.map +1 -0
  14. package/es/packages/components/form/src/date.mjs.map +1 -1
  15. package/es/packages/components/form/src/index.mjs +111 -99
  16. package/es/packages/components/form/src/index.mjs.map +1 -1
  17. package/es/packages/components/form/src/select-v2.mjs +34 -0
  18. package/es/packages/components/form/src/select-v2.mjs.map +1 -0
  19. package/es/packages/components/form/utils/index.mjs +31 -51
  20. package/es/packages/components/form/utils/index.mjs.map +1 -1
  21. package/es/packages/components/index.mjs +6 -4
  22. package/es/packages/components/index.mjs.map +1 -1
  23. package/es/packages/components/table/hooks/index.mjs +4 -4
  24. package/es/packages/components/table/hooks/index.mjs.map +1 -1
  25. package/es/packages/components/table/src/index.mjs +131 -119
  26. package/es/packages/components/table/src/index.mjs.map +1 -1
  27. package/es/packages/components/table/src/recuve-table-column.mjs +157 -135
  28. package/es/packages/components/table/src/recuve-table-column.mjs.map +1 -1
  29. package/es/packages/components/table-page/src/index.mjs +19 -18
  30. package/es/packages/components/table-page/src/index.mjs.map +1 -1
  31. package/es/packages/components/tooltip/src/index.mjs +14 -14
  32. package/es/packages/components/tooltip/src/index.mjs.map +1 -1
  33. package/es/packages/hooks/TablePage/index.mjs +28 -22
  34. package/es/packages/hooks/TablePage/index.mjs.map +1 -1
  35. package/es/packages/index.mjs +13 -11
  36. package/es/packages/index.mjs.map +1 -1
  37. package/es/packages/utils/tools.mjs +39 -26
  38. package/es/packages/utils/tools.mjs.map +1 -1
  39. package/es/src/components/dialog/index.d.ts +3 -1
  40. package/es/src/components/dialog/src/index.d.ts +3 -0
  41. package/es/src/components/dialog/types/index.d.ts +10 -0
  42. package/es/src/components/form/src/date.d.ts +1 -239
  43. package/es/src/components/form/src/select-v2.d.ts +27 -0
  44. package/es/src/components/form/types/index.d.ts +1 -0
  45. package/es/src/components/index.d.ts +2 -0
  46. package/es/src/components/table/hooks/index.d.ts +1 -1
  47. package/es/src/components/table/index.d.ts +6 -25274
  48. package/es/src/components/table/src/index.d.ts +6 -25275
  49. package/es/src/components/table/src/recuve-table-column.d.ts +13 -2
  50. package/es/src/components/table/types/index.d.ts +3 -7
  51. package/es/src/components/table-page/index.d.ts +815 -0
  52. package/es/src/components/table-page/src/index.d.ts +816 -0
  53. package/es/src/hooks/TablePage/index.d.ts +12 -3
  54. package/es/style.css +1 -1
  55. package/lib/index.js +1 -1
  56. package/lib/index.js.map +1 -1
  57. package/lib/src/components/dialog/index.d.ts +3 -1
  58. package/lib/src/components/dialog/src/index.d.ts +3 -0
  59. package/lib/src/components/dialog/types/index.d.ts +10 -0
  60. package/lib/src/components/form/src/date.d.ts +1 -239
  61. package/lib/src/components/form/src/select-v2.d.ts +27 -0
  62. package/lib/src/components/form/types/index.d.ts +1 -0
  63. package/lib/src/components/index.d.ts +2 -0
  64. package/lib/src/components/table/hooks/index.d.ts +1 -1
  65. package/lib/src/components/table/index.d.ts +6 -25274
  66. package/lib/src/components/table/src/index.d.ts +6 -25275
  67. package/lib/src/components/table/src/recuve-table-column.d.ts +13 -2
  68. package/lib/src/components/table/types/index.d.ts +3 -7
  69. package/lib/src/components/table-page/index.d.ts +815 -0
  70. package/lib/src/components/table-page/src/index.d.ts +816 -0
  71. package/lib/src/hooks/TablePage/index.d.ts +12 -3
  72. package/lib/style.css +1 -1
  73. package/package.json +1 -1
@@ -1,20 +1,20 @@
1
- import { defineComponent as E, ref as j, watch as B, nextTick as F, createVNode as t, Fragment as y, resolveComponent as d, mergeProps as m, withDirectives as P, resolveDirective as W, createTextVNode as D, computed as R, isVNode as A } from "vue";
2
- import { getPropByPath as S, dataTransformRod as I } from "../../../utils/tools.mjs";
3
- import { treeNode as _, allShow as q, treeProps as z, allowDrop as G, checkTree as H, nodeDragEnd as J } from "../hooks/index.mjs";
4
- import { Setting as K, ArrowDown as M } from "../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
5
- function T(c) {
6
- return typeof c == "function" || Object.prototype.toString.call(c) === "[object Object]" && !A(c);
1
+ import { defineComponent as $, ref as E, watch as F, nextTick as A, createVNode as n, Fragment as v, resolveComponent as u, mergeProps as x, withDirectives as P, resolveDirective as W, createTextVNode as T, computed as N, isVNode as m } from "vue";
2
+ import { getPropByPath as B, dataTransformRod as K } from "../../../utils/tools.mjs";
3
+ import { treeNode as S, allShow as I, treeProps as q, allowDrop as z, checkTree as G, nodeDragEnd as H } from "../hooks/index.mjs";
4
+ import { Setting as J, ArrowDown as M } from "../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
5
+ function R(d) {
6
+ return typeof d == "function" || Object.prototype.toString.call(d) === "[object Object]" && !m(d);
7
7
  }
8
- const Q = (c) => {
9
- const s = {};
10
- for (const i in c)
11
- i !== "children" && (s[i] = c[i]);
12
- return s;
8
+ const Q = (d) => {
9
+ const p = {};
10
+ for (const s in d)
11
+ s !== "children" && (p[s] = d[s]);
12
+ return p;
13
13
  }, U = {
14
14
  index: 60,
15
15
  selection: 40,
16
16
  expand: 40
17
- }, ee = /* @__PURE__ */ E({
17
+ }, ee = /* @__PURE__ */ $({
18
18
  name: "dinert-recuve-table-column",
19
19
  props: {
20
20
  onlyClass: {
@@ -31,221 +31,243 @@ const Q = (c) => {
31
31
  tableColumns: {
32
32
  type: Array,
33
33
  default: () => []
34
+ },
35
+ defaultCheckedKeys: {
36
+ type: Array,
37
+ default: () => []
34
38
  }
35
39
  },
36
- setup(c) {
37
- const s = j(), i = j(0), e = (n) => {
38
- i.value++, i.value === 1 && s.value && _(s.value, n.table.tableColumns);
39
- };
40
- return B(() => {
41
- var n;
42
- return (n = c.table) == null ? void 0 : n.key;
40
+ emits: ["CheckedChange"],
41
+ setup(d, {
42
+ emit: p
43
+ }) {
44
+ const s = E();
45
+ return F(() => {
46
+ var o;
47
+ return (o = d.table) == null ? void 0 : o.key;
43
48
  }, () => {
44
- F(() => {
45
- var n;
46
- s.value && _(s.value, (n = c.table) == null ? void 0 : n.tableColumns);
49
+ A(() => {
50
+ var o;
51
+ s.value && S(s.value, (o = d.table) == null ? void 0 : o.tableColumns);
47
52
  });
48
53
  }, {
49
54
  immediate: !0
50
55
  }), {
51
- settingRender: (n) => t(d("el-popover"), {
52
- value: n.popoverValue,
53
- onBeforeEnter: () => e(n)
56
+ settingRender: (o) => n(u("el-popover"), {
57
+ value: o.popoverValue
54
58
  }, {
55
59
  default: () => {
56
- var g;
57
- return t("ul", {
60
+ var k;
61
+ return n("ul", {
58
62
  class: "el-popover-classify"
59
- }, [t("li", null, [t(d("el-button"), {
63
+ }, [n("li", null, [n(u("el-button"), {
60
64
  class: "allSelect",
61
65
  link: !0,
62
66
  type: "primary",
63
- onClick: () => {
64
- var p;
65
- return q(s.value, ((p = n.table) == null ? void 0 : p.tableColumns) || []);
67
+ onClick: async () => {
68
+ var a;
69
+ return I(s.value, ((a = o.table) == null ? void 0 : a.tableColumns) || []);
66
70
  }
67
71
  }, {
68
- default: () => [D("全选")]
69
- })]), t(d("el-tree"), {
72
+ default: () => [T("全选")]
73
+ })]), n(u("el-tree"), {
70
74
  ref: s,
71
75
  draggable: !0,
72
- data: (g = n.table) == null ? void 0 : g.tableColumns,
76
+ data: (k = o.table) == null ? void 0 : k.tableColumns,
73
77
  "default-expand-all": !0,
78
+ defaultCheckedKeys: o.defaultCheckedKeys,
74
79
  "show-checkbox": !0,
75
80
  "node-key": "prop",
76
- props: z,
77
- allowDrop: G,
78
- onCheckChange: H,
79
- onNodeDragEnd: (p) => J(p, s.value)
81
+ props: q,
82
+ allowDrop: z,
83
+ onCheckChange: async (a, c, b) => {
84
+ await G(a, c, b), p("CheckedChange", a, c, b);
85
+ },
86
+ onNodeDragEnd: (a, c) => H(a, c, s.value)
80
87
  }, {
81
88
  default: ({
82
- data: p
83
- }) => t("div", {
89
+ data: a
90
+ }) => n("div", {
84
91
  class: "text-dot tree-item"
85
- }, [t(d("el-tooltip"), {
86
- content: p.label,
92
+ }, [n(u("el-tooltip"), {
93
+ content: a.label,
87
94
  placement: "top",
88
- disabled: p.label && p.label.length < 8
95
+ disabled: a.label && a.label.length < 8
89
96
  }, {
90
- default: () => t("span", null, [p.label])
97
+ default: () => n("span", null, [a.label])
91
98
  })])
92
99
  })]);
93
100
  },
94
- reference: () => t(d("el-icon"), {
101
+ reference: () => n(u("el-icon"), {
95
102
  class: "setting-icon"
96
103
  }, {
97
- default: () => [t(K, null, null)]
104
+ default: () => [n(J, null, null)]
98
105
  })
99
106
  }),
100
- moreRender: (n, g, {
101
- value: p,
102
- scope: v,
103
- isSlotValue: w,
107
+ moreRender: (o, k, {
108
+ value: a,
109
+ scope: c,
110
+ isSlotValue: b,
104
111
  slotValue: V
105
112
  }) => {
106
- const k = n.operations || {};
107
- let x = 1;
108
- const f = R(() => {
109
- const l = [];
110
- return Object.keys(k).forEach((o) => {
111
- const r = k[o];
112
- (typeof r.show != "function" && [!0, void 0].includes(r.show) || typeof r.show == "function" && [!0, void 0].includes(r.show(v, n, r))) && l.push({
113
- key: o,
113
+ const O = o.operations || {}, h = N(() => {
114
+ let l = 0;
115
+ const t = [];
116
+ return Object.keys(O).forEach((i) => {
117
+ const r = O[i];
118
+ (typeof r.show != "function" && [!0, void 0].includes(r.show) || typeof r.show == "function" && [!0, void 0].includes(r.show(c, o, r))) && t.push({
119
+ key: i,
114
120
  ...r,
115
- sort: typeof r.sort > "u" ? x : r.sort
116
- }), x++;
117
- }), l.sort((o, r) => o.sort - r.sort), l;
121
+ sort: typeof r.sort > "u" ? l : r.sort
122
+ }), l += 10;
123
+ }), t.sort((i, r) => i.sort - r.sort), t;
118
124
  });
119
- let a = n.maxOperations || 3;
120
- a = f.value.length > a ? a - 1 : a;
121
- const u = R(() => f.value.slice(0, a)), h = R(() => f.value.slice(a, f.value.length));
122
- return f.value && f.value.length ? t(y, null, [u.value.map((l) => {
123
- const o = typeof l.message == "function" ? l.message(v, n, l) : l.message;
124
- return t(d("el-button"), m({
125
+ let y = o.maxOperations || 3;
126
+ y = h.value.length > y ? y - 1 : y;
127
+ const f = N(() => h.value.slice(0, y)), w = N(() => h.value.slice(y, h.value.length));
128
+ return h.value && h.value.length ? n(v, null, [f.value.map((l) => {
129
+ const t = typeof l.message == "function" ? l.message(c, o, l) : l.message;
130
+ return l.key === "delete" ? n(u("el-popconfirm"), x({
131
+ title: "是否删除该数据"
132
+ }, {
133
+ ...l.confirm
134
+ }, {
135
+ onConfirm: () => l.click && l.click(c, o, l)
136
+ }), {
137
+ reference: () => n(u("el-button"), x({
138
+ ...l,
139
+ type: l.type || "primary",
140
+ link: l.link === void 0 ? !0 : l.link
141
+ }, {
142
+ key: l.key
143
+ }), R(t) ? t : {
144
+ default: () => [t]
145
+ })
146
+ }) : n(u("el-button"), x({
125
147
  ...l,
126
148
  type: l.type || "primary",
127
149
  link: l.link === void 0 ? !0 : l.link
128
150
  }, {
129
- onClick: () => l.click && l.click(v, n, l),
151
+ onClick: () => l.click && l.click(c, o, l),
130
152
  key: l.key
131
- }), T(o) ? o : {
132
- default: () => [o]
153
+ }), R(t) ? t : {
154
+ default: () => [t]
133
155
  });
134
- }), h.value.length && f.value.length > a && t(d("el-dropdown"), {
156
+ }), w.value.length && h.value.length > y && n(u("el-dropdown"), {
135
157
  teleported: !0,
136
- onCommand: (l) => l.click && l.click(v, n, l)
158
+ onCommand: (l) => l.click && l.click(c, o, l)
137
159
  }, {
138
- default: () => t(d("el-button"), {
160
+ default: () => n(u("el-button"), {
139
161
  type: "primary",
140
162
  link: !0,
141
163
  text: !0
142
164
  }, {
143
- default: () => [D("更多"), t(d("el-icon"), null, {
144
- default: () => [t(M, null, null)]
165
+ default: () => [T("更多"), n(u("el-icon"), null, {
166
+ default: () => [n(M, null, null)]
145
167
  })]
146
168
  }),
147
169
  dropdown: () => {
148
170
  let l;
149
- return t(d("el-dropdown-menu"), null, T(l = h.value.map((o) => {
150
- const r = typeof o.message == "function" ? o.message(v, n, o) : o.message;
151
- return t(d("el-dropdown-item"), {
152
- command: o
153
- }, T(r) ? r : {
154
- default: () => [r]
171
+ return n(u("el-dropdown-menu"), null, R(l = w.value.map((t) => {
172
+ const i = typeof t.message == "function" ? t.message(c, o, t) : t.message;
173
+ return n(u("el-dropdown-item"), {
174
+ command: t
175
+ }, R(i) ? i : {
176
+ default: () => [i]
155
177
  });
156
178
  })) ? l : {
157
179
  default: () => [l]
158
180
  });
159
181
  }
160
- }) || null]) : t("div", {
182
+ }) || null]) : n("div", {
161
183
  class: "cell-item-text"
162
- }, [w && V || p]);
184
+ }, [b && V || a]);
163
185
  }
164
186
  };
165
187
  },
166
188
  render() {
167
- const c = this.$slots, s = c.default, i = c.header;
168
- return t(y, null, [
189
+ const d = this.$slots, p = d.default, s = d.header;
190
+ return n(v, null, [
169
191
  // eslint-disable-next-line array-callback-return, consistent-return
170
192
  this.tableColumns && this.tableColumns.map((e) => {
171
- var O;
172
- let b = typeof e.show == "function" ? e.show(e) : e.show;
173
- b = b === void 0 || b === !0;
174
- const C = e.checked === void 0 || e.checked === !0, n = !["index", "selection", "expand"].includes(e.type), g = e.prop === "operations" && e.fixed === void 0 ? "right" : e.fixed, p = e.showOverflowTooltip === void 0 && e.prop !== "operations" ? !0 : e.showOverflowTooltip, v = `${e.prop || ""} ${e.className || ""} ${e.setting ? "setting" : ""}`;
175
- let w = e.prop === "operations" && e.align === void 0 ? "center" : e.align;
176
- const V = e.prop === "operations" && e.width === void 0 ? 200 : e.width, k = e.formatter && typeof e.formatter == "function", x = Q(e);
177
- let f = 0;
178
- const a = (O = e.prop) == null ? void 0 : O.toLocaleLowerCase();
179
- if (a != null && a.includes("time") ? f = 170 : (a != null && a.includes("status") || a != null && a.includes("state")) && (f = 80, w = e.align || "center"), b && C && n)
180
- return t(d("el-table-column"), m(x, {
193
+ var w;
194
+ let g = typeof e.show == "function" ? e.show(e) : e.show;
195
+ g = g === void 0 || g === !0;
196
+ const o = e.checked === void 0 || e.checked === !0, k = !["index", "selection", "expand"].includes(e.type), a = e.prop === "operations" && e.fixed === void 0 ? "right" : e.fixed, c = e.showOverflowTooltip === void 0 && e.prop !== "operations" ? !0 : e.showOverflowTooltip, b = `${e.prop || ""} ${e.className || ""} ${e.setting ? "setting" : ""}`;
197
+ let V = e.prop === "operations" && e.align === void 0 ? "center" : e.align;
198
+ const O = e.prop === "operations" && e.width === void 0 ? 200 : e.width, h = e.formatter && typeof e.formatter == "function", y = Q(e);
199
+ let D = 0;
200
+ const f = (w = e.prop) == null ? void 0 : w.toLocaleLowerCase();
201
+ if (f != null && f.includes("time") ? D = 170 : (f != null && f.includes("status") || f != null && f.includes("state")) && (D = 80, V = e.align || "center"), g && o && k)
202
+ return n(u("el-table-column"), x(y, {
181
203
  key: e.prop,
182
- fixed: g,
183
- "show-overflow-tooltip": p,
184
- className: v,
185
- width: V,
186
- minWidth: e.minWidth || f,
187
- align: w
204
+ fixed: a,
205
+ "show-overflow-tooltip": c,
206
+ className: b,
207
+ width: O,
208
+ minWidth: e.minWidth || D,
209
+ align: V
188
210
  }), {
189
- default: (u) => {
190
- var N;
191
- const h = S(u.row, e.prop || ""), l = I(h, (N = this.table) == null ? void 0 : N.errData), o = s == null ? void 0 : s({
192
- ...u,
211
+ default: (l) => {
212
+ var j;
213
+ const t = B(l.row, e.prop || ""), i = K(t, (j = this.table) == null ? void 0 : j.errData), r = p == null ? void 0 : p({
214
+ ...l,
193
215
  prop: e.prop
194
- }), r = o && o[0] && o[0].children;
195
- if (k) {
196
- const $ = e.formatter && e.formatter(u, e, h, u.$index);
197
- return t(y, null, [r ? t("div", {
216
+ }), C = r && r[0] && r[0].children;
217
+ if (h) {
218
+ const _ = e.formatter && e.formatter(l, e, t, l.$index);
219
+ return n(v, null, [C ? n("div", {
198
220
  class: "cell-item"
199
- }, [s == null ? void 0 : s({
200
- ...u,
221
+ }, [p == null ? void 0 : p({
222
+ ...l,
201
223
  prop: e.prop
202
- })]) : P(t("div", {
224
+ })]) : P(n("div", {
203
225
  class: "cell-item"
204
- }, null), [[W("dompurify-html"), $]]), t(d("dinert-recuve-table-column"), {
226
+ }, null), [[W("dompurify-html"), _]]), n(u("dinert-recuve-table-column"), {
205
227
  table: this.table,
206
228
  key: e.prop,
207
229
  tableColumns: e.children,
208
230
  "popover-value": this.popoverValue,
209
231
  "only-class": this.onlyClass
210
- }, c)]);
232
+ }, d)]);
211
233
  } else
212
- return t(y, null, [t("div", {
234
+ return n(v, null, [n("div", {
213
235
  class: "cell-item"
214
236
  }, [this.moreRender(e, this, {
215
- value: l,
216
- scope: u,
217
- isSlotValue: r,
218
- slotValue: o
219
- })]), t(d("dinert-recuve-table-column"), {
237
+ value: i,
238
+ scope: l,
239
+ isSlotValue: C,
240
+ slotValue: r
241
+ })]), n(u("dinert-recuve-table-column"), {
220
242
  table: this.table,
221
243
  key: e.prop,
222
244
  tableColumns: e.children,
223
245
  "popover-value": this.popoverValue,
224
246
  "only-class": this.onlyClass
225
- }, c)]);
247
+ }, d)]);
226
248
  },
227
- header: (u) => {
228
- var o, r;
229
- const h = i == null ? void 0 : i({
230
- ...u,
249
+ header: (l) => {
250
+ var r, C;
251
+ const t = s == null ? void 0 : s({
252
+ ...l,
231
253
  data: e,
232
254
  prop: e.prop
233
- }), l = h && h[0] && h[0].children;
234
- return i ? t(y, null, [D(" "), t("span", null, [l ? i == null ? void 0 : i({
235
- ...u,
255
+ }), i = t && t[0] && t[0].children;
256
+ return s ? n(v, null, [T(" "), n("span", null, [i ? s == null ? void 0 : s({
257
+ ...l,
236
258
  data: e,
237
259
  prop: e.prop
238
- }) : u.column.label]), e.setting && ((o = this.table) == null ? void 0 : o.setting) !== !1 && this.settingRender(this)]) : t(y, null, [t("span", null, [u.column.label]), e.setting && ((r = this.table) == null ? void 0 : r.setting) !== !1 && this.settingRender(this)]);
260
+ }) : l.column.label]), e.setting && ((r = this.table) == null ? void 0 : r.setting) !== !1 && this.settingRender(this)]) : n(v, null, [n("span", null, [l.column.label]), e.setting && ((C = this.table) == null ? void 0 : C.setting) !== !1 && this.settingRender(this)]);
239
261
  }
240
262
  });
241
- if (b && C) {
242
- const u = e.align === void 0 ? "center" : "left", h = e.width === void 0 ? U[e.type || ""] || 60 : e.width;
243
- return t(d("el-table-column"), m(e, {
263
+ if (g && o) {
264
+ const l = e.align === void 0 ? "center" : "left", t = e.width === void 0 ? U[e.type || ""] || 60 : e.width;
265
+ return n(u("el-table-column"), x(e, {
244
266
  key: e.prop,
245
- fixed: g,
246
- align: u,
267
+ fixed: a,
268
+ align: l,
247
269
  "reserve-selection": e.reserveSelection,
248
- width: h
270
+ width: t
249
271
  }), this.$slots);
250
272
  }
251
273
  })
@@ -1 +1 @@
1
- {"version":3,"file":"recuve-table-column.mjs","sources":["../../../../../packages/components/table/src/recuve-table-column.tsx"],"sourcesContent":["import {defineComponent, watch, ref, nextTick, computed} from 'vue'\n\nimport {getPropByPath, dataTransformRod} from '@packages/utils/tools'\nimport {treeNode, allowDrop, checkTree, nodeDragEnd, allShow, treeProps} from '@packages/components/table/hooks'\nimport {Setting, ArrowDown} from '@element-plus/icons-vue'\nimport type {TableColumnCtx} from 'element-plus'\n\n\nimport type Node from 'element-plus/es/components/tree/src/model/node'\nimport type {\n RecuveTableColumnProps,\n RewriteTableProps,\n TablePageProps,\n RewriteTableColumnCtx,\n OperationsProps\n} from '@packages/components/table/types/index'\n\nimport type {PropType} from 'vue'\n\nimport type {ElSelect} from 'element-plus'\n\n\nconst filterColumn = (column: any) => {\n const obj: any = {}\n for (const prop in column) {\n if (prop !== 'children') {\n obj[prop] = column[prop]\n }\n }\n return obj\n}\n\nconst mapWidth: Record<string, any> = {\n index: 60,\n selection: 40,\n expand: 40\n}\n\n\nexport default defineComponent({\n name: 'dinert-recuve-table-column',\n props: {\n onlyClass: {\n type: String,\n default: ''\n },\n popoverValue: {\n type: Boolean,\n default: false\n },\n table: {\n type: Object as PropType<RewriteTableProps>,\n },\n tableColumns: {\n type: Array as PropType<RewriteTableColumnCtx[]>,\n default: () => ([])\n }\n },\n setup(props) {\n\n\n const selectTable = ref<InstanceType<typeof ElSelect>>()\n\n const popoverIndex = ref(0)\n\n\n const treeBeforeEnter = (props: TablePageProps) => {\n popoverIndex.value++\n if (popoverIndex.value === 1 && selectTable.value) {\n treeNode(selectTable.value, props.table.tableColumns)\n }\n }\n\n watch(() => props.table?.key, () => {\n nextTick(() => {\n selectTable.value && treeNode(selectTable.value, props.table?.tableColumns)\n })\n }, {\n immediate: true\n })\n\n const settingRender = (props: RecuveTableColumnProps) => {\n return (\n <el-popover\n value={props.popoverValue}\n onBeforeEnter={() => treeBeforeEnter((props as TablePageProps))}\n v-slots={\n {\n default: () => (\n <ul class=\"el-popover-classify\">\n <li>\n <el-button class=\"allSelect\" link\n type={'primary'} onClick={() => allShow(selectTable.value, props.table?.tableColumns || [])}\n >全选</el-button>\n </li>\n <el-tree\n ref={selectTable}\n draggable\n data={props.table?.tableColumns}\n default-expand-all\n show-checkbox\n node-key={'prop'}\n props={treeProps}\n allowDrop={allowDrop}\n onCheckChange={checkTree}\n onNodeDragEnd={(e: Node) => nodeDragEnd(e, (selectTable.value as any))}\n v-slots={\n {\n default: ({data}: {data: Node}) => (\n <div class=\"text-dot tree-item\">\n <el-tooltip content={data.label}\n placement={'top'}\n disabled={data.label && data.label.length < 8}\n v-slots={\n {\n default: () => (<span>{ data.label }</span>)\n }\n }\n >\n </el-tooltip>\n </div>\n )\n }\n }\n >\n\n </el-tree>\n </ul>\n ),\n reference: () => (\n <el-icon class=\"setting-icon\">\n <Setting/>\n </el-icon>\n )\n\n }\n }\n >\n </el-popover>)\n }\n\n const moreRender = (column: RewriteTableColumnCtx, _this: any, {\n value,\n scope,\n isSlotValue,\n slotValue\n }: any) => {\n const itemOperations = column.operations || {}\n let index = 1\n const operations = computed(() => {\n const result: any = []\n Object.keys((itemOperations)).forEach(key => {\n const tempObj = itemOperations[key]\n if ((typeof tempObj.show !== 'function' && [true, undefined].includes(tempObj.show))\n || (typeof tempObj.show === 'function' && [true, undefined].includes(tempObj.show(scope, column, tempObj)))\n ) {\n result.push({\n key: key,\n ...tempObj,\n sort: typeof tempObj.sort === 'undefined' ? index : tempObj.sort,\n })\n }\n\n index++\n })\n\n result.sort((a: any, b: any) => {\n return a.sort - b.sort\n })\n return result\n })\n let maxOperations = column.maxOperations || 3\n const operationsLen = operations.value.length\n maxOperations = operationsLen > maxOperations ? maxOperations - 1 : maxOperations\n\n const defaultFunctions = computed(() => {\n const list = operations.value.slice(0, maxOperations)\n return list\n })\n\n const seniorFunctions = computed(() => {\n const list = operations.value.slice(maxOperations, operations.value.length)\n return list\n })\n\n\n if (operations.value && operations.value.length) {\n return (\n <>\n {defaultFunctions.value.map((item2: OperationsProps) => {\n const message = typeof item2.message === 'function' ? item2.message(scope, column, item2) : item2.message\n return (\n <el-button {...{\n ...item2,\n type: item2.type || 'primary',\n link: item2.link === undefined ? true : item2.link\n }}\n onClick={() => item2.click && item2.click(scope, column, item2)} key={(item2 as any).key}>{message}</el-button>\n )\n })}\n {(seniorFunctions.value.length && operations.value.length > maxOperations\n && <el-dropdown teleported={true}\n onCommand={(item: any) => (item.click && item.click(scope, column, item))}\n v-slots= {{\n default: () => {\n return (\n <el-button type=\"primary\" link text>\n 更多<el-icon><ArrowDown /></el-icon>\n </el-button>\n )\n },\n dropdown: () => {\n\n return (\n <el-dropdown-menu>\n {\n seniorFunctions.value.map((item: any) => {\n const message = typeof item.message === 'function' ? item.message(scope, column, item) : item.message\n\n return (\n <el-dropdown-item command={item}>{message}</el-dropdown-item>\n )\n })\n }\n </el-dropdown-menu>\n )\n }\n }}>\n\n </el-dropdown>) || null\n\n }\n </>\n )\n }\n return <div class=\"cell-item-text\">{ (isSlotValue && slotValue) || value}</div>\n }\n\n return {\n settingRender,\n moreRender\n }\n },\n render() {\n const solts = this.$slots\n const defaultSlot = solts.default\n const headerSlot = solts.header\n return (\n <>\n {\n // eslint-disable-next-line array-callback-return, consistent-return\n this.tableColumns && this.tableColumns.map(item => {\n let show = typeof item.show === 'function' ? item.show(item) : item.show\n show = show === undefined || show === true\n const checked = item.checked === undefined || item.checked === true\n const custom = !['index', 'selection', 'expand'].includes((item.type as string))\n const fixed = item.prop === 'operations' && item.fixed === undefined ? 'right' : item.fixed\n const showOverflowTooltip = item.showOverflowTooltip === undefined && item.prop !== 'operations' ? true : item.showOverflowTooltip\n const className = `${item.prop || ''} ${item.className || ''} ${item.setting ? 'setting' : ''}`\n let align = item.prop === 'operations' && item.align === undefined ? 'center' : item.align\n const width = item.prop === 'operations' && item.width === undefined ? 200 : item.width\n const formatter = item.formatter && typeof item.formatter === 'function'\n const noChildItem = filterColumn(item)\n let minWidth = 0\n const propLowerCase = item.prop?.toLocaleLowerCase()\n if (propLowerCase?.includes('time')) {\n minWidth = 170\n } else if (propLowerCase?.includes('status') || propLowerCase?.includes('state')) {\n minWidth = 80\n align = item.align || 'center'\n }\n\n if (show && checked && custom) {\n return (\n <el-table-column\n {...noChildItem}\n key={item.prop}\n fixed={fixed}\n show-overflow-tooltip={showOverflowTooltip}\n className={className}\n width={width}\n minWidth={item.minWidth || minWidth}\n align={align}\n v-slots= {{\n default: (scope: any) => {\n const deepValue = getPropByPath(scope.row, item.prop || '')\n const value = dataTransformRod(deepValue, this.table?.errData)\n\n const slotValue = defaultSlot?.({...scope, prop: item.prop})\n const isSlotValue = slotValue && slotValue[0] && slotValue[0].children\n\n if (formatter) {\n const htmlValue = item.formatter && item.formatter(scope, (item as TableColumnCtx<any>), deepValue, scope.$index)\n\n return (\n <>\n {isSlotValue\n ? <div class=\"cell-item\">{ defaultSlot?.({...scope, prop: item.prop})}</div>\n : <div class=\"cell-item\" v-dompurify-html={htmlValue}></div>}\n\n <dinert-recuve-table-column table={this.table}\n key={item.prop}\n tableColumns={item.children}\n popover-value={this.popoverValue}\n only-class={this.onlyClass}\n v-slots={solts}\n >\n </dinert-recuve-table-column>\n </>\n )\n } else {\n\n return (\n <>\n <div class=\"cell-item\">\n {this.moreRender(item, this, {\n value,\n scope,\n isSlotValue,\n slotValue\n })}\n </div>\n <dinert-recuve-table-column table={this.table}\n key={item.prop}\n tableColumns={item.children}\n popover-value={this.popoverValue}\n only-class={this.onlyClass}\n v-slots={solts}\n >\n </dinert-recuve-table-column>\n </>\n )\n }\n },\n header: (scope: any) => {\n const slotValue = headerSlot?.({...scope, data: item, prop: item.prop})\n const isSlotValue = slotValue && slotValue[0] && slotValue[0].children\n if (headerSlot) {\n return (\n <> {<span>{isSlotValue ? headerSlot?.({...scope, data: item, prop: item.prop}) : scope.column.label}</span>}\n {item.setting && this.table?.setting !== false && this.settingRender((this as RecuveTableColumnProps))}\n </>\n )\n } else {\n return (\n <>\n <span>{scope.column.label}</span>\n {item.setting && this.table?.setting !== false && this.settingRender(this as RecuveTableColumnProps)}\n </>\n )\n }\n }\n }}\n >\n\n\n </el-table-column>\n )\n } else if (show && checked) {\n const align = item.align === undefined ? 'center' : 'left'\n const width = item.width === undefined ? mapWidth[item.type || ''] || 60 : item.width\n\n return (<el-table-column\n {...item}\n key={item.prop}\n fixed={fixed}\n align={align}\n reserve-selection={item.reserveSelection}\n width={width}\n v-slots={this.$slots}\n >\n </el-table-column>)\n }\n\n })\n }\n\n </>\n )\n }\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","filterColumn","column","obj","prop","mapWidth","index","selection","expand","defineComponent","name","props","onlyClass","type","String","default","popoverValue","Boolean","table","tableColumns","Array","setup","selectTable","ref","popoverIndex","treeBeforeEnter","value","treeNode","watch","key","nextTick","immediate","settingRender","_createVNode","_resolveComponent","onBeforeEnter","onClick","allShow","_createTextVNode","treeProps","allowDrop","checkTree","e","nodeDragEnd","data","label","length","reference","Setting","moreRender","_this","scope","isSlotValue","slotValue","itemOperations","operations","computed","result","keys","forEach","tempObj","show","undefined","includes","push","sort","a","b","maxOperations","defaultFunctions","slice","seniorFunctions","_Fragment","map","item2","message","_mergeProps","link","click","item","ArrowDown","dropdown","_slot","render","solts","$slots","defaultSlot","headerSlot","header","checked","custom","fixed","showOverflowTooltip","className","setting","align","width","formatter","noChildItem","minWidth","propLowerCase","toLocaleLowerCase","deepValue","getPropByPath","row","dataTransformRod","_a","errData","children","htmlValue","$index","_withDirectives","_resolveDirective","_b","reserveSelection"],"mappings":"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"}
1
+ {"version":3,"file":"recuve-table-column.mjs","sources":["../../../../../packages/components/table/src/recuve-table-column.tsx"],"sourcesContent":["import {defineComponent, watch, ref, nextTick, computed} from 'vue'\n\nimport {getPropByPath, dataTransformRod} from '@packages/utils/tools'\nimport {treeNode, allowDrop, checkTree, nodeDragEnd, allShow, treeProps} from '@packages/components/table/hooks'\nimport {Setting, ArrowDown} from '@element-plus/icons-vue'\nimport type {TableColumnCtx} from 'element-plus'\n\n\nimport type Node from 'element-plus/es/components/tree/src/model/node'\nimport type {\n RecuveTableColumnProps,\n RewriteTableProps,\n RewriteTableColumnCtx,\n OperationsProps\n} from '@packages/components/table/types/index'\n\nimport type {PropType} from 'vue'\n\nimport type {ElSelect} from 'element-plus'\n\n\nconst filterColumn = (column: any) => {\n const obj: any = {}\n for (const prop in column) {\n if (prop !== 'children') {\n obj[prop] = column[prop]\n }\n }\n return obj\n}\n\nconst mapWidth: Record<string, any> = {\n index: 60,\n selection: 40,\n expand: 40\n}\n\n\nexport default defineComponent({\n name: 'dinert-recuve-table-column',\n props: {\n onlyClass: {\n type: String,\n default: ''\n },\n popoverValue: {\n type: Boolean,\n default: false\n },\n table: {\n type: Object as PropType<RewriteTableProps>,\n },\n tableColumns: {\n type: Array as PropType<RewriteTableColumnCtx[]>,\n default: () => ([])\n },\n defaultCheckedKeys: {\n type: Array,\n default: () => ([])\n }\n },\n emits: ['CheckedChange'],\n setup(props, {emit}) {\n const selectTable = ref<InstanceType<typeof ElSelect>>()\n\n watch(() => props.table?.key, () => {\n nextTick(() => {\n selectTable.value && treeNode(selectTable.value, props.table?.tableColumns)\n })\n }, {\n immediate: true\n })\n const settingRender = (props: RecuveTableColumnProps) => {\n return (\n <el-popover\n value={props.popoverValue}\n v-slots={\n {\n default: () => (\n <ul class=\"el-popover-classify\">\n <li>\n <el-button class=\"allSelect\" link\n type={'primary'} onClick={async () => allShow(selectTable.value, props.table?.tableColumns || [])}\n >全选</el-button>\n </li>\n <el-tree\n ref={selectTable}\n draggable\n data={props.table?.tableColumns}\n default-expand-all\n defaultCheckedKeys={props.defaultCheckedKeys}\n show-checkbox\n node-key={'prop'}\n props={treeProps}\n allowDrop={allowDrop}\n onCheckChange={async (data: Node, checked: boolean, childChecked: boolean) => {\n // eslint-disable-next-line @typescript-eslint/await-thenable\n await checkTree(data, checked, childChecked)\n emit('CheckedChange', data, checked, childChecked)\n }}\n onNodeDragEnd={(currentNode: Node, targetNode: Node) => nodeDragEnd(currentNode, targetNode, (selectTable.value as any))}\n v-slots={\n {\n default: ({data}: {data: Node}) => (\n <div class=\"text-dot tree-item\">\n <el-tooltip content={data.label}\n placement={'top'}\n disabled={data.label && data.label.length < 8}\n v-slots={\n {\n default: () => (<span>{ data.label }</span>)\n }\n }\n >\n </el-tooltip>\n </div>\n )\n }\n }\n >\n\n </el-tree>\n </ul>\n ),\n reference: () => (\n <el-icon class=\"setting-icon\">\n <Setting/>\n </el-icon>\n )\n\n }\n }\n >\n </el-popover>)\n }\n\n const moreRender = (column: RewriteTableColumnCtx, _this: any, {\n value,\n scope,\n isSlotValue,\n slotValue\n }: any) => {\n const itemOperations = column.operations || {}\n const operations = computed(() => {\n let index = 0\n const result: any = []\n Object.keys((itemOperations)).forEach(key => {\n const tempObj = itemOperations[key]\n if ((typeof tempObj.show !== 'function' && [true, undefined].includes(tempObj.show))\n || (typeof tempObj.show === 'function' && [true, undefined].includes(tempObj.show(scope, column, tempObj)))\n ) {\n result.push({\n key: key,\n ...tempObj,\n sort: typeof tempObj.sort === 'undefined' ? index : tempObj.sort,\n })\n }\n\n index += 10\n })\n\n result.sort((a: any, b: any) => {\n return a.sort - b.sort\n })\n return result\n })\n let maxOperations = column.maxOperations || 3\n const operationsLen = operations.value.length\n maxOperations = operationsLen > maxOperations ? maxOperations - 1 : maxOperations\n\n const defaultFunctions = computed(() => {\n const list = operations.value.slice(0, maxOperations)\n return list\n })\n\n const seniorFunctions = computed(() => {\n const list = operations.value.slice(maxOperations, operations.value.length)\n return list\n })\n\n\n if (operations.value && operations.value.length) {\n return (\n <>\n {defaultFunctions.value.map((item2: OperationsProps) => {\n const message = typeof item2.message === 'function' ? item2.message(scope, column, item2) : item2.message\n\n\n if ((item2 as any).key === 'delete') {\n\n return (\n <el-popconfirm title=\"是否删除该数据\" {...{...item2.confirm}} onConfirm={() => item2.click && item2.click(scope, column, item2)}>\n {{\n reference: () => {\n return (<el-button {...{\n ...item2,\n type: item2.type || 'primary',\n link: item2.link === undefined ? true : item2.link\n }}\n key={(item2 as any).key}>\n {message}\n </el-button>)\n }\n }}\n </el-popconfirm>\n\n )\n }\n return (<el-button {...{\n ...item2,\n type: item2.type || 'primary',\n link: item2.link === undefined ? true : item2.link\n }}\n onClick={() => item2.click && item2.click(scope, column, item2)}\n key={(item2 as any).key}>\n {message}\n </el-button>)\n\n })}\n\n {(seniorFunctions.value.length && operations.value.length > maxOperations\n && <el-dropdown teleported={true}\n onCommand={(item: any) => (item.click && item.click(scope, column, item))}\n v-slots= {{\n default: () => {\n return (\n <el-button type=\"primary\" link text>\n 更多<el-icon><ArrowDown /></el-icon>\n </el-button>\n )\n },\n dropdown: () => {\n\n return (\n <el-dropdown-menu>\n {\n seniorFunctions.value.map((item: any) => {\n const message = typeof item.message === 'function' ? item.message(scope, column, item) : item.message\n\n return (\n <el-dropdown-item command={item}>{message}</el-dropdown-item>\n )\n })\n }\n </el-dropdown-menu>\n )\n }\n }}>\n\n </el-dropdown>) || null\n\n }\n </>\n )\n }\n return <div class=\"cell-item-text\">{ (isSlotValue && slotValue) || value}</div>\n }\n\n return {\n settingRender,\n moreRender\n }\n },\n render() {\n const solts = this.$slots\n const defaultSlot = solts.default\n const headerSlot = solts.header\n return (\n <>\n {\n // eslint-disable-next-line array-callback-return, consistent-return\n this.tableColumns && this.tableColumns.map(item => {\n let show = typeof item.show === 'function' ? item.show(item) : item.show\n show = show === undefined || show === true\n const checked = item.checked === undefined || item.checked === true\n const custom = !['index', 'selection', 'expand'].includes((item.type as string))\n const fixed = item.prop === 'operations' && item.fixed === undefined ? 'right' : item.fixed\n const showOverflowTooltip = item.showOverflowTooltip === undefined && item.prop !== 'operations' ? true : item.showOverflowTooltip\n const className = `${item.prop || ''} ${item.className || ''} ${item.setting ? 'setting' : ''}`\n let align = item.prop === 'operations' && item.align === undefined ? 'center' : item.align\n const width = item.prop === 'operations' && item.width === undefined ? 200 : item.width\n const formatter = item.formatter && typeof item.formatter === 'function'\n const noChildItem = filterColumn(item)\n let minWidth = 0\n const propLowerCase = item.prop?.toLocaleLowerCase()\n if (propLowerCase?.includes('time')) {\n minWidth = 170\n } else if (propLowerCase?.includes('status') || propLowerCase?.includes('state')) {\n minWidth = 80\n align = item.align || 'center'\n }\n\n if (show && checked && custom) {\n return (\n <el-table-column\n {...noChildItem}\n key={item.prop}\n fixed={fixed}\n show-overflow-tooltip={showOverflowTooltip}\n className={className}\n width={width}\n minWidth={item.minWidth || minWidth}\n align={align}\n v-slots= {{\n default: (scope: any) => {\n const deepValue = getPropByPath(scope.row, item.prop || '')\n const value = dataTransformRod(deepValue, this.table?.errData)\n\n const slotValue = defaultSlot?.({...scope, prop: item.prop})\n const isSlotValue = slotValue && slotValue[0] && slotValue[0].children\n\n if (formatter) {\n const htmlValue = item.formatter && item.formatter(scope, (item as TableColumnCtx<any>), deepValue, scope.$index)\n\n return (\n <>\n {isSlotValue\n ? <div class=\"cell-item\">{ defaultSlot?.({...scope, prop: item.prop})}</div>\n : <div class=\"cell-item\" v-dompurify-html={htmlValue}></div>}\n\n <dinert-recuve-table-column table={this.table}\n key={item.prop}\n tableColumns={item.children}\n popover-value={this.popoverValue}\n only-class={this.onlyClass}\n v-slots={solts}\n >\n </dinert-recuve-table-column>\n </>\n )\n } else {\n\n return (\n <>\n <div class=\"cell-item\">\n {this.moreRender(item, this, {\n value,\n scope,\n isSlotValue,\n slotValue\n })}\n </div>\n <dinert-recuve-table-column table={this.table}\n key={item.prop}\n tableColumns={item.children}\n popover-value={this.popoverValue}\n only-class={this.onlyClass}\n v-slots={solts}\n >\n </dinert-recuve-table-column>\n </>\n )\n }\n },\n header: (scope: any) => {\n const slotValue = headerSlot?.({...scope, data: item, prop: item.prop})\n const isSlotValue = slotValue && slotValue[0] && slotValue[0].children\n if (headerSlot) {\n return (\n <> {<span>{isSlotValue ? headerSlot?.({...scope, data: item, prop: item.prop}) : scope.column.label}</span>}\n {item.setting && this.table?.setting !== false && this.settingRender((this as RecuveTableColumnProps))}\n </>\n )\n } else {\n return (\n <>\n <span>{scope.column.label}</span>\n {item.setting && this.table?.setting !== false && this.settingRender(this as RecuveTableColumnProps)}\n </>\n )\n }\n }\n }}\n >\n\n\n </el-table-column>\n )\n } else if (show && checked) {\n const align = item.align === undefined ? 'center' : 'left'\n const width = item.width === undefined ? mapWidth[item.type || ''] || 60 : item.width\n\n return (<el-table-column\n {...item}\n key={item.prop}\n fixed={fixed}\n align={align}\n reserve-selection={item.reserveSelection}\n width={width}\n v-slots={this.$slots}\n >\n </el-table-column>)\n }\n\n })\n }\n\n </>\n )\n }\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","filterColumn","column","obj","prop","mapWidth","index","selection","expand","defineComponent","name","props","onlyClass","type","String","default","popoverValue","Boolean","table","tableColumns","Array","defaultCheckedKeys","emits","setup","emit","selectTable","ref","watch","key","nextTick","value","treeNode","immediate","settingRender","_createVNode","_resolveComponent","allShow","_createTextVNode","treeProps","allowDrop","data","checked","childChecked","checkTree","onNodeDragEnd","currentNode","targetNode","nodeDragEnd","label","length","reference","Setting","moreRender","_this","scope","isSlotValue","slotValue","itemOperations","operations","computed","result","keys","forEach","tempObj","show","undefined","includes","push","sort","a","b","maxOperations","defaultFunctions","slice","seniorFunctions","_Fragment","map","item2","message","_mergeProps","confirm","onConfirm","click","link","onClick","item","ArrowDown","dropdown","_slot","render","solts","$slots","defaultSlot","headerSlot","header","custom","fixed","showOverflowTooltip","className","setting","align","width","formatter","noChildItem","minWidth","propLowerCase","toLocaleLowerCase","deepValue","getPropByPath","row","dataTransformRod","_a","errData","children","htmlValue","$index","_withDirectives","_resolveDirective","_b","reserveSelection"],"mappings":"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"}