@dinert/element-plus 1.1.45 → 2.0.0

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 (169) hide show
  1. package/README.md +4 -2
  2. package/dist/element-plus.umd.js +2 -2
  3. package/dist/element-plus.umd.js.map +1 -1
  4. package/dist/style.css +1 -1
  5. package/es/node_modules/@element-plus/icons-vue/dist/index.mjs +22 -97
  6. package/es/node_modules/@element-plus/icons-vue/dist/index.mjs.map +1 -1
  7. package/es/packages/assets/scss/dinert-dialog.scss +81 -60
  8. package/es/packages/assets/scss/dinert-drawer.scss +69 -0
  9. package/es/packages/assets/scss/dinert-drawer.scss.mjs +2 -0
  10. package/es/packages/assets/scss/dinert-drawer.scss.mjs.map +1 -0
  11. package/es/packages/assets/scss/dinert-form.scss +65 -52
  12. package/es/packages/assets/scss/dinert-table-page.scss +11 -13
  13. package/es/packages/assets/scss/dinert-table.scss +100 -88
  14. package/es/packages/assets/scss/dinert-tooltip.scss +2 -3
  15. package/es/packages/components/dialog/src/index.mjs +112 -48
  16. package/es/packages/components/dialog/src/index.mjs.map +1 -1
  17. package/es/packages/components/drawer/index.mjs +10 -0
  18. package/es/packages/components/drawer/index.mjs.map +1 -0
  19. package/es/packages/components/drawer/src/index.mjs +88 -0
  20. package/es/packages/components/drawer/src/index.mjs.map +1 -0
  21. package/es/packages/components/form/src/cascader.mjs +30 -18
  22. package/es/packages/components/form/src/cascader.mjs.map +1 -1
  23. package/es/packages/components/form/src/checkbox.mjs +35 -20
  24. package/es/packages/components/form/src/checkbox.mjs.map +1 -1
  25. package/es/packages/components/form/src/date.mjs +35 -22
  26. package/es/packages/components/form/src/date.mjs.map +1 -1
  27. package/es/packages/components/form/src/form-item.mjs +384 -0
  28. package/es/packages/components/form/src/form-item.mjs.map +1 -0
  29. package/es/packages/components/form/src/index.mjs +48 -244
  30. package/es/packages/components/form/src/index.mjs.map +1 -1
  31. package/es/packages/components/form/src/input-autocomplete.mjs +22 -10
  32. package/es/packages/components/form/src/input-autocomplete.mjs.map +1 -1
  33. package/es/packages/components/form/src/input-number.mjs +22 -10
  34. package/es/packages/components/form/src/input-number.mjs.map +1 -1
  35. package/es/packages/components/form/src/input.mjs +29 -19
  36. package/es/packages/components/form/src/input.mjs.map +1 -1
  37. package/es/packages/components/form/src/radio.mjs +28 -13
  38. package/es/packages/components/form/src/radio.mjs.map +1 -1
  39. package/es/packages/components/form/src/rate.mjs +22 -10
  40. package/es/packages/components/form/src/rate.mjs.map +1 -1
  41. package/es/packages/components/form/src/select-v2.mjs +22 -10
  42. package/es/packages/components/form/src/select-v2.mjs.map +1 -1
  43. package/es/packages/components/form/src/select.mjs +24 -10
  44. package/es/packages/components/form/src/select.mjs.map +1 -1
  45. package/es/packages/components/form/src/slider.mjs +22 -10
  46. package/es/packages/components/form/src/slider.mjs.map +1 -1
  47. package/es/packages/components/form/src/switch.mjs +24 -12
  48. package/es/packages/components/form/src/switch.mjs.map +1 -1
  49. package/es/packages/components/form/src/time-picker.mjs +22 -10
  50. package/es/packages/components/form/src/time-picker.mjs.map +1 -1
  51. package/es/packages/components/form/src/time-select.mjs +22 -10
  52. package/es/packages/components/form/src/time-select.mjs.map +1 -1
  53. package/es/packages/components/form/src/tree-select.mjs +28 -16
  54. package/es/packages/components/form/src/tree-select.mjs.map +1 -1
  55. package/es/packages/components/form/utils/index.mjs +35 -93
  56. package/es/packages/components/form/utils/index.mjs.map +1 -1
  57. package/es/packages/components/index.mjs +10 -10
  58. package/es/packages/components/table/hooks/index.mjs +9 -12
  59. package/es/packages/components/table/hooks/index.mjs.map +1 -1
  60. package/es/packages/components/table/src/index.mjs +130 -207
  61. package/es/packages/components/table/src/index.mjs.map +1 -1
  62. package/es/packages/components/table/src/recuve-table-column.mjs +69 -264
  63. package/es/packages/components/table/src/recuve-table-column.mjs.map +1 -1
  64. package/es/packages/components/table/src/table-column-control.mjs +60 -0
  65. package/es/packages/components/table/src/table-column-control.mjs.map +1 -0
  66. package/es/packages/components/table/src/table-column-operations.mjs +126 -0
  67. package/es/packages/components/table/src/table-column-operations.mjs.map +1 -0
  68. package/es/packages/components/table/src/table-header.mjs +128 -0
  69. package/es/packages/components/table/src/table-header.mjs.map +1 -0
  70. package/es/packages/components/table/src/table-setting-control.mjs +49 -0
  71. package/es/packages/components/table/src/table-setting-control.mjs.map +1 -0
  72. package/es/packages/components/table-page/src/index.mjs +10 -10
  73. package/es/packages/components/table-page/src/index.mjs.map +1 -1
  74. package/es/packages/hooks/TablePage/index.mjs +11 -10
  75. package/es/packages/hooks/TablePage/index.mjs.map +1 -1
  76. package/es/packages/index.mjs +8 -8
  77. package/es/packages/utils/tools.mjs +12 -13
  78. package/es/packages/utils/tools.mjs.map +1 -1
  79. package/es/src/components/drawer/index.d.ts +4 -0
  80. package/es/src/components/drawer/src/index.d.ts +3 -0
  81. package/es/src/components/drawer/types/index.d.ts +10 -0
  82. package/es/src/components/form/index.d.ts +62 -6
  83. package/es/src/components/form/src/cascader.d.ts +5 -2
  84. package/es/src/components/form/src/checkbox.d.ts +5 -2
  85. package/es/src/components/form/src/date.d.ts +5 -2
  86. package/es/src/components/form/src/form-item.d.ts +32 -0
  87. package/es/src/components/form/src/index.d.ts +63 -8
  88. package/es/src/components/form/src/input-autocomplete.d.ts +5 -2
  89. package/es/src/components/form/src/input-number.d.ts +5 -2
  90. package/es/src/components/form/src/input.d.ts +3 -1
  91. package/es/src/components/form/src/radio.d.ts +5 -2
  92. package/es/src/components/form/src/rate.d.ts +5 -2
  93. package/es/src/components/form/src/select-v2.d.ts +5 -2
  94. package/es/src/components/form/src/select.d.ts +5 -2
  95. package/es/src/components/form/src/slider.d.ts +5 -2
  96. package/es/src/components/form/src/switch.d.ts +5 -2
  97. package/es/src/components/form/src/time-picker.d.ts +5 -2
  98. package/es/src/components/form/src/time-select.d.ts +5 -2
  99. package/es/src/components/form/src/tree-select.d.ts +5 -2
  100. package/es/src/components/form/types/components.d.ts +1 -2
  101. package/es/src/components/form/types/index.d.ts +77 -18
  102. package/es/src/components/form/utils/index.d.ts +2 -1
  103. package/es/src/components/index.d.ts +2 -2
  104. package/es/src/components/table/index.d.ts +8 -13
  105. package/es/src/components/table/src/index.d.ts +8 -13
  106. package/es/src/components/table/src/recuve-table-column.d.ts +3 -4
  107. package/es/src/components/table/src/table-column-control.d.ts +20 -0
  108. package/es/src/components/table/src/table-column-operations.d.ts +41 -0
  109. package/es/src/components/table/src/table-header.d.ts +88 -0
  110. package/es/src/components/table/src/table-setting-control.d.ts +55 -0
  111. package/es/src/components/table/types/index.d.ts +15 -14
  112. package/es/src/components/table-page/index.d.ts +143 -41
  113. package/es/src/components/table-page/src/index.d.ts +143 -41
  114. package/es/src/hooks/TablePage/index.d.ts +1 -1
  115. package/es/src/views/test-tsx-table/index.d.ts +6 -0
  116. package/es/style.css +1 -1
  117. package/lib/index.js +2 -2
  118. package/lib/index.js.map +1 -1
  119. package/lib/src/components/drawer/index.d.ts +4 -0
  120. package/lib/src/components/drawer/src/index.d.ts +3 -0
  121. package/lib/src/components/drawer/types/index.d.ts +10 -0
  122. package/lib/src/components/form/index.d.ts +62 -6
  123. package/lib/src/components/form/src/cascader.d.ts +5 -2
  124. package/lib/src/components/form/src/checkbox.d.ts +5 -2
  125. package/lib/src/components/form/src/date.d.ts +5 -2
  126. package/lib/src/components/form/src/form-item.d.ts +32 -0
  127. package/lib/src/components/form/src/index.d.ts +63 -8
  128. package/lib/src/components/form/src/input-autocomplete.d.ts +5 -2
  129. package/lib/src/components/form/src/input-number.d.ts +5 -2
  130. package/lib/src/components/form/src/input.d.ts +3 -1
  131. package/lib/src/components/form/src/radio.d.ts +5 -2
  132. package/lib/src/components/form/src/rate.d.ts +5 -2
  133. package/lib/src/components/form/src/select-v2.d.ts +5 -2
  134. package/lib/src/components/form/src/select.d.ts +5 -2
  135. package/lib/src/components/form/src/slider.d.ts +5 -2
  136. package/lib/src/components/form/src/switch.d.ts +5 -2
  137. package/lib/src/components/form/src/time-picker.d.ts +5 -2
  138. package/lib/src/components/form/src/time-select.d.ts +5 -2
  139. package/lib/src/components/form/src/tree-select.d.ts +5 -2
  140. package/lib/src/components/form/types/components.d.ts +1 -2
  141. package/lib/src/components/form/types/index.d.ts +77 -18
  142. package/lib/src/components/form/utils/index.d.ts +2 -1
  143. package/lib/src/components/index.d.ts +2 -2
  144. package/lib/src/components/table/index.d.ts +8 -13
  145. package/lib/src/components/table/src/index.d.ts +8 -13
  146. package/lib/src/components/table/src/recuve-table-column.d.ts +3 -4
  147. package/lib/src/components/table/src/table-column-control.d.ts +20 -0
  148. package/lib/src/components/table/src/table-column-operations.d.ts +41 -0
  149. package/lib/src/components/table/src/table-header.d.ts +88 -0
  150. package/lib/src/components/table/src/table-setting-control.d.ts +55 -0
  151. package/lib/src/components/table/types/index.d.ts +15 -14
  152. package/lib/src/components/table-page/index.d.ts +143 -41
  153. package/lib/src/components/table-page/src/index.d.ts +143 -41
  154. package/lib/src/hooks/TablePage/index.d.ts +1 -1
  155. package/lib/src/views/test-tsx-table/index.d.ts +6 -0
  156. package/lib/style.css +1 -1
  157. package/package.json +2 -1
  158. package/es/packages/assets/scss/dinert-tooltip.scss.mjs +0 -2
  159. package/es/packages/assets/scss/dinert-tooltip.scss.mjs.map +0 -1
  160. package/es/packages/components/tooltip/index.mjs +0 -10
  161. package/es/packages/components/tooltip/index.mjs.map +0 -1
  162. package/es/packages/components/tooltip/src/index.mjs +0 -54
  163. package/es/packages/components/tooltip/src/index.mjs.map +0 -1
  164. package/es/src/components/tooltip/index.d.ts +0 -51
  165. package/es/src/components/tooltip/src/index.d.ts +0 -50
  166. package/es/src/components/tooltip/types/index.d.ts +0 -10
  167. package/lib/src/components/tooltip/index.d.ts +0 -51
  168. package/lib/src/components/tooltip/src/index.d.ts +0 -50
  169. package/lib/src/components/tooltip/types/index.d.ts +0 -10
