@element-plus/nightly 0.0.20260515 → 0.0.20260517
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/index.full.js +5 -5
- package/dist/index.full.min.js +3 -3
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +3 -3
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +5 -5
- 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/hi.js +1 -1
- package/dist/locale/hi.min.js +1 -1
- package/dist/locale/hi.min.mjs +1 -1
- package/dist/locale/hi.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/lo.js +1 -1
- package/dist/locale/lo.min.js +1 -1
- package/dist/locale/lo.min.mjs +1 -1
- package/dist/locale/lo.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/ms.js +1 -1
- package/dist/locale/ms.min.js +1 -1
- package/dist/locale/ms.min.mjs +1 -1
- package/dist/locale/ms.mjs +1 -1
- package/dist/locale/my.js +1 -1
- package/dist/locale/my.min.js +1 -1
- package/dist/locale/my.min.mjs +1 -1
- package/dist/locale/my.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/no.js +1 -1
- package/dist/locale/no.min.js +1 -1
- package/dist/locale/no.min.mjs +1 -1
- package/dist/locale/no.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/te.js +1 -1
- package/dist/locale/te.min.js +1 -1
- package/dist/locale/te.min.mjs +1 -1
- package/dist/locale/te.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 +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-hk.js +1 -1
- package/dist/locale/zh-hk.min.js +1 -1
- package/dist/locale/zh-hk.min.mjs +1 -1
- package/dist/locale/zh-hk.mjs +1 -1
- package/dist/locale/zh-mo.js +1 -1
- package/dist/locale/zh-mo.min.js +1 -1
- package/dist/locale/zh-mo.min.mjs +1 -1
- package/dist/locale/zh-mo.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/affix/src/affix.d.ts +1 -1
- package/es/components/affix/src/affix.vue.d.ts +2 -2
- package/es/components/alert/src/alert.d.ts +1 -1
- package/es/components/alert/src/alert.vue.d.ts +1 -1
- package/es/components/anchor/src/anchor.vue.d.ts +3 -3
- package/es/components/autocomplete/src/autocomplete.d.ts +2 -2
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +4 -4
- package/es/components/avatar/src/avatar-group.d.ts +1 -1
- package/es/components/badge/src/badge.vue.d.ts +1 -1
- package/es/components/button/src/button-group.d.ts +1 -1
- package/es/components/button/src/button-group.vue.d.ts +1 -1
- package/es/components/button/src/button.d.ts +1 -1
- package/es/components/button/src/button.vue.d.ts +3 -3
- package/es/components/button/src/use-button.d.ts +1 -1
- package/es/components/carousel/src/carousel-item.vue.d.ts +1 -1
- package/es/components/carousel/src/carousel.d.ts +1 -1
- package/es/components/carousel/src/carousel.vue.d.ts +1 -1
- package/es/components/cascader/src/cascader.d.ts +3 -3
- package/es/components/cascader/src/cascader.vue.d.ts +22 -22
- package/es/components/cascader-panel/src/index.vue.d.ts +3 -3
- package/es/components/cascader-panel/src/menu.vue.d.ts +2 -2
- package/es/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
- package/es/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
- package/es/components/checkbox/src/checkbox.d.ts +8 -8
- package/es/components/checkbox/src/checkbox.vue.d.ts +5 -5
- package/es/components/color-picker/src/color-picker.vue.d.ts +10 -10
- package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +2 -2
- package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/es/components/countdown/src/countdown.vue.d.ts +1 -1
- package/es/components/date-picker/src/date-picker.d.ts +19 -19
- package/es/components/date-picker/src/props.d.ts +3 -3
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +4 -4
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +4 -4
- package/es/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
- package/es/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +2 -2
- package/es/components/date-picker-panel/src/date-picker-panel.d.ts +9 -9
- package/es/components/date-picker-panel/src/panel-utils.d.ts +24 -24
- package/es/components/date-picker-panel/src/props/date-picker-panel.d.ts +2 -2
- package/es/components/date-picker-panel/src/props/panel-date-pick.d.ts +1 -1
- package/es/components/date-picker-panel/src/props/panel-date-range.d.ts +1 -1
- package/es/components/date-picker-panel/src/props/shared.d.ts +1 -1
- package/es/components/descriptions/src/description-item.d.ts +12 -12
- package/es/components/dialog/src/dialog.vue.d.ts +4 -4
- package/es/components/drawer/src/drawer.vue.d.ts +7 -7
- package/es/components/dropdown/src/dropdown-item-impl.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown-item.vue.d.ts +1 -1
- package/es/components/dropdown/src/dropdown-menu.mjs.map +1 -1
- package/es/components/dropdown/src/dropdown.d.ts +3 -3
- package/es/components/dropdown/src/dropdown.vue.d.ts +84 -84
- package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
- package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
- package/es/components/image/src/image.vue.d.ts +2 -2
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +2 -2
- package/es/components/index.d.ts +2 -2
- package/es/components/input/src/input.d.ts +1 -1
- package/es/components/input/src/input.vue.d.ts +13 -13
- package/es/components/input-number/src/input-number.d.ts +2 -2
- package/es/components/input-number/src/input-number.vue.d.ts +8 -8
- package/es/components/input-otp/src/input-otp.vue.d.ts +7 -7
- package/es/components/input-tag/src/input-tag.d.ts +1 -1
- package/es/components/input-tag/src/input-tag.vue.d.ts +14 -14
- package/es/components/link/src/link.d.ts +1 -1
- package/es/components/mention/src/mention.d.ts +2 -2
- package/es/components/mention/src/mention.vue.d.ts +3 -3
- package/es/components/menu/src/menu.d.ts +6 -6
- package/es/components/message/src/instance.d.ts +1 -1
- package/es/components/message/src/message.d.ts +1 -1
- package/es/components/message/src/message.vue.d.ts +4 -4
- package/es/components/message-box/src/index.vue.d.ts +48 -48
- package/es/components/notification/src/notification.vue.d.ts +1 -1
- package/es/components/pagination/src/pagination.d.ts +3 -3
- package/es/components/popconfirm/src/popconfirm.d.ts +2 -2
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
- package/es/components/popover/src/popover.d.ts +2 -2
- package/es/components/popover/src/popover.vue.d.ts +9 -9
- package/es/components/popper/src/composables/use-content.d.ts +2 -2
- package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
- package/es/components/popper/src/content.d.ts +4 -4
- package/es/components/popper/src/content.vue.d.ts +15 -15
- package/es/components/radio/src/radio-button.d.ts +3 -3
- package/es/components/radio/src/radio-button.vue.d.ts +3 -3
- package/es/components/radio/src/radio-group.vue.d.ts +5 -5
- package/es/components/radio/src/radio.d.ts +6 -6
- package/es/components/radio/src/radio.vue.d.ts +4 -4
- package/es/components/rate/src/rate.vue.d.ts +1 -1
- package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
- package/es/components/row/src/row.d.ts +2 -2
- package/es/components/segmented/index.d.ts +2 -2
- package/es/components/segmented/src/segmented.d.ts +1 -1
- package/es/components/select/src/option.d.ts +2 -2
- package/es/components/select/src/option.vue.d.ts +5 -5
- package/es/components/select/src/option2.mjs.map +1 -1
- package/es/components/select/src/select.d.ts +4 -4
- package/es/components/select/src/select.vue.d.ts +104 -104
- package/es/components/select/src/select2.mjs.map +1 -1
- package/es/components/select/src/useOption.d.ts +2 -2
- package/es/components/select/src/useSelect.d.ts +5 -5
- package/es/components/select-v2/src/defaults.d.ts +2 -2
- package/es/components/select-v2/src/option-item.mjs.map +1 -1
- package/es/components/select-v2/src/option-item.vue.d.ts +1 -1
- package/es/components/select-v2/src/select.mjs.map +1 -1
- package/es/components/select-v2/src/select.vue.d.ts +92 -92
- package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
- package/es/components/slider/src/button.vue.d.ts +2 -2
- package/es/components/slider/src/slider.vue.d.ts +6 -6
- package/es/components/space/src/space.d.ts +2 -2
- package/es/components/splitter/src/split-bar.vue.d.ts +1 -1
- package/es/components/splitter/src/splitter.vue.d.ts +2 -2
- package/es/components/switch/src/switch.vue.d.ts +3 -3
- package/es/components/table/index.d.ts +2 -2
- package/es/components/table/index.mjs.map +1 -1
- package/es/components/table/src/config.d.ts +1 -1
- package/es/components/table/src/filter-panel.mjs.map +1 -1
- package/es/components/table/src/filter-panel.vue.d.ts +78 -78
- package/es/components/table/src/store/current.d.ts +1 -1
- package/es/components/table/src/store/expand.d.ts +1 -1
- package/es/components/table/src/store/helper.d.ts +13 -13
- package/es/components/table/src/store/index.d.ts +23 -23
- package/es/components/table/src/store/index.mjs.map +1 -1
- package/es/components/table/src/store/tree.d.ts +1 -1
- package/es/components/table/src/store/watcher.d.ts +3 -3
- package/es/components/table/src/store/watcher.mjs.map +1 -1
- package/es/components/table/src/table/defaults.d.ts +33 -8
- package/es/components/table/src/table/defaults.mjs.map +1 -1
- package/es/components/table/src/table/style-helper.d.ts +2 -2
- package/es/components/table/src/table/utils-helper.d.ts +1 -1
- package/es/components/table/src/table-body/defaults.d.ts +1 -1
- package/es/components/table/src/table-body/events-helper.d.ts +3 -3
- package/es/components/table/src/table-body/events-helper.mjs.map +1 -1
- package/es/components/table/src/table-body/render-helper.mjs.map +1 -1
- package/es/components/table/src/table-column/defaults.d.ts +3 -3
- package/es/components/table/src/table-footer/index.d.ts +2 -2
- package/es/components/table/src/table-header/event-helper.d.ts +2 -2
- package/es/components/table/src/table-header/event-helper.mjs +1 -1
- package/es/components/table/src/table-header/event-helper.mjs.map +1 -1
- package/es/components/table/src/table-header/index.d.ts +19 -19
- package/es/components/table/src/table-header/index.mjs.map +1 -1
- package/es/components/table/src/table-layout.d.ts +1 -1
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.vue.d.ts +43 -36
- package/es/components/table/src/table.vue_vue_type_script_setup_true_lang.mjs +2 -2
- package/es/components/table/src/table.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/table-v2/src/components/header.d.ts +1 -1
- package/es/components/table-v2/src/components/row.d.ts +1 -1
- package/es/components/table-v2/src/table-grid.d.ts +4 -4
- package/es/components/table-v2/src/table-v2.d.ts +6 -6
- package/es/components/tabs/src/tab-nav.d.ts +1 -1
- package/es/components/tabs/src/tab-pane.vue.d.ts +1 -1
- package/es/components/tabs/src/tabs.d.ts +6 -6
- package/es/components/tag/src/tag.d.ts +1 -1
- package/es/components/tag/src/tag.vue.d.ts +3 -3
- package/es/components/text/src/text.vue.d.ts +1 -1
- package/es/components/time-picker/src/common/picker-range-trigger.vue.d.ts +4 -4
- package/es/components/time-picker/src/common/picker.vue.d.ts +25 -25
- package/es/components/time-picker/src/common/props.d.ts +2 -2
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
- package/es/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
- package/es/components/time-picker/src/time-picker.d.ts +17 -17
- package/es/components/time-select/src/time-select.vue.d.ts +13 -13
- package/es/components/timeline/src/timeline-item.d.ts +1 -1
- package/es/components/timeline/src/timeline-item.vue.d.ts +2 -2
- package/es/components/timeline/src/timeline.d.ts +4 -4
- package/es/components/tooltip/src/content.d.ts +1 -1
- package/es/components/tooltip/src/content.vue.d.ts +15 -15
- package/es/components/tooltip/src/tooltip.d.ts +2 -2
- package/es/components/tooltip/src/tooltip.vue.d.ts +18 -18
- package/es/components/tooltip/src/trigger.d.ts +1 -1
- package/es/components/tour/src/content.d.ts +2 -2
- package/es/components/tour/src/content.vue.d.ts +1 -1
- package/es/components/tour/src/step.d.ts +1 -1
- package/es/components/tour/src/step.vue.d.ts +1 -1
- package/es/components/tour/src/tour.d.ts +1 -1
- package/es/components/tour/src/tour.vue.d.ts +3 -3
- package/es/components/tree/src/tree-node.mjs.map +1 -1
- package/es/components/tree/src/tree-node.vue.d.ts +15 -15
- package/es/components/tree/src/tree.vue.d.ts +17 -17
- package/es/components/tree-select/src/tree-select-option.d.ts +5 -5
- package/es/components/tree-select/src/tree-select.vue.d.ts +34 -34
- package/es/components/tree-v2/src/composables/useTree.d.ts +6 -6
- package/es/components/tree-v2/src/tree.vue.d.ts +4 -4
- package/es/components/upload/src/upload-content.vue.d.ts +1 -1
- package/es/components/upload/src/upload.vue.d.ts +1 -1
- package/es/components/virtual-list/src/builders/build-grid.d.ts +3 -3
- package/es/components/virtual-list/src/builders/build-list.d.ts +3 -3
- package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +3 -3
- package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +3 -3
- package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +3 -3
- package/es/components/virtual-list/src/components/fixed-size-list.d.ts +3 -3
- package/es/components/virtual-list/src/components/scrollbar.d.ts +1 -1
- package/es/components/watermark/src/watermark.vue.d.ts +1 -1
- package/es/hooks/use-floating/index.d.ts +4 -4
- package/es/hooks/use-popper/index.d.ts +2 -2
- package/es/index.d.ts +2 -2
- package/es/utils/vue/size.d.ts +1 -1
- package/es/utils/vue/vnode.d.ts +4 -4
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/affix/src/affix.d.ts +1 -1
- package/lib/components/affix/src/affix.vue.d.ts +2 -2
- package/lib/components/alert/src/alert.d.ts +1 -1
- package/lib/components/alert/src/alert.vue.d.ts +1 -1
- package/lib/components/anchor/src/anchor.vue.d.ts +3 -3
- package/lib/components/autocomplete/src/autocomplete.d.ts +2 -2
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +4 -4
- package/lib/components/avatar/src/avatar-group.d.ts +1 -1
- package/lib/components/badge/src/badge.vue.d.ts +1 -1
- package/lib/components/button/src/button-group.d.ts +1 -1
- package/lib/components/button/src/button-group.vue.d.ts +1 -1
- package/lib/components/button/src/button.d.ts +1 -1
- package/lib/components/button/src/button.vue.d.ts +3 -3
- package/lib/components/button/src/use-button.d.ts +1 -1
- package/lib/components/carousel/src/carousel-item.vue.d.ts +1 -1
- package/lib/components/carousel/src/carousel.d.ts +1 -1
- package/lib/components/carousel/src/carousel.vue.d.ts +1 -1
- package/lib/components/cascader/src/cascader.d.ts +3 -3
- package/lib/components/cascader/src/cascader.vue.d.ts +22 -22
- package/lib/components/cascader-panel/src/index.vue.d.ts +3 -3
- package/lib/components/cascader-panel/src/menu.vue.d.ts +2 -2
- package/lib/components/checkbox/src/checkbox-button.vue.d.ts +5 -5
- package/lib/components/checkbox/src/checkbox-group.vue.d.ts +3 -3
- package/lib/components/checkbox/src/checkbox.d.ts +8 -8
- package/lib/components/checkbox/src/checkbox.vue.d.ts +5 -5
- package/lib/components/color-picker/src/color-picker.vue.d.ts +10 -10
- package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +2 -2
- package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/lib/components/countdown/src/countdown.vue.d.ts +1 -1
- package/lib/components/date-picker/src/date-picker.d.ts +19 -19
- package/lib/components/date-picker/src/props.d.ts +3 -3
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue.d.ts +4 -4
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue.d.ts +4 -4
- package/lib/components/date-picker-panel/src/date-picker-com/panel-month-range.vue.d.ts +2 -2
- package/lib/components/date-picker-panel/src/date-picker-com/panel-year-range.vue.d.ts +2 -2
- package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +9 -9
- package/lib/components/date-picker-panel/src/panel-utils.d.ts +24 -24
- package/lib/components/date-picker-panel/src/props/date-picker-panel.d.ts +2 -2
- package/lib/components/date-picker-panel/src/props/panel-date-pick.d.ts +1 -1
- package/lib/components/date-picker-panel/src/props/panel-date-range.d.ts +1 -1
- package/lib/components/date-picker-panel/src/props/shared.d.ts +1 -1
- package/lib/components/descriptions/src/description-item.d.ts +12 -12
- package/lib/components/dialog/src/dialog.vue.d.ts +4 -4
- package/lib/components/drawer/src/drawer.vue.d.ts +7 -7
- package/lib/components/dropdown/src/dropdown-item-impl.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-item.vue.d.ts +1 -1
- package/lib/components/dropdown/src/dropdown-menu.js.map +1 -1
- package/lib/components/dropdown/src/dropdown.d.ts +3 -3
- package/lib/components/dropdown/src/dropdown.vue.d.ts +84 -84
- package/lib/components/dropdown/src/dropdown2.js.map +1 -1
- package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
- package/lib/components/image/src/image.vue.d.ts +2 -2
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +2 -2
- package/lib/components/index.d.ts +2 -2
- package/lib/components/input/src/input.d.ts +1 -1
- package/lib/components/input/src/input.vue.d.ts +13 -13
- package/lib/components/input-number/src/input-number.d.ts +2 -2
- package/lib/components/input-number/src/input-number.vue.d.ts +8 -8
- package/lib/components/input-otp/src/input-otp.vue.d.ts +7 -7
- package/lib/components/input-tag/src/input-tag.d.ts +1 -1
- package/lib/components/input-tag/src/input-tag.vue.d.ts +14 -14
- package/lib/components/link/src/link.d.ts +1 -1
- package/lib/components/mention/src/mention.d.ts +2 -2
- package/lib/components/mention/src/mention.vue.d.ts +3 -3
- package/lib/components/menu/src/menu.d.ts +6 -6
- package/lib/components/message/src/instance.d.ts +1 -1
- package/lib/components/message/src/message.d.ts +1 -1
- package/lib/components/message/src/message.vue.d.ts +4 -4
- package/lib/components/message-box/src/index.vue.d.ts +48 -48
- package/lib/components/notification/src/notification.vue.d.ts +1 -1
- package/lib/components/pagination/src/pagination.d.ts +3 -3
- package/lib/components/popconfirm/src/popconfirm.d.ts +2 -2
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
- package/lib/components/popover/src/popover.d.ts +2 -2
- package/lib/components/popover/src/popover.vue.d.ts +9 -9
- package/lib/components/popper/src/composables/use-content.d.ts +2 -2
- package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
- package/lib/components/popper/src/content.d.ts +4 -4
- package/lib/components/popper/src/content.vue.d.ts +15 -15
- package/lib/components/radio/src/radio-button.d.ts +3 -3
- package/lib/components/radio/src/radio-button.vue.d.ts +3 -3
- package/lib/components/radio/src/radio-group.vue.d.ts +5 -5
- package/lib/components/radio/src/radio.d.ts +6 -6
- package/lib/components/radio/src/radio.vue.d.ts +4 -4
- package/lib/components/rate/src/rate.vue.d.ts +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
- package/lib/components/row/src/row.d.ts +2 -2
- package/lib/components/segmented/index.d.ts +2 -2
- package/lib/components/segmented/src/segmented.d.ts +1 -1
- package/lib/components/select/src/option.d.ts +2 -2
- package/lib/components/select/src/option.vue.d.ts +5 -5
- package/lib/components/select/src/option2.js.map +1 -1
- package/lib/components/select/src/select.d.ts +4 -4
- package/lib/components/select/src/select.vue.d.ts +104 -104
- package/lib/components/select/src/select2.js.map +1 -1
- package/lib/components/select/src/useOption.d.ts +2 -2
- package/lib/components/select/src/useSelect.d.ts +5 -5
- package/lib/components/select-v2/src/defaults.d.ts +2 -2
- package/lib/components/select-v2/src/option-item.js.map +1 -1
- package/lib/components/select-v2/src/option-item.vue.d.ts +1 -1
- package/lib/components/select-v2/src/select.js.map +1 -1
- package/lib/components/select-v2/src/select.vue.d.ts +92 -92
- package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
- package/lib/components/slider/src/button.vue.d.ts +2 -2
- package/lib/components/slider/src/slider.vue.d.ts +6 -6
- package/lib/components/space/src/space.d.ts +2 -2
- package/lib/components/splitter/src/split-bar.vue.d.ts +1 -1
- package/lib/components/splitter/src/splitter.vue.d.ts +2 -2
- package/lib/components/switch/src/switch.vue.d.ts +3 -3
- package/lib/components/table/index.d.ts +2 -2
- package/lib/components/table/index.js.map +1 -1
- package/lib/components/table/src/config.d.ts +1 -1
- package/lib/components/table/src/filter-panel.js.map +1 -1
- package/lib/components/table/src/filter-panel.vue.d.ts +78 -78
- package/lib/components/table/src/store/current.d.ts +1 -1
- package/lib/components/table/src/store/expand.d.ts +1 -1
- package/lib/components/table/src/store/helper.d.ts +13 -13
- package/lib/components/table/src/store/index.d.ts +23 -23
- package/lib/components/table/src/store/index.js.map +1 -1
- package/lib/components/table/src/store/tree.d.ts +1 -1
- package/lib/components/table/src/store/watcher.d.ts +3 -3
- package/lib/components/table/src/store/watcher.js.map +1 -1
- package/lib/components/table/src/table/defaults.d.ts +33 -8
- package/lib/components/table/src/table/defaults.js.map +1 -1
- package/lib/components/table/src/table/style-helper.d.ts +2 -2
- package/lib/components/table/src/table/utils-helper.d.ts +1 -1
- package/lib/components/table/src/table-body/defaults.d.ts +1 -1
- package/lib/components/table/src/table-body/events-helper.d.ts +3 -3
- package/lib/components/table/src/table-body/events-helper.js.map +1 -1
- package/lib/components/table/src/table-body/render-helper.js.map +1 -1
- package/lib/components/table/src/table-column/defaults.d.ts +3 -3
- package/lib/components/table/src/table-footer/index.d.ts +2 -2
- package/lib/components/table/src/table-header/event-helper.d.ts +2 -2
- package/lib/components/table/src/table-header/event-helper.js +1 -1
- package/lib/components/table/src/table-header/event-helper.js.map +1 -1
- package/lib/components/table/src/table-header/index.d.ts +19 -19
- package/lib/components/table/src/table-header/index.js.map +1 -1
- package/lib/components/table/src/table-layout.d.ts +1 -1
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.vue.d.ts +43 -36
- package/lib/components/table/src/table.vue_vue_type_script_setup_true_lang.js +2 -2
- package/lib/components/table/src/table.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/table-v2/src/components/header.d.ts +1 -1
- package/lib/components/table-v2/src/components/row.d.ts +1 -1
- package/lib/components/table-v2/src/table-grid.d.ts +4 -4
- package/lib/components/table-v2/src/table-v2.d.ts +6 -6
- package/lib/components/tabs/src/tab-nav.d.ts +1 -1
- package/lib/components/tabs/src/tab-pane.vue.d.ts +1 -1
- package/lib/components/tabs/src/tabs.d.ts +6 -6
- package/lib/components/tag/src/tag.d.ts +1 -1
- package/lib/components/tag/src/tag.vue.d.ts +3 -3
- package/lib/components/text/src/text.vue.d.ts +1 -1
- package/lib/components/time-picker/src/common/picker-range-trigger.vue.d.ts +4 -4
- package/lib/components/time-picker/src/common/picker.vue.d.ts +25 -25
- package/lib/components/time-picker/src/common/props.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.vue.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.vue.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker.d.ts +17 -17
- package/lib/components/time-select/src/time-select.vue.d.ts +13 -13
- package/lib/components/timeline/src/timeline-item.d.ts +1 -1
- package/lib/components/timeline/src/timeline-item.vue.d.ts +2 -2
- package/lib/components/timeline/src/timeline.d.ts +4 -4
- package/lib/components/tooltip/src/content.d.ts +1 -1
- package/lib/components/tooltip/src/content.vue.d.ts +15 -15
- package/lib/components/tooltip/src/tooltip.d.ts +2 -2
- package/lib/components/tooltip/src/tooltip.vue.d.ts +18 -18
- package/lib/components/tooltip/src/trigger.d.ts +1 -1
- package/lib/components/tour/src/content.d.ts +2 -2
- package/lib/components/tour/src/content.vue.d.ts +1 -1
- package/lib/components/tour/src/step.d.ts +1 -1
- package/lib/components/tour/src/step.vue.d.ts +1 -1
- package/lib/components/tour/src/tour.d.ts +1 -1
- package/lib/components/tour/src/tour.vue.d.ts +3 -3
- package/lib/components/tree/src/tree-node.js.map +1 -1
- package/lib/components/tree/src/tree-node.vue.d.ts +15 -15
- package/lib/components/tree/src/tree.vue.d.ts +17 -17
- package/lib/components/tree-select/src/tree-select-option.d.ts +5 -5
- package/lib/components/tree-select/src/tree-select.vue.d.ts +34 -34
- package/lib/components/tree-v2/src/composables/useTree.d.ts +6 -6
- package/lib/components/tree-v2/src/tree.vue.d.ts +4 -4
- package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
- package/lib/components/upload/src/upload.vue.d.ts +1 -1
- package/lib/components/virtual-list/src/builders/build-grid.d.ts +3 -3
- package/lib/components/virtual-list/src/builders/build-list.d.ts +3 -3
- package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +3 -3
- package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +3 -3
- package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +3 -3
- package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +3 -3
- package/lib/components/virtual-list/src/components/scrollbar.d.ts +1 -1
- package/lib/components/watermark/src/watermark.vue.d.ts +1 -1
- package/lib/hooks/use-floating/index.d.ts +4 -4
- package/lib/hooks/use-popper/index.d.ts +2 -2
- package/lib/index.d.ts +2 -2
- package/lib/utils/vue/size.d.ts +1 -1
- package/lib/utils/vue/vnode.d.ts +4 -4
- 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/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/store/index.ts"],"sourcesContent":["import { getCurrentInstance, nextTick, unref } from 'vue'\nimport { isNull } from 'lodash-unified'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport useWatcher from './watcher'\n\nimport type { Ref } from 'vue'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { DefaultRow, Filter, Sort, Table } from '../table/defaults'\n\ninterface WatcherPropsData<T extends DefaultRow> {\n data: Ref<T[]>\n rowKey: Ref<string | null>\n}\n\nfunction replaceColumn<T extends DefaultRow>(\n array: TableColumnCtx<T>[],\n column: TableColumnCtx<T>\n) {\n return array.map((item) => {\n if (item.id === column.id) {\n return column\n } else if (item.children?.length) {\n item.children = replaceColumn(item.children, column)\n }\n return item\n })\n}\n\nfunction sortColumn<T extends DefaultRow>(array: TableColumnCtx<T>[]) {\n array.forEach((item) => {\n item.no = item.getColumnIndex?.()\n if (item.children?.length) {\n sortColumn(item.children)\n }\n })\n array.sort((cur, pre) => cur.no - pre.no)\n}\n\nfunction useStore<T extends DefaultRow>() {\n const instance = getCurrentInstance() as Table<T>\n const watcher = useWatcher<T>()\n const ns = useNamespace('table')\n const { t } = useLocale()\n\n type StoreStates = typeof watcher.states\n const mutations = {\n setData(states: StoreStates, data: T[]) {\n const dataInstanceChanged = unref(states._data) !== data\n states.data.value = data\n states._data.value = data\n instance.store.execQuery()\n // 数据变化,更新部分数据。\n // 没有使用 computed,而是手动更新部分数据 https://github.com/vuejs/vue/issues/6660#issuecomment-331417140\n instance.store.updateCurrentRowData()\n instance.store.updateExpandRows()\n instance.store.updateTreeData(\n instance.store.states.defaultExpandAll.value\n )\n if (unref(states.reserveSelection)) {\n instance.store.assertRowKey()\n } else {\n if (dataInstanceChanged) {\n instance.store.clearSelection()\n } else {\n instance.store.cleanSelection()\n }\n }\n instance.store.updateSelectionByChildren({ emitChange: false })\n instance.store.updateAllSelected()\n if (instance.$ready) {\n instance.store.scheduleLayout()\n }\n },\n\n insertColumn(\n states: StoreStates,\n column: TableColumnCtx<T>,\n parent: TableColumnCtx<T>,\n updateColumnOrder: () => void\n ) {\n const array = unref(states._columns)\n let newColumns = []\n if (!parent) {\n array.push(column)\n newColumns = array\n } else {\n if (parent && !parent.children) {\n parent.children = []\n }\n parent.children?.push(column)\n newColumns = replaceColumn(array, parent)\n }\n sortColumn(newColumns)\n states._columns.value = newColumns\n states.updateOrderFns.push(updateColumnOrder)\n if (column.type === 'selection') {\n states.selectable.value = column.selectable\n states.reserveSelection.value = column.reserveSelection\n }\n if (instance.$ready) {\n instance.store.updateColumns() // hack for dynamics insert column\n instance.store.scheduleLayout()\n }\n },\n\n updateColumnOrder(states: StoreStates, column: TableColumnCtx<T>) {\n const newColumnIndex = column.getColumnIndex?.()\n if (newColumnIndex === column.no) return\n\n sortColumn(states._columns.value)\n\n if (instance.$ready) {\n instance.store.updateColumns()\n }\n },\n\n removeColumn(\n states: StoreStates,\n column: TableColumnCtx<T>,\n parent: TableColumnCtx<T>,\n updateColumnOrder: () => void\n ) {\n const array = unref(states._columns) || []\n if (parent) {\n parent.children?.splice(\n parent.children.findIndex((item) => item.id === column.id),\n 1\n )\n // fix #10699, delete parent.children immediately will trigger again\n nextTick(() => {\n if (parent.children?.length === 0) {\n delete parent.children\n }\n })\n states._columns.value = replaceColumn(array, parent)\n } else {\n const index = array.indexOf(column)\n if (index > -1) {\n array.splice(index, 1)\n states._columns.value = array\n }\n }\n\n const updateFnIndex = states.updateOrderFns.indexOf(updateColumnOrder)\n updateFnIndex > -1 && states.updateOrderFns.splice(updateFnIndex, 1)\n\n if (instance.$ready) {\n instance.store.updateColumns() // hack for dynamics remove column\n instance.store.scheduleLayout()\n }\n },\n\n sort(states: StoreStates, options: Sort) {\n const { prop, order, init } = options\n if (prop) {\n const column = unref(states.columns).find(\n (column) => column.property === prop\n )\n if (column) {\n column.order = order\n instance.store.updateSort(column, prop, order)\n instance.store.commit('changeSortCondition', { init })\n }\n }\n },\n\n changeSortCondition(states: StoreStates, options: Sort) {\n // 修复 pr https://github.com/ElemeFE/element/pull/15012 导致的 bug\n // https://github.com/element-plus/element-plus/pull/4640\n const { sortingColumn, sortProp, sortOrder } = states\n const columnValue = unref(sortingColumn),\n propValue = unref(sortProp),\n orderValue = unref(sortOrder)\n if (isNull(orderValue)) {\n states.sortingColumn.value = null\n states.sortProp.value = null\n }\n const ignore = { filter: true }\n instance.store.execQuery(ignore)\n\n if (!options || !(options.silent || options.init)) {\n instance.emit('sort-change', {\n column: columnValue,\n prop: propValue,\n order: orderValue,\n })\n }\n\n instance.store.updateTableScrollY()\n },\n\n filterChange(_states: StoreStates, options: Filter<T>) {\n const { column, values, silent } = options\n const newFilters = instance.store.updateFilters(column, values)\n instance.store.execQuery()\n\n if (!silent) {\n instance.emit('filter-change', newFilters)\n }\n instance.store.updateTableScrollY()\n },\n\n toggleAllSelection() {\n instance.store.toggleAllSelection?.()\n },\n\n rowSelectedChanged(_states: StoreStates, row: T) {\n instance.store.toggleRowSelection(row)\n instance.store.updateAllSelected()\n },\n\n setHoverRow(states: StoreStates, row: T) {\n states.hoverRow.value = row\n },\n\n setCurrentRow(_states: StoreStates, row: T) {\n instance.store.updateCurrentRow(row)\n },\n }\n const commit = function (name: keyof typeof mutations, ...args: any[]) {\n const mutations = instance.store.mutations\n if (mutations[name]) {\n ;(mutations[name] as any).apply(instance, [\n instance.store.states,\n ...args,\n ])\n } else {\n throw new Error(`Action not found: ${name}`)\n }\n }\n const updateTableScrollY = function () {\n nextTick(() => instance.layout.updateScrollY.apply(instance.layout))\n }\n return {\n ns,\n t,\n ...watcher,\n mutations,\n commit,\n updateTableScrollY,\n }\n}\n\nexport default useStore\n\nclass HelperStore<T extends DefaultRow> {\n Return = useStore<T>()\n}\n\ntype StoreFilter = Record<string, string[]>\ntype Store<T extends DefaultRow> = HelperStore<T>['Return']\nexport type { WatcherPropsData, Store, StoreFilter }\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/store/index.ts"],"sourcesContent":["import { getCurrentInstance, nextTick, unref } from 'vue'\nimport { isNull } from 'lodash-unified'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport useWatcher from './watcher'\n\nimport type { Ref } from 'vue'\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { DefaultRow, Filter, Sort, Table } from '../table/defaults'\n\ninterface WatcherPropsData<T extends DefaultRow> {\n data: Ref<T[]>\n rowKey: Ref<string | null>\n}\n\nfunction replaceColumn<T extends DefaultRow>(\n array: TableColumnCtx<T>[],\n column: TableColumnCtx<T>\n) {\n return array.map((item) => {\n if (item.id === column.id) {\n return column\n } else if (item.children?.length) {\n item.children = replaceColumn(item.children, column)\n }\n return item\n })\n}\n\nfunction sortColumn<T extends DefaultRow>(array: TableColumnCtx<T>[]) {\n array.forEach((item) => {\n item.no = item.getColumnIndex?.()\n if (item.children?.length) {\n sortColumn(item.children)\n }\n })\n array.sort((cur, pre) => cur.no - pre.no)\n}\n\nfunction useStore<T extends DefaultRow>() {\n const instance = getCurrentInstance() as Table<T>\n const watcher = useWatcher<T>()\n const ns = useNamespace('table')\n const { t } = useLocale()\n\n type StoreStates = typeof watcher.states\n const mutations = {\n setData(states: StoreStates, data: T[]) {\n const dataInstanceChanged = unref(states._data) !== data\n states.data.value = data\n states._data.value = data\n instance.store.execQuery()\n // 数据变化,更新部分数据。\n // 没有使用 computed,而是手动更新部分数据 https://github.com/vuejs/vue/issues/6660#issuecomment-331417140\n instance.store.updateCurrentRowData()\n instance.store.updateExpandRows()\n instance.store.updateTreeData(\n instance.store.states.defaultExpandAll.value\n )\n if (unref(states.reserveSelection)) {\n instance.store.assertRowKey()\n } else {\n if (dataInstanceChanged) {\n instance.store.clearSelection()\n } else {\n instance.store.cleanSelection()\n }\n }\n instance.store.updateSelectionByChildren({ emitChange: false })\n instance.store.updateAllSelected()\n if (instance.$ready) {\n instance.store.scheduleLayout()\n }\n },\n\n insertColumn(\n states: StoreStates,\n column: TableColumnCtx<T>,\n parent: TableColumnCtx<T>,\n updateColumnOrder: () => void\n ) {\n const array = unref(states._columns)\n let newColumns = []\n if (!parent) {\n array.push(column)\n newColumns = array\n } else {\n if (parent && !parent.children) {\n parent.children = []\n }\n parent.children?.push(column)\n newColumns = replaceColumn(array, parent)\n }\n sortColumn(newColumns)\n states._columns.value = newColumns\n states.updateOrderFns.push(updateColumnOrder)\n if (column.type === 'selection') {\n states.selectable.value = column.selectable\n states.reserveSelection.value = column.reserveSelection\n }\n if (instance.$ready) {\n instance.store.updateColumns() // hack for dynamics insert column\n instance.store.scheduleLayout()\n }\n },\n\n updateColumnOrder(states: StoreStates, column: TableColumnCtx<T>) {\n const newColumnIndex = column.getColumnIndex?.()\n if (newColumnIndex === column.no) return\n\n sortColumn(states._columns.value)\n\n if (instance.$ready) {\n instance.store.updateColumns()\n }\n },\n\n removeColumn(\n states: StoreStates,\n column: TableColumnCtx<T>,\n parent: TableColumnCtx<T>,\n updateColumnOrder: () => void\n ) {\n const array = unref(states._columns) || []\n if (parent) {\n parent.children?.splice(\n parent.children.findIndex((item) => item.id === column.id),\n 1\n )\n // fix #10699, delete parent.children immediately will trigger again\n nextTick(() => {\n if (parent.children?.length === 0) {\n delete parent.children\n }\n })\n states._columns.value = replaceColumn(array, parent)\n } else {\n const index = array.indexOf(column)\n if (index > -1) {\n array.splice(index, 1)\n states._columns.value = array\n }\n }\n\n const updateFnIndex = states.updateOrderFns.indexOf(updateColumnOrder)\n updateFnIndex > -1 && states.updateOrderFns.splice(updateFnIndex, 1)\n\n if (instance.$ready) {\n instance.store.updateColumns() // hack for dynamics remove column\n instance.store.scheduleLayout()\n }\n },\n\n sort(states: StoreStates, options: Sort) {\n const { prop, order, init } = options\n if (prop) {\n const column = unref(states.columns).find(\n (column) => column.property === prop\n )\n if (column) {\n column.order = order\n instance.store.updateSort(column, prop, order)\n instance.store.commit('changeSortCondition', { init })\n }\n }\n },\n\n changeSortCondition(states: StoreStates, options: Sort) {\n // 修复 pr https://github.com/ElemeFE/element/pull/15012 导致的 bug\n // https://github.com/element-plus/element-plus/pull/4640\n const { sortingColumn, sortProp, sortOrder } = states\n const columnValue = unref(sortingColumn),\n propValue = unref(sortProp),\n orderValue = unref(sortOrder)\n if (isNull(orderValue)) {\n states.sortingColumn.value = null\n states.sortProp.value = null\n }\n const ignore = { filter: true }\n instance.store.execQuery(ignore)\n\n if (!options || !(options.silent || options.init)) {\n instance.emit('sort-change', {\n column: columnValue!,\n prop: propValue,\n order: orderValue,\n })\n }\n\n instance.store.updateTableScrollY()\n },\n\n filterChange(_states: StoreStates, options: Filter<T>) {\n const { column, values, silent } = options\n const newFilters = instance.store.updateFilters(column, values)\n instance.store.execQuery()\n\n if (!silent) {\n instance.emit('filter-change', newFilters)\n }\n instance.store.updateTableScrollY()\n },\n\n toggleAllSelection() {\n instance.store.toggleAllSelection?.()\n },\n\n rowSelectedChanged(_states: StoreStates, row: T) {\n instance.store.toggleRowSelection(row)\n instance.store.updateAllSelected()\n },\n\n setHoverRow(states: StoreStates, row: T) {\n states.hoverRow.value = row\n },\n\n setCurrentRow(_states: StoreStates, row: T) {\n instance.store.updateCurrentRow(row)\n },\n }\n const commit = function (name: keyof typeof mutations, ...args: any[]) {\n const mutations = instance.store.mutations\n if (mutations[name]) {\n ;(mutations[name] as any).apply(instance, [\n instance.store.states,\n ...args,\n ])\n } else {\n throw new Error(`Action not found: ${name}`)\n }\n }\n const updateTableScrollY = function () {\n nextTick(() => instance.layout.updateScrollY.apply(instance.layout))\n }\n return {\n ns,\n t,\n ...watcher,\n mutations,\n commit,\n updateTableScrollY,\n }\n}\n\nexport default useStore\n\nclass HelperStore<T extends DefaultRow> {\n Return = useStore<T>()\n}\n\ntype StoreFilter = Record<string, string[]>\ntype Store<T extends DefaultRow> = HelperStore<T>['Return']\nexport type { WatcherPropsData, Store, StoreFilter }\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DefaultRow, TreeNode } from "../table/defaults.js";
|
|
2
1
|
import { WatcherPropsData } from "./index.js";
|
|
2
|
+
import { DefaultRow, TreeNode } from "../table/defaults.js";
|
|
3
3
|
import * as _$vue from "vue";
|
|
4
4
|
|
|
5
5
|
//#region ../../packages/components/table/src/store/tree.d.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { TreeData } from "./tree.js";
|
|
1
2
|
import { TableColumnCtx } from "../table-column/defaults.js";
|
|
2
|
-
import { DefaultRow, TableSortOrder } from "../table/defaults.js";
|
|
3
3
|
import { StoreFilter } from "./index.js";
|
|
4
|
-
import {
|
|
4
|
+
import { DefaultRow, TableSortOrder } from "../table/defaults.js";
|
|
5
5
|
import { Ref } from "vue";
|
|
6
6
|
|
|
7
7
|
//#region ../../packages/components/table/src/store/watcher.d.ts
|
|
@@ -83,7 +83,7 @@ declare function useWatcher<T extends DefaultRow>(): {
|
|
|
83
83
|
filteredData: Ref<T[] | null, T[] | null>;
|
|
84
84
|
sortingColumn: Ref<TableColumnCtx<T> | null, TableColumnCtx<T> | null>;
|
|
85
85
|
sortProp: Ref<string | null, string | null>;
|
|
86
|
-
sortOrder: Ref<
|
|
86
|
+
sortOrder: Ref<TableSortOrder | null, TableSortOrder | null>;
|
|
87
87
|
hoverRow: Ref<T | null, T | null>;
|
|
88
88
|
};
|
|
89
89
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watcher.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/store/watcher.ts"],"sourcesContent":["import { computed, getCurrentInstance, ref, toRefs, unref, watch } from 'vue'\nimport { ensureArray, hasOwn, isArray, isString } 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 {\n DefaultRow,\n Table,\n TableRefs,\n TableSortOrder,\n} from '../table/defaults'\nimport type { StoreFilter } from '.'\n\nconst sortData = <T extends DefaultRow>(\n data: T[],\n states: {\n sortingColumn: TableColumnCtx<T> | null\n sortProp: string | null\n sortOrder: string | number | null\n }\n) => {\n const sortingColumn = states.sortingColumn\n if (!sortingColumn || isString(sortingColumn.sortable)) {\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 = <T extends DefaultRow>(\n columns: TableColumnCtx<T>[]\n) => {\n const result: TableColumnCtx<T>[] = []\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 extends DefaultRow>() {\n const instance = getCurrentInstance() as Table<T>\n const { size: tableSize } = toRefs(instance.proxy?.$props as any)\n const rowKey: Ref<string | null> = 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 selectionIndeterminate = ref<Record<string, boolean>>({})\n const reserveSelection = ref(false)\n const selectOnIndeterminate = ref(false)\n const selectable: Ref<((row: T, index: number) => boolean) | null> = ref(null)\n const rowExpandable: Ref<((row: T, index: number) => boolean) | null> =\n ref(null)\n const filters: Ref<StoreFilter> = ref({})\n const filteredData: Ref<T[] | null> = ref(null)\n const sortingColumn: Ref<TableColumnCtx<T> | null> = ref(null)\n const sortProp: Ref<string | null> = ref(null)\n const sortOrder: Ref<string | number | null> = ref(null)\n const hoverRow: Ref<T | null> = ref(null)\n\n const selectedMap = computed(() => {\n return rowKey.value ? getKeysMap(selection.value, rowKey.value) : undefined\n })\n\n const getRowChildren = (row: T): T[] => {\n const { childrenColumnName, lazyTreeNodeMap } = instance.store.states\n const inlineChildren = (row[childrenColumnName.value] ?? []) as T[]\n if (!rowKey.value) return inlineChildren\n const id = getRowIdentity(row, rowKey.value)\n const lazyChildren = (lazyTreeNodeMap.value?.[id] ?? []) as T[]\n return [...lazyChildren, ...inlineChildren]\n }\n\n watch(\n data,\n () => {\n if (instance.state) {\n scheduleLayout(false)\n const needUpdateFixed = instance.props.tableLayout === 'auto'\n if (needUpdateFixed) {\n instance.refs.tableHeaderRef?.updateFixedColumnStyle()\n }\n }\n },\n {\n deep: true,\n }\n )\n\n const assertRowKey = () => {\n if (!rowKey.value) throw new Error('[ElTable] prop row-key is required')\n }\n\n const updateChildFixed = (column: TableColumnCtx<T>) => {\n column.children?.forEach((childColumn) => {\n childColumn.fixed = column.fixed\n updateChildFixed(childColumn)\n })\n }\n\n const updateColumns = () => {\n _columns.value.forEach((column) => {\n updateChildFixed(column)\n })\n fixedColumns.value = _columns.value.filter((column) =>\n [true, 'left'].includes(column.fixed)\n )\n\n const selectColumn = _columns.value.find(\n (column) => column.type === 'selection'\n )\n\n let selectColFixLeft: boolean\n if (\n selectColumn &&\n selectColumn.fixed !== 'right' &&\n !fixedColumns.value.includes(selectColumn)\n ) {\n const selectColumnIndex = _columns.value.indexOf(selectColumn)\n if (selectColumnIndex === 0 && fixedColumns.value.length) {\n fixedColumns.value.unshift(selectColumn)\n selectColFixLeft = true\n }\n }\n\n rightFixedColumns.value = _columns.value.filter(\n (column) => column.fixed === 'right'\n )\n\n const notFixedColumns = _columns.value.filter(\n (column) =>\n (selectColFixLeft ? column.type !== 'selection' : true) && !column.fixed\n )\n\n originColumns.value = Array.from(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 = Array.from(fixedLeafColumns)\n .concat(leafColumns)\n .concat(rightFixedLeafColumns)\n isComplex.value =\n fixedColumns.value.length > 0 || rightFixedColumns.value.length > 0\n }\n\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 const isSelected = (row: T) => {\n if (selectedMap.value) {\n return !!selectedMap.value[getRowIdentity(row, rowKey.value)]\n } else {\n return selection.value.includes(row)\n }\n }\n\n // Used by selectable to compute row indices in tree-shaped data\n const rowIndexMap = computed(() => {\n const map = new Map<string, number>()\n if (!rowKey.value || !selectable.value) return map\n let index = 0\n const _traverse = (rows: T[]) => {\n if (!isArray(rows)) return\n rows.forEach((row) => {\n const id = getRowIdentity(row, rowKey.value)\n map.set(id, index)\n index += 1\n const children = getRowChildren(row)\n if (children.length) _traverse(children)\n })\n }\n _traverse(data.value || [])\n return map\n })\n\n // Update parent selection and indeterminate state based on children selection\n const updateSelectionByChildren = (\n options: {\n emitChange?: boolean\n rowIndexMap?: Map<string, number>\n } = {}\n ) => {\n const { emitChange = true } = options\n if (treeStates.checkStrictly.value || !rowKey.value) {\n selectionIndeterminate.value = {}\n return\n }\n const rowKeyValue = rowKey.value\n const rowIndexMapValue = options.rowIndexMap ?? rowIndexMap.value\n const selectableFn = selectable.value\n const rowIdCache = new WeakMap<T, string>()\n const getCachedRowId = (row: T) => {\n const cachedId = rowIdCache.get(row)\n if (cachedId) return cachedId\n const id = getRowIdentity(row, rowKeyValue)\n rowIdCache.set(row, id)\n return id\n }\n const indeterminateMap: Record<string, boolean> = {}\n const selectedIdSet = new Set(\n selection.value.map((row) => getCachedRowId(row))\n )\n const rowsToAdd: T[] = []\n let selectionChanged = false\n // Sync parent selection without triggering external select event\n const _updateSelectionForRow = (row: T, id: string, selected: boolean) => {\n const isRowSelected = selectedIdSet.has(id)\n if (selected && !isRowSelected) {\n rowsToAdd.push(row)\n selectedIdSet.add(id)\n selectionChanged = true\n } else if (!selected && isRowSelected) {\n selectedIdSet.delete(id)\n selectionChanged = true\n }\n }\n const _walk = (rows: T[]) => {\n let selectedCount = 0\n let selectableCount = 0\n if (!isArray(rows)) return { selectedCount, selectableCount }\n rows.forEach((row) => {\n const id = getCachedRowId(row)\n const children = getRowChildren(row)\n let childSelectedCount = 0\n let childSelectableCount = 0\n if (children.length) {\n const childResult = _walk(children)\n childSelectedCount = childResult.selectedCount\n childSelectableCount = childResult.selectableCount\n }\n const rowSelectable = selectableFn\n ? selectableFn.call(null, row, rowIndexMapValue.get(id) ?? 0)\n : true\n if (rowSelectable) {\n if (childSelectableCount > 0) {\n const allSelected = childSelectedCount === childSelectableCount\n const noneSelected = childSelectedCount === 0\n if (!allSelected && !noneSelected) {\n indeterminateMap[id] = true\n }\n _updateSelectionForRow(row, id, allSelected)\n }\n }\n if (rowSelectable) {\n selectableCount += 1\n if (selectedIdSet.has(id)) {\n selectedCount += 1\n }\n }\n selectedCount += childSelectedCount\n selectableCount += childSelectableCount\n })\n return { selectedCount, selectableCount }\n }\n _walk(data.value || [])\n if (selectionChanged) {\n const nextSelection = selection.value.filter((row) =>\n selectedIdSet.has(getCachedRowId(row))\n )\n rowsToAdd.forEach((row) => {\n if (!selectedIdSet.has(getCachedRowId(row))) return\n nextSelection.push(row)\n })\n selection.value = nextSelection\n }\n selectionIndeterminate.value = indeterminateMap\n if (selectionChanged && emitChange) {\n instance.emit(\n 'selection-change',\n selection.value ? selection.value.slice() : []\n )\n }\n }\n\n const clearSelection = () => {\n isAllSelected.value = false\n const oldSelection = selection.value\n selection.value = []\n selectionIndeterminate.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 childrenKey = instance?.store?.states?.childrenColumnName.value\n const dataMap = getKeysMap(data.value, rowKey.value, true, childrenKey)\n // Include lazy-loaded children only if their parent is still in data\n const { lazyTreeNodeMap } = instance.store.states\n if (lazyTreeNodeMap.value) {\n Object.entries(lazyTreeNodeMap.value).forEach(\n ([parentId, lazyRows]) => {\n if (dataMap[parentId]) {\n ;(lazyRows as T[]).forEach((row) => {\n const id = getRowIdentity(row, rowKey.value)\n if (!dataMap[id]) {\n dataMap[id] = { row, index: -1 }\n }\n })\n }\n }\n )\n }\n for (const key in selectedMap.value) {\n if (hasOwn(selectedMap.value, key) && !dataMap[key]) {\n deleted.push(selectedMap.value[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 updateSelectionByChildren({ emitChange: false })\n instance.emit('selection-change', [...newSelection])\n }\n }\n\n const getSelectionRows = () => {\n return (selection.value || []).slice()\n }\n\n const cascadeToLazyChildren = (\n row: T,\n selected: boolean,\n rowIndexMap: Map<string, number>\n ) => {\n if (\n !rowKey.value ||\n treeStates.checkStrictly.value ||\n !treeStates.lazy.value\n )\n return\n const { lazyTreeNodeMap, childrenColumnName } = instance.store.states\n const id = getRowIdentity(row, rowKey.value)\n const lazyChildren = (lazyTreeNodeMap.value?.[id] ?? []) as T[]\n const inlineChildren = (row[childrenColumnName.value] ?? []) as T[]\n const treeProps = {\n children: childrenColumnName.value,\n checkStrictly: false,\n }\n\n for (const child of lazyChildren) {\n const childIndex =\n rowIndexMap.get(getRowIdentity(child, rowKey.value)) ?? 0\n toggleRowStatus(\n selection.value,\n child,\n selected,\n treeProps,\n selectable.value,\n childIndex,\n rowKey.value\n )\n // Recursively handle lazy children's inline descendants\n cascadeToLazyChildren(child, selected, rowIndexMap)\n }\n // Only recurse into inline children (lazy children handled above)\n for (const child of inlineChildren) {\n cascadeToLazyChildren(child, selected, rowIndexMap)\n }\n }\n\n const toggleRowSelection = (\n row: T,\n selected?: boolean,\n emitChange = true,\n ignoreSelectable = false\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 ignoreSelectable ? undefined : selectable.value,\n data.value.indexOf(row),\n rowKey.value\n )\n if (changed) {\n // lazy mode and non-strict mode, sync lazy children selection status\n if (treeStates.lazy.value && !treeStates.checkStrictly.value) {\n const finalSelected = selected ?? isSelected(row)\n cascadeToLazyChildren(row, finalSelected, rowIndexMap.value)\n updateSelectionByChildren({\n emitChange: false,\n rowIndexMap: rowIndexMap.value,\n })\n } else {\n updateSelectionByChildren({ emitChange: false })\n }\n const newSelection = (selection.value || []).slice()\n // API call to modify selection, don't trigger select event\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 rowKey\n )\n ) {\n selectionChanged = true\n }\n childrenCount += getChildrenCount(getRowIdentity(row, rowKey))\n })\n\n const rowIndexMapVal = rowIndexMap.value\n\n if (treeStates.lazy.value && !treeStates.checkStrictly.value && rowKey) {\n for (const lazyRows of Object.values(treeStates.lazyTreeNodeMap.value)) {\n for (const child of lazyRows as T[]) {\n const childIndex =\n rowIndexMapVal.get(getRowIdentity(child, rowKey)) ?? 0\n if (\n toggleRowStatus(\n selection.value,\n child,\n value,\n treeProps,\n selectable.value,\n childIndex,\n rowKey\n )\n )\n selectionChanged = true\n cascadeToLazyChildren(child, value, rowIndexMapVal)\n }\n }\n }\n\n updateSelectionByChildren({\n emitChange: false,\n rowIndexMap: rowIndexMapVal,\n })\n\n if (selectionChanged) {\n instance.emit(\n 'selection-change',\n selection.value ? [...selection.value] : []\n )\n }\n instance.emit('select-all', (selection.value || []).slice())\n }\n\n const updateAllSelected = () => {\n // When data is null, default values during destructuring are ignored\n if (data.value?.length === 0) {\n isAllSelected.value = false\n return\n }\n\n let rowIndex = 0\n let selectedCount = 0\n\n const checkSelectedStatus = (rows: T[]) => {\n for (const row of rows) {\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 const children = getRowChildren(row)\n if (children.length && !checkSelectedStatus(children)) {\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 getRowIndeterminate = (row: T) => {\n if (!rowKey.value) return false\n const id = getRowIdentity(row, rowKey.value)\n return !!selectionIndeterminate.value[id]\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 const updateFilters = (column: TableColumnCtx<T>, values: string[]) => {\n const filters_: Record<string, string[]> = {}\n ensureArray(column).forEach((col) => {\n filters.value[col.id] = values\n filters_[col.columnKey || col.id] = values\n })\n return filters_\n }\n\n const updateSort = (\n column: TableColumnCtx<T> | null,\n prop: string | null,\n order: TableSortOrder | null\n ) => {\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 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 // Filter and sort data based on filters and sort conditions\n const execQuery = (ignore: { filter: boolean } | undefined = undefined) => {\n if (!ignore?.filter) {\n execFilter()\n }\n execSort()\n }\n\n const clearFilter = (columnKeys?: string[] | string) => {\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 (isString(columnKeys)) {\n columnKeys = [columnKeys]\n }\n\n if (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 updateKeyChildren,\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 // Adapter layer, expand-row-keys is used in both Expand and TreeTable\n const setExpandRowKeysAdapter = (val: string[]) => {\n // Triggers extra computation, but kept for compatibility\n setExpandRowKeys(val)\n updateTreeExpandKeys(val)\n }\n\n // Used for both expand rows and 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 watch(\n () => treeStates.checkStrictly.value,\n (value) => {\n if (value) {\n selectionIndeterminate.value = {}\n } else {\n // Internal sync when switching strict mode, avoid triggering selection-change\n updateSelectionByChildren({ emitChange: false })\n }\n updateAllSelected()\n }\n )\n\n watch(\n () => treeStates.lazyTreeNodeMap.value,\n () => {\n if (\n !treeStates.lazy.value ||\n treeStates.checkStrictly.value ||\n !rowKey.value\n )\n return\n const rowIndexMapVal = rowIndexMap.value\n const prevLen = selection.value.length\n\n for (const parentId of Object.keys(treeStates.lazyTreeNodeMap.value)) {\n if (!selectedMap.value?.[parentId]) continue\n cascadeToLazyChildren(\n selectedMap.value[parentId].row,\n true,\n rowIndexMapVal\n )\n }\n\n const cascadeChanged = selection.value.length !== prevLen\n updateSelectionByChildren({\n emitChange: !cascadeChanged,\n rowIndexMap: rowIndexMapVal,\n })\n updateAllSelected()\n if (cascadeChanged) {\n instance.emit('selection-change', [...selection.value])\n }\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 as (() => void) | null,\n updateAllSelected,\n updateSelectionByChildren,\n getRowIndeterminate,\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 updateKeyChildren,\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 selectionIndeterminate,\n reserveSelection,\n selectOnIndeterminate,\n selectable,\n rowExpandable,\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"],"mappings":"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KAAK,SAAS;;CAItC,YACQ,WAAW,cAAc,QAC9B,UAAU;EACT,IAAI,OACF,uBAAuB,QAAQ,EAAE;OAGjC,0BAA0B,EAAE,YAAY,OAAO,CAAC;EAElD,mBAAmB;GAEtB;CAED,YACQ,WAAW,gBAAgB,aAC3B;EACJ,IACE,CAAC,WAAW,KAAK,SACjB,WAAW,cAAc,SACzB,CAAC,OAAO,OAER;EACF,MAAM,iBAAiB,YAAY;EACnC,MAAM,UAAU,UAAU,MAAM;EAEhC,KAAK,MAAM,YAAY,OAAO,KAAK,WAAW,gBAAgB,MAAM,EAAE;GACpE,IAAI,CAAC,YAAY,QAAQ,WAAW;GACpC,sBACE,YAAY,MAAM,UAAU,KAC5B,MACA,eACD;;EAGH,MAAM,iBAAiB,UAAU,MAAM,WAAW;EAClD,0BAA0B;GACxB,YAAY,CAAC;GACb,aAAa;GACd,CAAC;EACF,mBAAmB;EACnB,IAAI,gBACF,SAAS,KAAK,oBAAoB,CAAC,GAAG,UAAU,MAAM,CAAC;GAG5D;CAED,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,oBAAoB;EACpB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACH,GAAG;GACH,GAAG;GACJ;EACF"}
|
|
1
|
+
{"version":3,"file":"watcher.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/store/watcher.ts"],"sourcesContent":["import { computed, getCurrentInstance, ref, toRefs, unref, watch } from 'vue'\nimport { ensureArray, hasOwn, isArray, isString } 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 {\n DefaultRow,\n Table,\n TableRefs,\n TableSortOrder,\n} from '../table/defaults'\nimport type { StoreFilter } from '.'\n\nconst sortData = <T extends DefaultRow>(\n data: T[],\n states: {\n sortingColumn: TableColumnCtx<T> | null\n sortProp: string | null\n sortOrder: string | number | null\n }\n) => {\n const sortingColumn = states.sortingColumn\n if (!sortingColumn || isString(sortingColumn.sortable)) {\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 = <T extends DefaultRow>(\n columns: TableColumnCtx<T>[]\n) => {\n const result: TableColumnCtx<T>[] = []\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 extends DefaultRow>() {\n const instance = getCurrentInstance() as Table<T>\n const { size: tableSize } = toRefs(instance.proxy?.$props as any)\n const rowKey: Ref<string | null> = 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 selectionIndeterminate = ref<Record<string, boolean>>({})\n const reserveSelection = ref(false)\n const selectOnIndeterminate = ref(false)\n const selectable: Ref<((row: T, index: number) => boolean) | null> = ref(null)\n const rowExpandable: Ref<((row: T, index: number) => boolean) | null> =\n ref(null)\n const filters: Ref<StoreFilter> = ref({})\n const filteredData: Ref<T[] | null> = ref(null)\n const sortingColumn: Ref<TableColumnCtx<T> | null> = ref(null)\n const sortProp: Ref<string | null> = ref(null)\n const sortOrder: Ref<TableSortOrder | null> = ref(null)\n const hoverRow: Ref<T | null> = ref(null)\n\n const selectedMap = computed(() => {\n return rowKey.value ? getKeysMap(selection.value, rowKey.value) : undefined\n })\n\n const getRowChildren = (row: T): T[] => {\n const { childrenColumnName, lazyTreeNodeMap } = instance.store.states\n const inlineChildren = (row[childrenColumnName.value] ?? []) as T[]\n if (!rowKey.value) return inlineChildren\n const id = getRowIdentity(row, rowKey.value)\n const lazyChildren = (lazyTreeNodeMap.value?.[id] ?? []) as T[]\n return [...lazyChildren, ...inlineChildren]\n }\n\n watch(\n data,\n () => {\n if (instance.state) {\n scheduleLayout(false)\n const needUpdateFixed = instance.props.tableLayout === 'auto'\n if (needUpdateFixed) {\n instance.refs.tableHeaderRef?.updateFixedColumnStyle()\n }\n }\n },\n {\n deep: true,\n }\n )\n\n const assertRowKey = () => {\n if (!rowKey.value) throw new Error('[ElTable] prop row-key is required')\n }\n\n const updateChildFixed = (column: TableColumnCtx<T>) => {\n column.children?.forEach((childColumn) => {\n childColumn.fixed = column.fixed\n updateChildFixed(childColumn)\n })\n }\n\n const updateColumns = () => {\n _columns.value.forEach((column) => {\n updateChildFixed(column)\n })\n fixedColumns.value = _columns.value.filter((column) =>\n [true, 'left'].includes(column.fixed)\n )\n\n const selectColumn = _columns.value.find(\n (column) => column.type === 'selection'\n )\n\n let selectColFixLeft: boolean\n if (\n selectColumn &&\n selectColumn.fixed !== 'right' &&\n !fixedColumns.value.includes(selectColumn)\n ) {\n const selectColumnIndex = _columns.value.indexOf(selectColumn)\n if (selectColumnIndex === 0 && fixedColumns.value.length) {\n fixedColumns.value.unshift(selectColumn)\n selectColFixLeft = true\n }\n }\n\n rightFixedColumns.value = _columns.value.filter(\n (column) => column.fixed === 'right'\n )\n\n const notFixedColumns = _columns.value.filter(\n (column) =>\n (selectColFixLeft ? column.type !== 'selection' : true) && !column.fixed\n )\n\n originColumns.value = Array.from(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 = Array.from(fixedLeafColumns)\n .concat(leafColumns)\n .concat(rightFixedLeafColumns)\n isComplex.value =\n fixedColumns.value.length > 0 || rightFixedColumns.value.length > 0\n }\n\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 const isSelected = (row: T) => {\n if (selectedMap.value) {\n return !!selectedMap.value[getRowIdentity(row, rowKey.value)]\n } else {\n return selection.value.includes(row)\n }\n }\n\n // Used by selectable to compute row indices in tree-shaped data\n const rowIndexMap = computed(() => {\n const map = new Map<string, number>()\n if (!rowKey.value || !selectable.value) return map\n let index = 0\n const _traverse = (rows: T[]) => {\n if (!isArray(rows)) return\n rows.forEach((row) => {\n const id = getRowIdentity(row, rowKey.value)\n map.set(id, index)\n index += 1\n const children = getRowChildren(row)\n if (children.length) _traverse(children)\n })\n }\n _traverse(data.value || [])\n return map\n })\n\n // Update parent selection and indeterminate state based on children selection\n const updateSelectionByChildren = (\n options: {\n emitChange?: boolean\n rowIndexMap?: Map<string, number>\n } = {}\n ) => {\n const { emitChange = true } = options\n if (treeStates.checkStrictly.value || !rowKey.value) {\n selectionIndeterminate.value = {}\n return\n }\n const rowKeyValue = rowKey.value\n const rowIndexMapValue = options.rowIndexMap ?? rowIndexMap.value\n const selectableFn = selectable.value\n const rowIdCache = new WeakMap<T, string>()\n const getCachedRowId = (row: T) => {\n const cachedId = rowIdCache.get(row)\n if (cachedId) return cachedId\n const id = getRowIdentity(row, rowKeyValue)\n rowIdCache.set(row, id)\n return id\n }\n const indeterminateMap: Record<string, boolean> = {}\n const selectedIdSet = new Set(\n selection.value.map((row) => getCachedRowId(row))\n )\n const rowsToAdd: T[] = []\n let selectionChanged = false\n // Sync parent selection without triggering external select event\n const _updateSelectionForRow = (row: T, id: string, selected: boolean) => {\n const isRowSelected = selectedIdSet.has(id)\n if (selected && !isRowSelected) {\n rowsToAdd.push(row)\n selectedIdSet.add(id)\n selectionChanged = true\n } else if (!selected && isRowSelected) {\n selectedIdSet.delete(id)\n selectionChanged = true\n }\n }\n const _walk = (rows: T[]) => {\n let selectedCount = 0\n let selectableCount = 0\n if (!isArray(rows)) return { selectedCount, selectableCount }\n rows.forEach((row) => {\n const id = getCachedRowId(row)\n const children = getRowChildren(row)\n let childSelectedCount = 0\n let childSelectableCount = 0\n if (children.length) {\n const childResult = _walk(children)\n childSelectedCount = childResult.selectedCount\n childSelectableCount = childResult.selectableCount\n }\n const rowSelectable = selectableFn\n ? selectableFn.call(null, row, rowIndexMapValue.get(id) ?? 0)\n : true\n if (rowSelectable) {\n if (childSelectableCount > 0) {\n const allSelected = childSelectedCount === childSelectableCount\n const noneSelected = childSelectedCount === 0\n if (!allSelected && !noneSelected) {\n indeterminateMap[id] = true\n }\n _updateSelectionForRow(row, id, allSelected)\n }\n }\n if (rowSelectable) {\n selectableCount += 1\n if (selectedIdSet.has(id)) {\n selectedCount += 1\n }\n }\n selectedCount += childSelectedCount\n selectableCount += childSelectableCount\n })\n return { selectedCount, selectableCount }\n }\n _walk(data.value || [])\n if (selectionChanged) {\n const nextSelection = selection.value.filter((row) =>\n selectedIdSet.has(getCachedRowId(row))\n )\n rowsToAdd.forEach((row) => {\n if (!selectedIdSet.has(getCachedRowId(row))) return\n nextSelection.push(row)\n })\n selection.value = nextSelection\n }\n selectionIndeterminate.value = indeterminateMap\n if (selectionChanged && emitChange) {\n instance.emit(\n 'selection-change',\n selection.value ? selection.value.slice() : []\n )\n }\n }\n\n const clearSelection = () => {\n isAllSelected.value = false\n const oldSelection = selection.value\n selection.value = []\n selectionIndeterminate.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 childrenKey = instance?.store?.states?.childrenColumnName.value\n const dataMap = getKeysMap(data.value, rowKey.value, true, childrenKey)\n // Include lazy-loaded children only if their parent is still in data\n const { lazyTreeNodeMap } = instance.store.states\n if (lazyTreeNodeMap.value) {\n Object.entries(lazyTreeNodeMap.value).forEach(\n ([parentId, lazyRows]) => {\n if (dataMap[parentId]) {\n ;(lazyRows as T[]).forEach((row) => {\n const id = getRowIdentity(row, rowKey.value)\n if (!dataMap[id]) {\n dataMap[id] = { row, index: -1 }\n }\n })\n }\n }\n )\n }\n for (const key in selectedMap.value) {\n if (hasOwn(selectedMap.value, key) && !dataMap[key]) {\n deleted.push(selectedMap.value[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 updateSelectionByChildren({ emitChange: false })\n instance.emit('selection-change', [...newSelection])\n }\n }\n\n const getSelectionRows = () => {\n return (selection.value || []).slice()\n }\n\n const cascadeToLazyChildren = (\n row: T,\n selected: boolean,\n rowIndexMap: Map<string, number>\n ) => {\n if (\n !rowKey.value ||\n treeStates.checkStrictly.value ||\n !treeStates.lazy.value\n )\n return\n const { lazyTreeNodeMap, childrenColumnName } = instance.store.states\n const id = getRowIdentity(row, rowKey.value)\n const lazyChildren = (lazyTreeNodeMap.value?.[id] ?? []) as T[]\n const inlineChildren = (row[childrenColumnName.value] ?? []) as T[]\n const treeProps = {\n children: childrenColumnName.value,\n checkStrictly: false,\n }\n\n for (const child of lazyChildren) {\n const childIndex =\n rowIndexMap.get(getRowIdentity(child, rowKey.value)) ?? 0\n toggleRowStatus(\n selection.value,\n child,\n selected,\n treeProps,\n selectable.value,\n childIndex,\n rowKey.value\n )\n // Recursively handle lazy children's inline descendants\n cascadeToLazyChildren(child, selected, rowIndexMap)\n }\n // Only recurse into inline children (lazy children handled above)\n for (const child of inlineChildren) {\n cascadeToLazyChildren(child, selected, rowIndexMap)\n }\n }\n\n const toggleRowSelection = (\n row: T,\n selected?: boolean,\n emitChange = true,\n ignoreSelectable = false\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 ignoreSelectable ? undefined : selectable.value,\n data.value.indexOf(row),\n rowKey.value\n )\n if (changed) {\n // lazy mode and non-strict mode, sync lazy children selection status\n if (treeStates.lazy.value && !treeStates.checkStrictly.value) {\n const finalSelected = selected ?? isSelected(row)\n cascadeToLazyChildren(row, finalSelected, rowIndexMap.value)\n updateSelectionByChildren({\n emitChange: false,\n rowIndexMap: rowIndexMap.value,\n })\n } else {\n updateSelectionByChildren({ emitChange: false })\n }\n const newSelection = (selection.value || []).slice()\n // API call to modify selection, don't trigger select event\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 rowKey\n )\n ) {\n selectionChanged = true\n }\n childrenCount += getChildrenCount(getRowIdentity(row, rowKey))\n })\n\n const rowIndexMapVal = rowIndexMap.value\n\n if (treeStates.lazy.value && !treeStates.checkStrictly.value && rowKey) {\n for (const lazyRows of Object.values(treeStates.lazyTreeNodeMap.value)) {\n for (const child of lazyRows as T[]) {\n const childIndex =\n rowIndexMapVal.get(getRowIdentity(child, rowKey)) ?? 0\n if (\n toggleRowStatus(\n selection.value,\n child,\n value,\n treeProps,\n selectable.value,\n childIndex,\n rowKey\n )\n )\n selectionChanged = true\n cascadeToLazyChildren(child, value, rowIndexMapVal)\n }\n }\n }\n\n updateSelectionByChildren({\n emitChange: false,\n rowIndexMap: rowIndexMapVal,\n })\n\n if (selectionChanged) {\n instance.emit(\n 'selection-change',\n selection.value ? [...selection.value] : []\n )\n }\n instance.emit('select-all', (selection.value || []).slice())\n }\n\n const updateAllSelected = () => {\n // When data is null, default values during destructuring are ignored\n if (data.value?.length === 0) {\n isAllSelected.value = false\n return\n }\n\n let rowIndex = 0\n let selectedCount = 0\n\n const checkSelectedStatus = (rows: T[]) => {\n for (const row of rows) {\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 const children = getRowChildren(row)\n if (children.length && !checkSelectedStatus(children)) {\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 getRowIndeterminate = (row: T) => {\n if (!rowKey.value) return false\n const id = getRowIdentity(row, rowKey.value)\n return !!selectionIndeterminate.value[id]\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 const updateFilters = (column: TableColumnCtx<T>, values: string[]) => {\n const filters_: Record<string, string[]> = {}\n ensureArray(column).forEach((col) => {\n filters.value[col.id] = values\n filters_[col.columnKey || col.id] = values\n })\n return filters_\n }\n\n const updateSort = (\n column: TableColumnCtx<T> | null,\n prop: string | null,\n order: TableSortOrder | null\n ) => {\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 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 // Filter and sort data based on filters and sort conditions\n const execQuery = (ignore: { filter: boolean } | undefined = undefined) => {\n if (!ignore?.filter) {\n execFilter()\n }\n execSort()\n }\n\n const clearFilter = (columnKeys?: string[] | string) => {\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 (isString(columnKeys)) {\n columnKeys = [columnKeys]\n }\n\n if (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 updateKeyChildren,\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 // Adapter layer, expand-row-keys is used in both Expand and TreeTable\n const setExpandRowKeysAdapter = (val: string[]) => {\n // Triggers extra computation, but kept for compatibility\n setExpandRowKeys(val)\n updateTreeExpandKeys(val)\n }\n\n // Used for both expand rows and 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 watch(\n () => treeStates.checkStrictly.value,\n (value) => {\n if (value) {\n selectionIndeterminate.value = {}\n } else {\n // Internal sync when switching strict mode, avoid triggering selection-change\n updateSelectionByChildren({ emitChange: false })\n }\n updateAllSelected()\n }\n )\n\n watch(\n () => treeStates.lazyTreeNodeMap.value,\n () => {\n if (\n !treeStates.lazy.value ||\n treeStates.checkStrictly.value ||\n !rowKey.value\n )\n return\n const rowIndexMapVal = rowIndexMap.value\n const prevLen = selection.value.length\n\n for (const parentId of Object.keys(treeStates.lazyTreeNodeMap.value)) {\n if (!selectedMap.value?.[parentId]) continue\n cascadeToLazyChildren(\n selectedMap.value[parentId].row,\n true,\n rowIndexMapVal\n )\n }\n\n const cascadeChanged = selection.value.length !== prevLen\n updateSelectionByChildren({\n emitChange: !cascadeChanged,\n rowIndexMap: rowIndexMapVal,\n })\n updateAllSelected()\n if (cascadeChanged) {\n instance.emit('selection-change', [...selection.value])\n }\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 as (() => void) | null,\n updateAllSelected,\n updateSelectionByChildren,\n getRowIndeterminate,\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 updateKeyChildren,\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 selectionIndeterminate,\n reserveSelection,\n selectOnIndeterminate,\n selectable,\n rowExpandable,\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"],"mappings":"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KAAK,SAAS;;CAItC,YACQ,WAAW,cAAc,QAC9B,UAAU;EACT,IAAI,OACF,uBAAuB,QAAQ,EAAE;OAGjC,0BAA0B,EAAE,YAAY,OAAO,CAAC;EAElD,mBAAmB;GAEtB;CAED,YACQ,WAAW,gBAAgB,aAC3B;EACJ,IACE,CAAC,WAAW,KAAK,SACjB,WAAW,cAAc,SACzB,CAAC,OAAO,OAER;EACF,MAAM,iBAAiB,YAAY;EACnC,MAAM,UAAU,UAAU,MAAM;EAEhC,KAAK,MAAM,YAAY,OAAO,KAAK,WAAW,gBAAgB,MAAM,EAAE;GACpE,IAAI,CAAC,YAAY,QAAQ,WAAW;GACpC,sBACE,YAAY,MAAM,UAAU,KAC5B,MACA,eACD;;EAGH,MAAM,iBAAiB,UAAU,MAAM,WAAW;EAClD,0BAA0B;GACxB,YAAY,CAAC;GACb,aAAa;GACd,CAAC;EACF,mBAAmB;EACnB,IAAI,gBACF,SAAS,KAAK,oBAAoB,CAAC,GAAG,UAAU,MAAM,CAAC;GAG5D;CAED,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,oBAAoB;EACpB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,QAAQ;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACH,GAAG;GACH,GAAG;GACJ;EACF"}
|
|
@@ -3,8 +3,8 @@ import { ComponentSize } from "../../../../constants/size.js";
|
|
|
3
3
|
import { Nullable } from "../../../../utils/typescript.js";
|
|
4
4
|
import { TableOverflowTooltipFormatter, TableOverflowTooltipOptions } from "../util.js";
|
|
5
5
|
import { TableColumnCtx } from "../table-column/defaults.js";
|
|
6
|
-
import TableLayout from "../table-layout.js";
|
|
7
6
|
import { Store } from "../store/index.js";
|
|
7
|
+
import TableLayout from "../table-layout.js";
|
|
8
8
|
import { CSSProperties, ComponentInternalInstance, PropType, Ref, StyleValue, VNode } from "vue";
|
|
9
9
|
|
|
10
10
|
//#region ../../packages/components/table/src/table/defaults.d.ts
|
|
@@ -54,7 +54,7 @@ type SummaryMethod<T extends DefaultRow> = (data: {
|
|
|
54
54
|
columns: TableColumnCtx<T>[];
|
|
55
55
|
data: T[];
|
|
56
56
|
}) => (string | VNode)[];
|
|
57
|
-
interface Table<T extends DefaultRow = any> extends ComponentInternalInstance {
|
|
57
|
+
interface Table<T extends DefaultRow = any> extends Omit<ComponentInternalInstance, 'emit'> {
|
|
58
58
|
$ready: boolean;
|
|
59
59
|
hoverState?: HoverState<T> | null;
|
|
60
60
|
renderExpanded: RenderExpanded<T>;
|
|
@@ -63,6 +63,7 @@ interface Table<T extends DefaultRow = any> extends ComponentInternalInstance {
|
|
|
63
63
|
refs: TableRefs;
|
|
64
64
|
tableId: string;
|
|
65
65
|
state: TableState;
|
|
66
|
+
emit: TableEmits<T>;
|
|
66
67
|
}
|
|
67
68
|
type ColumnCls<T> = string | ((data: {
|
|
68
69
|
row: T;
|
|
@@ -310,6 +311,30 @@ interface TableConfigContext {
|
|
|
310
311
|
tooltipOptions?: TableOverflowTooltipOptions;
|
|
311
312
|
tooltipFormatter?: TableOverflowTooltipFormatter<any>;
|
|
312
313
|
}
|
|
314
|
+
interface TableEmits<T extends DefaultRow = DefaultRow> {
|
|
315
|
+
(e: 'select', selection: T[], row: T): void;
|
|
316
|
+
(e: 'select-all', selection: T[]): void;
|
|
317
|
+
(e: 'selection-change', newSelection: T[]): void;
|
|
318
|
+
(e: 'cell-mouse-enter' | 'cell-mouse-leave' | 'cell-dblclick', row: T, column: TableColumnCtx<T>, cell: HTMLTableCellElement, event: MouseEvent): void;
|
|
319
|
+
(e: 'cell-contextmenu' | 'cell-click', row: T, column: TableColumnCtx<T>, cell: HTMLTableCellElement, event: PointerEvent): void;
|
|
320
|
+
(e: 'row-dblclick', row: T, column: TableColumnCtx<T> | null, event: MouseEvent): void;
|
|
321
|
+
(e: 'row-click' | 'row-contextmenu', row: T, column: TableColumnCtx<T> | null, event: PointerEvent): void;
|
|
322
|
+
(e: 'header-click' | 'header-contextmenu', column: TableColumnCtx<T>, event: PointerEvent): void;
|
|
323
|
+
(e: 'sort-change', data: {
|
|
324
|
+
column: TableColumnCtx<T>;
|
|
325
|
+
prop: string | null;
|
|
326
|
+
order: TableSortOrder | null;
|
|
327
|
+
}): void;
|
|
328
|
+
(e: 'filter-change', newFilters: Record<string, string[]>): void;
|
|
329
|
+
(e: 'current-change', currentRow: T | null, oldCurrentRow: T | null): void;
|
|
330
|
+
(e: 'header-dragend', newWidth: number, oldWidth: number, column: TableColumnCtx<T>, event: MouseEvent): void;
|
|
331
|
+
(e: 'expand-change', row: T, expandedRows: T[]): void;
|
|
332
|
+
(e: 'expand-change', row: T, expanded: boolean): void;
|
|
333
|
+
(e: 'scroll', data: {
|
|
334
|
+
scrollLeft: number;
|
|
335
|
+
scrollTop: number;
|
|
336
|
+
}): void;
|
|
337
|
+
}
|
|
313
338
|
/**
|
|
314
339
|
* @deprecated Removed after 3.0.0, Use `TableProps` instead.
|
|
315
340
|
*/
|
|
@@ -330,15 +355,15 @@ declare const tableProps: {
|
|
|
330
355
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
331
356
|
__epPropKey: true;
|
|
332
357
|
};
|
|
333
|
-
width: (
|
|
358
|
+
width: (StringConstructor | NumberConstructor)[];
|
|
334
359
|
/**
|
|
335
360
|
* @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
|
|
336
361
|
*/
|
|
337
|
-
height: (
|
|
362
|
+
height: (StringConstructor | NumberConstructor)[];
|
|
338
363
|
/**
|
|
339
364
|
* @description table's max-height. The legal value is a number or the height in px
|
|
340
365
|
*/
|
|
341
|
-
maxHeight: (
|
|
366
|
+
maxHeight: (StringConstructor | NumberConstructor)[];
|
|
342
367
|
/**
|
|
343
368
|
* @description whether width of column automatically fits its container
|
|
344
369
|
*/
|
|
@@ -416,7 +441,7 @@ declare const tableProps: {
|
|
|
416
441
|
/**
|
|
417
442
|
* @description key of current row, a set only prop
|
|
418
443
|
*/
|
|
419
|
-
currentRowKey: (
|
|
444
|
+
currentRowKey: (StringConstructor | NumberConstructor)[];
|
|
420
445
|
/**
|
|
421
446
|
* @description displayed text when data is empty. You can customize this area with `#empty`
|
|
422
447
|
*/
|
|
@@ -520,7 +545,7 @@ declare const tableProps: {
|
|
|
520
545
|
tooltipFormatter: PropType<TableProps<any>["tooltipFormatter"]>;
|
|
521
546
|
appendFilterPanelTo: StringConstructor;
|
|
522
547
|
scrollbarTabindex: {
|
|
523
|
-
type: (
|
|
548
|
+
type: (StringConstructor | NumberConstructor)[];
|
|
524
549
|
default: undefined;
|
|
525
550
|
};
|
|
526
551
|
/**
|
|
@@ -540,4 +565,4 @@ declare const tableProps: {
|
|
|
540
565
|
nativeScrollbar: BooleanConstructor;
|
|
541
566
|
};
|
|
542
567
|
//#endregion
|
|
543
|
-
export { type CellCls, type CellStyle, type ColumnCls, type ColumnStyle, type DefaultRow, type Filter, type RenderExpanded, type RenderRowData, type Sort, type SummaryMethod, type Table, type TableColumnCtx, type TableConfigContext, type TableProps, type TableRefs, type TableSortOrder, type TableTooltipData, type TreeNode, type TreeProps, tableProps as default, tableProps };
|
|
568
|
+
export { type CellCls, type CellStyle, type ColumnCls, type ColumnStyle, type DefaultRow, type Filter, type RenderExpanded, type RenderRowData, type Sort, type SummaryMethod, type Table, type TableColumnCtx, type TableConfigContext, type TableEmits, type TableProps, type TableRefs, type TableSortOrder, type TableTooltipData, type TreeNode, type TreeProps, tableProps as default, tableProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/table/defaults.ts"],"sourcesContent":["import { useSizeProp } from '@element-plus/hooks'\n\nimport type {\n CSSProperties,\n ComponentInternalInstance,\n PropType,\n Ref,\n StyleValue,\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 {\n TableOverflowTooltipFormatter,\n TableOverflowTooltipOptions,\n} from '../util'\n\ntype DefaultRow = Record<PropertyKey, 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 extends DefaultRow> = Nullable<{\n cell: HTMLElement\n column: TableColumnCtx<T>\n row: T\n}>\n\ntype RIS<T extends DefaultRow> = {\n row: T\n $index: number\n store: Store<T>\n expanded: boolean\n}\n\ntype RenderExpanded<T extends DefaultRow> = ({\n row,\n $index,\n store,\n expanded,\n}: RIS<T>) => VNode[] | undefined\n\ntype SummaryMethod<T extends DefaultRow> = (data: {\n columns: TableColumnCtx<T>[]\n data: T[]\n}) => (string | VNode)[]\n\ninterface Table<T extends DefaultRow = any> extends ComponentInternalInstance {\n $ready: boolean\n hoverState?: HoverState<T> | null\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 extends DefaultRow> =\n | string\n | ((data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) => string)\ntype CellStyle<T extends DefaultRow> =\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 extends DefaultRow = DefaultRow> {\n /**\n * @description table data\n */\n data?: T[]\n /**\n * @description size of Table\n */\n size?: ComponentSize\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?: boolean\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 | ((row: T) => string)\n context?: Table<T>\n /**\n * @description whether Table header is visible\n */\n showHeader?: boolean\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?: SummaryMethod<T>\n /**\n * @description function that returns custom class names for a row, or a string assigning class names for every row\n */\n rowClassName?: ColumnCls<T>\n /**\n * @description function that returns custom style for a row, or an object assigning custom style for every row\n */\n rowStyle?: ColumnStyle<T>\n /**\n * @description function that returns custom class names for a cell, or a string assigning class names for every cell\n */\n cellClassName?: CellCls<T>\n /**\n * @description function that returns custom style for a cell, or an object assigning custom style for every cell\n */\n cellStyle?: CellStyle<T>\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?: ColumnCls<T>\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?: ColumnStyle<T>\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?: CellCls<T>\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?: CellStyle<T>\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<string>\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 enable expandable rows, works when the table has a column type=\"expand\"\n */\n rowExpandable?: (row: T, index: number) => 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?: Sort\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?: TableOverflowTooltipOptions\n /**\n * @description method that returns rowspan and colspan\n */\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 /**\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?: boolean\n /**\n * @description horizontal indentation of tree data\n */\n indent?: number\n /**\n * @description configuration for rendering nested data\n */\n treeProps?: TreeProps\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?: (row: T, treeNode: TreeNode, resolve: (data: T[]) => void) => void\n className?: string\n style?: StyleValue\n /**\n * @description sets the algorithm used to lay out table cells, rows, and columns\n */\n tableLayout?: Layout\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 | TableOverflowTooltipOptions\n /**\n * @description function that formats cell tooltip content, works when `show-overflow-tooltip` is `true`\n */\n tooltipFormatter?: TableOverflowTooltipFormatter<T>\n appendFilterPanelTo?: string\n scrollbarTabindex?: number | string\n /**\n * @description whether to allow drag the last column\n */\n allowDragLastColumn?: boolean\n /**\n * @description whether to preserve expanded row content in DOM when collapsed\n */\n preserveExpandedContent?: boolean\n /**\n * @description whether to use native scrollbars\n */\n nativeScrollbar?: boolean\n}\n\ntype TableTooltipData<T extends DefaultRow> = Parameters<\n TableOverflowTooltipFormatter<T>\n>[0]\ntype TableSortOrder = 'ascending' | 'descending'\n\ninterface Sort {\n prop: string\n order: TableSortOrder\n init?: any\n silent?: any\n}\n\ninterface Filter<T extends DefaultRow> {\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 extends DefaultRow> {\n store: Store<T>\n _self: Table<T>\n column: TableColumnCtx<T>\n row: T\n $index: number\n cellIndex: number\n treeNode?: TreeNode\n expanded: boolean\n}\n\ninterface TableConfigContext {\n showOverflowTooltip?: boolean | TableOverflowTooltipOptions\n tooltipEffect?: string\n tooltipOptions?: TableOverflowTooltipOptions\n tooltipFormatter?: TableOverflowTooltipFormatter<any>\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `TableProps` instead.\n */\nexport const tableProps = {\n /**\n * @description table data\n */\n data: {\n type: Array as PropType<any[]>,\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<any>['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<any>['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<TableProps<any>['rowClassName']>,\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<any>['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<any>['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<TableProps<any>['cellStyle']>,\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<any>['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<any>['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<any>['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<any>['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<any>['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 enable expandable rows, works when the table has a column type=\"expand\"\n */\n rowExpandable: {\n type: Function as PropType<TableProps<any>['rowExpandable']>,\n },\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<any>['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<any>['tooltipOptions']>,\n /**\n * @description method that returns rowspan and colspan\n */\n spanMethod: Function as PropType<TableProps<any>['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<any>['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<any>['load']>,\n style: {\n type: [String, Object, Array, Boolean] as PropType<\n TableProps<any>['style']\n >,\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: {\n type: [Boolean, Object] as PropType<TableProps<any>['showOverflowTooltip']>,\n default: undefined,\n },\n /**\n * @description function that formats cell tooltip content, works when `show-overflow-tooltip` is `true`\n */\n tooltipFormatter: Function as PropType<TableProps<any>['tooltipFormatter']>,\n appendFilterPanelTo: String,\n scrollbarTabindex: {\n type: [Number, String],\n default: undefined,\n },\n /**\n * @description whether to allow drag the last column\n */\n allowDragLastColumn: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to preserve expanded row content in DOM when collapsed\n */\n preserveExpandedContent: Boolean,\n /**\n * @description whether to use native scrollbars\n */\n nativeScrollbar: Boolean,\n}\nexport type {\n SummaryMethod,\n Table,\n TableProps,\n TableRefs,\n ColumnCls,\n ColumnStyle,\n CellCls,\n CellStyle,\n DefaultRow,\n TreeNode,\n RenderRowData,\n Sort,\n Filter,\n TableColumnCtx,\n TreeProps,\n TableTooltipData,\n TableSortOrder,\n RenderExpanded,\n TableConfigContext,\n}\n\nexport default tableProps\n"],"mappings":";;;;;AA0VA,MAAa,aAAa;;;;CAIxB,MAAM;EACJ,MAAM;EACN,eAAe,EAAE;EAClB;;;;CAID,MAAM;CACN,OAAO,CAAC,QAAQ,OAAO;;;;CAIvB,QAAQ,CAAC,QAAQ,OAAO;;;;CAIxB,WAAW,CAAC,QAAQ,OAAO;;;;CAI3B,KAAK;EACH,MAAM;EACN,SAAS;EACV;;;;CAID,QAAQ;;;;CAIR,QAAQ;;;;CAIR,QAAQ,CAAC,QAAQ,SAAS;;;;CAI1B,YAAY;EACV,MAAM;EACN,SAAS;EACV;;;;CAID,aAAa;;;;CAIb,SAAS;;;;CAIT,eAAe;;;;CAIf,cAAc,CAAC,QAAQ,SAAS;;;;CAIhC,UAAU,CAAC,QAAQ,SAAS;;;;CAI5B,eAAe,CAAC,QAAQ,SAAS;;;;CAMjC,WAAW,CAAC,QAAQ,SAAS;;;;CAI7B,oBAAoB,CAAC,QAAQ,SAAS;;;;CAMtC,gBAAgB,CAAC,QAAQ,SAAS;;;;CAMlC,qBAAqB,CAAC,QAAQ,SAAS;;;;CAMvC,iBAAiB,CAAC,QAAQ,SAAS;;;;CAMnC,qBAAqB;;;;CAIrB,eAAe,CAAC,QAAQ,OAAO;;;;CAI/B,WAAW;;;;CAIX,eAAe;;;;CAIf,kBAAkB;;;;CAIlB,eAAe,EACb,MAAM,UACP;;;;CAID,aAAa;;;;CAIb,eAAe;;;;CAIf,gBAAgB;;;;CAIhB,YAAY;;;;CAIZ,uBAAuB;EACrB,MAAM;EACN,SAAS;EACV;;;;CAID,QAAQ;EACN,MAAM;EACN,SAAS;EACV;;;;CAID,WAAW;EACT,MAAM;EACN,eAAe;GACb,OAAO;IACL,aAAa;IACb,UAAU;IACV,eAAe;IAChB;;EAEJ;;;;CAID,MAAM;;;;CAIN,MAAM;CACN,OAAO;EACL,MAAM;GAAC;GAAQ;GAAQ;GAAO;GAAQ;EAGtC,gBAAgB,EAAE;EACnB;CACD,WAAW;EACT,MAAM;EACN,SAAS;EACV;;;;CAID,aAAa;EACX,MAAM;EACN,SAAS;EACV;;;;CAID,mBAAmB;;;;CAInB,UAAU;;;;CAIV,qBAAqB;EACnB,MAAM,CAAC,SAAS,OAAO;EACvB,SAAS,KAAA;EACV;;;;CAID,kBAAkB;CAClB,qBAAqB;CACrB,mBAAmB;EACjB,MAAM,CAAC,QAAQ,OAAO;EACtB,SAAS,KAAA;EACV;;;;CAID,qBAAqB;EACnB,MAAM;EACN,SAAS;EACV;;;;CAID,yBAAyB;;;;CAIzB,iBAAiB;CAClB"}
|
|
1
|
+
{"version":3,"file":"defaults.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/table/defaults.ts"],"sourcesContent":["import { useSizeProp } from '@element-plus/hooks'\n\nimport type {\n CSSProperties,\n ComponentInternalInstance,\n PropType,\n Ref,\n StyleValue,\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 {\n TableOverflowTooltipFormatter,\n TableOverflowTooltipOptions,\n} from '../util'\n\ntype DefaultRow = Record<PropertyKey, 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 extends DefaultRow> = Nullable<{\n cell: HTMLElement\n column: TableColumnCtx<T>\n row: T\n}>\n\ntype RIS<T extends DefaultRow> = {\n row: T\n $index: number\n store: Store<T>\n expanded: boolean\n}\n\ntype RenderExpanded<T extends DefaultRow> = ({\n row,\n $index,\n store,\n expanded,\n}: RIS<T>) => VNode[] | undefined\n\ntype SummaryMethod<T extends DefaultRow> = (data: {\n columns: TableColumnCtx<T>[]\n data: T[]\n}) => (string | VNode)[]\n\ninterface Table<T extends DefaultRow = any> extends Omit<\n ComponentInternalInstance,\n 'emit'\n> {\n $ready: boolean\n hoverState?: HoverState<T> | null\n renderExpanded: RenderExpanded<T>\n store: Store<T>\n layout: TableLayout<T>\n refs: TableRefs\n tableId: string\n state: TableState\n emit: TableEmits<T>\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 extends DefaultRow> =\n | string\n | ((data: {\n row: T\n rowIndex: number\n column: TableColumnCtx<T>\n columnIndex: number\n }) => string)\ntype CellStyle<T extends DefaultRow> =\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 extends DefaultRow = DefaultRow> {\n /**\n * @description table data\n */\n data?: T[]\n /**\n * @description size of Table\n */\n size?: ComponentSize\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?: boolean\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 | ((row: T) => string)\n context?: Table<T>\n /**\n * @description whether Table header is visible\n */\n showHeader?: boolean\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?: SummaryMethod<T>\n /**\n * @description function that returns custom class names for a row, or a string assigning class names for every row\n */\n rowClassName?: ColumnCls<T>\n /**\n * @description function that returns custom style for a row, or an object assigning custom style for every row\n */\n rowStyle?: ColumnStyle<T>\n /**\n * @description function that returns custom class names for a cell, or a string assigning class names for every cell\n */\n cellClassName?: CellCls<T>\n /**\n * @description function that returns custom style for a cell, or an object assigning custom style for every cell\n */\n cellStyle?: CellStyle<T>\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?: ColumnCls<T>\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?: ColumnStyle<T>\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?: CellCls<T>\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?: CellStyle<T>\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<string>\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 enable expandable rows, works when the table has a column type=\"expand\"\n */\n rowExpandable?: (row: T, index: number) => 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?: Sort\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?: TableOverflowTooltipOptions\n /**\n * @description method that returns rowspan and colspan\n */\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 /**\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?: boolean\n /**\n * @description horizontal indentation of tree data\n */\n indent?: number\n /**\n * @description configuration for rendering nested data\n */\n treeProps?: TreeProps\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?: (row: T, treeNode: TreeNode, resolve: (data: T[]) => void) => void\n className?: string\n style?: StyleValue\n /**\n * @description sets the algorithm used to lay out table cells, rows, and columns\n */\n tableLayout?: Layout\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 | TableOverflowTooltipOptions\n /**\n * @description function that formats cell tooltip content, works when `show-overflow-tooltip` is `true`\n */\n tooltipFormatter?: TableOverflowTooltipFormatter<T>\n appendFilterPanelTo?: string\n scrollbarTabindex?: number | string\n /**\n * @description whether to allow drag the last column\n */\n allowDragLastColumn?: boolean\n /**\n * @description whether to preserve expanded row content in DOM when collapsed\n */\n preserveExpandedContent?: boolean\n /**\n * @description whether to use native scrollbars\n */\n nativeScrollbar?: boolean\n}\n\ntype TableTooltipData<T extends DefaultRow> = Parameters<\n TableOverflowTooltipFormatter<T>\n>[0]\ntype TableSortOrder = 'ascending' | 'descending'\n\ninterface Sort {\n prop: string\n order: TableSortOrder\n init?: any\n silent?: any\n}\n\ninterface Filter<T extends DefaultRow> {\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 extends DefaultRow> {\n store: Store<T>\n _self: Table<T>\n column: TableColumnCtx<T>\n row: T\n $index: number\n cellIndex: number\n treeNode?: TreeNode\n expanded: boolean\n}\n\ninterface TableConfigContext {\n showOverflowTooltip?: boolean | TableOverflowTooltipOptions\n tooltipEffect?: string\n tooltipOptions?: TableOverflowTooltipOptions\n tooltipFormatter?: TableOverflowTooltipFormatter<any>\n}\n\ninterface TableEmits<T extends DefaultRow = DefaultRow> {\n (e: 'select', selection: T[], row: T): void\n (e: 'select-all', selection: T[]): void\n (e: 'selection-change', newSelection: T[]): void\n (\n e: 'cell-mouse-enter' | 'cell-mouse-leave' | 'cell-dblclick',\n row: T,\n column: TableColumnCtx<T>,\n cell: HTMLTableCellElement,\n event: MouseEvent\n ): void\n (\n e: 'cell-contextmenu' | 'cell-click',\n row: T,\n column: TableColumnCtx<T>,\n cell: HTMLTableCellElement,\n event: PointerEvent\n ): void\n (\n e: 'row-dblclick',\n row: T,\n column: TableColumnCtx<T> | null,\n event: MouseEvent\n ): void\n (\n e: 'row-click' | 'row-contextmenu',\n row: T,\n column: TableColumnCtx<T> | null,\n event: PointerEvent\n ): void\n (\n e: 'header-click' | 'header-contextmenu',\n column: TableColumnCtx<T>,\n event: PointerEvent\n ): void\n (\n e: 'sort-change',\n data: {\n column: TableColumnCtx<T>\n prop: string | null\n order: TableSortOrder | null\n }\n ): void\n (e: 'filter-change', newFilters: Record<string, string[]>): void\n (e: 'current-change', currentRow: T | null, oldCurrentRow: T | null): void\n (\n e: 'header-dragend',\n newWidth: number,\n oldWidth: number,\n column: TableColumnCtx<T>,\n event: MouseEvent\n ): void\n (e: 'expand-change', row: T, expandedRows: T[]): void\n (e: 'expand-change', row: T, expanded: boolean): void\n (\n e: 'scroll',\n data: {\n scrollLeft: number\n scrollTop: number\n }\n ): void\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `TableProps` instead.\n */\nexport const tableProps = {\n /**\n * @description table data\n */\n data: {\n type: Array as PropType<any[]>,\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<any>['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<any>['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<TableProps<any>['rowClassName']>,\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<any>['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<any>['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<TableProps<any>['cellStyle']>,\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<any>['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<any>['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<any>['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<any>['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<any>['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 enable expandable rows, works when the table has a column type=\"expand\"\n */\n rowExpandable: {\n type: Function as PropType<TableProps<any>['rowExpandable']>,\n },\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<any>['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<any>['tooltipOptions']>,\n /**\n * @description method that returns rowspan and colspan\n */\n spanMethod: Function as PropType<TableProps<any>['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<any>['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<any>['load']>,\n style: {\n type: [String, Object, Array, Boolean] as PropType<\n TableProps<any>['style']\n >,\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: {\n type: [Boolean, Object] as PropType<TableProps<any>['showOverflowTooltip']>,\n default: undefined,\n },\n /**\n * @description function that formats cell tooltip content, works when `show-overflow-tooltip` is `true`\n */\n tooltipFormatter: Function as PropType<TableProps<any>['tooltipFormatter']>,\n appendFilterPanelTo: String,\n scrollbarTabindex: {\n type: [Number, String],\n default: undefined,\n },\n /**\n * @description whether to allow drag the last column\n */\n allowDragLastColumn: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether to preserve expanded row content in DOM when collapsed\n */\n preserveExpandedContent: Boolean,\n /**\n * @description whether to use native scrollbars\n */\n nativeScrollbar: Boolean,\n}\nexport type {\n SummaryMethod,\n Table,\n TableProps,\n TableRefs,\n ColumnCls,\n ColumnStyle,\n CellCls,\n CellStyle,\n DefaultRow,\n TreeNode,\n RenderRowData,\n Sort,\n Filter,\n TableColumnCtx,\n TreeProps,\n TableTooltipData,\n TableSortOrder,\n RenderExpanded,\n TableConfigContext,\n TableEmits,\n}\n\nexport default tableProps\n"],"mappings":";;;;;AA6ZA,MAAa,aAAa;;;;CAIxB,MAAM;EACJ,MAAM;EACN,eAAe,EAAE;EAClB;;;;CAID,MAAM;CACN,OAAO,CAAC,QAAQ,OAAO;;;;CAIvB,QAAQ,CAAC,QAAQ,OAAO;;;;CAIxB,WAAW,CAAC,QAAQ,OAAO;;;;CAI3B,KAAK;EACH,MAAM;EACN,SAAS;EACV;;;;CAID,QAAQ;;;;CAIR,QAAQ;;;;CAIR,QAAQ,CAAC,QAAQ,SAAS;;;;CAI1B,YAAY;EACV,MAAM;EACN,SAAS;EACV;;;;CAID,aAAa;;;;CAIb,SAAS;;;;CAIT,eAAe;;;;CAIf,cAAc,CAAC,QAAQ,SAAS;;;;CAIhC,UAAU,CAAC,QAAQ,SAAS;;;;CAI5B,eAAe,CAAC,QAAQ,SAAS;;;;CAMjC,WAAW,CAAC,QAAQ,SAAS;;;;CAI7B,oBAAoB,CAAC,QAAQ,SAAS;;;;CAMtC,gBAAgB,CAAC,QAAQ,SAAS;;;;CAMlC,qBAAqB,CAAC,QAAQ,SAAS;;;;CAMvC,iBAAiB,CAAC,QAAQ,SAAS;;;;CAMnC,qBAAqB;;;;CAIrB,eAAe,CAAC,QAAQ,OAAO;;;;CAI/B,WAAW;;;;CAIX,eAAe;;;;CAIf,kBAAkB;;;;CAIlB,eAAe,EACb,MAAM,UACP;;;;CAID,aAAa;;;;CAIb,eAAe;;;;CAIf,gBAAgB;;;;CAIhB,YAAY;;;;CAIZ,uBAAuB;EACrB,MAAM;EACN,SAAS;EACV;;;;CAID,QAAQ;EACN,MAAM;EACN,SAAS;EACV;;;;CAID,WAAW;EACT,MAAM;EACN,eAAe;GACb,OAAO;IACL,aAAa;IACb,UAAU;IACV,eAAe;IAChB;;EAEJ;;;;CAID,MAAM;;;;CAIN,MAAM;CACN,OAAO;EACL,MAAM;GAAC;GAAQ;GAAQ;GAAO;GAAQ;EAGtC,gBAAgB,EAAE;EACnB;CACD,WAAW;EACT,MAAM;EACN,SAAS;EACV;;;;CAID,aAAa;EACX,MAAM;EACN,SAAS;EACV;;;;CAID,mBAAmB;;;;CAInB,UAAU;;;;CAIV,qBAAqB;EACnB,MAAM,CAAC,SAAS,OAAO;EACvB,SAAS,KAAA;EACV;;;;CAID,kBAAkB;CAClB,qBAAqB;CACrB,mBAAmB;EACjB,MAAM,CAAC,QAAQ,OAAO;EACtB,SAAS,KAAA;EACV;;;;CAID,qBAAqB;EACnB,MAAM;EACN,SAAS;EACV;;;;CAID,yBAAyB;;;;CAIzB,iBAAiB;CAClB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { Store } from "../store/index.js";
|
|
1
2
|
import TableLayout from "../table-layout.js";
|
|
2
3
|
import { DefaultRow, RenderExpanded, Table, TableProps } from "./defaults.js";
|
|
3
|
-
import { Store } from "../store/index.js";
|
|
4
4
|
import * as _$vue from "vue";
|
|
5
5
|
|
|
6
6
|
//#region ../../packages/components/table/src/table/style-helper.d.ts
|
|
@@ -35,7 +35,7 @@ declare function useStyle<T extends DefaultRow>(props: TableProps<T>, layout: Ta
|
|
|
35
35
|
tableBodyStyles: _$vue.ComputedRef<{
|
|
36
36
|
width: string;
|
|
37
37
|
}>;
|
|
38
|
-
tableLayout: _$vue.ComputedRef<"
|
|
38
|
+
tableLayout: _$vue.ComputedRef<"fixed" | "auto">;
|
|
39
39
|
scrollbarViewStyle: {
|
|
40
40
|
display: string;
|
|
41
41
|
verticalAlign: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DefaultRow } from "./defaults.js";
|
|
2
1
|
import { Store } from "../store/index.js";
|
|
2
|
+
import { DefaultRow } from "./defaults.js";
|
|
3
3
|
|
|
4
4
|
//#region ../../packages/components/table/src/table/utils-helper.d.ts
|
|
5
5
|
declare function useUtils<T extends DefaultRow>(store: Store<T>): {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TableOverflowTooltipOptions } from "../util.js";
|
|
2
|
-
import { ColumnCls, ColumnStyle, DefaultRow, Table } from "../table/defaults.js";
|
|
3
2
|
import { Store } from "../store/index.js";
|
|
3
|
+
import { ColumnCls, ColumnStyle, DefaultRow, Table } from "../table/defaults.js";
|
|
4
4
|
import { PropType } from "vue";
|
|
5
5
|
|
|
6
6
|
//#region ../../packages/components/table/src/table-body/defaults.d.ts
|
|
@@ -6,9 +6,9 @@ import * as _$lodash_unified0 from "lodash-unified";
|
|
|
6
6
|
|
|
7
7
|
//#region ../../packages/components/table/src/table-body/events-helper.d.ts
|
|
8
8
|
declare function useEvents<T extends DefaultRow>(props: Partial<TableBodyProps<T>>): {
|
|
9
|
-
handleDoubleClick: (event:
|
|
10
|
-
handleClick: (event:
|
|
11
|
-
handleContextMenu: (event:
|
|
9
|
+
handleDoubleClick: (event: MouseEvent, row: T) => void;
|
|
10
|
+
handleClick: (event: PointerEvent, row: T) => void;
|
|
11
|
+
handleContextMenu: (event: PointerEvent, row: T) => void;
|
|
12
12
|
handleMouseEnter: _$lodash_unified0.DebouncedFunc<(index: number) => void>;
|
|
13
13
|
handleMouseLeave: _$lodash_unified0.DebouncedFunc<() => void>;
|
|
14
14
|
handleCellMouseEnter: (event: MouseEvent, row: T, tooltipOptions: TableOverflowTooltipOptions) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events-helper.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/table-body/events-helper.ts"],"sourcesContent":["import { h, inject, ref } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport {\n addClass,\n hasClass,\n isGreaterThan,\n removeClass,\n} from '@element-plus/utils'\nimport {\n createTablePopper,\n getCell,\n getColumnByCell,\n removePopper,\n} from '../util'\nimport { TABLE_INJECTION_KEY } from '../tokens'\n\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { TableBodyProps } from './defaults'\nimport type { TableOverflowTooltipOptions } from '../util'\nimport type { DefaultRow } from '../table/defaults'\n\nfunction useEvents<T extends DefaultRow>(props: Partial<TableBodyProps<T>>) {\n const parent = inject(TABLE_INJECTION_KEY)
|
|
1
|
+
{"version":3,"file":"events-helper.mjs","names":[],"sources":["../../../../../../../packages/components/table/src/table-body/events-helper.ts"],"sourcesContent":["import { h, inject, ref } from 'vue'\nimport { debounce } from 'lodash-unified'\nimport {\n addClass,\n hasClass,\n isGreaterThan,\n removeClass,\n} from '@element-plus/utils'\nimport {\n createTablePopper,\n getCell,\n getColumnByCell,\n removePopper,\n} from '../util'\nimport { TABLE_INJECTION_KEY } from '../tokens'\n\nimport type { TableColumnCtx } from '../table-column/defaults'\nimport type { TableBodyProps } from './defaults'\nimport type { TableOverflowTooltipOptions } from '../util'\nimport type { DefaultRow, Table } from '../table/defaults'\n\ninterface HandleEvent<T> {\n (event: PointerEvent, row: T, name: 'click' | 'contextmenu'): void\n (event: MouseEvent, row: T, name: 'dblclick'): void\n}\n\nfunction useEvents<T extends DefaultRow>(props: Partial<TableBodyProps<T>>) {\n const parent = inject(TABLE_INJECTION_KEY) as Table<T>\n const tooltipContent = ref('')\n const tooltipTrigger = ref(h('div'))\n const handleEvent: HandleEvent<T> = (event, row, name) => {\n const table = parent\n const cell = getCell(event)\n let column: TableColumnCtx<T> | null = null\n const namespace = table?.vnode.el?.dataset.prefix\n if (cell) {\n column = getColumnByCell(\n {\n columns: props.store?.states.columns.value ?? [],\n },\n cell,\n namespace\n )\n if (column) {\n // @ts-expect-error\n table?.emit(`cell-${name}`, row, column, cell, event)\n }\n }\n // @ts-expect-error\n table?.emit(`row-${name}`, row, column, event)\n }\n const handleDoubleClick = (event: MouseEvent, row: T) => {\n handleEvent(event, row, 'dblclick')\n }\n const handleClick = (event: PointerEvent, row: T) => {\n props.store?.commit('setCurrentRow', row)\n handleEvent(event, row, 'click')\n }\n const handleContextMenu = (event: PointerEvent, row: T) => {\n handleEvent(event, row, 'contextmenu')\n }\n const handleMouseEnter = debounce((index: number) => {\n props.store?.commit('setHoverRow', index)\n }, 30)\n const handleMouseLeave = debounce(() => {\n props.store?.commit('setHoverRow', null)\n }, 30)\n const getPadding = (el: HTMLElement) => {\n const style = window.getComputedStyle(el, null)\n const paddingLeft = Number.parseInt(style.paddingLeft, 10) || 0\n const paddingRight = Number.parseInt(style.paddingRight, 10) || 0\n const paddingTop = Number.parseInt(style.paddingTop, 10) || 0\n const paddingBottom = Number.parseInt(style.paddingBottom, 10) || 0\n return {\n left: paddingLeft,\n right: paddingRight,\n top: paddingTop,\n bottom: paddingBottom,\n }\n }\n\n const toggleRowClassByCell = (\n rowSpan: number,\n event: MouseEvent,\n toggle: (el: Element, cls: string) => void\n ) => {\n let node: Node | null | undefined = (event?.target as Element | null)\n ?.parentNode\n while (rowSpan > 1) {\n node = node?.nextSibling\n if (!node || node.nodeName !== 'TR') break\n toggle(node as Element, 'hover-row hover-fixed-row')\n rowSpan--\n }\n }\n\n const handleCellMouseEnter = (\n event: MouseEvent,\n row: T,\n tooltipOptions: TableOverflowTooltipOptions\n ) => {\n if (!parent) return\n const table = parent\n const cell = getCell(event)\n const namespace = table?.vnode.el?.dataset.prefix\n let column: TableColumnCtx<T> | null = null\n if (cell) {\n column = getColumnByCell(\n {\n columns: props.store?.states.columns.value ?? [],\n },\n cell,\n namespace\n )\n if (!column) {\n return\n }\n if (cell.rowSpan > 1) {\n toggleRowClassByCell(cell.rowSpan, event, addClass)\n }\n const hoverState = (table.hoverState = {\n cell,\n column: column as any,\n row,\n })\n table?.emit(\n 'cell-mouse-enter',\n hoverState.row,\n hoverState.column,\n hoverState.cell,\n event\n )\n }\n\n if (!tooltipOptions) {\n if (removePopper?.trigger === cell) {\n removePopper?.()\n }\n return\n }\n\n // 判断是否text-overflow, 如果是就显示tooltip\n const cellChild = (event.target as HTMLElement).querySelector(\n '.cell'\n ) as HTMLElement\n if (\n !(\n hasClass(cellChild, `${namespace}-tooltip`) &&\n cellChild.childNodes.length &&\n cellChild.textContent?.trim()\n )\n ) {\n return\n }\n // use range width instead of scrollWidth to determine whether the text is overflowing\n // to address a potential FireFox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1074543#c3\n const range = document.createRange()\n range.setStart(cellChild, 0)\n range.setEnd(cellChild, cellChild.childNodes.length)\n /** detail: https://github.com/element-plus/element-plus/issues/10790\n * What went wrong?\n * UI > Browser > Zoom, In Blink/WebKit, getBoundingClientRect() sometimes returns inexact values, probably due to lost precision during internal calculations. In the example above:\n * - Expected: 188\n * - Actual: 188.00000762939453\n */\n const { width: rangeWidth, height: rangeHeight } =\n range.getBoundingClientRect()\n const { width: cellChildWidth, height: cellChildHeight } =\n cellChild.getBoundingClientRect()\n\n const { top, left, right, bottom } = getPadding(cellChild)\n const horizontalPadding = left + right\n const verticalPadding = top + bottom\n if (\n isGreaterThan(rangeWidth + horizontalPadding, cellChildWidth) ||\n isGreaterThan(rangeHeight + verticalPadding, cellChildHeight) ||\n // When using a high-resolution screen, it is possible that a returns cellChild.scrollWidth value of 1921 and\n // cellChildWidth returns a value of 1920.994140625. #16856 #16673\n isGreaterThan(cellChild.scrollWidth, cellChildWidth)\n ) {\n createTablePopper(\n tooltipOptions,\n (cell?.innerText || cell?.textContent) ?? '',\n row,\n column,\n cell,\n table\n )\n } else if (removePopper?.trigger === cell) {\n removePopper?.()\n }\n }\n const handleCellMouseLeave = (event: MouseEvent) => {\n const cell = getCell(event)\n if (!cell) return\n if (cell.rowSpan > 1) {\n toggleRowClassByCell(cell.rowSpan, event, removeClass)\n }\n // From the normal user interaction flow, it should never be empty. However, to avoid potential runtime errors, we still keep this defensive optional handling.\n const oldHoverState = parent?.hoverState as NonNullable<Table['hoverState']>\n parent?.emit(\n 'cell-mouse-leave',\n oldHoverState?.row,\n oldHoverState?.column,\n oldHoverState?.cell as HTMLTableCellElement,\n event\n )\n }\n\n return {\n handleDoubleClick,\n handleClick,\n handleContextMenu,\n handleMouseEnter,\n handleMouseLeave,\n handleCellMouseEnter,\n handleCellMouseLeave,\n tooltipContent,\n tooltipTrigger,\n }\n}\n\nexport default useEvents\n"],"mappings":"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"}
|