@dinert/element-plus 1.1.22 → 1.1.24
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 +2 -2
- package/dist/element-plus.umd.js.map +1 -1
- package/es/packages/components/form/src/cascader.mjs +19 -9
- package/es/packages/components/form/src/cascader.mjs.map +1 -1
- package/es/packages/components/form/src/checkbox.mjs.map +1 -1
- package/es/packages/components/form/src/date.mjs +22 -16
- package/es/packages/components/form/src/date.mjs.map +1 -1
- package/es/packages/components/form/src/index.mjs +156 -141
- package/es/packages/components/form/src/index.mjs.map +1 -1
- package/es/packages/components/form/src/input-autocomplete.mjs +12 -6
- package/es/packages/components/form/src/input-autocomplete.mjs.map +1 -1
- package/es/packages/components/form/src/input-number.mjs +12 -6
- package/es/packages/components/form/src/input-number.mjs.map +1 -1
- package/es/packages/components/form/src/input.mjs +12 -6
- package/es/packages/components/form/src/input.mjs.map +1 -1
- package/es/packages/components/form/src/rate.mjs +12 -6
- package/es/packages/components/form/src/rate.mjs.map +1 -1
- package/es/packages/components/form/src/select-v2.mjs +11 -6
- package/es/packages/components/form/src/select-v2.mjs.map +1 -1
- package/es/packages/components/form/src/select.mjs +13 -9
- package/es/packages/components/form/src/select.mjs.map +1 -1
- package/es/packages/components/form/src/switch.mjs +12 -6
- package/es/packages/components/form/src/switch.mjs.map +1 -1
- package/es/packages/components/form/src/tree-select.mjs +12 -7
- package/es/packages/components/form/src/tree-select.mjs.map +1 -1
- package/es/packages/components/form/utils/index.mjs +28 -17
- package/es/packages/components/form/utils/index.mjs.map +1 -1
- package/es/packages/components/table/src/index.mjs +100 -89
- package/es/packages/components/table/src/index.mjs.map +1 -1
- package/es/packages/components/table/src/recuve-table-column.mjs +96 -98
- package/es/packages/components/table/src/recuve-table-column.mjs.map +1 -1
- package/es/packages/index.mjs.map +1 -1
- package/es/packages/utils/tools.mjs +13 -12
- package/es/packages/utils/tools.mjs.map +1 -1
- package/es/src/components/form/index.d.ts +3 -1
- package/es/src/components/form/src/cascader.d.ts +1 -0
- package/es/src/components/form/src/checkbox.d.ts +1 -1
- package/es/src/components/form/src/date.d.ts +1 -0
- package/es/src/components/form/src/index.d.ts +3 -1
- package/es/src/components/form/src/input-autocomplete.d.ts +1 -0
- package/es/src/components/form/src/input-number.d.ts +1 -0
- package/es/src/components/form/src/input.d.ts +1 -0
- package/es/src/components/form/src/rate.d.ts +1 -0
- package/es/src/components/form/src/select-v2.d.ts +1 -0
- package/es/src/components/form/src/select.d.ts +1 -0
- package/es/src/components/form/src/switch.d.ts +1 -0
- package/es/src/components/form/src/tree-select.d.ts +1 -0
- package/es/src/components/form/types/index.d.ts +8 -1
- package/es/src/components/form/utils/index.d.ts +1 -0
- package/es/src/components/table/types/index.d.ts +2 -0
- package/es/src/components/table-page/index.d.ts +6 -2
- package/es/src/components/table-page/src/index.d.ts +6 -2
- package/es/src/index.d.ts +6 -6
- package/es/src/utils/tools.d.ts +1 -0
- package/es/style.css +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/src/components/form/index.d.ts +3 -1
- package/lib/src/components/form/src/cascader.d.ts +1 -0
- package/lib/src/components/form/src/checkbox.d.ts +1 -1
- package/lib/src/components/form/src/date.d.ts +1 -0
- package/lib/src/components/form/src/index.d.ts +3 -1
- package/lib/src/components/form/src/input-autocomplete.d.ts +1 -0
- package/lib/src/components/form/src/input-number.d.ts +1 -0
- package/lib/src/components/form/src/input.d.ts +1 -0
- package/lib/src/components/form/src/rate.d.ts +1 -0
- package/lib/src/components/form/src/select-v2.d.ts +1 -0
- package/lib/src/components/form/src/select.d.ts +1 -0
- package/lib/src/components/form/src/switch.d.ts +1 -0
- package/lib/src/components/form/src/tree-select.d.ts +1 -0
- package/lib/src/components/form/types/index.d.ts +8 -1
- package/lib/src/components/form/utils/index.d.ts +1 -0
- package/lib/src/components/table/types/index.d.ts +2 -0
- package/lib/src/components/table-page/index.d.ts +6 -2
- package/lib/src/components/table-page/src/index.d.ts +6 -2
- package/lib/src/index.d.ts +6 -6
- package/lib/src/utils/tools.d.ts +1 -0
- package/package.json +7 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-select.mjs","sources":["../../../../../packages/components/form/src/tree-select.tsx"],"sourcesContent":["import {computed, defineComponent} from 'vue'\n\nimport type {RewriteFormProps, CustomFormItemProps} from '@packages/components/form/types'\nimport type {PropType} from 'vue'\n\nexport default defineComponent({\n name: 'dinert-tree-select',\n props: {\n form: {\n type: Object as PropType<RewriteFormProps>,\n default: () => ({})\n },\n formItem: {\n type: Object as PropType<CustomFormItemProps>,\n default: () => ({})\n },\n },\n setup(props) {\n\n const options = computed<CustomFormItemProps[keyof CustomFormItemProps]['tree-select']>(() => {\n const options = props.formItem.options || {options: [], data: []}\n options.data = options.options\n return options\n })\n\n return {\n options\n }\n },\n render() {\n return (\n <el-tree-select\n v-model={this.form.model[this.formItem.key]}\n clearable\n filterable={this.options.filterable === undefined ? true : this.options.filterable}\n node-key={this.options.nodeKey}\n {...this.options}\n v-slots={this.$slots}\n key={this.formItem.key}\n >\n </el-tree-select>\n )\n }\n})\n\n"],"names":["defineComponent","name","props","form","type","Object","default","formItem","setup","options","computed","data","render","_createVNode","_resolveComponent","_mergeProps","model","key","$event","filterable","undefined","nodeKey","$slots"],"mappings":";AAKA,MAAeA,sBAAgB;AAAA,EAC3BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACHC,MAAM;AAAA,MACFC,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDC,UAAU;AAAA,MACNH,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACpB;AAAA,EACH;AAAA,EACDE,MAAMN,GAAO;
|
|
1
|
+
{"version":3,"file":"tree-select.mjs","sources":["../../../../../packages/components/form/src/tree-select.tsx"],"sourcesContent":["import {computed, defineComponent, ref} from 'vue'\n\nimport type {RewriteFormProps, CustomFormItemProps} from '@packages/components/form/types'\nimport type {PropType} from 'vue'\n\nexport default defineComponent({\n name: 'dinert-tree-select',\n props: {\n form: {\n type: Object as PropType<RewriteFormProps>,\n default: () => ({})\n },\n formItem: {\n type: Object as PropType<CustomFormItemProps>,\n default: () => ({})\n },\n },\n setup(props) {\n const treeSelectRef = ref(null)\n const options = computed<CustomFormItemProps[keyof CustomFormItemProps]['tree-select']>(() => {\n const options = props.formItem.options || {options: [], data: []}\n options.data = options.options\n return options\n })\n\n return {\n options,\n treeSelectRef\n }\n },\n render() {\n return (\n <el-tree-select\n v-model={this.form.model[this.formItem.key]}\n clearable\n filterable={this.options.filterable === undefined ? true : this.options.filterable}\n node-key={this.options.nodeKey}\n {...this.options}\n v-slots={this.$slots}\n key={this.formItem.key}\n ref={el => {this.treeSelectRef = el}}\n >\n </el-tree-select>\n )\n }\n})\n\n"],"names":["defineComponent","name","props","form","type","Object","default","formItem","setup","treeSelectRef","ref","options","computed","data","render","_createVNode","_resolveComponent","_mergeProps","model","key","$event","filterable","undefined","nodeKey","el","$slots"],"mappings":";AAKA,MAAeA,sBAAgB;AAAA,EAC3BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACHC,MAAM;AAAA,MACFC,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACnB;AAAA,IACDC,UAAU;AAAA,MACNH,MAAMC;AAAAA,MACNC,SAASA,OAAO,CAAA;AAAA,IACpB;AAAA,EACH;AAAA,EACDE,MAAMN,GAAO;AACT,UAAMO,IAAgBC,EAAI,IAAI;AAO9B,WAAO;AAAA,MACHC,SAPYC,EAAwE,MAAM;AAC1F,cAAMD,IAAUT,EAAMK,SAASI,WAAW;AAAA,UAACA,SAAS,CAAE;AAAA,UAAEE,MAAM,CAAA;AAAA;AAC9DF,eAAAA,EAAQE,OAAOF,EAAQA,SAChBA;AAAAA,MACX,CAAC;AAAA,MAIGF,eAAAA;AAAAA;EAEP;AAAA,EACDK,SAAS;AACL,WAAAC,EAAAC,EAAA,gBAAA,GAAAC,EAAA;AAAA,MAAA,YAEiB,KAAKd,KAAKe,MAAM,KAAKX,SAASY,GAAG;AAAA,MAAC,uBAAAC,CAAAA,MAAlC,KAAKjB,KAAKe,MAAM,KAAKX,SAASY,GAAG,IAACC;AAAAA,MAAA,WAAA;AAAA,MAAA,YAE/B,KAAKT,QAAQU,eAAeC,SAAY,KAAO,KAAKX,QAAQU;AAAAA,MAAU,YACxE,KAAKV,QAAQY;AAAAA,OACnB,KAAKZ,SAAO;AAAA,MAAA,KAEX,KAAKJ,SAASY;AAAAA,MAAG,KACjBK,CAAAA,MAAM;AAAC,aAAKf,gBAAgBe;AAAAA,MAAE;AAAA,KAF1B,GAAA,KAAKC,MAAM;AAAA,EAMhC;AACJ,CAAC;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { isSlotsValue as d } from "../../../utils/tools.mjs";
|
|
2
|
+
const g = (l, t, o) => {
|
|
2
3
|
const e = l.target.parentElement.parentElement, s = window.getComputedStyle(e, null), n = t.rules ? 12 : t.beforeWidth || 0, r = parseInt(s.getPropertyValue("max-width")) - n - parseInt(s.getPropertyValue("padding-right"));
|
|
3
4
|
l.target.previousElementSibling.offsetWidth >= r ? o.form.formItem[t.key].labelDisabled = !1 : o.form.formItem[t.key].labelDisabled = !0;
|
|
4
5
|
}, p = (l, t, o) => {
|
|
@@ -9,25 +10,25 @@ const f = (l, t, o) => {
|
|
|
9
10
|
});
|
|
10
11
|
}
|
|
11
12
|
return s(l), e;
|
|
12
|
-
},
|
|
13
|
-
var n, r,
|
|
13
|
+
}, h = (l, t) => {
|
|
14
|
+
var n, r, i, c;
|
|
14
15
|
const o = t.type, e = t.options || {}, s = [];
|
|
15
16
|
if (["input", "input-autocomplete", "input-number"].includes(o))
|
|
16
17
|
return l;
|
|
17
18
|
if (["select", "tree-select", "select-v2"].includes(o)) {
|
|
18
19
|
if (e && e.options && e.options.length) {
|
|
19
|
-
let
|
|
20
|
-
return e.valueKey && (
|
|
20
|
+
let a = null;
|
|
21
|
+
return e.valueKey && (a = l && l[e.valueKey]), p(e.options, e.value === "object" ? e.valueKey : e.value || "value", a || l).forEach((u) => {
|
|
21
22
|
s.push(u[e.label || "label"]);
|
|
22
23
|
}), s.join(",");
|
|
23
24
|
}
|
|
24
25
|
} else if (["cascader"].includes(o) && e && e.options && e.options.length) {
|
|
25
26
|
(((n = e.props) == null ? void 0 : n.emitPath) === void 0 || ((r = e.props) == null ? void 0 : r.emitPath) === !0) && (l = l && l[0]);
|
|
26
|
-
const
|
|
27
|
-
return
|
|
27
|
+
const a = p(e.options, ((i = e.props) == null ? void 0 : i.value) || "value", l)[0];
|
|
28
|
+
return a && a[((c = e.props) == null ? void 0 : c.label) || "label"];
|
|
28
29
|
}
|
|
29
30
|
return null;
|
|
30
|
-
},
|
|
31
|
+
}, y = (l, t, o, e) => {
|
|
31
32
|
const s = ["input", "input-autocomplete", "cascader", "input-number", "select", "tree-select", "select-v2"];
|
|
32
33
|
if (!o || t.showLabel || !s.includes(t.type)) {
|
|
33
34
|
e.form.formItem[t.key].tempValueDisabled = !0;
|
|
@@ -35,11 +36,11 @@ const f = (l, t, o) => {
|
|
|
35
36
|
}
|
|
36
37
|
let n = null;
|
|
37
38
|
if (["input", "input-autocomplete", "cascader", "input-number"].includes(t.type) ? n = l.target.parentElement.querySelector(".el-input__inner") : ["select", "tree-select", "select-v2"].includes(t.type) && (n = l.target.parentElement.querySelector(".el-select__selected-item.el-select__placeholder"), n = n || l.target.parentElement.querySelector(".el-select__selection")), n) {
|
|
38
|
-
const r = window.getComputedStyle(n, null),
|
|
39
|
-
l.target.previousElementSibling.offsetWidth >=
|
|
39
|
+
const r = window.getComputedStyle(n, null), i = n.offsetWidth - parseInt(r.getPropertyValue("padding-right")) - parseInt(r.getPropertyValue("padding-left"));
|
|
40
|
+
l.target.previousElementSibling.offsetWidth >= i ? e.form.formItem[t.key].tempValueDisabled = !1 : e.form.formItem[t.key].tempValueDisabled = !0;
|
|
40
41
|
} else
|
|
41
42
|
e.form.formItem[t.key].tempValueDisabled = !1;
|
|
42
|
-
},
|
|
43
|
+
}, b = (l, t = "input", o = "请输入") => (o = [
|
|
43
44
|
"select",
|
|
44
45
|
"tree-select",
|
|
45
46
|
"cascader",
|
|
@@ -54,13 +55,23 @@ const f = (l, t, o) => {
|
|
|
54
55
|
"monthrange",
|
|
55
56
|
"year",
|
|
56
57
|
"years"
|
|
57
|
-
].includes(t) ? "请选择" : o, o + (l || "")),
|
|
58
|
+
].includes(t) ? "请选择" : o, o + (l || "")), I = (l, t = "formItem_") => t + (l || ""), E = (l = [], t, o, e) => {
|
|
59
|
+
var s, n;
|
|
60
|
+
for (const r in t.$slots) {
|
|
61
|
+
const i = r.split("formItem_").join("").split("_")[1];
|
|
62
|
+
let c = null;
|
|
63
|
+
if (!i)
|
|
64
|
+
return;
|
|
65
|
+
l.includes(i) && (c = (n = (s = t.$slots)[r]) == null ? void 0 : n.call(s, e), d(c) && (o[i] = () => c));
|
|
66
|
+
}
|
|
67
|
+
};
|
|
58
68
|
export {
|
|
59
|
-
|
|
69
|
+
b as customPlaceholder,
|
|
60
70
|
p as findTreeNode,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
71
|
+
I as formItemSlot,
|
|
72
|
+
h as getTooltipValue,
|
|
73
|
+
g as labelMouseEnter,
|
|
74
|
+
E as renderSlot,
|
|
75
|
+
y as valueMouseEnter
|
|
65
76
|
};
|
|
66
77
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/form/utils/index.ts"],"sourcesContent":["\nexport const labelMouseEnter = (e: MouseEvent, item: any, _this: any) => {\n const el = (e.target as any).parentElement.parentElement\n const labelEl = window.getComputedStyle(el, null)\n const isRequried = item.rules ? 12 : item.beforeWidth || 0\n const labelWidth\n = parseInt(labelEl.getPropertyValue('max-width')) - isRequried\n - parseInt(labelEl.getPropertyValue('padding-right'))\n const tooltipWidth = (e.target as any).previousElementSibling.offsetWidth\n if (tooltipWidth >= labelWidth) {\n _this.form.formItem[item.key].labelDisabled = false\n\n } else {\n _this.form.formItem[item.key].labelDisabled = true\n }\n}\n\nexport const findTreeNode = (treeData: any, key: string, value: string) => {\n const result: any[] = []\n function filterResult(treeData: any) {\n treeData.forEach((item: any) => {\n if (item) {\n if ((Array.isArray(value) && value.includes(item[key])) || value === item[key]) {\n result.push(item)\n }\n if (item.children && item.children.length) {\n filterResult(item.children)\n }\n }\n\n })\n }\n filterResult(treeData)\n return result\n}\n\n\nexport const getTooltipValue = (value: any, item: any): any => {\n const type = item.type\n const options = item.options || {}\n const tempArr: string[] = []\n if (['input', 'input-autocomplete', 'input-number'].includes(type)) {\n return value\n } else if (['select', 'tree-select', 'select-v2'].includes(type)) {\n if (options && options.options && options.options.length) {\n let newVal = null\n if (options.valueKey) {\n newVal = value && value[options.valueKey]\n }\n const selectItem = findTreeNode(options.options, options.value === 'object' ? options.valueKey : options.value || 'value', newVal || value)\n selectItem.forEach(item => {\n tempArr.push(item[options.label || 'label'])\n })\n return tempArr.join(',')\n }\n } else if (['cascader'].includes(type)) {\n if (options && options.options && options.options.length) {\n if (options.props?.emitPath === undefined || options.props?.emitPath === true) {\n value = value && value[0]\n }\n\n const selectItem = findTreeNode(options.options, options.props?.value || 'value', value)[0]\n return selectItem && selectItem[options.props?.label || 'label']\n }\n }\n return null\n}\n\nexport const valueMouseEnter = (e: MouseEvent, item: any, value: any, _this) => {\n const showCom = ['input', 'input-autocomplete', 'cascader', 'input-number', 'select', 'tree-select', 'select-v2']\n\n if (!value || item.showLabel || !showCom.includes(item.type)) {\n _this.form.formItem[item.key].tempValueDisabled = true\n\n return\n }\n let el: HTMLElement | null = null\n if (['input', 'input-autocomplete', 'cascader', 'input-number'].includes(item.type)) {\n el = (e.target as any).parentElement.querySelector('.el-input__inner') as HTMLElement\n } else if (['select', 'tree-select', 'select-v2'].includes(item.type)) {\n el = (e.target as any).parentElement.querySelector('.el-select__selected-item.el-select__placeholder') as HTMLElement\n el = el || (e.target as any).parentElement.querySelector('.el-select__selection') as HTMLElement\n }\n\n if (el) {\n const inputEl = window.getComputedStyle(el, null)\n const textWidth\n = el.offsetWidth\n - parseInt(inputEl.getPropertyValue('padding-right'))\n - parseInt(inputEl.getPropertyValue('padding-left'))\n const tooltipEl = (e.target as any).previousElementSibling\n const tooltipWidth = tooltipEl.offsetWidth\n\n if (tooltipWidth >= textWidth) {\n _this.form.formItem[item.key].tempValueDisabled = false\n } else {\n _this.form.formItem[item.key].tempValueDisabled = true\n\n }\n } else {\n _this.form.formItem[item.key].tempValueDisabled = false\n }\n\n}\n\nexport const customPlaceholder = (customName: any, type: string = 'input', name: string = '请输入') => {\n name = ['select', 'tree-select', 'cascader', 'select-v2', 'datetime',\n 'datetimerange', 'date', 'daterange', 'dates', 'week', 'month', 'monthrange', 'year', 'years'].includes(type) ? '请选择' : name\n return name + ((customName) || '')\n}\n\nexport const formItemSlot = (customName: any, name: string = 'formItem_') => {\n return name + (customName || '')\n}\n"],"names":["labelMouseEnter","e","item","_this","el","labelEl","isRequried","labelWidth","findTreeNode","treeData","key","value","result","filterResult","getTooltipValue","
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/form/utils/index.ts"],"sourcesContent":["import {isSlotsValue} from '@packages/utils/tools'\n\nexport const labelMouseEnter = (e: MouseEvent, item: any, _this: any) => {\n const el = (e.target as any).parentElement.parentElement\n const labelEl = window.getComputedStyle(el, null)\n const isRequried = item.rules ? 12 : item.beforeWidth || 0\n const labelWidth\n = parseInt(labelEl.getPropertyValue('max-width')) - isRequried\n - parseInt(labelEl.getPropertyValue('padding-right'))\n const tooltipWidth = (e.target as any).previousElementSibling.offsetWidth\n if (tooltipWidth >= labelWidth) {\n _this.form.formItem[item.key].labelDisabled = false\n\n } else {\n _this.form.formItem[item.key].labelDisabled = true\n }\n}\n\nexport const findTreeNode = (treeData: any, key: string, value: string) => {\n const result: any[] = []\n function filterResult(treeData: any) {\n treeData.forEach((item: any) => {\n if (item) {\n if ((Array.isArray(value) && value.includes(item[key])) || value === item[key]) {\n result.push(item)\n }\n if (item.children && item.children.length) {\n filterResult(item.children)\n }\n }\n\n })\n }\n filterResult(treeData)\n return result\n}\n\n\nexport const getTooltipValue = (value: any, item: any): any => {\n const type = item.type\n const options = item.options || {}\n const tempArr: string[] = []\n if (['input', 'input-autocomplete', 'input-number'].includes(type)) {\n return value\n } else if (['select', 'tree-select', 'select-v2'].includes(type)) {\n if (options && options.options && options.options.length) {\n let newVal = null\n if (options.valueKey) {\n newVal = value && value[options.valueKey]\n }\n const selectItem = findTreeNode(options.options, options.value === 'object' ? options.valueKey : options.value || 'value', newVal || value)\n selectItem.forEach(item => {\n tempArr.push(item[options.label || 'label'])\n })\n return tempArr.join(',')\n }\n } else if (['cascader'].includes(type)) {\n if (options && options.options && options.options.length) {\n if (options.props?.emitPath === undefined || options.props?.emitPath === true) {\n value = value && value[0]\n }\n\n const selectItem = findTreeNode(options.options, options.props?.value || 'value', value)[0]\n return selectItem && selectItem[options.props?.label || 'label']\n }\n }\n return null\n}\n\nexport const valueMouseEnter = (e: MouseEvent, item: any, value: any, _this) => {\n const showCom = ['input', 'input-autocomplete', 'cascader', 'input-number', 'select', 'tree-select', 'select-v2']\n\n if (!value || item.showLabel || !showCom.includes(item.type)) {\n _this.form.formItem[item.key].tempValueDisabled = true\n\n return\n }\n let el: HTMLElement | null = null\n if (['input', 'input-autocomplete', 'cascader', 'input-number'].includes(item.type)) {\n el = (e.target as any).parentElement.querySelector('.el-input__inner') as HTMLElement\n } else if (['select', 'tree-select', 'select-v2'].includes(item.type)) {\n el = (e.target as any).parentElement.querySelector('.el-select__selected-item.el-select__placeholder') as HTMLElement\n el = el || (e.target as any).parentElement.querySelector('.el-select__selection') as HTMLElement\n }\n\n if (el) {\n const inputEl = window.getComputedStyle(el, null)\n const textWidth\n = el.offsetWidth\n - parseInt(inputEl.getPropertyValue('padding-right'))\n - parseInt(inputEl.getPropertyValue('padding-left'))\n const tooltipEl = (e.target as any).previousElementSibling\n const tooltipWidth = tooltipEl.offsetWidth\n\n if (tooltipWidth >= textWidth) {\n _this.form.formItem[item.key].tempValueDisabled = false\n } else {\n _this.form.formItem[item.key].tempValueDisabled = true\n\n }\n } else {\n _this.form.formItem[item.key].tempValueDisabled = false\n }\n\n}\n\nexport const customPlaceholder = (customName: any, type: string = 'input', name: string = '请输入') => {\n name = ['select', 'tree-select', 'cascader', 'select-v2', 'datetime',\n 'datetimerange', 'date', 'daterange', 'dates', 'week', 'month', 'monthrange', 'year', 'years'].includes(type) ? '请选择' : name\n return name + ((customName) || '')\n}\n\nexport const formItemSlot = (customName: any, name: string = 'formItem_') => {\n return name + (customName || '')\n}\n\n\nexport const renderSlot = (arr: string[] = [], _this: any, slots, item: any): any => {\n for (const prop in _this.$slots) {\n const slotName = prop.split('formItem_').join('').split('_')[1]\n let slotFn: any = null\n if (!slotName) {\n return\n }\n if (arr.includes(slotName)) {\n slotFn = _this.$slots[prop]?.(item)\n // eslint-disable-next-line consistent-return\n isSlotsValue(slotFn) && (slots[slotName] = () => slotFn)\n }\n }\n}\n"],"names":["labelMouseEnter","e","item","_this","el","labelEl","isRequried","labelWidth","findTreeNode","treeData","key","value","result","filterResult","getTooltipValue","type","options","tempArr","newVal","_a","_b","selectItem","_c","_d","valueMouseEnter","showCom","inputEl","textWidth","customPlaceholder","customName","name","formItemSlot","renderSlot","arr","slots","prop","slotName","slotFn","isSlotsValue"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { getUuid as
|
|
3
|
-
import { treeNode as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { Plus as J, Delete as Q, Download as X, Upload as Y, Check as Z, Close as ee, ArrowDown as
|
|
1
|
+
import { defineComponent as P, ref as r, toRefs as B, computed as S, shallowRef as h, onMounted as L, watch as x, nextTick as $, createVNode as l, resolveComponent as i, mergeProps as v, createTextVNode as z } from "vue";
|
|
2
|
+
import { getUuid as O, getTreeNode as D, columnProp as V, headerProp as H } from "../../../utils/tools.mjs";
|
|
3
|
+
import { treeNode as N, nodeDragEnd as F, treeProps as U, allowDrop as M, resizeTaleHeight as W } from "../hooks/index.mjs";
|
|
4
|
+
import q from "./recuve-table-column.mjs";
|
|
5
|
+
import G from "../../../hooks/useWindowResize.mjs";
|
|
6
|
+
import { Plus as J, Delete as Q, Download as X, Upload as Y, Check as Z, Close as ee, ArrowDown as A, ArrowUp as te } from "../../../../node_modules/@element-plus/icons-vue/dist/index.mjs";
|
|
7
7
|
import "../../../assets/scss/dinert-table.scss.mjs";
|
|
8
|
-
const de = /* @__PURE__ */
|
|
8
|
+
const de = /* @__PURE__ */ P({
|
|
9
9
|
name: "dinert-table",
|
|
10
10
|
props: {
|
|
11
11
|
table: {
|
|
@@ -25,102 +25,101 @@ const de = /* @__PURE__ */ B({
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
emits: ["SizeChange", "CurrentChange", "CheckedChange"],
|
|
28
|
-
setup(
|
|
28
|
+
setup(p, {
|
|
29
29
|
emit: _
|
|
30
30
|
}) {
|
|
31
|
-
const w =
|
|
31
|
+
const w = r(), k = r(!1), R = r("table_" + O()), c = r(), f = r(!0), b = r(null), g = r(null), t = r(null), a = r(null), {
|
|
32
32
|
table: o,
|
|
33
|
-
header:
|
|
34
|
-
} =
|
|
35
|
-
var
|
|
36
|
-
const
|
|
37
|
-
function
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
header: d
|
|
34
|
+
} = B(p), u = S(() => {
|
|
35
|
+
var e;
|
|
36
|
+
const s = ((e = o.value) == null ? void 0 : e.tableColumns) || [];
|
|
37
|
+
function n(T) {
|
|
38
|
+
T.sort((y, C) => (y.sort || 1 / 0) - (C.sort || 1 / 0));
|
|
39
|
+
for (let y = 0; y < T.length; y++) {
|
|
40
|
+
const C = T[y];
|
|
41
|
+
C.children && C.children.length && n(C.children);
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
|
-
return
|
|
44
|
-
}),
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
key: s,
|
|
44
|
+
return n(s), s;
|
|
45
|
+
}), E = S(() => {
|
|
46
|
+
if (typeof d.value == "boolean")
|
|
47
|
+
return d.value;
|
|
48
|
+
const s = [];
|
|
49
|
+
return Object.keys(d.value).forEach((n) => {
|
|
50
|
+
const e = d.value[n];
|
|
51
|
+
n === "add" ? (e.icon = e.icon || h(J), e.type = "primary", e.message = e.message || "新增") : n === "delete" ? (e.icon = e.icon || h(Q), e.plain = e.plain === void 0 ? "plain" : e.plain, e.type = e.type === void 0 ? "danger" : e.type, e.message = e.message || "删除") : n === "download" ? (e.icon = e.icon || h(X), e.plain = e.plain === void 0 ? "plain" : e.plain, e.type = "primary", e.message = e.message || "下载") : n === "upload" ? (e.icon = e.icon || h(Y), e.plain = e.plain === void 0 ? "plain" : e.plain, e.type = "primary", e.message = e.message || "上传") : n === "select" ? (e.icon = e.icon || h(Z), e.plain = e.plain === void 0 ? "plain" : e.plain, e.message = e.message || "全选") : n === "close" ? (e.icon = e.icon || h(ee), e.plain = e.plain === void 0 ? "plain" : e.plain, e.message = e.message || "取消全选") : n === "down" ? (e.icon = e.icon || h(A), e.plain = e.plain === void 0 ? "plain" : e.plain, e.message = e.message || "展开") : n === "up" && (e.icon = e.icon || h(te), e.plain = e.plain === void 0 ? "plain" : e.plain, e.message = e.message || "收起"), s.push({
|
|
52
|
+
key: n,
|
|
53
53
|
...e,
|
|
54
|
-
type: e.type || "default"
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
q(w.value, m.value, y.value, t.value, a.value, h.table);
|
|
54
|
+
type: e.type || "default"
|
|
55
|
+
});
|
|
56
|
+
}), s.sort((n, e) => (n.sort || 1 / 0) - (e.sort || 1 / 0)), s;
|
|
57
|
+
}), m = () => {
|
|
58
|
+
W(w.value, b.value, g.value, t.value, a.value, p.table);
|
|
60
59
|
};
|
|
61
|
-
|
|
60
|
+
L(() => {
|
|
62
61
|
setTimeout(() => {
|
|
63
|
-
|
|
62
|
+
m();
|
|
64
63
|
});
|
|
65
64
|
});
|
|
66
|
-
const
|
|
67
|
-
var
|
|
68
|
-
return
|
|
69
|
-
}),
|
|
70
|
-
|
|
71
|
-
|
|
65
|
+
const I = S(() => {
|
|
66
|
+
var s;
|
|
67
|
+
return D(u.value, "setting", [!0], "setting").length === 0 && ((s = p.table) == null ? void 0 : s.setting) !== !1;
|
|
68
|
+
}), j = D(u.value, "checked", [!0, void 0], "prop"), K = (s, n, e) => {
|
|
69
|
+
s.checked = e || n, _("CheckedChange", s, n, e), $(() => {
|
|
70
|
+
m();
|
|
72
71
|
});
|
|
73
72
|
};
|
|
74
|
-
return
|
|
75
|
-
|
|
76
|
-
}, 100),
|
|
77
|
-
var
|
|
78
|
-
return (
|
|
73
|
+
return G(() => {
|
|
74
|
+
m();
|
|
75
|
+
}, 100), x(() => {
|
|
76
|
+
var s;
|
|
77
|
+
return (s = p.table) == null ? void 0 : s.key;
|
|
79
78
|
}, () => {
|
|
80
|
-
|
|
81
|
-
await
|
|
82
|
-
|
|
79
|
+
$(async () => {
|
|
80
|
+
await N(c.value, u.value), setTimeout(() => {
|
|
81
|
+
m();
|
|
83
82
|
});
|
|
84
83
|
});
|
|
85
84
|
}, {
|
|
86
85
|
immediate: !0
|
|
87
|
-
}),
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
}), x(u, () => {
|
|
87
|
+
$(() => {
|
|
88
|
+
f.value = u.value.every((s) => s.checked === !0);
|
|
90
89
|
});
|
|
91
90
|
}, {
|
|
92
91
|
deep: !0
|
|
93
92
|
}), {
|
|
94
|
-
getSetting:
|
|
95
|
-
tableColumns:
|
|
96
|
-
checkTree:
|
|
97
|
-
defaultCheckedKeys:
|
|
98
|
-
resizeTaleHeightFn:
|
|
99
|
-
nodeDragEnd:
|
|
93
|
+
getSetting: I,
|
|
94
|
+
tableColumns: u,
|
|
95
|
+
checkTree: K,
|
|
96
|
+
defaultCheckedKeys: j,
|
|
97
|
+
resizeTaleHeightFn: m,
|
|
98
|
+
nodeDragEnd: F,
|
|
100
99
|
popoverValue: k,
|
|
101
100
|
onlyClass: R,
|
|
102
|
-
isAllData:
|
|
103
|
-
isFooter:
|
|
104
|
-
headerList:
|
|
101
|
+
isAllData: f,
|
|
102
|
+
isFooter: p.footer,
|
|
103
|
+
headerList: E,
|
|
105
104
|
tableRef: w,
|
|
106
|
-
headerRef:
|
|
105
|
+
headerRef: b,
|
|
107
106
|
headerFooterRef: a,
|
|
108
|
-
bodyRef:
|
|
107
|
+
bodyRef: g,
|
|
109
108
|
footerRef: t,
|
|
110
|
-
selectTableRef:
|
|
109
|
+
selectTableRef: c
|
|
111
110
|
};
|
|
112
111
|
},
|
|
113
112
|
render() {
|
|
114
|
-
var k, R,
|
|
115
|
-
const
|
|
113
|
+
var k, R, c, f, b, g;
|
|
114
|
+
const p = this.tableSlot ? this.$slots : {
|
|
116
115
|
...this.$slots,
|
|
117
116
|
default: (t) => {
|
|
118
117
|
var a, o;
|
|
119
|
-
return (o = (a = this.$slots)[t.prop &&
|
|
118
|
+
return (o = (a = this.$slots)[t.prop && V(t.prop)]) == null ? void 0 : o.call(a, t);
|
|
120
119
|
},
|
|
121
120
|
header: (t) => {
|
|
122
121
|
var a, o;
|
|
123
|
-
return (o = (a = this.$slots)[t.prop &&
|
|
122
|
+
return (o = (a = this.$slots)[t.prop && H(t.prop)]) == null ? void 0 : o.call(a, t);
|
|
124
123
|
}
|
|
125
124
|
}, _ = this.header || this.getSetting && this.header, w = typeof this.headerList != "boolean" ? this.headerList : [];
|
|
126
125
|
return l("section", {
|
|
@@ -134,7 +133,7 @@ const de = /* @__PURE__ */ B({
|
|
|
134
133
|
class: "dinert-table-header-left"
|
|
135
134
|
}, [w.map((t) => {
|
|
136
135
|
var a, o;
|
|
137
|
-
return this.$slots["header_left_" + t.key] ? (o = (a = this.$slots)["header_left_" + t.key]) == null ? void 0 : o.call(a, t) : typeof t.show != "function" && [!0, void 0].includes(t.show) || typeof t.show == "function" && [!0, void 0].includes(t.show(t)) ? l(i("el-button"),
|
|
136
|
+
return this.$slots["header_left_" + t.key] ? (o = (a = this.$slots)["header_left_" + t.key]) == null ? void 0 : o.call(a, t) : typeof t.show != "function" && [!0, void 0].includes(t.show) || typeof t.show == "function" && [!0, void 0].includes(t.show(t)) ? l(i("el-button"), v({
|
|
138
137
|
...t,
|
|
139
138
|
type: t.type || "primary"
|
|
140
139
|
}, {
|
|
@@ -148,7 +147,7 @@ const de = /* @__PURE__ */ B({
|
|
|
148
147
|
default: () => [l(i("el-button"), {
|
|
149
148
|
type: this.isAllData ? "primary" : "default"
|
|
150
149
|
}, {
|
|
151
|
-
default: () => [
|
|
150
|
+
default: () => [z("全部显示")]
|
|
152
151
|
}), l(i("el-popover"), {
|
|
153
152
|
teleported: !1
|
|
154
153
|
}, {
|
|
@@ -162,12 +161,12 @@ const de = /* @__PURE__ */ B({
|
|
|
162
161
|
"default-checked-keys": this.defaultCheckedKeys,
|
|
163
162
|
"show-checkbox": !0,
|
|
164
163
|
"node-key": "prop",
|
|
165
|
-
props:
|
|
166
|
-
"allow-drop":
|
|
164
|
+
props: U,
|
|
165
|
+
"allow-drop": M,
|
|
167
166
|
onCheckChange: (t, a, o) => this.checkTree(t, a, o),
|
|
168
167
|
onNodeDragEnd: (t, a) => {
|
|
169
|
-
const o = t.data.sort,
|
|
170
|
-
t.data.sort =
|
|
168
|
+
const o = t.data.sort, d = a.data.sort;
|
|
169
|
+
t.data.sort = d, a.data.sort = o, F(t, a, this.selectTableRef);
|
|
171
170
|
}
|
|
172
171
|
}, {
|
|
173
172
|
default: ({
|
|
@@ -185,8 +184,8 @@ const de = /* @__PURE__ */ B({
|
|
|
185
184
|
reference: () => l(i("el-button"), {
|
|
186
185
|
type: this.isAllData ? "" : "primary"
|
|
187
186
|
}, {
|
|
188
|
-
default: () => [
|
|
189
|
-
default: () => [l(
|
|
187
|
+
default: () => [z("分类显示"), l(i("el-icon"), null, {
|
|
188
|
+
default: () => [l(A, null, null)]
|
|
190
189
|
})]
|
|
191
190
|
})
|
|
192
191
|
})]
|
|
@@ -200,36 +199,48 @@ const de = /* @__PURE__ */ B({
|
|
|
200
199
|
this.bodyRef = t;
|
|
201
200
|
},
|
|
202
201
|
class: "dinert-table-body"
|
|
203
|
-
}, [l(i("el-table"),
|
|
202
|
+
}, [l(i("el-table"), v({
|
|
204
203
|
height: "100%",
|
|
205
204
|
border: !0
|
|
206
205
|
}, this.table, {
|
|
207
206
|
ref: (t) => {
|
|
208
207
|
this.tableRef = t;
|
|
209
208
|
},
|
|
210
|
-
"row-key": (
|
|
209
|
+
"row-key": (c = this.table) == null ? void 0 : c.rowKey
|
|
211
210
|
}), {
|
|
212
|
-
default: () =>
|
|
213
|
-
|
|
214
|
-
"table-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
211
|
+
default: () => {
|
|
212
|
+
var t, a;
|
|
213
|
+
return [((t = this.table) == null ? void 0 : t.rowIndex) && l(i("el-table-column"), v({
|
|
214
|
+
width: "60",
|
|
215
|
+
align: "center",
|
|
216
|
+
type: "index",
|
|
217
|
+
label: "序号"
|
|
218
|
+
}, this.table.rowIndex), null), ((a = this.table) == null ? void 0 : a.rowSelection) && l(i("el-table-column"), v({
|
|
219
|
+
width: "60",
|
|
220
|
+
align: "center",
|
|
221
|
+
type: "selection"
|
|
222
|
+
}, this.table.rowSelection), null), l(q, {
|
|
223
|
+
table: this.table,
|
|
224
|
+
"table-columns": this.tableColumns,
|
|
225
|
+
"only-class": this.onlyClass,
|
|
226
|
+
"popover-value": this.popoverValue,
|
|
227
|
+
defaultCheckedKeys: this.defaultCheckedKeys,
|
|
228
|
+
onCheckedChange: (o, d, u) => this.$emit("CheckedChange", o, d, u)
|
|
229
|
+
}, p)];
|
|
230
|
+
}
|
|
231
|
+
})]), this.isFooter && ((f = this.table) == null ? void 0 : f.data) && ((b = this.table) == null ? void 0 : b.data.length) !== 0 && l("div", {
|
|
221
232
|
class: "dinert-table-footer",
|
|
222
233
|
ref: (t) => {
|
|
223
234
|
this.footerRef = t;
|
|
224
235
|
}
|
|
225
|
-
}, [l(i("el-pagination"),
|
|
236
|
+
}, [l(i("el-pagination"), v({
|
|
226
237
|
"model:current-page": 1,
|
|
227
238
|
"model:page-size": 15,
|
|
228
239
|
pageSizes: [15, 30, 50, 70, 100],
|
|
229
240
|
"default-page-size": 15,
|
|
230
241
|
layout: "total, sizes, prev, pager, next, jumper",
|
|
231
242
|
total: 100
|
|
232
|
-
}, (
|
|
243
|
+
}, (g = this.table) == null ? void 0 : g.pagination, {
|
|
233
244
|
onSizeChange: (t) => this.$emit("SizeChange", t),
|
|
234
245
|
onCurrentChange: (t) => this.$emit("CurrentChange", t)
|
|
235
246
|
}), null)])]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/table/src/index.tsx"],"sourcesContent":["import {defineComponent, ref, computed, nextTick, watch, onMounted, toRefs, shallowRef} from 'vue'\nimport type {HeaderListProps, RewriteTableProps, TablePageProps} from '@packages/components/table/types/index'\nimport {getUuid, columnProp, getTreeNode, headerProp} from '@packages/utils/tools'\nimport {resizeTaleHeight, allowDrop, nodeDragEnd, treeProps, treeNode} from '@packages/components/table/hooks'\n\nimport DinertRecuveTableColumn from './recuve-table-column'\nimport useWindowResize from '@packages/hooks/useWindowResize'\nimport {ArrowDown, Plus, Delete, Download, Upload, Check, Close, ArrowUp} from '@element-plus/icons-vue'\n\nimport type {PropType} from 'vue'\nimport type Node from 'element-plus/es/components/tree/src/model/node'\n\nimport '@packages/assets/scss/dinert-table.scss'\n\n\nexport default defineComponent({\n name: 'dinert-table',\n props: {\n table: {\n type: Object as PropType<RewriteTableProps>,\n },\n header: {\n type: [Object, Boolean] as PropType<HeaderListProps | boolean>,\n default: true\n },\n footer: {\n type: Boolean,\n default: true\n },\n tableSlot: {\n type: Boolean,\n default: false\n },\n },\n emits: ['SizeChange', 'CurrentChange', 'CheckedChange'],\n setup(props, {emit}) {\n const tableRef = ref<any>()\n const popoverValue = ref(false)\n const onlyClass = ref('table_' + getUuid())\n const selectTableRef = ref<any>()\n const isAllData = ref(true)\n const headerRef = ref<HTMLElement | null>(null)\n const bodyRef = ref<HTMLElement | null>(null)\n const footerRef = ref<HTMLElement | null>(null)\n const headerFooterRef = ref<HTMLElement | null>(null)\n\n const {table, header} = toRefs(props)\n\n\n const tableColumns = computed(() => {\n const result = table.value?.tableColumns || []\n\n function sortRecuve(columns) {\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < columns.length; i++) {\n const item = columns[i]\n if (item.sort && i !== item.sort) {\n columns.splice(i, 1)\n if (item.sort > columns.length) {\n columns.splice(columns.length - 1, 0, item)\n } else if (item.sort < 0) {\n columns.splice(0, 0, item)\n } else {\n columns.splice(item.sort, 0, item)\n }\n }\n\n if (item.children && item.children.length) {\n sortRecuve(item.children)\n }\n }\n }\n sortRecuve(result)\n return result\n })\n\n const headerList = computed(() => {\n let index = 0\n\n if (typeof header.value === 'boolean') {\n return header.value\n }\n const result: Array<TablePageProps['header']> = []\n // eslint-disable-next-line max-statements\n Object.keys(header.value).forEach(key => {\n const tempObj = header.value[key]\n if (key === 'add') {\n tempObj.icon = tempObj.icon || shallowRef(Plus)\n tempObj.type = 'primary'\n tempObj.message = tempObj.message || '新增'\n } else if (key === 'delete') {\n tempObj.icon = tempObj.icon || shallowRef(Delete)\n tempObj.plain = tempObj.plain === undefined ? 'plain' : tempObj.plain\n tempObj.type = tempObj.type === undefined ? 'danger' : tempObj.type\n tempObj.message = tempObj.message || '删除'\n } else if (key === 'download') {\n tempObj.icon = tempObj.icon || shallowRef(Download)\n tempObj.plain = tempObj.plain === undefined ? 'plain' : tempObj.plain\n tempObj.type = 'primary'\n tempObj.message = tempObj.message || '下载'\n } else if (key === 'upload') {\n tempObj.icon = tempObj.icon || shallowRef(Upload)\n tempObj.plain = tempObj.plain === undefined ? 'plain' : tempObj.plain\n tempObj.type = 'primary'\n tempObj.message = tempObj.message || '上传'\n } else if (key === 'select') {\n tempObj.icon = tempObj.icon || shallowRef(Check)\n tempObj.plain = tempObj.plain === undefined ? 'plain' : tempObj.plain\n tempObj.message = tempObj.message || '全选'\n\n } else if (key === 'close') {\n tempObj.icon = tempObj.icon || shallowRef(Close)\n tempObj.plain = tempObj.plain === undefined ? 'plain' : tempObj.plain\n tempObj.message = tempObj.message || '取消全选'\n\n } else if (key === 'down') {\n tempObj.icon = tempObj.icon || shallowRef(ArrowDown)\n tempObj.plain = tempObj.plain === undefined ? 'plain' : tempObj.plain\n tempObj.message = tempObj.message || '展开'\n\n } else if (key === 'up') {\n tempObj.icon = tempObj.icon || shallowRef(ArrowUp)\n tempObj.plain = tempObj.plain === undefined ? 'plain' : tempObj.plain\n tempObj.message = tempObj.message || '收起'\n }\n\n result.push({\n key: key,\n ...tempObj,\n type: tempObj.type || 'default',\n sort: typeof tempObj.sort === 'undefined' ? index : tempObj.sort,\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\n const resizeTaleHeightFn = () => {\n resizeTaleHeight(\n tableRef.value,\n headerRef.value,\n bodyRef.value,\n footerRef.value,\n headerFooterRef.value,\n (props.table as RewriteTableProps)\n )\n }\n\n onMounted(() => {\n setTimeout(() => {\n resizeTaleHeightFn()\n })\n })\n\n\n const getSetting = computed(() => {\n return getTreeNode(tableColumns.value, 'setting', [true], 'setting').length === 0\n && props.table?.setting !== false\n })\n\n const defaultCheckedKeys = getTreeNode(tableColumns.value, 'checked', [true, undefined], 'prop')\n\n const checkTree = (data: Node, checked: boolean, childChecked: boolean) => {\n data.checked = childChecked || checked\n emit('CheckedChange', data, checked, childChecked)\n nextTick(() => {\n resizeTaleHeightFn()\n })\n }\n\n useWindowResize(() => {\n resizeTaleHeightFn()\n }, 100)\n\n\n watch(() => props.table?.key, () => {\n nextTick(async () => {\n await treeNode(selectTableRef.value, tableColumns.value)\n setTimeout(() => {\n resizeTaleHeightFn()\n })\n })\n }, {\n immediate: true\n })\n\n watch(tableColumns, () => {\n nextTick(() => {\n isAllData.value = tableColumns.value.every(item => item.checked === true)\n })\n\n }, {\n deep: true,\n })\n\n\n return {\n getSetting,\n tableColumns,\n checkTree,\n defaultCheckedKeys,\n resizeTaleHeightFn,\n nodeDragEnd,\n popoverValue,\n onlyClass,\n isAllData,\n isFooter: props.footer,\n headerList,\n\n tableRef,\n headerRef,\n headerFooterRef,\n bodyRef,\n footerRef,\n selectTableRef\n }\n },\n render() {\n const slots = this.tableSlot ? this.$slots : {\n ...this.$slots,\n default: (scope: any) => this.$slots[scope.prop && columnProp(scope.prop)]?.(scope),\n header: (scope: any) => this.$slots[scope.prop && headerProp(scope.prop)]?.(scope)\n }\n const isHeader = this.header || (this.getSetting && this.header)\n\n const headerList = typeof this.headerList !== 'boolean' ? this.headerList as HeaderListProps[] : []\n return (\n <section class={'dinert-table'}>\n {\n isHeader\n && <header class={'dinert-table-header'} ref={el => {this.headerRef = el}}>\n {\n <div class=\"dinert-table-header-left\">\n {\n headerList.map((item: HeaderListProps) => {\n if (this.$slots['header_left_' + (item as any).key]) {\n return this.$slots['header_left_' + (item as any).key]?.(item)\n }\n\n\n if ((typeof item.show !== 'function' && [true, undefined].includes(item.show))\n || (typeof item.show === 'function' && [true, undefined].includes(item.show(item)))\n ) {\n return <el-button {...{\n ...item,\n type: item.type || 'primary',\n }} onClick={() => item.click && item.click(item)}>{item.message}</el-button>\n }\n return null\n })\n }\n </div>\n }\n {\n this.getSetting\n && <div class={'dinert-table-header-right'}>\n <el-button-group>\n <el-button type={this.isAllData ? 'primary' : 'default'}\n >全部显示\n </el-button>\n <el-popover teleported={false}\n v-slots={\n {\n default: () => (\n <ul class=\"el-popover-classify\">\n <el-tree\n ref={this.selectTableRef}\n draggable\n data={this.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 <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 </el-tree>\n </ul>\n ),\n reference: () => (\n <el-button type={!this.isAllData ? 'primary' : ''}>\n 分类显示<el-icon><ArrowDown/></el-icon>\n </el-button>\n )\n }\n\n }\n >\n </el-popover>\n </el-button-group>\n </div>\n }\n </header>\n }\n\n {\n this.$slots['header-footer']\n && <header class={'dinert-table-headerFooter'} ref={el => {this.headerFooterRef = el}}>\n {this.$slots['header-footer']?.()}\n </header>\n }\n\n <div ref={el => {this.bodyRef = el}} class=\"dinert-table-body\">\n\n <el-table\n height={'100%'}\n border={true}\n {...this.table}\n ref={el => {this.tableRef = el}}\n row-key={this.table?.rowKey}\n >\n <DinertRecuveTableColumn table={this.table}\n table-columns={this.tableColumns}\n only-class={this.onlyClass}\n v-slots={slots}\n popover-value={this.popoverValue}\n defaultCheckedKeys={this.defaultCheckedKeys}\n onCheckedChange={(data: Node, checked: boolean, childChecked: boolean) => this.$emit('CheckedChange', data, checked, childChecked)}\n\n >\n </DinertRecuveTableColumn>\n\n </el-table>\n </div>\n\n {this.isFooter && this.table?.data && this.table?.data.length !== 0 && <div class=\"dinert-table-footer\" ref={el => {this.footerRef = el}} >\n <el-pagination\n model:current-page={1}\n model:page-size={15}\n pageSizes={[15, 30, 50, 70, 100]}\n default-page-size={15}\n layout={'total, sizes, prev, pager, next, jumper'}\n total={100}\n {...this.table?.pagination}\n onSizeChange={(val: number) => this.$emit('SizeChange', val)}\n onCurrentChange={(val: number) => this.$emit('CurrentChange', val)}\n >\n\n </el-pagination>\n </div>\n }\n </section>\n )\n }\n})\n"],"names":["defineComponent","name","props","table","type","Object","header","Boolean","default","footer","tableSlot","emits","setup","emit","tableRef","ref","popoverValue","onlyClass","getUuid","selectTableRef","isAllData","headerRef","bodyRef","footerRef","headerFooterRef","toRefs","tableColumns","computed","result","value","sortRecuve","columns","i","length","item","sort","splice","children","headerList","index","keys","forEach","key","tempObj","icon","shallowRef","Plus","message","Delete","plain","undefined","Download","Upload","Check","Close","ArrowDown","ArrowUp","push","a","b","resizeTaleHeightFn","resizeTaleHeight","onMounted","setTimeout","getSetting","getTreeNode","setting","defaultCheckedKeys","checkTree","data","checked","childChecked","nextTick","useWindowResize","watch","treeNode","immediate","every","deep","nodeDragEnd","isFooter","render","slots","$slots","scope","_b","_a","prop","columnProp","headerProp","isHeader","_createVNode","el","map","show","includes","_resolveComponent","_mergeProps","onClick","click","_createTextVNode","treeProps","allowDrop","onCheckChange","onNodeDragEnd","currentNode","targetNode","currentNodeSort","targetNodeSort","label","reference","_c","rowKey","DinertRecuveTableColumn","onCheckedChange","$emit","_d","_e","_f","pagination","val"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../packages/components/table/src/index.tsx"],"sourcesContent":["import {defineComponent, ref, computed, nextTick, watch, onMounted, toRefs, shallowRef} from 'vue'\nimport type {HeaderListProps, RewriteTableProps, TablePageProps} from '@packages/components/table/types/index'\nimport {getUuid, columnProp, getTreeNode, headerProp} from '@packages/utils/tools'\nimport {resizeTaleHeight, allowDrop, nodeDragEnd, treeProps, treeNode} from '@packages/components/table/hooks'\n\nimport DinertRecuveTableColumn from './recuve-table-column'\nimport useWindowResize from '@packages/hooks/useWindowResize'\nimport {ArrowDown, Plus, Delete, Download, Upload, Check, Close, ArrowUp} from '@element-plus/icons-vue'\n\nimport type {PropType} from 'vue'\nimport type Node from 'element-plus/es/components/tree/src/model/node'\n\nimport '@packages/assets/scss/dinert-table.scss'\n\n\nexport default defineComponent({\n name: 'dinert-table',\n props: {\n table: {\n type: Object as PropType<RewriteTableProps>,\n },\n header: {\n type: [Object, Boolean] as PropType<HeaderListProps | boolean>,\n default: true\n },\n footer: {\n type: Boolean,\n default: true\n },\n tableSlot: {\n type: Boolean,\n default: false\n },\n },\n emits: ['SizeChange', 'CurrentChange', 'CheckedChange'],\n setup(props, {emit}) {\n const tableRef = ref<any>()\n const popoverValue = ref(false)\n const onlyClass = ref('table_' + getUuid())\n const selectTableRef = ref<any>()\n const isAllData = ref(true)\n const headerRef = ref<HTMLElement | null>(null)\n const bodyRef = ref<HTMLElement | null>(null)\n const footerRef = ref<HTMLElement | null>(null)\n const headerFooterRef = ref<HTMLElement | null>(null)\n\n const {table, header} = toRefs(props)\n\n\n const tableColumns = computed(() => {\n const result = table.value?.tableColumns || []\n\n function sortRecuve(columns) {\n columns.sort((a, b) => (a.sort || Infinity) - (b.sort || Infinity))\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < columns.length; i++) {\n const item = columns[i]\n if (item.children && item.children.length) {\n sortRecuve(item.children)\n }\n }\n }\n sortRecuve(result)\n return result\n })\n\n const headerList = computed(() => {\n\n if (typeof header.value === 'boolean') {\n return header.value\n }\n const result: Array<TablePageProps['header']> = []\n // eslint-disable-next-line max-statements\n Object.keys(header.value).forEach(key => {\n const tempObj = header.value[key]\n if (key === 'add') {\n tempObj.icon = tempObj.icon || shallowRef(Plus)\n tempObj.type = 'primary'\n tempObj.message = tempObj.message || '新增'\n } else if (key === 'delete') {\n tempObj.icon = tempObj.icon || shallowRef(Delete)\n tempObj.plain = tempObj.plain === undefined ? 'plain' : tempObj.plain\n tempObj.type = tempObj.type === undefined ? 'danger' : tempObj.type\n tempObj.message = tempObj.message || '删除'\n } else if (key === 'download') {\n tempObj.icon = tempObj.icon || shallowRef(Download)\n tempObj.plain = tempObj.plain === undefined ? 'plain' : tempObj.plain\n tempObj.type = 'primary'\n tempObj.message = tempObj.message || '下载'\n } else if (key === 'upload') {\n tempObj.icon = tempObj.icon || shallowRef(Upload)\n tempObj.plain = tempObj.plain === undefined ? 'plain' : tempObj.plain\n tempObj.type = 'primary'\n tempObj.message = tempObj.message || '上传'\n } else if (key === 'select') {\n tempObj.icon = tempObj.icon || shallowRef(Check)\n tempObj.plain = tempObj.plain === undefined ? 'plain' : tempObj.plain\n tempObj.message = tempObj.message || '全选'\n\n } else if (key === 'close') {\n tempObj.icon = tempObj.icon || shallowRef(Close)\n tempObj.plain = tempObj.plain === undefined ? 'plain' : tempObj.plain\n tempObj.message = tempObj.message || '取消全选'\n\n } else if (key === 'down') {\n tempObj.icon = tempObj.icon || shallowRef(ArrowDown)\n tempObj.plain = tempObj.plain === undefined ? 'plain' : tempObj.plain\n tempObj.message = tempObj.message || '展开'\n\n } else if (key === 'up') {\n tempObj.icon = tempObj.icon || shallowRef(ArrowUp)\n tempObj.plain = tempObj.plain === undefined ? 'plain' : tempObj.plain\n tempObj.message = tempObj.message || '收起'\n }\n\n result.push({\n key: key,\n ...tempObj,\n type: tempObj.type || 'default',\n })\n })\n\n result.sort((a: any, b: any) => {\n return (a.sort || Infinity) - (b.sort || Infinity)\n })\n return result\n })\n\n const resizeTaleHeightFn = () => {\n resizeTaleHeight(\n tableRef.value,\n headerRef.value,\n bodyRef.value,\n footerRef.value,\n headerFooterRef.value,\n (props.table as RewriteTableProps)\n )\n }\n\n onMounted(() => {\n setTimeout(() => {\n resizeTaleHeightFn()\n })\n })\n\n\n const getSetting = computed(() => {\n return getTreeNode(tableColumns.value, 'setting', [true], 'setting').length === 0\n && props.table?.setting !== false\n })\n\n const defaultCheckedKeys = getTreeNode(tableColumns.value, 'checked', [true, undefined], 'prop')\n\n const checkTree = (data: Node, checked: boolean, childChecked: boolean) => {\n data.checked = childChecked || checked\n emit('CheckedChange', data, checked, childChecked)\n nextTick(() => {\n resizeTaleHeightFn()\n })\n }\n\n useWindowResize(() => {\n resizeTaleHeightFn()\n }, 100)\n\n\n watch(() => props.table?.key, () => {\n nextTick(async () => {\n await treeNode(selectTableRef.value, tableColumns.value)\n setTimeout(() => {\n resizeTaleHeightFn()\n })\n })\n }, {\n immediate: true\n })\n\n watch(tableColumns, () => {\n nextTick(() => {\n isAllData.value = tableColumns.value.every(item => item.checked === true)\n })\n\n }, {\n deep: true,\n })\n\n\n return {\n getSetting,\n tableColumns,\n checkTree,\n defaultCheckedKeys,\n resizeTaleHeightFn,\n nodeDragEnd,\n popoverValue,\n onlyClass,\n isAllData,\n isFooter: props.footer,\n headerList,\n\n tableRef,\n headerRef,\n headerFooterRef,\n bodyRef,\n footerRef,\n selectTableRef\n }\n },\n render() {\n const slots = this.tableSlot ? this.$slots : {\n ...this.$slots,\n default: (scope: any) => this.$slots[scope.prop && columnProp(scope.prop)]?.(scope),\n header: (scope: any) => this.$slots[scope.prop && headerProp(scope.prop)]?.(scope)\n }\n const isHeader = this.header || (this.getSetting && this.header)\n\n const headerList = typeof this.headerList !== 'boolean' ? this.headerList as HeaderListProps[] : []\n return (\n <section class={'dinert-table'}>\n {\n isHeader\n && <header class={'dinert-table-header'} ref={el => {this.headerRef = el}}>\n {\n <div class=\"dinert-table-header-left\">\n {\n headerList.map((item: HeaderListProps) => {\n if (this.$slots['header_left_' + (item as any).key]) {\n return this.$slots['header_left_' + (item as any).key]?.(item)\n }\n\n\n if ((typeof item.show !== 'function' && [true, undefined].includes(item.show))\n || (typeof item.show === 'function' && [true, undefined].includes(item.show(item)))\n ) {\n return <el-button {...{\n ...item,\n type: item.type || 'primary',\n }} onClick={() => item.click && item.click(item)}>{item.message}</el-button>\n }\n return null\n })\n }\n </div>\n }\n {\n this.getSetting\n && <div class={'dinert-table-header-right'}>\n <el-button-group>\n <el-button type={this.isAllData ? 'primary' : 'default'}\n >全部显示\n </el-button>\n <el-popover teleported={false}\n v-slots={\n {\n default: () => (\n <ul class=\"el-popover-classify\">\n <el-tree\n ref={this.selectTableRef}\n draggable\n data={this.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 <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 </el-tree>\n </ul>\n ),\n reference: () => (\n <el-button type={!this.isAllData ? 'primary' : ''}>\n 分类显示<el-icon><ArrowDown/></el-icon>\n </el-button>\n )\n }\n\n }\n >\n </el-popover>\n </el-button-group>\n </div>\n }\n </header>\n }\n\n {\n this.$slots['header-footer']\n && <header class={'dinert-table-headerFooter'} ref={el => {this.headerFooterRef = el}}>\n {this.$slots['header-footer']?.()}\n </header>\n }\n\n <div ref={el => {this.bodyRef = el}} class=\"dinert-table-body\">\n\n <el-table\n height={'100%'}\n border={true}\n {...this.table}\n ref={el => {this.tableRef = el}}\n row-key={this.table?.rowKey}\n >\n {\n this.table?.rowIndex && <el-table-column width=\"60\" align=\"center\" type=\"index\" label=\"序号\" {...this.table.rowIndex}></el-table-column>\n }\n {\n this.table?.rowSelection && <el-table-column width=\"60\" align=\"center\" type=\"selection\" {...this.table.rowSelection}></el-table-column>\n }\n <DinertRecuveTableColumn table={this.table}\n table-columns={this.tableColumns}\n only-class={this.onlyClass}\n v-slots={slots}\n popover-value={this.popoverValue}\n defaultCheckedKeys={this.defaultCheckedKeys}\n onCheckedChange={(data: Node, checked: boolean, childChecked: boolean) => this.$emit('CheckedChange', data, checked, childChecked)}\n\n >\n </DinertRecuveTableColumn>\n\n </el-table>\n </div>\n\n {this.isFooter && this.table?.data && this.table?.data.length !== 0 && <div class=\"dinert-table-footer\" ref={el => {this.footerRef = el}} >\n <el-pagination\n model:current-page={1}\n model:page-size={15}\n pageSizes={[15, 30, 50, 70, 100]}\n default-page-size={15}\n layout={'total, sizes, prev, pager, next, jumper'}\n total={100}\n {...this.table?.pagination}\n onSizeChange={(val: number) => this.$emit('SizeChange', val)}\n onCurrentChange={(val: number) => this.$emit('CurrentChange', val)}\n >\n\n </el-pagination>\n </div>\n }\n </section>\n )\n }\n})\n"],"names":["defineComponent","name","props","table","type","Object","header","Boolean","default","footer","tableSlot","emits","setup","emit","tableRef","ref","popoverValue","onlyClass","getUuid","selectTableRef","isAllData","headerRef","bodyRef","footerRef","headerFooterRef","toRefs","tableColumns","computed","result","value","sortRecuve","columns","sort","a","b","Infinity","i","length","item","children","headerList","keys","forEach","key","tempObj","icon","shallowRef","Plus","message","Delete","plain","undefined","Download","Upload","Check","Close","ArrowDown","ArrowUp","push","resizeTaleHeightFn","resizeTaleHeight","onMounted","setTimeout","getSetting","getTreeNode","setting","defaultCheckedKeys","checkTree","data","checked","childChecked","nextTick","useWindowResize","watch","treeNode","immediate","every","deep","nodeDragEnd","isFooter","render","slots","$slots","scope","_b","_a","prop","columnProp","headerProp","isHeader","_createVNode","el","map","show","includes","_resolveComponent","_mergeProps","onClick","click","_createTextVNode","treeProps","allowDrop","onCheckChange","onNodeDragEnd","currentNode","targetNode","currentNodeSort","targetNodeSort","label","reference","_c","rowKey","rowIndex","rowSelection","DinertRecuveTableColumn","onCheckedChange","$emit","_d","_e","_f","pagination","val"],"mappings":"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"}
|