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