@@ -1,22 +1,9 @@
1
- import { defineComponent as H, ref as I, watch as K, nextTick as S, createVNode as n, Fragment as w, resolveComponent as u, mergeProps as C, withDirectives as W, resolveDirective as m, createTextVNode as $, computed as N, isVNode as M } from "vue";
2
- import { getPropByPath as q, dataTransformRod as F } from "../../../utils/tools.mjs";
3
- import { treeNode as z, allShow as G, treeProps as J, allowDrop as Q, checkTree as U, nodeDragEnd as X } from "../hooks/index.mjs";
4
- import { Setting as Y, ArrowDown as Z } from "../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
5
- import { ElMessageBox as P } from "element-plus";
6
- import { buildVueDompurifyHTMLDirective as L } from "../../../../node_modules/vue-dompurify-html/dist/vue-dompurify-html.mjs";
7
- function O(i) {
8
- return typeof i == "function" || Object.prototype.toString.call(i) === "[object Object]" && !M(i);
9
- }
10
- const ee = (i) => {
11
- const f = {};
12
- for (const s in i)
13
- s !== "children" && (f[s] = i[s]);
14
- return f;
15
- }, te = {
16
- index: 60,
17
- selection: 40,
18
- expand: 40
19
- }, ne = L({}), ce = /* @__PURE__ */ H({
1
+ import { defineComponent as O, createVNode as t, Fragment as C, resolveComponent as g, mergeProps as $, withDirectives as k, resolveDirective as H } from "vue";
2
+ import { getPropByPath as N, dataTransformRod as D } from "../../../utils/tools.mjs";
3
+ import { buildVueDompurifyHTMLDirective as P } from "../../../../node_modules/vue-dompurify-html/dist/vue-dompurify-html.mjs";
4
+ import A from "./table-setting-control.mjs";
5
+ import B from "./table-column-operations.mjs";
6
+ const R = P({}), q = /* @__PURE__ */ O({
20
7
  name: "dinert-recuve-table-column",
21
8
  props: {
22
9
  onlyClass: {
@@ -40,262 +27,80 @@ const ee = (i) => {
40
27
  }
41
28
  },
42
29
  directives: {
43
- DompurifyHtml: ne
30
+ DompurifyHtml: R
44
31
  },
45
32
  emits: ["CheckedChange"],
46
- setup(i, {
47
- emit: f
33
+ setup(a, {
34
+ emit: p
48
35
  }) {
49
- const s = I();
50
- return K(() => {
51
- var o;
52
- return (o = i.table) == null ? void 0 : o.key;
53
- }, () => {
54
- S(() => {
55
- var o;
56
- s.value && z(s.value, (o = i.table) == null ? void 0 : o.tableColumns);
57
- });
58
- }, {
59
- immediate: !0
60
- }), {
61
- settingRender: (o) => n(u("el-popover"), {
62
- value: o.popoverValue
63
- }, {
64
- default: () => {
65
- var x;
66
- return n("ul", {
67
- class: "dinert-popover-classify"
68
- }, [n("li", null, [n(u("el-button"), {
69
- class: "allSelect",
70
- link: !0,
71
- type: "primary",
72
- onClick: async () => {
73
- var a;
74
- return G(s.value, ((a = o.table) == null ? void 0 : a.tableColumns) || []);
75
- }
76
- }, {
77
- default: () => [$("全选")]
78
- })]), n(u("el-tree"), {
79
- ref: s,
80
- draggable: !0,
81
- data: (x = o.table) == null ? void 0 : x.tableColumns,
82
- "default-expand-all": !0,
83
- defaultCheckedKeys: o.defaultCheckedKeys,
84
- "show-checkbox": !0,
85
- "node-key": "prop",
86
- props: J,
87
- allowDrop: Q,
88
- onCheckChange: async (a, d, k) => {
89
- await U(a, d, k), f("CheckedChange", a, d, k);
90
- },
91
- onNodeDragEnd: (a, d) => X(a, d, s.value)
92
- }, {
93
- default: ({
94
- data: a
95
- }) => n("div", {
96
- class: "text-dot tree-item"
97
- }, [n(u("el-tooltip"), {
98
- content: a.label,
99
- placement: "top",
100
- disabled: a.label && a.label.length < 8
101
- }, {
102
- default: () => n("span", null, [a.label])
103
- })])
104
- })]);
105
- },
106
- reference: () => n(u("el-icon"), {
107
- class: "setting-icon"
108
- }, {
109
- default: () => [n(Y, null, null)]
110
- })
111
- }),
112
- moreRender: (o, x, {
113
- value: a,
114
- scope: d,
115
- isSlotValue: k,
116
- slotValue: D
117
- }) => {
118
- const h = o.operations || {}, y = N(() => {
119
- const e = [];
120
- return Object.keys(h).forEach((l) => {
121
- const r = h[l];
122
- (typeof r.show != "function" && [!0, void 0].includes(r.show) || typeof r.show == "function" && [!0, void 0].includes(r.show(d, o, r))) && e.push({
123
- key: l,
124
- ...r
125
- });
126
- }), e.sort((l, r) => (l.sort || 1 / 0) - (r.sort || 1 / 0)), e;
127
- });
128
- let g = o.maxOperations || 3;
129
- g = y.value.length > g ? g - 1 : g;
130
- const V = N(() => y.value.slice(0, g)), c = N(() => y.value.slice(g, y.value.length));
131
- return y.value && y.value.length ? n(w, null, [V.value.map((e) => {
132
- const l = typeof e.message == "function" ? e.message(d, o, e) : e.message, r = n(u("el-button"), C({
133
- ...e,
134
- type: e.key === "delete" ? "danger" : e.type || "primary",
135
- link: e.link === void 0 ? !0 : e.link
136
- }, {
137
- onClick: () => e.second === "messageBox" || e.key === "delete" ? P({
138
- title: "警告",
139
- message: `是否${l}该条数据?`,
140
- type: "warning",
141
- showCancelButton: !0,
142
- cancelButtonText: "取消",
143
- beforeClose(b, R, T) {
144
- T();
145
- },
146
- ...e.messageBox
147
- }).then(() => e.click && e.click(d, o, e)).catch(() => null) : e.click && e.click(d, o, e),
148
- key: e.key
149
- }), O(l) ? l : {
150
- default: () => [l]
151
- });
152
- return e.second === "messageBox" ? r : e.key === "delete" || e.second ? n(u("el-popconfirm"), C({
153
- title: `是否${l}该数据?`
154
- }, {
155
- ...e.confirm
156
- }, {
157
- onConfirm: () => e.click && e.click(d, o, e)
158
- }), {
159
- reference: () => n(u("el-button"), C({
160
- ...e,
161
- type: e.key === "delete" ? "danger" : e.type || "primary",
162
- link: e.link === void 0 ? !0 : e.link
163
- }, {
164
- key: e.key
165
- }), O(l) ? l : {
166
- default: () => [l]
167
- })
168
- }) : r;
169
- }), c.value.length && y.value.length > g && n(u("el-dropdown"), {
170
- teleported: !0,
171
- onCommand: (e) => e.key === "delete" || e.second ? P({
172
- title: "警告",
173
- message: `是否${e.message}该条数据?`,
174
- type: "warning",
175
- showCancelButton: !0,
176
- cancelButtonText: "取消",
177
- beforeClose(l, r, b) {
178
- b();
179
- },
180
- ...e.messageBox
181
- }).then(() => e.click && e.click(d, o, e)).catch(() => null) : e.click && e.click(d, o, e)
182
- }, {
183
- default: () => n(u("el-button"), {
184
- type: "primary",
185
- link: !0,
186
- text: !0
187
- }, {
188
- default: () => [$("更多"), n(u("el-icon"), null, {
189
- default: () => [n(Z, null, null)]
190
- })]
191
- }),
192
- dropdown: () => {
193
- let e;
194
- return n(u("el-dropdown-menu"), null, O(e = c.value.map((l) => {
195
- const r = typeof l.message == "function" ? l.message(d, o, l) : l.message;
196
- return n(u("el-dropdown-item"), {
197
- command: l
198
- }, O(r) ? r : {
199
- default: () => [r]
200
- });
201
- })) ? e : {
202
- default: () => [e]
203
- });
204
- }
205
- }) || null]) : n("div", {
206
- class: ["cell-item-text"]
207
- }, [k && D || a]);
208
- }
36
+ return {
37
+ cellItemClass: (e, c) => ["cell-item", e === c ? "empty-value" : ""]
209
38
  };
210
39
  },
211
40
  render() {
212
- const i = this.$slots, f = i.default, s = i.header;
213
- return n(w, null, [
41
+ const a = this.$slots, p = a.default, i = a.header;
42
+ return t(C, null, [
214
43
  // eslint-disable-next-line array-callback-return, consistent-return
215
- this.tableColumns && this.tableColumns.map((t) => {
216
- var V;
217
- let v = typeof t.show == "function" ? t.show(t) : t.show;
218
- v = v === void 0 || v === !0;
219
- const o = t.checked === void 0 || t.checked === !0, x = !["index", "selection", "expand"].includes(t.type), a = t.prop === "operations" && t.fixed === void 0 ? "right" : t.fixed, d = t.showOverflowTooltip === void 0 && t.prop !== "operations" ? !0 : t.showOverflowTooltip, k = `${t.prop || ""} ${t.className || ""} ${t.setting ? "setting" : ""}`;
220
- let D = t.prop === "operations" && t.align === void 0 ? "center" : t.align, h = t.prop === "operations" && t.width === void 0 ? 200 : t.width;
221
- const y = t.formatter && typeof t.formatter == "function", g = ee(t), p = (V = t.prop) == null ? void 0 : V.toLocaleLowerCase();
222
- if (p != null && p.includes("time") || p != null && p.includes("date") ? h = h || 170 : (p != null && p.includes("status") || p != null && p.includes("state")) && (h = h || 100, D = t.align || "center"), v && o && x)
223
- return n(u("el-table-column"), C(g, {
224
- key: t.prop,
225
- fixed: a,
226
- "show-overflow-tooltip": d,
227
- className: k,
228
- width: h,
229
- minWidth: t.minWidth,
230
- align: D
231
- }), {
232
- default: (c) => {
233
- var R, T, j, _, A, E;
234
- const e = q(c.row, t.prop || ""), l = F(e, (R = this.table) == null ? void 0 : R.errData), r = f == null ? void 0 : f({
235
- ...c,
236
- prop: t.prop
237
- }), b = r && r[0] && r[0].children;
238
- if (y) {
239
- let B = t.formatter && t.formatter(c, t, e, c.$index, (T = this.table) == null ? void 0 : T.errData);
240
- return B = F(B, (j = this.table) == null ? void 0 : j.errData), n(w, null, [b ? n("div", {
241
- class: ["cell-item"]
242
- }, [f == null ? void 0 : f({
243
- ...c,
244
- prop: t.prop
245
- })]) : W(n("div", {
246
- class: ["cell-item", B === ((_ = this.table) == null ? void 0 : _.errData) ? "empty-value" : ""]
247
- }, null), [[m("dompurify-html"), B]]), n(u("dinert-recuve-table-column"), {
248
- table: this.table,
249
- key: t.prop,
250
- tableColumns: t.children,
251
- "popover-value": this.popoverValue,
252
- "only-class": this.onlyClass
253
- }, i)]);
254
- } else
255
- return n(w, null, [n("div", {
256
- class: ["cell-item", l === ((A = this.table) == null ? void 0 : A.errData) || b === ((E = this.table) == null ? void 0 : E.errData) ? "empty-value" : ""]
257
- }, [this.moreRender(t, this, {
258
- value: l,
259
- scope: c,
260
- isSlotValue: b,
261
- slotValue: r
262
- })]), n(u("dinert-recuve-table-column"), {
263
- table: this.table,
264
- key: t.prop,
265
- tableColumns: t.children,
266
- "popover-value": this.popoverValue,
267
- "only-class": this.onlyClass
268
- }, i)]);
269
- },
270
- header: (c) => {
271
- var r, b;
272
- const e = s == null ? void 0 : s({
273
- ...c,
274
- data: t,
275
- prop: t.prop
276
- }), l = e && e[0] && e[0].children;
277
- return s ? n(w, null, [$(" "), n("span", null, [l ? s == null ? void 0 : s({
278
- ...c,
279
- data: t,
280
- prop: t.prop
281
- }) : c.column.label]), t.setting && ((r = this.table) == null ? void 0 : r.setting) !== !1 && this.settingRender(this)]) : n(w, null, [n("span", null, [c.column.label]), t.setting && ((b = this.table) == null ? void 0 : b.setting) !== !1 && this.settingRender(this)]);
282
- }
283
- });
284
- if (v && o) {
285
- const c = t.align === void 0 ? "center" : "left", e = t.width === void 0 ? te[t.type || ""] || 60 : t.width;
286
- return n(u("el-table-column"), C(t, {
287
- key: t.prop,
288
- fixed: a,
289
- align: c,
290
- "reserve-selection": t.reserveSelection,
291
- width: e
292
- }), this.$slots);
293
- }
44
+ this.tableColumns && this.tableColumns.map((e) => {
45
+ const c = e.prop === "operations" && e.align === void 0 ? "center" : e.align, {
46
+ children: S,
47
+ ...w
48
+ } = e, V = e.showOverflowTooltip === void 0 && e.prop !== "operations" ? !0 : e.showOverflowTooltip, x = e.prop === "operations" && e.fixed === void 0 ? "right" : e.fixed, T = e.prop === "operations" && e.width === void 0 ? 200 : e.width;
49
+ return t(g("el-table-column"), $({
50
+ ...w,
51
+ fixed: x,
52
+ showOverflowTooltip: V,
53
+ width: T,
54
+ className: `${e.prop || ""} ${e.className || ""} ${e.setting ? "setting" : ""}`,
55
+ align: c
56
+ }, {
57
+ key: e.prop
58
+ }), {
59
+ default: (r) => {
60
+ var f, h, b, v, y, m;
61
+ let l = [];
62
+ const n = N(r.row, e.prop || "");
63
+ let o = D(n, (f = this.table) == null ? void 0 : f.errData);
64
+ const s = p == null ? void 0 : p({
65
+ ...r,
66
+ prop: e.prop
67
+ }), u = s && s[0] && s[0].children, I = e.formatter && typeof e.formatter == "function";
68
+ let d = "";
69
+ return u ? (o = s, l = [t("div", {
70
+ class: this.cellItemClass(o, (h = this.table) == null ? void 0 : h.errData)
71
+ }, [o])]) : I ? (d = e.formatter && e.formatter(r, e, n, r.$index, (b = this.table) == null ? void 0 : b.errData), o = D(d, (v = this.table) == null ? void 0 : v.errData), l = [k(t("div", {
72
+ class: this.cellItemClass(o, (y = this.table) == null ? void 0 : y.errData)
73
+ }, null), [[H("dompurify-html"), o]])]) : (l = [t("div", {
74
+ class: this.cellItemClass(o, (m = this.table) == null ? void 0 : m.errData)
75
+ }, [o])], e.prop === "operations" && (l = t(B, {
76
+ operations: e.operations,
77
+ column: e,
78
+ scope: r
79
+ }, null)), ["selection", "index", "expand"].includes(e.type || "") && (l = null)), e.children && e.children.length && l.push(t(C, null, [t(g("dinert-recuve-table-column"), {
80
+ table: this.table,
81
+ key: e.prop,
82
+ tableColumns: e.children,
83
+ "popover-value": this.popoverValue,
84
+ "only-class": this.onlyClass
85
+ }, a)])), l;
86
+ },
87
+ header: (r) => {
88
+ var u;
89
+ const l = i == null ? void 0 : i({
90
+ ...r,
91
+ data: e,
92
+ prop: e.prop
93
+ }), n = l && l[0] && l[0].children, o = e.setting && ((u = this.table) == null ? void 0 : u.setting) !== !1, s = [];
94
+ return n ? s.push(t("span", null, [n ? l : r.column.label])) : s.push(t("span", null, [r.column.label])), o && s.push(t(A, {
95
+ table: this.table
96
+ }, null)), s;
97
+ }
98
+ });
294
99
  })
295
100
  ]);
296
101
  }
297
102
  });
298
103
  export {
299
- ce as default
104
+ q as default
300
105
  };
301
106
  //# sourceMappingURL=recuve-table-column.mjs.map
@@ -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 {ElMessageBox, type TableColumnCtx} from 'element-plus'\nimport {buildVueDompurifyHTMLDirective} from 'vue-dompurify-html'\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\nconst DompurifyHtml = buildVueDompurifyHTMLDirective({})\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 directives: {\n DompurifyHtml: DompurifyHtml\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=\"dinert-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<OperationsProps[]>(() => {\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 })\n }\n })\n\n result.sort((a: any, b: any) => {\n return (a.sort || Infinity) - (b.sort || Infinity)\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 => {\n const message = typeof item2.message === 'function' ? item2.message(scope, column, item2) : item2.message\n\n const buttonCom = (<el-button {...{\n ...item2,\n type: item2.key === 'delete' ? 'danger' : item2.type || 'primary',\n link: item2.link === undefined ? true : item2.link\n }}\n\n onClick={() => {\n if (item2.second === 'messageBox' || item2.key === 'delete') {\n return ElMessageBox({\n title: '警告',\n message: `是否${message}该条数据?`,\n type: 'warning',\n showCancelButton: true,\n cancelButtonText: '取消',\n beforeClose(action, instance, done) {\n done()\n },\n ...item2.messageBox\n }).then(() => {\n return item2.click && item2.click(scope, column, item2)\n }).catch(() => null)\n }\n return item2.click && item2.click(scope, column, item2)\n }}\n key={(item2 as any).key}>\n {message}\n </el-button>)\n\n if (item2.second === 'messageBox') {\n return buttonCom\n }\n\n if (item2.key === 'delete' || item2.second) {\n return (\n <el-popconfirm title={`是否${message}该数据?`} {...{...item2.confirm}}\n onConfirm={() => item2.click && item2.click(scope, column, item2)}>\n {{\n reference: () => {\n return (<el-button {...{\n ...item2,\n type: item2.key === 'delete' ? 'danger' : 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 buttonCom\n\n })}\n\n {(seniorFunctions.value.length && operations.value.length > maxOperations\n && <el-dropdown teleported={true}\n onCommand={item => {\n if (item.key === 'delete' || item.second) {\n return ElMessageBox({\n title: '警告',\n message: `是否${item.message}该条数据?`,\n type: 'warning',\n showCancelButton: true,\n cancelButtonText: '取消',\n beforeClose(action, instance, done) {\n done()\n },\n ...item.messageBox\n }).then(() => {\n return item.click && item.click(scope, column, item)\n }).catch(() => null)\n }\n return item.click && item.click(scope, column, item)\n }}\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 => {\n const message = typeof item.message === 'function' ? item.message(scope, column, item) : item.message\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 let 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 const propLowerCase = item.prop?.toLocaleLowerCase()\n if (propLowerCase?.includes('time') || propLowerCase?.includes('date')) {\n width = width ? width : 170\n } else if (propLowerCase?.includes('status') || propLowerCase?.includes('state')) {\n width = width ? width : 100\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}\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 if (formatter) {\n\n let htmlValue = item.formatter && item.formatter(scope, (item as TableColumnCtx<any>), deepValue, scope.$index, this.table?.errData)\n htmlValue = dataTransformRod(htmlValue, this.table?.errData)\n return (\n <>\n {isSlotValue\n ? <div class={['cell-item']}>{ defaultSlot?.({...scope, prop: item.prop})}</div>\n : <div class={['cell-item', htmlValue === this.table?.errData ? 'empty-value' : '']} 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', value === this.table?.errData || isSlotValue === this.table?.errData ? 'empty-value' : '']}>\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","DompurifyHtml","buildVueDompurifyHTMLDirective","defineComponent","name","props","onlyClass","type","String","default","popoverValue","Boolean","table","tableColumns","Array","defaultCheckedKeys","directives","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","Infinity","maxOperations","defaultFunctions","slice","seniorFunctions","_Fragment","map","item2","message","buttonCom","_mergeProps","link","onClick","second","ElMessageBox","title","showCancelButton","cancelButtonText","beforeClose","action","instance","done","messageBox","then","click","catch","confirm","onConfirm","item","ArrowDown","dropdown","_slot","render","solts","$slots","defaultSlot","headerSlot","header","custom","fixed","showOverflowTooltip","className","setting","align","width","formatter","noChildItem","propLowerCase","toLocaleLowerCase","minWidth","deepValue","getPropByPath","row","dataTransformRod","_a","errData","children","htmlValue","$index","_b","_c","_withDirectives","_d","_resolveDirective","_e","_f","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, ref, PropType} from 'vue'\n\nimport {getPropByPath, dataTransformRod} from '@packages/utils/tools'\n\n\nimport {type TableColumnCtx, type ElSelect} from 'element-plus'\nimport {buildVueDompurifyHTMLDirective} from 'vue-dompurify-html'\nimport DinertSettingControl from './table-setting-control'\nimport DinertTableColumnOperations from './table-column-operations'\n\nimport type {\n\n RewriteTableProps,\n RewriteTableColumnCtx,\n\n} from '@packages/components/table/types/index'\n\n\nconst DompurifyHtml = buildVueDompurifyHTMLDirective({})\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 directives: {\n DompurifyHtml: DompurifyHtml\n },\n emits: ['CheckedChange'],\n setup(props, {emit}) {\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 cellItemClass = (value: any, errData: any) => {\n return ['cell-item', value === errData ? 'empty-value' : '']\n }\n return {\n cellItemClass,\n }\n },\n render() {\n const solts = this.$slots\n const defaultSlot = solts.default\n const headerSlot = solts.header\n\n return (\n <>\n {\n // eslint-disable-next-line array-callback-return, consistent-return\n this.tableColumns && this.tableColumns.map(item => {\n\n // 处理对齐方式\n const align = item.prop === 'operations' && item.align === undefined ? 'center' : item.align\n\n // 处理item\n const {children, ...noChildItem} = item\n\n // 处理打点展示\n const showOverflowTooltip = item.showOverflowTooltip === undefined && item.prop !== 'operations' ? true : item.showOverflowTooltip\n\n // 固定操作列在右侧\n const fixed = item.prop === 'operations' && item.fixed === undefined ? 'right' : item.fixed\n\n // 固定宽度\n const width = item.prop === 'operations' && item.width === undefined ? 200 : item.width\n\n return (\n <el-table-column\n {...{\n ...noChildItem,\n fixed,\n showOverflowTooltip,\n width,\n className: `${item.prop || ''} ${item.className || ''} ${item.setting ? 'setting' : ''}`,\n align\n }}\n key={item.prop}\n v-slots= {{\n default: (scope: any) => {\n\n\n let result: any = []\n\n const deepValue = getPropByPath(scope.row, item.prop || '')\n\n let value = dataTransformRod(deepValue, this.table?.errData)\n\n const slotValue = defaultSlot?.({...scope, prop: item.prop})\n\n const isSlotValue = slotValue && slotValue[0] && slotValue[0].children\n\n // 处理formatter\n const formatter = item.formatter && typeof item.formatter === 'function'\n let htmlValue = ''\n\n\n if (isSlotValue) {\n value = slotValue\n result = [(\n (<div class={this.cellItemClass(value, this.table?.errData)}>\n {value}\n </div>\n )\n )]\n } else if (formatter) {\n htmlValue = item.formatter && item.formatter(scope, (item as TableColumnCtx<any>), deepValue, scope.$index, this.table?.errData)\n value = dataTransformRod(htmlValue, this.table?.errData)\n\n result = [(\n (<div class={this.cellItemClass(value, this.table?.errData)} v-dompurify-html={value}></div>\n )\n )]\n } else {\n\n\n result = [(\n (<div class={this.cellItemClass(value, this.table?.errData)}>\n {value}\n </div>\n )\n )]\n\n if (item.prop === 'operations') {\n result = (\n <DinertTableColumnOperations\n operations={item.operations}\n column={item}\n scope={scope}\n >\n </DinertTableColumnOperations>\n )\n }\n\n\n if (['selection', 'index', 'expand'].includes(item.type || '')) {\n result = null\n }\n\n }\n\n\n if (item.children && item.children.length) {\n result.push(\n (<><dinert-recuve-table-column\n 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 return result\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 const setting = item.setting && this.table?.setting !== false\n const result: any = []\n if (isSlotValue) {\n result.push(<span>{isSlotValue ? slotValue : scope.column.label}</span>)\n } else {\n result.push(<span>{scope.column.label}</span>)\n }\n if (setting) {\n result.push(<DinertSettingControl table={this.table} />)\n }\n return result\n }\n }}\n >\n </el-table-column>\n )\n })\n }\n\n </>\n )\n }\n})\n"],"names":["DompurifyHtml","buildVueDompurifyHTMLDirective","defineComponent","name","props","onlyClass","type","String","default","popoverValue","Boolean","table","Object","tableColumns","Array","defaultCheckedKeys","directives","emits","setup","emit","cellItemClass","value","errData","render","solts","$slots","defaultSlot","headerSlot","header","_createVNode","_Fragment","map","item","align","prop","undefined","children","noChildItem","showOverflowTooltip","fixed","width","_resolveComponent","_mergeProps","className","setting","scope","result","deepValue","getPropByPath","row","dataTransformRod","_a","slotValue","isSlotValue","formatter","htmlValue","_b","$index","_c","_d","_withDirectives","_e","_resolveDirective","_f","DinertTableColumnOperations","operations","includes","length","push","data","column","label","DinertSettingControl"],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { defineComponent as d, ref as u, computed as h, createVNode as a, resolveComponent as i } from "vue";
2
+ import { getTreeNode as p } from "../../../utils/tools.mjs";
3
+ import { treeProps as f, allowDrop as m, nodeDragEnd as b } from "../hooks/index.mjs";
4
+ const M = /* @__PURE__ */ d({
5
+ name: "dinert-table-column-control",
6
+ props: {
7
+ table: {
8
+ type: Object
9
+ }
10
+ },
11
+ emits: ["CheckedChange", "TooltipMouseEnter", "TooltipMouseLeave"],
12
+ setup(n, e) {
13
+ const t = u(null), r = h(() => {
14
+ var o;
15
+ return p(((o = n.table) == null ? void 0 : o.tableColumns) || [], "checked", [!0, void 0], "prop");
16
+ }), s = (o) => {
17
+ !o.children || o.children.length === 0 || o.children.forEach((l) => {
18
+ l.checked = !1, s(l);
19
+ });
20
+ };
21
+ return {
22
+ selectTableRef: t,
23
+ defaultCheckedKeys: r,
24
+ checkTree: (o, l, c) => {
25
+ o.checked = c || l, o.checked || s(o), e.emit("CheckedChange", o, l, c);
26
+ }
27
+ };
28
+ },
29
+ render() {
30
+ var n;
31
+ return a(i("el-tree"), {
32
+ ref: (e) => this.selectTableRef = e,
33
+ draggable: !0,
34
+ data: (n = this.table) == null ? void 0 : n.tableColumns,
35
+ "default-expand-all": !0,
36
+ "default-checked-keys": this.defaultCheckedKeys,
37
+ "show-checkbox": !0,
38
+ "node-key": "prop",
39
+ props: f,
40
+ "allow-drop": m,
41
+ onCheckChange: (e, t, r) => this.checkTree(e, t, r),
42
+ onNodeDragEnd: (e, t) => {
43
+ const r = e.data.sort, s = t.data.sort;
44
+ e.data.sort = s, t.data.sort = r, b(e, t, this.selectTableRef);
45
+ }
46
+ }, {
47
+ default: ({
48
+ data: e
49
+ }) => a("div", {
50
+ class: "text-dot tree-item",
51
+ onMouseenter: (t) => this.$emit("TooltipMouseEnter", t, e.label),
52
+ onMouseleave: (t) => this.$emit("TooltipMouseLeave", t, "")
53
+ }, [a("span", null, [e.label])])
54
+ });
55
+ }
56
+ });
57
+ export {
58
+ M as default
59
+ };
60
+ //# sourceMappingURL=table-column-control.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-column-control.mjs","sources":["../../../../../packages/components/table/src/table-column-control.tsx"],"sourcesContent":["import {PropType, computed, defineComponent, ref} from 'vue'\n\nimport type {RewriteTableProps} from '@packages/components/table/types/index'\nimport {getTreeNode} from '@packages/utils/tools'\nimport {allowDrop, nodeDragEnd, treeProps} from '@packages/components/table/hooks'\nimport type Node from 'element-plus/es/components/tree/src/model/node'\n\n\nexport default defineComponent({\n name: 'dinert-table-column-control',\n props: {\n table: {\n type: Object as PropType<RewriteTableProps>,\n }\n },\n emits: ['CheckedChange', 'TooltipMouseEnter', 'TooltipMouseLeave'],\n setup(props, ctx) {\n const selectTableRef = ref(null)\n\n const defaultCheckedKeys = computed(() => {\n return getTreeNode(props.table?.tableColumns || [], 'checked', [true, undefined], 'prop')\n })\n\n const uncheckChildren = (node: any) => {\n if (!node.children || node.children.length === 0) {\n return\n }\n\n node.children.forEach(child => {\n child.checked = false\n uncheckChildren(child) // 递归处理更深层的 children\n })\n }\n\n const checkTree = (data: any, checked: boolean, childChecked: boolean) => {\n data.checked = childChecked || checked\n if (!data.checked) {\n uncheckChildren(data)\n }\n ctx.emit('CheckedChange', data, checked, childChecked)\n }\n\n return {\n selectTableRef,\n defaultCheckedKeys,\n checkTree\n }\n },\n render() {\n\n return (\n <el-tree\n ref={el => (this.selectTableRef = el)}\n draggable\n data={this.table?.tableColumns}\n default-expand-all\n default-checked-keys={this.defaultCheckedKeys}\n show-checkbox\n node-key={'prop'}\n props={treeProps}\n allow-drop={allowDrop}\n onCheckChange={(data: Node, checked: boolean, childChecked: boolean) => this.checkTree(data, checked, childChecked)}\n onNodeDragEnd={(currentNode: Node, targetNode: Node) => {\n const currentNodeSort = currentNode.data.sort\n const targetNodeSort = targetNode.data.sort\n currentNode.data.sort = targetNodeSort\n targetNode.data.sort = currentNodeSort\n nodeDragEnd(currentNode, targetNode, this.selectTableRef)\n }\n }\n v-slots={\n {\n default: ({data}: {data: Node}) => (\n <div class=\"text-dot tree-item\"\n onMouseenter={e => this.$emit('TooltipMouseEnter', e, data.label)}\n onMouseleave={e => this.$emit('TooltipMouseLeave', e, '')}\n >\n <span>{ data.label }</span>\n </div>\n )\n }\n }\n >\n </el-tree>\n )\n }\n})\n"],"names":["defineComponent","name","props","table","type","Object","emits","setup","ctx","selectTableRef","ref","defaultCheckedKeys","computed","getTreeNode","tableColumns","undefined","uncheckChildren","node","children","length","forEach","child","checked","checkTree","data","childChecked","emit","render","_createVNode","_resolveComponent","el","_a","treeProps","allowDrop","onCheckChange","onNodeDragEnd","currentNode","targetNode","currentNodeSort","sort","targetNodeSort","nodeDragEnd","default","e","$emit","label"],"mappings":";;;AAQA,MAAeA,sBAAgB;AAAA,EAC3BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACHC,OAAO;AAAA,MACHC,MAAMC;AAAAA,IACV;AAAA,EACH;AAAA,EACDC,OAAO,CAAC,iBAAiB,qBAAqB,mBAAmB;AAAA,EACjEC,MAAML,GAAOM,GAAK;AACd,UAAMC,IAAiBC,EAAI,IAAI,GAEzBC,IAAqBC,EAAS,MAAM;;AACtC,aAAOC,IAAYX,IAAAA,EAAMC,UAAND,gBAAAA,EAAaY,iBAAgB,CAAA,GAAI,WAAW,CAAC,IAAMC,MAAS,GAAG,MAAM;AAAA,IAC5F,CAAC,GAEKC,IAAmBC,CAAAA,MAAc;AACnC,MAAI,CAACA,EAAKC,YAAYD,EAAKC,SAASC,WAAW,KAI/CF,EAAKC,SAASE,QAAQC,CAAAA,MAAS;AAC3BA,QAAAA,EAAMC,UAAU,IAChBN,EAAgBK,CAAK;AAAA,MACzB,CAAC;AAAA;AAWL,WAAO;AAAA,MACHZ,gBAAAA;AAAAA,MACAE,oBAAAA;AAAAA,MACAY,WAXcA,CAACC,GAAWF,GAAkBG,MAA0B;AACtED,QAAAA,EAAKF,UAAUG,KAAgBH,GAC1BE,EAAKF,WACNN,EAAgBQ,CAAI,GAExBhB,EAAIkB,KAAK,iBAAiBF,GAAMF,GAASG,CAAY;AAAA;;EAQ5D;AAAA,EACDE,SAAS;;AAEL,WAAAC,EAAAC,EAAA,SAAA,GAAA;AAAA,MAAA,KAEaC,CAAAA,MAAO,KAAKrB,iBAAiBqB;AAAAA,MAAG,WAAA;AAAA,MAAA,OAE/BC,IAAA,KAAK5B,UAAL,gBAAA4B,EAAYjB;AAAAA,MAAY,sBAAA;AAAA,MAAA,wBAER,KAAKH;AAAAA,MAAkB,iBAAA;AAAA,MAAA,YAEnC;AAAA,MAAM,OACTqB;AAAAA,MAAS,cACJC;AAAAA,MAAS,eACNC,CAACV,GAAYF,GAAkBG,MAA0B,KAAKF,UAAUC,GAAMF,GAASG,CAAY;AAAA,MAAC,eACpGU,CAACC,GAAmBC,MAAqB;AACpD,cAAMC,IAAkBF,EAAYZ,KAAKe,MACnCC,IAAiBH,EAAWb,KAAKe;AACvCH,QAAAA,EAAYZ,KAAKe,OAAOC,GACxBH,EAAWb,KAAKe,OAAOD,GACvBG,EAAYL,GAAaC,GAAY,KAAK5B,cAAc;AAAA,MAC5D;AAAA,OAGI;AAAA,MACIiC,SAASA,CAAC;AAAA,QAAClB,MAAAA;AAAAA,MAAkB,MAACI,EAAA,OAAA;AAAA,QAAA,OAAA;AAAA,QAAA,cAERe,CAAAA,MAAK,KAAKC,MAAM,qBAAqBD,GAAGnB,EAAKqB,KAAK;AAAA,QAAC,cACnDF,CAAAA,MAAK,KAAKC,MAAM,qBAAqBD,GAAG,EAAE;AAAA,MAAC,GAAA,CAAAf,EAAA,QAAA,MAAA,CAEjDJ,EAAKqB,KAAK,CAAA,CAAA,CAAA;AAAA,KAG7B;AAAA,EAKjB;AACJ,CAAC;"}