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