@element-plus/nightly 0.0.20240804 → 0.0.20240806
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/attributes.json +1 -1
- package/dist/index.css +1 -1
- package/dist/index.full.js +118 -75
- package/dist/index.full.min.js +15 -15
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +14 -14
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +118 -75
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +34 -2
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.js.map +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.min.mjs.map +1 -1
- package/dist/locale/zh-cn.mjs +34 -2
- package/dist/locale/zh-tw.js +3 -2
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.js.map +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.min.mjs.map +1 -1
- package/dist/locale/zh-tw.mjs +3 -2
- package/es/components/checkbox/index.mjs +2 -2
- package/es/components/checkbox/src/checkbox-group.mjs +73 -30
- package/es/components/checkbox/src/checkbox-group.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-group2.mjs +30 -73
- package/es/components/checkbox/src/checkbox-group2.mjs.map +1 -1
- package/es/components/dialog/index.d.ts +2 -0
- package/es/components/dialog/src/dialog-content.vue.d.ts +1 -0
- package/es/components/dialog/src/dialog-content2.mjs +5 -2
- package/es/components/dialog/src/dialog-content2.mjs.map +1 -1
- package/es/components/dialog/src/dialog.vue.d.ts +2 -0
- package/es/components/dialog/src/dialog2.mjs +5 -1
- package/es/components/dialog/src/dialog2.mjs.map +1 -1
- package/es/components/drawer/src/drawer2.mjs +3 -3
- package/es/components/drawer/src/drawer2.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-item.mjs +2 -6
- package/es/components/dropdown/src/dropdown-item.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-menu.mjs +1 -3
- package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown2.mjs +1 -3
- package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
- package/es/components/dropdown/src/useDropdown.mjs +1 -3
- package/es/components/dropdown/src/useDropdown.mjs.map +1 -1
- package/es/components/index.mjs +2 -2
- package/es/components/loading/src/loading.mjs +1 -1
- package/es/components/loading/src/loading.mjs.map +1 -1
- package/es/components/table/index.d.ts +5 -12
- package/es/components/table/src/store/helper.mjs +4 -0
- package/es/components/table/src/store/helper.mjs.map +1 -1
- package/es/components/table/src/store/tree.mjs +3 -1
- package/es/components/table/src/store/tree.mjs.map +1 -1
- package/es/components/table/src/store/watcher.mjs +37 -34
- package/es/components/table/src/store/watcher.mjs.map +1 -1
- package/es/components/table/src/table/defaults.d.ts +9 -9
- package/es/components/table/src/table/defaults.mjs +2 -1
- package/es/components/table/src/table/defaults.mjs.map +1 -1
- package/es/components/table/src/table.vue.d.ts +7 -18
- package/es/components/table/src/util.d.ts +2 -2
- package/es/components/table/src/util.mjs +27 -11
- package/es/components/table/src/util.mjs.map +1 -1
- package/es/components/tooltip-v2/index.mjs +2 -2
- package/es/components/tooltip-v2/src/tooltip.mjs +77 -20
- package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip2.mjs +20 -77
- package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
- package/es/components/tree/src/model/node.mjs +1 -1
- package/es/components/tree/src/model/node.mjs.map +1 -1
- package/es/components/upload/src/upload-content2.mjs +10 -4
- package/es/components/upload/src/upload-content2.mjs.map +1 -1
- package/es/components/watermark/index.mjs +2 -2
- package/es/components/watermark/src/watermark.mjs +209 -28
- package/es/components/watermark/src/watermark.mjs.map +1 -1
- package/es/components/watermark/src/watermark2.mjs +28 -209
- package/es/components/watermark/src/watermark2.mjs.map +1 -1
- package/es/hooks/use-draggable/index.d.ts +3 -1
- package/es/hooks/use-draggable/index.mjs +12 -0
- package/es/hooks/use-draggable/index.mjs.map +1 -1
- package/es/hooks/use-throttle-render/index.mjs +2 -2
- package/es/hooks/use-throttle-render/index.mjs.map +1 -1
- package/es/index.mjs +2 -2
- package/es/locale/lang/zh-cn.d.ts +32 -0
- package/es/locale/lang/zh-cn.mjs +33 -1
- package/es/locale/lang/zh-cn.mjs.map +1 -1
- package/es/locale/lang/zh-tw.d.ts +1 -0
- package/es/locale/lang/zh-tw.mjs +2 -1
- package/es/locale/lang/zh-tw.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/checkbox/index.js +2 -2
- package/lib/components/checkbox/src/checkbox-group.js +73 -31
- package/lib/components/checkbox/src/checkbox-group.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-group2.js +31 -73
- package/lib/components/checkbox/src/checkbox-group2.js.map +1 -1
- package/lib/components/dialog/index.d.ts +2 -0
- package/lib/components/dialog/src/dialog-content.vue.d.ts +1 -0
- package/lib/components/dialog/src/dialog-content2.js +5 -2
- package/lib/components/dialog/src/dialog-content2.js.map +1 -1
- package/lib/components/dialog/src/dialog.vue.d.ts +2 -0
- package/lib/components/dialog/src/dialog2.js +5 -1
- package/lib/components/dialog/src/dialog2.js.map +1 -1
- package/lib/components/drawer/src/drawer2.js +3 -3
- package/lib/components/drawer/src/drawer2.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-item.js +2 -6
- package/lib/components/dropdown/src/dropdown-item.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-menu.js +1 -3
- package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
- package/lib/components/dropdown/src/dropdown2.js +1 -3
- package/lib/components/dropdown/src/dropdown2.js.map +1 -1
- package/lib/components/dropdown/src/useDropdown.js +1 -3
- package/lib/components/dropdown/src/useDropdown.js.map +1 -1
- package/lib/components/index.js +2 -2
- package/lib/components/loading/src/loading.js +1 -1
- package/lib/components/loading/src/loading.js.map +1 -1
- package/lib/components/table/index.d.ts +5 -12
- package/lib/components/table/src/store/helper.js +4 -0
- package/lib/components/table/src/store/helper.js.map +1 -1
- package/lib/components/table/src/store/tree.js +3 -1
- package/lib/components/table/src/store/tree.js.map +1 -1
- package/lib/components/table/src/store/watcher.js +37 -34
- package/lib/components/table/src/store/watcher.js.map +1 -1
- package/lib/components/table/src/table/defaults.d.ts +9 -9
- package/lib/components/table/src/table/defaults.js +2 -1
- package/lib/components/table/src/table/defaults.js.map +1 -1
- package/lib/components/table/src/table.vue.d.ts +7 -18
- package/lib/components/table/src/util.d.ts +2 -2
- package/lib/components/table/src/util.js +27 -11
- package/lib/components/table/src/util.js.map +1 -1
- package/lib/components/tooltip-v2/index.js +2 -2
- package/lib/components/tooltip-v2/src/tooltip.js +77 -20
- package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip2.js +20 -77
- package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
- package/lib/components/tree/src/model/node.js +1 -1
- package/lib/components/tree/src/model/node.js.map +1 -1
- package/lib/components/upload/src/upload-content2.js +10 -4
- package/lib/components/upload/src/upload-content2.js.map +1 -1
- package/lib/components/watermark/index.js +2 -2
- package/lib/components/watermark/src/watermark.js +209 -28
- package/lib/components/watermark/src/watermark.js.map +1 -1
- package/lib/components/watermark/src/watermark2.js +28 -209
- package/lib/components/watermark/src/watermark2.js.map +1 -1
- package/lib/hooks/use-draggable/index.d.ts +3 -1
- package/lib/hooks/use-draggable/index.js +12 -0
- package/lib/hooks/use-draggable/index.js.map +1 -1
- package/lib/hooks/use-throttle-render/index.js +2 -2
- package/lib/hooks/use-throttle-render/index.js.map +1 -1
- package/lib/index.js +2 -2
- package/lib/locale/lang/zh-cn.d.ts +32 -0
- package/lib/locale/lang/zh-cn.js +33 -1
- package/lib/locale/lang/zh-cn.js.map +1 -1
- package/lib/locale/lang/zh-tw.d.ts +1 -0
- package/lib/locale/lang/zh-tw.js +2 -1
- package/lib/locale/lang/zh-tw.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/tags.json +1 -1
- package/theme-chalk/el-upload.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/upload.scss +27 -0
- package/web-types.json +1 -1
|
@@ -135,7 +135,12 @@ function useWatcher() {
|
|
|
135
135
|
return (selection.value || []).slice();
|
|
136
136
|
};
|
|
137
137
|
const toggleRowSelection = (row, selected, emitChange = true) => {
|
|
138
|
-
|
|
138
|
+
var _a2, _b, _c, _d;
|
|
139
|
+
const treeProps = {
|
|
140
|
+
children: (_b = (_a2 = instance == null ? void 0 : instance.store) == null ? void 0 : _a2.states) == null ? void 0 : _b.childrenColumnName.value,
|
|
141
|
+
checkStrictly: (_d = (_c = instance == null ? void 0 : instance.store) == null ? void 0 : _c.states) == null ? void 0 : _d.checkStrictly.value
|
|
142
|
+
};
|
|
143
|
+
const changed = toggleRowStatus(selection.value, row, selected, treeProps, selectable.value);
|
|
139
144
|
if (changed) {
|
|
140
145
|
const newSelection = (selection.value || []).slice();
|
|
141
146
|
if (emitChange) {
|
|
@@ -151,16 +156,15 @@ function useWatcher() {
|
|
|
151
156
|
let selectionChanged = false;
|
|
152
157
|
let childrenCount = 0;
|
|
153
158
|
const rowKey2 = (_b = (_a2 = instance == null ? void 0 : instance.store) == null ? void 0 : _a2.states) == null ? void 0 : _b.rowKey.value;
|
|
159
|
+
const { childrenColumnName } = instance.store.states;
|
|
160
|
+
const treeProps = {
|
|
161
|
+
children: childrenColumnName.value,
|
|
162
|
+
checkStrictly: false
|
|
163
|
+
};
|
|
154
164
|
data.value.forEach((row, index) => {
|
|
155
165
|
const rowIndex = index + childrenCount;
|
|
156
|
-
if (selectable.value) {
|
|
157
|
-
|
|
158
|
-
selectionChanged = true;
|
|
159
|
-
}
|
|
160
|
-
} else {
|
|
161
|
-
if (toggleRowStatus(selection.value, row, value)) {
|
|
162
|
-
selectionChanged = true;
|
|
163
|
-
}
|
|
166
|
+
if (toggleRowStatus(selection.value, row, value, treeProps, selectable.value, rowIndex)) {
|
|
167
|
+
selectionChanged = true;
|
|
164
168
|
}
|
|
165
169
|
childrenCount += getChildrenCount(getRowIdentity(row, rowKey2));
|
|
166
170
|
});
|
|
@@ -180,43 +184,42 @@ function useWatcher() {
|
|
|
180
184
|
});
|
|
181
185
|
};
|
|
182
186
|
const updateAllSelected = () => {
|
|
183
|
-
var _a2
|
|
187
|
+
var _a2;
|
|
184
188
|
if (((_a2 = data.value) == null ? void 0 : _a2.length) === 0) {
|
|
185
189
|
isAllSelected.value = false;
|
|
186
190
|
return;
|
|
187
191
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
const isSelected2 =
|
|
192
|
+
const { childrenColumnName } = instance.store.states;
|
|
193
|
+
const selectedMap = rowKey.value ? getKeysMap(selection.value, rowKey.value) : void 0;
|
|
194
|
+
let rowIndex = 0;
|
|
195
|
+
let selectedCount = 0;
|
|
196
|
+
const isSelected2 = (row) => {
|
|
193
197
|
if (selectedMap) {
|
|
194
198
|
return !!selectedMap[getRowIdentity(row, rowKey.value)];
|
|
195
199
|
} else {
|
|
196
200
|
return selection.value.includes(row);
|
|
197
201
|
}
|
|
198
202
|
};
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
203
|
+
const checkSelectedStatus = (data2) => {
|
|
204
|
+
var _a3;
|
|
205
|
+
for (const row of data2) {
|
|
206
|
+
const isRowSelectable = selectable.value && selectable.value.call(null, row, rowIndex);
|
|
207
|
+
if (!isSelected2(row)) {
|
|
208
|
+
if (!selectable.value || isRowSelectable) {
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
211
|
+
} else {
|
|
212
|
+
selectedCount++;
|
|
213
|
+
}
|
|
214
|
+
rowIndex++;
|
|
215
|
+
if (((_a3 = row[childrenColumnName.value]) == null ? void 0 : _a3.length) && !checkSelectedStatus(row[childrenColumnName.value])) {
|
|
216
|
+
return false;
|
|
211
217
|
}
|
|
212
|
-
} else {
|
|
213
|
-
selectedCount++;
|
|
214
218
|
}
|
|
215
|
-
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
isAllSelected.value = isAllSelected_;
|
|
219
|
+
return true;
|
|
220
|
+
};
|
|
221
|
+
const isAllSelected_ = checkSelectedStatus(data.value || []);
|
|
222
|
+
isAllSelected.value = selectedCount === 0 ? false : isAllSelected_;
|
|
220
223
|
};
|
|
221
224
|
const getChildrenCount = (rowKey2) => {
|
|
222
225
|
var _a2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.mjs","sources":["../../../../../../../packages/components/table/src/store/watcher.ts"],"sourcesContent":["// @ts-nocheck\nimport { getCurrentInstance, ref, toRefs, unref, watch } from 'vue'\nimport { hasOwn } from '@element-plus/utils'\nimport {\n getColumnById,\n getColumnByKey,\n getKeysMap,\n getRowIdentity,\n orderBy,\n toggleRowStatus,\n} from '../util'\nimport useExpand from './expand'\nimport useCurrent from './current'\nimport useTree from './tree'\n\nimport type { Ref } from 'vue'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { Table, TableRefs } from '../table/defaults'\nimport type { StoreFilter } from '.'\n\nconst sortData = (data, states) => {\n const sortingColumn = states.sortingColumn\n if (!sortingColumn || typeof sortingColumn.sortable === 'string') {\n return data\n }\n return orderBy(\n data,\n states.sortProp,\n states.sortOrder,\n sortingColumn.sortMethod,\n sortingColumn.sortBy\n )\n}\n\nconst doFlattenColumns = (columns) => {\n const result = []\n columns.forEach((column) => {\n if (column.children && column.children.length > 0) {\n // eslint-disable-next-line prefer-spread\n result.push.apply(result, doFlattenColumns(column.children))\n } else {\n result.push(column)\n }\n })\n return result\n}\n\nfunction useWatcher<T>() {\n const instance = getCurrentInstance() as Table<T>\n const { size: tableSize } = toRefs(instance.proxy?.$props as any)\n const rowKey: Ref<string> = ref(null)\n const data: Ref<T[]> = ref([])\n const _data: Ref<T[]> = ref([])\n const isComplex = ref(false)\n const _columns: Ref<TableColumnCtx<T>[]> = ref([])\n const originColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const columns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const leafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const updateOrderFns: (() => void)[] = []\n const leafColumnsLength = ref(0)\n const fixedLeafColumnsLength = ref(0)\n const rightFixedLeafColumnsLength = ref(0)\n const isAllSelected = ref(false)\n const selection: Ref<T[]> = ref([])\n const reserveSelection = ref(false)\n const selectOnIndeterminate = ref(false)\n const selectable: Ref<(row: T, index: number) => boolean> = ref(null)\n const filters: Ref<StoreFilter> = ref({})\n const filteredData = ref(null)\n const sortingColumn = ref(null)\n const sortProp = ref(null)\n const sortOrder = ref(null)\n const hoverRow = ref(null)\n\n watch(data, () => instance.state && scheduleLayout(false), {\n deep: true,\n })\n\n // 检查 rowKey 是否存在\n const assertRowKey = () => {\n if (!rowKey.value) throw new Error('[ElTable] prop row-key is required')\n }\n\n // 更新 fixed\n const updateChildFixed = (column: TableColumnCtx<T>) => {\n column.children?.forEach((childColumn) => {\n childColumn.fixed = column.fixed\n updateChildFixed(childColumn)\n })\n }\n\n // 更新列\n const updateColumns = () => {\n _columns.value.forEach((column) => {\n updateChildFixed(column)\n })\n fixedColumns.value = _columns.value.filter(\n (column) => column.fixed === true || column.fixed === 'left'\n )\n rightFixedColumns.value = _columns.value.filter(\n (column) => column.fixed === 'right'\n )\n if (\n fixedColumns.value.length > 0 &&\n _columns.value[0] &&\n _columns.value[0].type === 'selection' &&\n !_columns.value[0].fixed\n ) {\n _columns.value[0].fixed = true\n fixedColumns.value.unshift(_columns.value[0])\n }\n\n const notFixedColumns = _columns.value.filter((column) => !column.fixed)\n originColumns.value = []\n .concat(fixedColumns.value)\n .concat(notFixedColumns)\n .concat(rightFixedColumns.value)\n const leafColumns = doFlattenColumns(notFixedColumns)\n const fixedLeafColumns = doFlattenColumns(fixedColumns.value)\n const rightFixedLeafColumns = doFlattenColumns(rightFixedColumns.value)\n\n leafColumnsLength.value = leafColumns.length\n fixedLeafColumnsLength.value = fixedLeafColumns.length\n rightFixedLeafColumnsLength.value = rightFixedLeafColumns.length\n\n columns.value = []\n .concat(fixedLeafColumns)\n .concat(leafColumns)\n .concat(rightFixedLeafColumns)\n isComplex.value =\n fixedColumns.value.length > 0 || rightFixedColumns.value.length > 0\n }\n\n // 更新 DOM\n const scheduleLayout = (needUpdateColumns?: boolean, immediate = false) => {\n if (needUpdateColumns) {\n updateColumns()\n }\n if (immediate) {\n instance.state.doLayout()\n } else {\n instance.state.debouncedUpdateLayout()\n }\n }\n\n // 选择\n const isSelected = (row) => {\n return selection.value.includes(row)\n }\n\n const clearSelection = () => {\n isAllSelected.value = false\n const oldSelection = selection.value\n selection.value = []\n if (oldSelection.length) {\n instance.emit('selection-change', [])\n }\n }\n\n const cleanSelection = () => {\n let deleted\n if (rowKey.value) {\n deleted = []\n const selectedMap = getKeysMap(selection.value, rowKey.value)\n const dataMap = getKeysMap(data.value, rowKey.value)\n for (const key in selectedMap) {\n if (hasOwn(selectedMap, key) && !dataMap[key]) {\n deleted.push(selectedMap[key].row)\n }\n }\n } else {\n deleted = selection.value.filter((item) => !data.value.includes(item))\n }\n if (deleted.length) {\n const newSelection = selection.value.filter(\n (item) => !deleted.includes(item)\n )\n selection.value = newSelection\n instance.emit('selection-change', newSelection.slice())\n }\n }\n\n const getSelectionRows = () => {\n return (selection.value || []).slice()\n }\n\n const toggleRowSelection = (\n row: T,\n selected?: boolean,\n emitChange = true\n ) => {\n const changed = toggleRowStatus(selection.value, row, selected)\n if (changed) {\n const newSelection = (selection.value || []).slice()\n // 调用 API 修改选中值,不触发 select 事件\n if (emitChange) {\n instance.emit('select', newSelection, row)\n }\n instance.emit('selection-change', newSelection)\n }\n }\n\n const _toggleAllSelection = () => {\n // when only some rows are selected (but not all), select or deselect all of them\n // depending on the value of selectOnIndeterminate\n const value = selectOnIndeterminate.value\n ? !isAllSelected.value\n : !(isAllSelected.value || selection.value.length)\n isAllSelected.value = value\n\n let selectionChanged = false\n let childrenCount = 0\n const rowKey = instance?.store?.states?.rowKey.value\n data.value.forEach((row, index) => {\n const rowIndex = index + childrenCount\n if (selectable.value) {\n if (\n selectable.value.call(null, row, rowIndex) &&\n toggleRowStatus(selection.value, row, value)\n ) {\n selectionChanged = true\n }\n } else {\n if (toggleRowStatus(selection.value, row, value)) {\n selectionChanged = true\n }\n }\n childrenCount += getChildrenCount(getRowIdentity(row, rowKey))\n })\n\n if (selectionChanged) {\n instance.emit(\n 'selection-change',\n selection.value ? selection.value.slice() : []\n )\n }\n instance.emit('select-all', (selection.value || []).slice())\n }\n\n const updateSelectionByRowKey = () => {\n const selectedMap = getKeysMap(selection.value, rowKey.value)\n data.value.forEach((row) => {\n const rowId = getRowIdentity(row, rowKey.value)\n const rowInfo = selectedMap[rowId]\n if (rowInfo) {\n selection.value[rowInfo.index] = row\n }\n })\n }\n\n const updateAllSelected = () => {\n // data 为 null 时,解构时的默认值会被忽略\n if (data.value?.length === 0) {\n isAllSelected.value = false\n return\n }\n\n let selectedMap\n if (rowKey.value) {\n selectedMap = getKeysMap(selection.value, rowKey.value)\n }\n const isSelected = function (row) {\n if (selectedMap) {\n return !!selectedMap[getRowIdentity(row, rowKey.value)]\n } else {\n return selection.value.includes(row)\n }\n }\n let isAllSelected_ = true\n let selectedCount = 0\n let childrenCount = 0\n for (let i = 0, j = (data.value || []).length; i < j; i++) {\n const keyProp = instance?.store?.states?.rowKey.value\n const rowIndex = i + childrenCount\n const item = data.value[i]\n const isRowSelectable =\n selectable.value && selectable.value.call(null, item, rowIndex)\n if (!isSelected(item)) {\n if (!selectable.value || isRowSelectable) {\n isAllSelected_ = false\n break\n }\n } else {\n selectedCount++\n }\n childrenCount += getChildrenCount(getRowIdentity(item, keyProp))\n }\n\n if (selectedCount === 0) isAllSelected_ = false\n isAllSelected.value = isAllSelected_\n }\n\n // gets the number of all child nodes by rowKey\n const getChildrenCount = (rowKey: string) => {\n if (!instance || !instance.store) return 0\n const { treeData } = instance.store.states\n let count = 0\n const children = treeData.value[rowKey]?.children\n if (children) {\n count += children.length\n children.forEach((childKey) => {\n count += getChildrenCount(childKey)\n })\n }\n return count\n }\n\n // 过滤与排序\n const updateFilters = (columns, values) => {\n if (!Array.isArray(columns)) {\n columns = [columns]\n }\n const filters_ = {}\n columns.forEach((col) => {\n filters.value[col.id] = values\n filters_[col.columnKey || col.id] = values\n })\n return filters_\n }\n\n const updateSort = (column, prop, order) => {\n if (sortingColumn.value && sortingColumn.value !== column) {\n sortingColumn.value.order = null\n }\n sortingColumn.value = column\n sortProp.value = prop\n sortOrder.value = order\n }\n\n const execFilter = () => {\n let sourceData = unref(_data)\n Object.keys(filters.value).forEach((columnId) => {\n const values = filters.value[columnId]\n if (!values || values.length === 0) return\n const column = getColumnById(\n {\n columns: columns.value,\n },\n columnId\n )\n if (column && column.filterMethod) {\n sourceData = sourceData.filter((row) => {\n return values.some((value) =>\n column.filterMethod.call(null, value, row, column)\n )\n })\n }\n })\n\n filteredData.value = sourceData\n }\n\n const execSort = () => {\n data.value = sortData(filteredData.value, {\n sortingColumn: sortingColumn.value,\n sortProp: sortProp.value,\n sortOrder: sortOrder.value,\n })\n }\n\n // 根据 filters 与 sort 去过滤 data\n const execQuery = (ignore = undefined) => {\n if (!(ignore && ignore.filter)) {\n execFilter()\n }\n execSort()\n }\n\n const clearFilter = (columnKeys) => {\n const { tableHeaderRef } = instance.refs as TableRefs\n if (!tableHeaderRef) return\n const panels = Object.assign({}, tableHeaderRef.filterPanels)\n\n const keys = Object.keys(panels)\n if (!keys.length) return\n\n if (typeof columnKeys === 'string') {\n columnKeys = [columnKeys]\n }\n\n if (Array.isArray(columnKeys)) {\n const columns_ = columnKeys.map((key) =>\n getColumnByKey(\n {\n columns: columns.value,\n },\n key\n )\n )\n keys.forEach((key) => {\n const column = columns_.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n instance.store.commit('filterChange', {\n column: columns_,\n values: [],\n silent: true,\n multi: true,\n })\n } else {\n keys.forEach((key) => {\n const column = columns.value.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n\n filters.value = {}\n instance.store.commit('filterChange', {\n column: {},\n values: [],\n silent: true,\n })\n }\n }\n\n const clearSort = () => {\n if (!sortingColumn.value) return\n\n updateSort(null, null, null)\n instance.store.commit('changeSortCondition', {\n silent: true,\n })\n }\n const {\n setExpandRowKeys,\n toggleRowExpansion,\n updateExpandRows,\n states: expandStates,\n isRowExpanded,\n } = useExpand({\n data,\n rowKey,\n })\n const {\n updateTreeExpandKeys,\n toggleTreeExpansion,\n updateTreeData,\n loadOrToggle,\n states: treeStates,\n } = useTree({\n data,\n rowKey,\n })\n const {\n updateCurrentRowData,\n updateCurrentRow,\n setCurrentRowKey,\n states: currentData,\n } = useCurrent({\n data,\n rowKey,\n })\n // 适配层,expand-row-keys 在 Expand 与 TreeTable 中都有使用\n const setExpandRowKeysAdapter = (val: string[]) => {\n // 这里会触发额外的计算,但为了兼容性,暂时这么做\n setExpandRowKeys(val)\n updateTreeExpandKeys(val)\n }\n\n // 展开行与 TreeTable 都要使用\n const toggleRowExpansionAdapter = (row: T, expanded?: boolean) => {\n const hasExpandColumn = columns.value.some(({ type }) => type === 'expand')\n if (hasExpandColumn) {\n toggleRowExpansion(row, expanded)\n } else {\n toggleTreeExpansion(row, expanded)\n }\n }\n\n return {\n assertRowKey,\n updateColumns,\n scheduleLayout,\n isSelected,\n clearSelection,\n cleanSelection,\n getSelectionRows,\n toggleRowSelection,\n _toggleAllSelection,\n toggleAllSelection: null,\n updateSelectionByRowKey,\n updateAllSelected,\n updateFilters,\n updateCurrentRow,\n updateSort,\n execFilter,\n execSort,\n execQuery,\n clearFilter,\n clearSort,\n toggleRowExpansion,\n setExpandRowKeysAdapter,\n setCurrentRowKey,\n toggleRowExpansionAdapter,\n isRowExpanded,\n updateExpandRows,\n updateCurrentRowData,\n loadOrToggle,\n updateTreeData,\n states: {\n tableSize,\n rowKey,\n data,\n _data,\n isComplex,\n _columns,\n originColumns,\n columns,\n fixedColumns,\n rightFixedColumns,\n leafColumns,\n fixedLeafColumns,\n rightFixedLeafColumns,\n updateOrderFns,\n leafColumnsLength,\n fixedLeafColumnsLength,\n rightFixedLeafColumnsLength,\n isAllSelected,\n selection,\n reserveSelection,\n selectOnIndeterminate,\n selectable,\n filters,\n filteredData,\n sortingColumn,\n sortProp,\n sortOrder,\n hoverRow,\n ...expandStates,\n ...treeStates,\n ...currentData,\n },\n }\n}\n\nexport default useWatcher\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"watcher.mjs","sources":["../../../../../../../packages/components/table/src/store/watcher.ts"],"sourcesContent":["// @ts-nocheck\nimport { getCurrentInstance, ref, toRefs, unref, watch } from 'vue'\nimport { hasOwn } from '@element-plus/utils'\nimport {\n getColumnById,\n getColumnByKey,\n getKeysMap,\n getRowIdentity,\n orderBy,\n toggleRowStatus,\n} from '../util'\nimport useExpand from './expand'\nimport useCurrent from './current'\nimport useTree from './tree'\n\nimport type { Ref } from 'vue'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { DefaultRow, Table, TableRefs } from '../table/defaults'\nimport type { StoreFilter } from '.'\n\nconst sortData = (data, states) => {\n const sortingColumn = states.sortingColumn\n if (!sortingColumn || typeof sortingColumn.sortable === 'string') {\n return data\n }\n return orderBy(\n data,\n states.sortProp,\n states.sortOrder,\n sortingColumn.sortMethod,\n sortingColumn.sortBy\n )\n}\n\nconst doFlattenColumns = (columns) => {\n const result = []\n columns.forEach((column) => {\n if (column.children && column.children.length > 0) {\n // eslint-disable-next-line prefer-spread\n result.push.apply(result, doFlattenColumns(column.children))\n } else {\n result.push(column)\n }\n })\n return result\n}\n\nfunction useWatcher<T>() {\n const instance = getCurrentInstance() as Table<T>\n const { size: tableSize } = toRefs(instance.proxy?.$props as any)\n const rowKey: Ref<string> = ref(null)\n const data: Ref<T[]> = ref([])\n const _data: Ref<T[]> = ref([])\n const isComplex = ref(false)\n const _columns: Ref<TableColumnCtx<T>[]> = ref([])\n const originColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const columns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const leafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const fixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const rightFixedLeafColumns: Ref<TableColumnCtx<T>[]> = ref([])\n const updateOrderFns: (() => void)[] = []\n const leafColumnsLength = ref(0)\n const fixedLeafColumnsLength = ref(0)\n const rightFixedLeafColumnsLength = ref(0)\n const isAllSelected = ref(false)\n const selection: Ref<T[]> = ref([])\n const reserveSelection = ref(false)\n const selectOnIndeterminate = ref(false)\n const selectable: Ref<(row: T, index: number) => boolean> = ref(null)\n const filters: Ref<StoreFilter> = ref({})\n const filteredData = ref(null)\n const sortingColumn = ref(null)\n const sortProp = ref(null)\n const sortOrder = ref(null)\n const hoverRow = ref(null)\n\n watch(data, () => instance.state && scheduleLayout(false), {\n deep: true,\n })\n\n // 检查 rowKey 是否存在\n const assertRowKey = () => {\n if (!rowKey.value) throw new Error('[ElTable] prop row-key is required')\n }\n\n // 更新 fixed\n const updateChildFixed = (column: TableColumnCtx<T>) => {\n column.children?.forEach((childColumn) => {\n childColumn.fixed = column.fixed\n updateChildFixed(childColumn)\n })\n }\n\n // 更新列\n const updateColumns = () => {\n _columns.value.forEach((column) => {\n updateChildFixed(column)\n })\n fixedColumns.value = _columns.value.filter(\n (column) => column.fixed === true || column.fixed === 'left'\n )\n rightFixedColumns.value = _columns.value.filter(\n (column) => column.fixed === 'right'\n )\n if (\n fixedColumns.value.length > 0 &&\n _columns.value[0] &&\n _columns.value[0].type === 'selection' &&\n !_columns.value[0].fixed\n ) {\n _columns.value[0].fixed = true\n fixedColumns.value.unshift(_columns.value[0])\n }\n\n const notFixedColumns = _columns.value.filter((column) => !column.fixed)\n originColumns.value = []\n .concat(fixedColumns.value)\n .concat(notFixedColumns)\n .concat(rightFixedColumns.value)\n const leafColumns = doFlattenColumns(notFixedColumns)\n const fixedLeafColumns = doFlattenColumns(fixedColumns.value)\n const rightFixedLeafColumns = doFlattenColumns(rightFixedColumns.value)\n\n leafColumnsLength.value = leafColumns.length\n fixedLeafColumnsLength.value = fixedLeafColumns.length\n rightFixedLeafColumnsLength.value = rightFixedLeafColumns.length\n\n columns.value = []\n .concat(fixedLeafColumns)\n .concat(leafColumns)\n .concat(rightFixedLeafColumns)\n isComplex.value =\n fixedColumns.value.length > 0 || rightFixedColumns.value.length > 0\n }\n\n // 更新 DOM\n const scheduleLayout = (needUpdateColumns?: boolean, immediate = false) => {\n if (needUpdateColumns) {\n updateColumns()\n }\n if (immediate) {\n instance.state.doLayout()\n } else {\n instance.state.debouncedUpdateLayout()\n }\n }\n\n // 选择\n const isSelected = (row) => {\n return selection.value.includes(row)\n }\n\n const clearSelection = () => {\n isAllSelected.value = false\n const oldSelection = selection.value\n selection.value = []\n if (oldSelection.length) {\n instance.emit('selection-change', [])\n }\n }\n\n const cleanSelection = () => {\n let deleted\n if (rowKey.value) {\n deleted = []\n const selectedMap = getKeysMap(selection.value, rowKey.value)\n const dataMap = getKeysMap(data.value, rowKey.value)\n for (const key in selectedMap) {\n if (hasOwn(selectedMap, key) && !dataMap[key]) {\n deleted.push(selectedMap[key].row)\n }\n }\n } else {\n deleted = selection.value.filter((item) => !data.value.includes(item))\n }\n if (deleted.length) {\n const newSelection = selection.value.filter(\n (item) => !deleted.includes(item)\n )\n selection.value = newSelection\n instance.emit('selection-change', newSelection.slice())\n }\n }\n\n const getSelectionRows = () => {\n return (selection.value || []).slice()\n }\n\n const toggleRowSelection = (\n row: T,\n selected?: boolean,\n emitChange = true\n ) => {\n const treeProps = {\n children: instance?.store?.states?.childrenColumnName.value,\n checkStrictly: instance?.store?.states?.checkStrictly.value,\n }\n const changed = toggleRowStatus(\n selection.value,\n row,\n selected,\n treeProps,\n selectable.value\n )\n if (changed) {\n const newSelection = (selection.value || []).slice()\n // 调用 API 修改选中值,不触发 select 事件\n if (emitChange) {\n instance.emit('select', newSelection, row)\n }\n instance.emit('selection-change', newSelection)\n }\n }\n\n const _toggleAllSelection = () => {\n // when only some rows are selected (but not all), select or deselect all of them\n // depending on the value of selectOnIndeterminate\n const value = selectOnIndeterminate.value\n ? !isAllSelected.value\n : !(isAllSelected.value || selection.value.length)\n isAllSelected.value = value\n\n let selectionChanged = false\n let childrenCount = 0\n const rowKey = instance?.store?.states?.rowKey.value\n const { childrenColumnName } = instance.store.states\n const treeProps = {\n children: childrenColumnName.value,\n checkStrictly: false, // Disable checkStrictly when selecting all\n }\n\n data.value.forEach((row, index) => {\n const rowIndex = index + childrenCount\n if (\n toggleRowStatus(\n selection.value,\n row,\n value,\n treeProps,\n selectable.value,\n rowIndex\n )\n ) {\n selectionChanged = true\n }\n childrenCount += getChildrenCount(getRowIdentity(row, rowKey))\n })\n\n if (selectionChanged) {\n instance.emit(\n 'selection-change',\n selection.value ? selection.value.slice() : []\n )\n }\n instance.emit('select-all', (selection.value || []).slice())\n }\n\n const updateSelectionByRowKey = () => {\n const selectedMap = getKeysMap(selection.value, rowKey.value)\n data.value.forEach((row) => {\n const rowId = getRowIdentity(row, rowKey.value)\n const rowInfo = selectedMap[rowId]\n if (rowInfo) {\n selection.value[rowInfo.index] = row\n }\n })\n }\n\n const updateAllSelected = () => {\n // data 为 null 时,解构时的默认值会被忽略\n if (data.value?.length === 0) {\n isAllSelected.value = false\n return\n }\n\n const { childrenColumnName } = instance.store.states\n const selectedMap = rowKey.value\n ? getKeysMap(selection.value, rowKey.value)\n : undefined\n\n let rowIndex = 0\n let selectedCount = 0\n\n const isSelected = (row: DefaultRow) => {\n if (selectedMap) {\n return !!selectedMap[getRowIdentity(row, rowKey.value)]\n } else {\n return selection.value.includes(row)\n }\n }\n const checkSelectedStatus = (data: DefaultRow[]) => {\n for (const row of data) {\n const isRowSelectable =\n selectable.value && selectable.value.call(null, row, rowIndex)\n\n if (!isSelected(row)) {\n if (!selectable.value || isRowSelectable) {\n return false\n }\n } else {\n selectedCount++\n }\n rowIndex++\n\n if (\n row[childrenColumnName.value]?.length &&\n !checkSelectedStatus(row[childrenColumnName.value])\n ) {\n return false\n }\n }\n return true\n }\n\n const isAllSelected_ = checkSelectedStatus(data.value || [])\n isAllSelected.value = selectedCount === 0 ? false : isAllSelected_\n }\n\n const getChildrenCount = (rowKey: string) => {\n if (!instance || !instance.store) return 0\n const { treeData } = instance.store.states\n let count = 0\n const children = treeData.value[rowKey]?.children\n if (children) {\n count += children.length\n children.forEach((childKey) => {\n count += getChildrenCount(childKey)\n })\n }\n return count\n }\n\n // 过滤与排序\n const updateFilters = (columns, values) => {\n if (!Array.isArray(columns)) {\n columns = [columns]\n }\n const filters_ = {}\n columns.forEach((col) => {\n filters.value[col.id] = values\n filters_[col.columnKey || col.id] = values\n })\n return filters_\n }\n\n const updateSort = (column, prop, order) => {\n if (sortingColumn.value && sortingColumn.value !== column) {\n sortingColumn.value.order = null\n }\n sortingColumn.value = column\n sortProp.value = prop\n sortOrder.value = order\n }\n\n const execFilter = () => {\n let sourceData = unref(_data)\n Object.keys(filters.value).forEach((columnId) => {\n const values = filters.value[columnId]\n if (!values || values.length === 0) return\n const column = getColumnById(\n {\n columns: columns.value,\n },\n columnId\n )\n if (column && column.filterMethod) {\n sourceData = sourceData.filter((row) => {\n return values.some((value) =>\n column.filterMethod.call(null, value, row, column)\n )\n })\n }\n })\n\n filteredData.value = sourceData\n }\n\n const execSort = () => {\n data.value = sortData(filteredData.value, {\n sortingColumn: sortingColumn.value,\n sortProp: sortProp.value,\n sortOrder: sortOrder.value,\n })\n }\n\n // 根据 filters 与 sort 去过滤 data\n const execQuery = (ignore = undefined) => {\n if (!(ignore && ignore.filter)) {\n execFilter()\n }\n execSort()\n }\n\n const clearFilter = (columnKeys) => {\n const { tableHeaderRef } = instance.refs as TableRefs\n if (!tableHeaderRef) return\n const panels = Object.assign({}, tableHeaderRef.filterPanels)\n\n const keys = Object.keys(panels)\n if (!keys.length) return\n\n if (typeof columnKeys === 'string') {\n columnKeys = [columnKeys]\n }\n\n if (Array.isArray(columnKeys)) {\n const columns_ = columnKeys.map((key) =>\n getColumnByKey(\n {\n columns: columns.value,\n },\n key\n )\n )\n keys.forEach((key) => {\n const column = columns_.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n instance.store.commit('filterChange', {\n column: columns_,\n values: [],\n silent: true,\n multi: true,\n })\n } else {\n keys.forEach((key) => {\n const column = columns.value.find((col) => col.id === key)\n if (column) {\n column.filteredValue = []\n }\n })\n\n filters.value = {}\n instance.store.commit('filterChange', {\n column: {},\n values: [],\n silent: true,\n })\n }\n }\n\n const clearSort = () => {\n if (!sortingColumn.value) return\n\n updateSort(null, null, null)\n instance.store.commit('changeSortCondition', {\n silent: true,\n })\n }\n const {\n setExpandRowKeys,\n toggleRowExpansion,\n updateExpandRows,\n states: expandStates,\n isRowExpanded,\n } = useExpand({\n data,\n rowKey,\n })\n const {\n updateTreeExpandKeys,\n toggleTreeExpansion,\n updateTreeData,\n loadOrToggle,\n states: treeStates,\n } = useTree({\n data,\n rowKey,\n })\n const {\n updateCurrentRowData,\n updateCurrentRow,\n setCurrentRowKey,\n states: currentData,\n } = useCurrent({\n data,\n rowKey,\n })\n // 适配层,expand-row-keys 在 Expand 与 TreeTable 中都有使用\n const setExpandRowKeysAdapter = (val: string[]) => {\n // 这里会触发额外的计算,但为了兼容性,暂时这么做\n setExpandRowKeys(val)\n updateTreeExpandKeys(val)\n }\n\n // 展开行与 TreeTable 都要使用\n const toggleRowExpansionAdapter = (row: T, expanded?: boolean) => {\n const hasExpandColumn = columns.value.some(({ type }) => type === 'expand')\n if (hasExpandColumn) {\n toggleRowExpansion(row, expanded)\n } else {\n toggleTreeExpansion(row, expanded)\n }\n }\n\n return {\n assertRowKey,\n updateColumns,\n scheduleLayout,\n isSelected,\n clearSelection,\n cleanSelection,\n getSelectionRows,\n toggleRowSelection,\n _toggleAllSelection,\n toggleAllSelection: null,\n updateSelectionByRowKey,\n updateAllSelected,\n updateFilters,\n updateCurrentRow,\n updateSort,\n execFilter,\n execSort,\n execQuery,\n clearFilter,\n clearSort,\n toggleRowExpansion,\n setExpandRowKeysAdapter,\n setCurrentRowKey,\n toggleRowExpansionAdapter,\n isRowExpanded,\n updateExpandRows,\n updateCurrentRowData,\n loadOrToggle,\n updateTreeData,\n states: {\n tableSize,\n rowKey,\n data,\n _data,\n isComplex,\n _columns,\n originColumns,\n columns,\n fixedColumns,\n rightFixedColumns,\n leafColumns,\n fixedLeafColumns,\n rightFixedLeafColumns,\n updateOrderFns,\n leafColumnsLength,\n fixedLeafColumnsLength,\n rightFixedLeafColumnsLength,\n isAllSelected,\n selection,\n reserveSelection,\n selectOnIndeterminate,\n selectable,\n filters,\n filteredData,\n sortingColumn,\n sortProp,\n sortOrder,\n hoverRow,\n ...expandStates,\n ...treeStates,\n ...currentData,\n },\n }\n}\n\nexport default useWatcher\n"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,11 @@ interface TableState {
|
|
|
25
25
|
doLayout: () => void;
|
|
26
26
|
debouncedUpdateLayout: () => void;
|
|
27
27
|
}
|
|
28
|
+
interface TreeProps {
|
|
29
|
+
hasChildren?: string;
|
|
30
|
+
children?: string;
|
|
31
|
+
checkStrictly?: boolean;
|
|
32
|
+
}
|
|
28
33
|
declare type HoverState<T> = Nullable<{
|
|
29
34
|
cell: HTMLElement;
|
|
30
35
|
column: TableColumnCtx<T>;
|
|
@@ -114,10 +119,7 @@ interface TableProps<T> {
|
|
|
114
119
|
} | undefined;
|
|
115
120
|
selectOnIndeterminate?: boolean;
|
|
116
121
|
indent?: number;
|
|
117
|
-
treeProps?:
|
|
118
|
-
hasChildren?: string;
|
|
119
|
-
children?: string;
|
|
120
|
-
};
|
|
122
|
+
treeProps?: TreeProps;
|
|
121
123
|
lazy?: boolean;
|
|
122
124
|
load?: (row: T, treeNode: TreeNode, resolve: (data: T[]) => void) => void;
|
|
123
125
|
className?: string;
|
|
@@ -313,13 +315,11 @@ declare const _default: {
|
|
|
313
315
|
* @description configuration for rendering nested data
|
|
314
316
|
*/
|
|
315
317
|
treeProps: {
|
|
316
|
-
type: PropType<
|
|
317
|
-
hasChildren?: string | undefined;
|
|
318
|
-
children?: string | undefined;
|
|
319
|
-
} | undefined>;
|
|
318
|
+
type: PropType<TreeProps | undefined>;
|
|
320
319
|
default: () => {
|
|
321
320
|
hasChildren: string;
|
|
322
321
|
children: string;
|
|
322
|
+
checkStrictly: boolean;
|
|
323
323
|
};
|
|
324
324
|
};
|
|
325
325
|
/**
|
|
@@ -359,4 +359,4 @@ declare const _default: {
|
|
|
359
359
|
showOverflowTooltip: PropType<boolean | Partial<Pick<import("../../..").ElTooltipProps, "offset" | "effect" | "placement" | "popperClass" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "appendTo" | "transition" | "showArrow">> | undefined>;
|
|
360
360
|
};
|
|
361
361
|
export default _default;
|
|
362
|
-
export type { SummaryMethod, Table, TableProps, TableRefs, ColumnCls, ColumnStyle, CellCls, CellStyle, TreeNode, RenderRowData, Sort, Filter, TableColumnCtx, };
|
|
362
|
+
export type { SummaryMethod, Table, TableProps, TableRefs, ColumnCls, ColumnStyle, CellCls, CellStyle, TreeNode, RenderRowData, Sort, Filter, TableColumnCtx, TreeProps, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.mjs","sources":["../../../../../../../packages/components/table/src/table/defaults.ts"],"sourcesContent":["// @ts-nocheck\nimport { useSizeProp } from '@element-plus/hooks'\nimport type {\n CSSProperties,\n ComponentInternalInstance,\n PropType,\n Ref,\n VNode,\n} from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { Nullable } from '@element-plus/utils'\nimport type { Store } from '../store'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type TableLayout from '../table-layout'\nimport type { TableOverflowTooltipOptions } from '../util'\n\nexport type DefaultRow = any\n\ninterface TableRefs {\n tableWrapper: HTMLElement\n headerWrapper: HTMLElement\n footerWrapper: HTMLElement\n fixedBodyWrapper: HTMLElement\n rightFixedBodyWrapper: HTMLElement\n bodyWrapper: HTMLElement\n appendWrapper: HTMLElement\n [key: string]: any\n}\n\ninterface TableState {\n isGroup: Ref<boolean>\n resizeState: Ref<{\n width: any\n height: any\n }>\n doLayout: () => void\n debouncedUpdateLayout: () => void\n}\n\ntype HoverState<T> = Nullable<{\n cell: HTMLElement\n column: TableColumnCtx<T>\n row: T\n}>\n\ntype RIS<T> = { row: T; $index: number; store: Store<T>; expanded: boolean }\n\ntype RenderExpanded<T> = ({\n row,\n $index,\n store,\n expanded: boolean,\n}: RIS<T>) => VNode\n\ntype SummaryMethod<T> = (data: {\n columns: TableColumnCtx<T>[]\n data: T[]\n}) => (string | VNode)[]\n\ninterface Table<T> extends ComponentInternalInstance {\n $ready: boolean\n hoverState?: HoverState<T>\n renderExpanded: RenderExpanded<T>\n store: Store<T>\n layout: TableLayout<T>\n refs: TableRefs\n tableId: string\n state: TableState\n}\n\ntype ColumnCls<T> = string | ((data: { row: T; rowIndex: number }) => string)\ntype ColumnStyle<T> =\n | CSSProperties\n | ((data: { row: T; rowIndex: number }) => CSSProperties)\ntype CellCls<T> =\n | string\n | ((data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) => string)\ntype CellStyle<T> =\n | CSSProperties\n | ((data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) => CSSProperties)\ntype Layout = 'fixed' | 'auto'\ninterface TableProps<T> {\n data: T[]\n size?: ComponentSize\n width?: string | number\n height?: string | number\n maxHeight?: string | number\n fit?: boolean\n stripe?: boolean\n border?: boolean\n rowKey?: string | ((row: T) => string)\n context?: Table<T>\n showHeader?: boolean\n showSummary?: boolean\n sumText?: string\n summaryMethod?: SummaryMethod<T>\n rowClassName?: ColumnCls<T>\n rowStyle?: ColumnStyle<T>\n cellClassName?: CellCls<T>\n cellStyle?: CellStyle<T>\n headerRowClassName?: ColumnCls<T>\n headerRowStyle?: ColumnStyle<T>\n headerCellClassName?: CellCls<T>\n headerCellStyle?: CellStyle<T>\n highlightCurrentRow?: boolean\n currentRowKey?: string | number\n emptyText?: string\n expandRowKeys?: string[]\n defaultExpandAll?: boolean\n defaultSort?: Sort\n tooltipEffect?: string\n tooltipOptions?: TableOverflowTooltipOptions\n spanMethod?: (data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) =>\n | number[]\n | {\n rowspan: number\n colspan: number\n }\n | undefined\n selectOnIndeterminate?: boolean\n indent?: number\n treeProps?: {\n hasChildren?: string\n children?: string\n }\n lazy?: boolean\n load?: (row: T, treeNode: TreeNode, resolve: (data: T[]) => void) => void\n className?: string\n style?: CSSProperties\n tableLayout?: Layout\n scrollbarAlwaysOn?: boolean\n flexible?: boolean\n showOverflowTooltip?: boolean | TableOverflowTooltipOptions\n}\n\ninterface Sort {\n prop: string\n order: 'ascending' | 'descending'\n init?: any\n silent?: any\n}\n\ninterface Filter<T> {\n column: TableColumnCtx<T>\n values: string[]\n silent: any\n}\n\ninterface TreeNode {\n expanded?: boolean\n loading?: boolean\n noLazyChildren?: boolean\n indent?: number\n level?: number\n display?: boolean\n}\n\ninterface RenderRowData<T> {\n store: Store<T>\n _self: Table<T>\n column: TableColumnCtx<T>\n row: T\n $index: number\n treeNode?: TreeNode\n expanded: boolean\n}\n\nexport default {\n /**\n * @description table data\n */\n data: {\n type: Array as PropType<DefaultRow[]>,\n default: () => [],\n },\n /**\n * @description size of Table\n */\n size: useSizeProp,\n width: [String, Number],\n /**\n * @description table's height. By default it has an `auto` height. If its value is a number, the height is measured in pixels; if its value is a string, the value will be assigned to element's style.height, the height is affected by external styles\n */\n height: [String, Number],\n /**\n * @description table's max-height. The legal value is a number or the height in px\n */\n maxHeight: [String, Number],\n /**\n * @description whether width of column automatically fits its container\n */\n fit: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether Table is striped\n */\n stripe: Boolean,\n /**\n * @description whether Table has vertical border\n */\n border: Boolean,\n /**\n * @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used\n */\n rowKey: [String, Function] as PropType<TableProps<DefaultRow>['rowKey']>,\n /**\n * @description whether Table header is visible\n */\n showHeader: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to display a summary row\n */\n showSummary: Boolean,\n /**\n * @description displayed text for the first column of summary row\n */\n sumText: String,\n /**\n * @description custom summary method\n */\n summaryMethod: Function as PropType<TableProps<DefaultRow>['summaryMethod']>,\n /**\n * @description function that returns custom class names for a row, or a string assigning class names for every row\n */\n rowClassName: [String, Function] as PropType<\n TableProps<DefaultRow>['rowClassName']\n >,\n /**\n * @description function that returns custom style for a row, or an object assigning custom style for every row\n */\n rowStyle: [Object, Function] as PropType<TableProps<DefaultRow>['rowStyle']>,\n /**\n * @description function that returns custom class names for a cell, or a string assigning class names for every cell\n */\n cellClassName: [String, Function] as PropType<\n TableProps<DefaultRow>['cellClassName']\n >,\n /**\n * @description function that returns custom style for a cell, or an object assigning custom style for every cell\n */\n cellStyle: [Object, Function] as PropType<\n TableProps<DefaultRow>['cellStyle']\n >,\n /**\n * @description function that returns custom class names for a row in table header, or a string assigning class names for every row in table header\n */\n headerRowClassName: [String, Function] as PropType<\n TableProps<DefaultRow>['headerRowClassName']\n >,\n /**\n * @description function that returns custom style for a row in table header, or an object assigning custom style for every row in table header\n */\n headerRowStyle: [Object, Function] as PropType<\n TableProps<DefaultRow>['headerRowStyle']\n >,\n /**\n * @description function that returns custom class names for a cell in table header, or a string assigning class names for every cell in table header\n */\n headerCellClassName: [String, Function] as PropType<\n TableProps<DefaultRow>['headerCellClassName']\n >,\n /**\n * @description function that returns custom style for a cell in table header, or an object assigning custom style for every cell in table header\n */\n headerCellStyle: [Object, Function] as PropType<\n TableProps<DefaultRow>['headerCellStyle']\n >,\n /**\n * @description whether current row is highlighted\n */\n highlightCurrentRow: Boolean,\n /**\n * @description key of current row, a set only prop\n */\n currentRowKey: [String, Number],\n /**\n * @description displayed text when data is empty. You can customize this area with `#empty`\n */\n emptyText: String,\n /**\n * @description set expanded rows by this prop, prop's value is the keys of expand rows, you should set row-key before using this prop\n */\n expandRowKeys: Array as PropType<TableProps<DefaultRow>['expandRowKeys']>,\n /**\n * @description whether expand all rows by default, works when the table has a column type=\"expand\" or contains tree structure data\n */\n defaultExpandAll: Boolean,\n /**\n * @description set the default sort column and order. property `prop` is used to set default sort column, property `order` is used to set default sort order\n */\n defaultSort: Object as PropType<TableProps<DefaultRow>['defaultSort']>,\n /**\n * @description the `effect` of the overflow tooltip\n */\n tooltipEffect: String,\n /**\n * @description the options for the overflow tooltip, [see the following tooltip component](tooltip.html#attributes)\n */\n tooltipOptions: Object as PropType<TableProps<DefaultRow>['tooltipOptions']>,\n /**\n * @description method that returns rowspan and colspan\n */\n spanMethod: Function as PropType<TableProps<DefaultRow>['spanMethod']>,\n /**\n * @description controls the behavior of master checkbox in multi-select tables when only some rows are selected (but not all). If true, all rows will be selected, else deselected\n */\n selectOnIndeterminate: {\n type: Boolean,\n default: true,\n },\n /**\n * @description horizontal indentation of tree data\n */\n indent: {\n type: Number,\n default: 16,\n },\n /**\n * @description configuration for rendering nested data\n */\n treeProps: {\n type: Object as PropType<TableProps<DefaultRow>['treeProps']>,\n default: () => {\n return {\n hasChildren: 'hasChildren',\n children: 'children',\n }\n },\n },\n /**\n * @description whether to lazy loading data\n */\n lazy: Boolean,\n /**\n * @description method for loading child row data, only works when `lazy` is true\n */\n load: Function as PropType<TableProps<DefaultRow>['load']>,\n style: {\n type: Object as PropType<CSSProperties>,\n default: () => ({}),\n },\n className: {\n type: String,\n default: '',\n },\n /**\n * @description sets the algorithm used to lay out table cells, rows, and columns\n */\n tableLayout: {\n type: String as PropType<Layout>,\n default: 'fixed',\n },\n /**\n * @description always show scrollbar\n */\n scrollbarAlwaysOn: Boolean,\n /**\n * @description ensure main axis minimum-size doesn't follow the content\n */\n flexible: Boolean,\n /**\n * @description whether to hide extra content and show them in a tooltip when hovering on the cell.It will affect all the table columns\n */\n showOverflowTooltip: [Boolean, Object] as PropType<\n TableProps<DefaultRow>['showOverflowTooltip']\n >,\n}\nexport type {\n SummaryMethod,\n Table,\n TableProps,\n TableRefs,\n ColumnCls,\n ColumnStyle,\n CellCls,\n CellStyle,\n TreeNode,\n RenderRowData,\n Sort,\n Filter,\n TableColumnCtx,\n}\n"],"names":[],"mappings":";;;AACA,mBAAe;AACf,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,KAAK;AACf,IAAI,OAAO,EAAE,MAAM,EAAE;AACrB,GAAG;AACH,EAAE,IAAI,EAAE,WAAW;AACnB,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AACzB,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC7B,EAAE,GAAG,EAAE;AACP,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,MAAM,EAAE,OAAO;AACjB,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC5B,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,WAAW,EAAE,OAAO;AACtB,EAAE,OAAO,EAAE,MAAM;AACjB,EAAE,aAAa,EAAE,QAAQ;AACzB,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAClC,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC9B,EAAE,aAAa,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AACnC,EAAE,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC/B,EAAE,kBAAkB,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AACxC,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AACpC,EAAE,mBAAmB,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AACzC,EAAE,eAAe,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrC,EAAE,mBAAmB,EAAE,OAAO;AAC9B,EAAE,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AACjC,EAAE,SAAS,EAAE,MAAM;AACnB,EAAE,aAAa,EAAE,KAAK;AACtB,EAAE,gBAAgB,EAAE,OAAO;AAC3B,EAAE,WAAW,EAAE,MAAM;AACrB,EAAE,aAAa,EAAE,MAAM;AACvB,EAAE,cAAc,EAAE,MAAM;AACxB,EAAE,UAAU,EAAE,QAAQ;AACtB,EAAE,qBAAqB,EAAE;AACzB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,MAAM,EAAE;AACV,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,MAAM;AACnB,MAAM,OAAO;AACb,QAAQ,WAAW,EAAE,aAAa;AAClC,QAAQ,QAAQ,EAAE,UAAU;AAC5B,OAAO,CAAC;AACR,KAAK;AACL,GAAG;AACH,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,IAAI,EAAE,QAAQ;AAChB,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;AACvB,GAAG;AACH,EAAE,SAAS,EAAE;AACb,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,GAAG;AACH,EAAE,iBAAiB,EAAE,OAAO;AAC5B,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;AACxC,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"defaults.mjs","sources":["../../../../../../../packages/components/table/src/table/defaults.ts"],"sourcesContent":["// @ts-nocheck\nimport { useSizeProp } from '@element-plus/hooks'\nimport type {\n CSSProperties,\n ComponentInternalInstance,\n PropType,\n Ref,\n VNode,\n} from 'vue'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type { Nullable } from '@element-plus/utils'\nimport type { Store } from '../store'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type TableLayout from '../table-layout'\nimport type { TableOverflowTooltipOptions } from '../util'\n\nexport type DefaultRow = any\n\ninterface TableRefs {\n tableWrapper: HTMLElement\n headerWrapper: HTMLElement\n footerWrapper: HTMLElement\n fixedBodyWrapper: HTMLElement\n rightFixedBodyWrapper: HTMLElement\n bodyWrapper: HTMLElement\n appendWrapper: HTMLElement\n [key: string]: any\n}\n\ninterface TableState {\n isGroup: Ref<boolean>\n resizeState: Ref<{\n width: any\n height: any\n }>\n doLayout: () => void\n debouncedUpdateLayout: () => void\n}\n\ninterface TreeProps {\n hasChildren?: string\n children?: string\n checkStrictly?: boolean\n}\n\ntype HoverState<T> = Nullable<{\n cell: HTMLElement\n column: TableColumnCtx<T>\n row: T\n}>\n\ntype RIS<T> = { row: T; $index: number; store: Store<T>; expanded: boolean }\n\ntype RenderExpanded<T> = ({\n row,\n $index,\n store,\n expanded: boolean,\n}: RIS<T>) => VNode\n\ntype SummaryMethod<T> = (data: {\n columns: TableColumnCtx<T>[]\n data: T[]\n}) => (string | VNode)[]\n\ninterface Table<T> extends ComponentInternalInstance {\n $ready: boolean\n hoverState?: HoverState<T>\n renderExpanded: RenderExpanded<T>\n store: Store<T>\n layout: TableLayout<T>\n refs: TableRefs\n tableId: string\n state: TableState\n}\n\ntype ColumnCls<T> = string | ((data: { row: T; rowIndex: number }) => string)\ntype ColumnStyle<T> =\n | CSSProperties\n | ((data: { row: T; rowIndex: number }) => CSSProperties)\ntype CellCls<T> =\n | string\n | ((data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) => string)\ntype CellStyle<T> =\n | CSSProperties\n | ((data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) => CSSProperties)\ntype Layout = 'fixed' | 'auto'\ninterface TableProps<T> {\n data: T[]\n size?: ComponentSize\n width?: string | number\n height?: string | number\n maxHeight?: string | number\n fit?: boolean\n stripe?: boolean\n border?: boolean\n rowKey?: string | ((row: T) => string)\n context?: Table<T>\n showHeader?: boolean\n showSummary?: boolean\n sumText?: string\n summaryMethod?: SummaryMethod<T>\n rowClassName?: ColumnCls<T>\n rowStyle?: ColumnStyle<T>\n cellClassName?: CellCls<T>\n cellStyle?: CellStyle<T>\n headerRowClassName?: ColumnCls<T>\n headerRowStyle?: ColumnStyle<T>\n headerCellClassName?: CellCls<T>\n headerCellStyle?: CellStyle<T>\n highlightCurrentRow?: boolean\n currentRowKey?: string | number\n emptyText?: string\n expandRowKeys?: string[]\n defaultExpandAll?: boolean\n defaultSort?: Sort\n tooltipEffect?: string\n tooltipOptions?: TableOverflowTooltipOptions\n spanMethod?: (data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) =>\n | number[]\n | {\n rowspan: number\n colspan: number\n }\n | undefined\n selectOnIndeterminate?: boolean\n indent?: number\n treeProps?: TreeProps\n lazy?: boolean\n load?: (row: T, treeNode: TreeNode, resolve: (data: T[]) => void) => void\n className?: string\n style?: CSSProperties\n tableLayout?: Layout\n scrollbarAlwaysOn?: boolean\n flexible?: boolean\n showOverflowTooltip?: boolean | TableOverflowTooltipOptions\n}\n\ninterface Sort {\n prop: string\n order: 'ascending' | 'descending'\n init?: any\n silent?: any\n}\n\ninterface Filter<T> {\n column: TableColumnCtx<T>\n values: string[]\n silent: any\n}\n\ninterface TreeNode {\n expanded?: boolean\n loading?: boolean\n noLazyChildren?: boolean\n indent?: number\n level?: number\n display?: boolean\n}\n\ninterface RenderRowData<T> {\n store: Store<T>\n _self: Table<T>\n column: TableColumnCtx<T>\n row: T\n $index: number\n treeNode?: TreeNode\n expanded: boolean\n}\n\nexport default {\n /**\n * @description table data\n */\n data: {\n type: Array as PropType<DefaultRow[]>,\n default: () => [],\n },\n /**\n * @description size of Table\n */\n size: useSizeProp,\n width: [String, Number],\n /**\n * @description table's height. By default it has an `auto` height. If its value is a number, the height is measured in pixels; if its value is a string, the value will be assigned to element's style.height, the height is affected by external styles\n */\n height: [String, Number],\n /**\n * @description table's max-height. The legal value is a number or the height in px\n */\n maxHeight: [String, Number],\n /**\n * @description whether width of column automatically fits its container\n */\n fit: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether Table is striped\n */\n stripe: Boolean,\n /**\n * @description whether Table has vertical border\n */\n border: Boolean,\n /**\n * @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used\n */\n rowKey: [String, Function] as PropType<TableProps<DefaultRow>['rowKey']>,\n /**\n * @description whether Table header is visible\n */\n showHeader: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to display a summary row\n */\n showSummary: Boolean,\n /**\n * @description displayed text for the first column of summary row\n */\n sumText: String,\n /**\n * @description custom summary method\n */\n summaryMethod: Function as PropType<TableProps<DefaultRow>['summaryMethod']>,\n /**\n * @description function that returns custom class names for a row, or a string assigning class names for every row\n */\n rowClassName: [String, Function] as PropType<\n TableProps<DefaultRow>['rowClassName']\n >,\n /**\n * @description function that returns custom style for a row, or an object assigning custom style for every row\n */\n rowStyle: [Object, Function] as PropType<TableProps<DefaultRow>['rowStyle']>,\n /**\n * @description function that returns custom class names for a cell, or a string assigning class names for every cell\n */\n cellClassName: [String, Function] as PropType<\n TableProps<DefaultRow>['cellClassName']\n >,\n /**\n * @description function that returns custom style for a cell, or an object assigning custom style for every cell\n */\n cellStyle: [Object, Function] as PropType<\n TableProps<DefaultRow>['cellStyle']\n >,\n /**\n * @description function that returns custom class names for a row in table header, or a string assigning class names for every row in table header\n */\n headerRowClassName: [String, Function] as PropType<\n TableProps<DefaultRow>['headerRowClassName']\n >,\n /**\n * @description function that returns custom style for a row in table header, or an object assigning custom style for every row in table header\n */\n headerRowStyle: [Object, Function] as PropType<\n TableProps<DefaultRow>['headerRowStyle']\n >,\n /**\n * @description function that returns custom class names for a cell in table header, or a string assigning class names for every cell in table header\n */\n headerCellClassName: [String, Function] as PropType<\n TableProps<DefaultRow>['headerCellClassName']\n >,\n /**\n * @description function that returns custom style for a cell in table header, or an object assigning custom style for every cell in table header\n */\n headerCellStyle: [Object, Function] as PropType<\n TableProps<DefaultRow>['headerCellStyle']\n >,\n /**\n * @description whether current row is highlighted\n */\n highlightCurrentRow: Boolean,\n /**\n * @description key of current row, a set only prop\n */\n currentRowKey: [String, Number],\n /**\n * @description displayed text when data is empty. You can customize this area with `#empty`\n */\n emptyText: String,\n /**\n * @description set expanded rows by this prop, prop's value is the keys of expand rows, you should set row-key before using this prop\n */\n expandRowKeys: Array as PropType<TableProps<DefaultRow>['expandRowKeys']>,\n /**\n * @description whether expand all rows by default, works when the table has a column type=\"expand\" or contains tree structure data\n */\n defaultExpandAll: Boolean,\n /**\n * @description set the default sort column and order. property `prop` is used to set default sort column, property `order` is used to set default sort order\n */\n defaultSort: Object as PropType<TableProps<DefaultRow>['defaultSort']>,\n /**\n * @description the `effect` of the overflow tooltip\n */\n tooltipEffect: String,\n /**\n * @description the options for the overflow tooltip, [see the following tooltip component](tooltip.html#attributes)\n */\n tooltipOptions: Object as PropType<TableProps<DefaultRow>['tooltipOptions']>,\n /**\n * @description method that returns rowspan and colspan\n */\n spanMethod: Function as PropType<TableProps<DefaultRow>['spanMethod']>,\n /**\n * @description controls the behavior of master checkbox in multi-select tables when only some rows are selected (but not all). If true, all rows will be selected, else deselected\n */\n selectOnIndeterminate: {\n type: Boolean,\n default: true,\n },\n /**\n * @description horizontal indentation of tree data\n */\n indent: {\n type: Number,\n default: 16,\n },\n /**\n * @description configuration for rendering nested data\n */\n treeProps: {\n type: Object as PropType<TableProps<DefaultRow>['treeProps']>,\n default: () => {\n return {\n hasChildren: 'hasChildren',\n children: 'children',\n checkStrictly: false,\n }\n },\n },\n /**\n * @description whether to lazy loading data\n */\n lazy: Boolean,\n /**\n * @description method for loading child row data, only works when `lazy` is true\n */\n load: Function as PropType<TableProps<DefaultRow>['load']>,\n style: {\n type: Object as PropType<CSSProperties>,\n default: () => ({}),\n },\n className: {\n type: String,\n default: '',\n },\n /**\n * @description sets the algorithm used to lay out table cells, rows, and columns\n */\n tableLayout: {\n type: String as PropType<Layout>,\n default: 'fixed',\n },\n /**\n * @description always show scrollbar\n */\n scrollbarAlwaysOn: Boolean,\n /**\n * @description ensure main axis minimum-size doesn't follow the content\n */\n flexible: Boolean,\n /**\n * @description whether to hide extra content and show them in a tooltip when hovering on the cell.It will affect all the table columns\n */\n showOverflowTooltip: [Boolean, Object] as PropType<\n TableProps<DefaultRow>['showOverflowTooltip']\n >,\n}\nexport type {\n SummaryMethod,\n Table,\n TableProps,\n TableRefs,\n ColumnCls,\n ColumnStyle,\n CellCls,\n CellStyle,\n TreeNode,\n RenderRowData,\n Sort,\n Filter,\n TableColumnCtx,\n TreeProps,\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
10
10
|
readonly required: false;
|
|
11
11
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
12
12
|
__epPropKey: true;
|
|
13
|
-
};
|
|
14
|
-
* @description used in multiple selection Table, toggle if a certain row is selected. With the second parameter, you can directly set if this row is selected
|
|
15
|
-
*/
|
|
13
|
+
};
|
|
16
14
|
width: (NumberConstructor | StringConstructor)[];
|
|
17
15
|
height: (NumberConstructor | StringConstructor)[];
|
|
18
16
|
maxHeight: (NumberConstructor | StringConstructor)[];
|
|
@@ -64,13 +62,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
64
62
|
default: number;
|
|
65
63
|
};
|
|
66
64
|
treeProps: {
|
|
67
|
-
type: import("vue").PropType<
|
|
68
|
-
hasChildren?: string | undefined;
|
|
69
|
-
children?: string | undefined;
|
|
70
|
-
} | undefined>;
|
|
65
|
+
type: import("vue").PropType<import("./table/defaults").TreeProps | undefined>;
|
|
71
66
|
default: () => {
|
|
72
67
|
hasChildren: string;
|
|
73
68
|
children: string;
|
|
69
|
+
checkStrictly: boolean;
|
|
74
70
|
};
|
|
75
71
|
};
|
|
76
72
|
lazy: BooleanConstructor;
|
|
@@ -229,9 +225,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
229
225
|
readonly required: false;
|
|
230
226
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
231
227
|
__epPropKey: true;
|
|
232
|
-
};
|
|
233
|
-
* @description used in multiple selection Table, toggle if a certain row is selected. With the second parameter, you can directly set if this row is selected
|
|
234
|
-
*/
|
|
228
|
+
};
|
|
235
229
|
width: (NumberConstructor | StringConstructor)[];
|
|
236
230
|
height: (NumberConstructor | StringConstructor)[];
|
|
237
231
|
maxHeight: (NumberConstructor | StringConstructor)[];
|
|
@@ -283,13 +277,11 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
283
277
|
default: number;
|
|
284
278
|
};
|
|
285
279
|
treeProps: {
|
|
286
|
-
type: import("vue").PropType<
|
|
287
|
-
hasChildren?: string | undefined;
|
|
288
|
-
children?: string | undefined;
|
|
289
|
-
} | undefined>;
|
|
280
|
+
type: import("vue").PropType<import("./table/defaults").TreeProps | undefined>;
|
|
290
281
|
default: () => {
|
|
291
282
|
hasChildren: string;
|
|
292
283
|
children: string;
|
|
284
|
+
checkStrictly: boolean;
|
|
293
285
|
};
|
|
294
286
|
};
|
|
295
287
|
lazy: BooleanConstructor;
|
|
@@ -338,10 +330,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
338
330
|
lazy: boolean;
|
|
339
331
|
scrollbarAlwaysOn: boolean;
|
|
340
332
|
stripe: boolean;
|
|
341
|
-
treeProps:
|
|
342
|
-
hasChildren?: string | undefined;
|
|
343
|
-
children?: string | undefined;
|
|
344
|
-
} | undefined;
|
|
333
|
+
treeProps: import("./table/defaults").TreeProps | undefined;
|
|
345
334
|
showHeader: boolean;
|
|
346
335
|
showSummary: boolean;
|
|
347
336
|
highlightCurrentRow: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ElTooltipProps } from '@element-plus/nightly/es/components/tooltip';
|
|
2
|
-
import type { Table } from './table/defaults';
|
|
2
|
+
import type { Table, TreeProps } from './table/defaults';
|
|
3
3
|
import type { TableColumnCtx } from './table-column/defaults';
|
|
4
4
|
export declare type TableOverflowTooltipOptions = Partial<Pick<ElTooltipProps, 'appendTo' | 'effect' | 'enterable' | 'hideAfter' | 'offset' | 'placement' | 'popperClass' | 'popperOptions' | 'showAfter' | 'showArrow' | 'transition'>>;
|
|
5
5
|
declare type RemovePopperFn = (() => void) & {
|
|
@@ -26,7 +26,7 @@ export declare function parseWidth(width: number | string): number | string;
|
|
|
26
26
|
export declare function parseMinWidth(minWidth: number | string): number | string;
|
|
27
27
|
export declare function parseHeight(height: number | string): string | number | null;
|
|
28
28
|
export declare function compose(...funcs: any[]): any;
|
|
29
|
-
export declare function toggleRowStatus<T>(statusArr: T[], row: T, newVal?: boolean): boolean;
|
|
29
|
+
export declare function toggleRowStatus<T>(statusArr: T[], row: T, newVal?: boolean, tableTreeProps?: TreeProps, selectable?: (row: T, index?: number) => boolean, rowIndex?: number): boolean;
|
|
30
30
|
export declare function walkTreeNode(root: any, cb: any, childrenKey?: string, lazyKey?: string): void;
|
|
31
31
|
export declare let removePopper: RemovePopperFn | null;
|
|
32
32
|
export declare function createTablePopper(props: TableOverflowTooltipOptions, popperContent: string, trigger: HTMLElement, table: Table<[]>): void;
|
|
@@ -179,10 +179,12 @@ function compose(...funcs) {
|
|
|
179
179
|
}
|
|
180
180
|
return funcs.reduce((a, b) => (...args) => a(b(...args)));
|
|
181
181
|
}
|
|
182
|
-
function toggleRowStatus(statusArr, row, newVal) {
|
|
182
|
+
function toggleRowStatus(statusArr, row, newVal, tableTreeProps, selectable, rowIndex) {
|
|
183
|
+
let _rowIndex = rowIndex != null ? rowIndex : 0;
|
|
183
184
|
let changed = false;
|
|
184
185
|
const index = statusArr.indexOf(row);
|
|
185
186
|
const included = index !== -1;
|
|
187
|
+
const isRowSelectable = selectable == null ? void 0 : selectable.call(null, row, rowIndex);
|
|
186
188
|
const toggleStatus = (type) => {
|
|
187
189
|
if (type === "add") {
|
|
188
190
|
statusArr.push(row);
|
|
@@ -190,20 +192,34 @@ function toggleRowStatus(statusArr, row, newVal) {
|
|
|
190
192
|
statusArr.splice(index, 1);
|
|
191
193
|
}
|
|
192
194
|
changed = true;
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
195
|
+
};
|
|
196
|
+
const getChildrenCount = (row2) => {
|
|
197
|
+
let count = 0;
|
|
198
|
+
const children = (tableTreeProps == null ? void 0 : tableTreeProps.children) && row2[tableTreeProps.children];
|
|
199
|
+
if (children && isArray(children)) {
|
|
200
|
+
count += children.length;
|
|
201
|
+
children.forEach((item) => {
|
|
202
|
+
count += getChildrenCount(item);
|
|
196
203
|
});
|
|
197
204
|
}
|
|
205
|
+
return count;
|
|
198
206
|
};
|
|
199
|
-
if (
|
|
200
|
-
if (newVal
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
207
|
+
if (!selectable || isRowSelectable) {
|
|
208
|
+
if (isBoolean(newVal)) {
|
|
209
|
+
if (newVal && !included) {
|
|
210
|
+
toggleStatus("add");
|
|
211
|
+
} else if (!newVal && included) {
|
|
212
|
+
toggleStatus("remove");
|
|
213
|
+
}
|
|
214
|
+
} else {
|
|
215
|
+
included ? toggleStatus("remove") : toggleStatus("add");
|
|
204
216
|
}
|
|
205
|
-
}
|
|
206
|
-
|
|
217
|
+
}
|
|
218
|
+
if (!(tableTreeProps == null ? void 0 : tableTreeProps.checkStrictly) && (tableTreeProps == null ? void 0 : tableTreeProps.children) && isArray(row[tableTreeProps.children])) {
|
|
219
|
+
row[tableTreeProps.children].forEach((item) => {
|
|
220
|
+
toggleRowStatus(statusArr, item, newVal != null ? newVal : !included, tableTreeProps, selectable, _rowIndex + 1);
|
|
221
|
+
_rowIndex += getChildrenCount(item) + 1;
|
|
222
|
+
});
|
|
207
223
|
}
|
|
208
224
|
return changed;
|
|
209
225
|
}
|