vxe-table 4.13.1 → 4.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/es/index.css +1 -1
  2. package/es/index.min.css +1 -1
  3. package/es/style.css +1 -1
  4. package/es/style.min.css +1 -1
  5. package/es/table/module/filter/hook.js +30 -11
  6. package/es/table/module/filter/panel.js +47 -20
  7. package/es/table/module/menu/hook.js +1 -1
  8. package/es/table/src/table.js +32 -10
  9. package/es/table/style.css +18 -0
  10. package/es/table/style.min.css +1 -1
  11. package/es/ui/index.js +1 -1
  12. package/es/ui/src/log.js +1 -1
  13. package/es/vxe-table/style.css +18 -0
  14. package/es/vxe-table/style.min.css +1 -1
  15. package/lib/index.css +1 -1
  16. package/lib/index.min.css +1 -1
  17. package/lib/index.umd.js +81 -29
  18. package/lib/index.umd.min.js +1 -1
  19. package/lib/style.css +1 -1
  20. package/lib/style.min.css +1 -1
  21. package/lib/table/module/filter/hook.js +34 -10
  22. package/lib/table/module/filter/hook.min.js +1 -1
  23. package/lib/table/module/filter/panel.js +37 -8
  24. package/lib/table/module/filter/panel.min.js +1 -1
  25. package/lib/table/module/menu/hook.js +1 -1
  26. package/lib/table/module/menu/hook.min.js +1 -1
  27. package/lib/table/src/table.js +863 -12307
  28. package/lib/table/src/table.min.js +1 -1
  29. package/lib/table/style/style.css +18 -0
  30. package/lib/table/style/style.min.css +1 -1
  31. package/lib/ui/index.js +1 -1
  32. package/lib/ui/index.min.js +1 -1
  33. package/lib/ui/src/log.js +1 -1
  34. package/lib/ui/src/log.min.js +1 -1
  35. package/lib/vxe-table/style/style.css +18 -0
  36. package/lib/vxe-table/style/style.min.css +1 -1
  37. package/package.json +2 -2
  38. package/packages/table/module/filter/hook.ts +28 -11
  39. package/packages/table/module/filter/panel.ts +52 -20
  40. package/packages/table/module/menu/hook.ts +1 -1
  41. package/packages/table/src/table.ts +33 -11
  42. package/styles/components/table-module/filter.scss +16 -0
  43. package/styles/components/table.scss +6 -1
  44. /package/es/{iconfont.1744337102291.ttf → iconfont.1744427547299.ttf} +0 -0
  45. /package/es/{iconfont.1744337102291.woff → iconfont.1744427547299.woff} +0 -0
  46. /package/es/{iconfont.1744337102291.woff2 → iconfont.1744427547299.woff2} +0 -0
  47. /package/lib/{iconfont.1744337102291.ttf → iconfont.1744427547299.ttf} +0 -0
  48. /package/lib/{iconfont.1744337102291.woff → iconfont.1744427547299.woff} +0 -0
  49. /package/lib/{iconfont.1744337102291.woff2 → iconfont.1744427547299.woff2} +0 -0
@@ -95,6 +95,16 @@ hooks.add('tableFilterModule', {
95
95
  filterStore.visible = false;
96
96
  } else {
97
97
  const el = refElem.value;
98
+ const {
99
+ scrollTop,
100
+ scrollLeft,
101
+ visibleHeight,
102
+ visibleWidth
103
+ } = (0, _dom.getDomNode)();
104
+ const filterOpts = computeFilterOpts.value;
105
+ const {
106
+ transfer
107
+ } = filterOpts;
98
108
  const tableRect = el.getBoundingClientRect();
99
109
  const btnElem = evnt.currentTarget;
100
110
  const {
@@ -137,28 +147,42 @@ hooks.add('tableFilterModule', {
137
147
  return;
138
148
  }
139
149
  const tableFilter = refTableFilter.value;
140
- const filterWrapperElem = tableFilter ? tableFilter.$el : null;
150
+ const filterWrapperElem = tableFilter ? tableFilter.getRefMaps().refElem.value : null;
141
151
  if (!filterWrapperElem) {
142
152
  return;
143
153
  }
144
154
  const btnRect = btnElem.getBoundingClientRect();
145
- const filterWidth = filterWrapperElem.offsetWidth;
146
155
  const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
147
156
  const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
157
+ const filterWidth = filterWrapperElem.offsetWidth;
148
158
  const centerWidth = filterWidth / 2;
149
- let left = btnRect.left - tableRect.left - centerWidth;
150
- const top = btnRect.top - tableRect.top + btnElem.clientHeight;
151
- // 判断面板不能大于表格高度
152
- const maxHeight = Math.max(40, el.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
153
- if (left < 1) {
154
- left = 1;
155
- } else if (left > el.clientWidth - filterWidth - 1) {
156
- left = el.clientWidth - filterWidth - 1;
159
+ let left = 0;
160
+ let top = 0;
161
+ let maxHeight = 0;
162
+ if (transfer) {
163
+ left = btnRect.left - centerWidth + scrollLeft;
164
+ top = btnRect.top + btnElem.clientHeight + scrollTop;
165
+ maxHeight = Math.min(Math.max(tableRect.height, Math.floor(visibleHeight / 2)), Math.max(80, visibleHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 28));
166
+ if (left < 16) {
167
+ left = 16;
168
+ } else if (left > visibleWidth - filterWidth - 16) {
169
+ left = visibleWidth - filterWidth - 16;
170
+ }
171
+ } else {
172
+ left = btnRect.left - tableRect.left - centerWidth;
173
+ top = btnRect.top - tableRect.top + btnElem.clientHeight;
174
+ maxHeight = Math.max(40, el.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
175
+ if (left < 1) {
176
+ left = 1;
177
+ } else if (left > el.clientWidth - filterWidth - 1) {
178
+ left = el.clientWidth - filterWidth - 1;
179
+ }
157
180
  }
158
181
  filterStore.style = {
159
182
  top: (0, _dom.toCssUnit)(top),
160
183
  left: (0, _dom.toCssUnit)(left)
161
184
  };
185
+ // 判断面板不能大于表格高度
162
186
  filterStore.maxHeight = maxHeight;
163
187
  });
164
188
  }
@@ -1 +1 @@
1
- var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,hooks}=_ui.VxeUI,tableFilterMethodKeys=["openFilter","setFilter","clearFilter","saveFilterPanel","resetFilterPanel","getCheckedFilters","updateFilterOptionStatus"];hooks.add("tableFilterModule",{setupTable(f){let{props:d,reactData:p,internalData:v}=f,{refElem:m,refTableFilter:F}=f.getRefMaps(),{computeFilterOpts:h,computeMouseOpts:_}=f.getComputeMaps(),i=e=>{var t=p.filterStore;t.options.forEach(e=>{e.checked=e._checked}),f.confirmFilterEvent(e)},n=(e,t,l)=>{var r=p.filterStore;r.options.forEach(e=>{e._checked=!1}),l._checked=t,f.checkFilterOptions(),i(e)},a=(e,t,l)=>{l._checked=t,f.checkFilterOptions()},e=e=>{var t=p.filterStore;f.handleClearFilter(t.column),f.confirmFilterEvent(e)},o={checkFilterOptions(){var e=p.filterStore;e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(e,i,t){let{initStore:l,filterStore:c}=p,s=v.elemStore;if(c.column===i&&c.visible)c.visible=!1;else{let a=m.value,o=a.getBoundingClientRect(),u=e.currentTarget;var{filters:n,filterMultiple:d,filterRender:h}=i,h=(0,_utils.isEnableConf)(h)?renderer.get(h.name):null;let r=i.filterRecoverMethod||(h?h.tableFilterRecoverMethod||h.filterRecoverMethod:null);v._currFilterParams=t,Object.assign(c,{multiple:d,options:n,column:i,style:null}),c.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||r&&r({option:e,column:i,$table:f})}),this.checkFilterOptions(),c.visible=!0,l.filter=!0,(0,_vue.nextTick)(()=>{if((0,_util.getRefElem)(s["main-header-scroll"])){var t=F.value,t=t?t.$el:null;if(t){var l=u.getBoundingClientRect(),r=t.offsetWidth,i=t.querySelector(".vxe-table--filter-header"),t=t.querySelector(".vxe-table--filter-footer"),n=r/2;let e=l.left-o.left-n;n=l.top-o.top+u.clientHeight,l=Math.max(40,a.clientHeight-n-(i?i.clientHeight:0)-(t?t.clientHeight:0)-14);e<1?e=1:e>a.clientWidth-r-1&&(e=a.clientWidth-r-1),c.style={top:(0,_dom.toCssUnit)(n),left:(0,_dom.toCssUnit)(e)},c.maxHeight=l}}})}f.dispatchEvent("filter-visible",{column:i,field:i.field,property:i.field,filterList:f.getCheckedFilters(),visible:c.visible},e)},handleClearFilter(e){if(e){var{filters:l,filterRender:r}=e;if(l){r=(0,_utils.isEnableConf)(r)?renderer.get(r.name):null;let t=e.filterResetMethod||(r?r.tableFilterResetMethod||r.filterResetMethod:null);l.forEach(e=>{e._checked=!1,e.checked=!1,t||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),t&&t({options:l,column:e,$table:f})}}},handleColumnConfirmFilter(e,t){var l=d.mouseConfig;let{scrollXLoad:r,scrollYLoad:i}=p;var n=h.value,a=_.value,o=e.field;let u=[],c=[];e.filters.forEach(e=>{e.checked&&(u.push(e.value),c.push(e.data))});var s=f.getCheckedFilters(),e={$table:f,$event:t,column:e,field:o,property:o,values:u,datas:c,filters:s,filterList:s};return n.remote||(f.handleTableData(!0),f.checkSelectionStatus()),l&&a.area&&f.handleFilterEvent&&f.handleFilterEvent(t,e),t&&f.dispatchEvent("filter-change",e,t),f.closeFilter(),f.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=p;if(r||e||i||t)return(r||e)&&f.updateScrollXSpace(),(i||t)&&f.updateScrollYSpace(),f.refreshScroll()}).then(()=>(f.updateCellAreas(),f.recalculate(!0))).then(()=>{setTimeout(()=>f.recalculate(),50)})},confirmFilterEvent(e){var t=p.filterStore,t=t.column;f.handleColumnConfirmFilter(t,e)},handleFilterChangeRadioOption:n,handleFilterChangeMultipleOption:a,handleFilterChangeOption(e,t,l){var r=p.filterStore;r.multiple?a(0,t,l):n(e,t,l)},handleFilterConfirmFilter:i,handleFilterResetFilter:e};return Object.assign(Object.assign({},{openFilter(e){let r=(0,_util.handleFieldOrColumn)(f,e);if(r&&r.filters){let t=v.elemStore,l=r.fixed;return f.scrollToColumn(r).then(()=>{var e=(0,_util.getRefElem)(t[`${l||"main"}-header-wrapper`]||t["main-header-wrapper"]);e&&(e=e.querySelector(`.vxe-header--column.${r.id} .vxe-cell--filter`),(0,_dom.triggerEvent)(e,"click"))})}return(0,_vue.nextTick)()},setFilter(e,t,l){e=(0,_util.handleFieldOrColumn)(f,e);return e&&e.filters&&(e.filters=(0,_util.toFilters)(t||[]),l)?f.handleColumnConfirmFilter(e,new Event("click")):(0,_vue.nextTick)()},clearFilter(e){var t=p.filterStore,l=v.tableFullColumn,r=h.value;let i;return e?(i=(0,_util.handleFieldOrColumn)(f,e))&&o.handleClearFilter(i):l.forEach(o.handleClearFilter),e&&i===t.column||Object.assign(t,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),r.remote?(0,_vue.nextTick)():f.updateData()},saveFilterPanel(){return i(null),(0,_vue.nextTick)()},resetFilterPanel(){return e(null),(0,_vue.nextTick)()},getCheckedFilters(){var e=v.tableFullColumn;let n=[];return e.forEach(e=>{var{field:t,filters:l}=e;let r=[],i=[];l&&l.length&&(l.forEach(e=>{e.checked&&(r.push(e.value),i.push(e.data))}),r.length)&&n.push({column:e,field:t,property:t,values:r,datas:i})}),n},updateFilterOptionStatus(e,t){return e._checked=t,e.checked=t,(0,_vue.nextTick)()}}),o)},setupGrid(e){return e.extendTableMethods(tableFilterMethodKeys)}});
1
+ var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{renderer,hooks}=_ui.VxeUI,tableFilterMethodKeys=["openFilter","setFilter","clearFilter","saveFilterPanel","resetFilterPanel","getCheckedFilters","updateFilterOptionStatus"];hooks.add("tableFilterModule",{setupTable(g){let{props:d,reactData:h,internalData:_}=g,{refElem:k,refTableFilter:C}=g.getRefMaps(),{computeFilterOpts:b,computeMouseOpts:f}=g.getComputeMaps(),i=e=>{var t=h.filterStore;t.options.forEach(e=>{e.checked=e._checked}),g.confirmFilterEvent(e)},a=(e,t,l)=>{var r=h.filterStore;r.options.forEach(e=>{e._checked=!1}),l._checked=t,g.checkFilterOptions(),i(e)},n=(e,t,l)=>{l._checked=t,g.checkFilterOptions()},e=e=>{var t=h.filterStore;g.handleClearFilter(t.column),g.confirmFilterEvent(e)},o={checkFilterOptions(){var e=h.filterStore;e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(e,i,t){let{initStore:l,filterStore:m}=h,F=_.elemStore;if(m.column===i&&m.visible)m.visible=!1;else{let c=k.value,{scrollTop:u,scrollLeft:s,visibleHeight:d,visibleWidth:h}=(0,_dom.getDomNode)();let f=b.value.transfer,p=c.getBoundingClientRect(),v=e.currentTarget;var{filters:a,filterMultiple:n,filterRender:o}=i,o=(0,_utils.isEnableConf)(o)?renderer.get(o.name):null;let r=i.filterRecoverMethod||(o?o.tableFilterRecoverMethod||o.filterRecoverMethod:null);_._currFilterParams=t,Object.assign(m,{multiple:n,options:a,column:i,style:null}),m.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||r&&r({option:e,column:i,$table:g})}),this.checkFilterOptions(),m.visible=!0,l.filter=!0,(0,_vue.nextTick)(()=>{if((0,_util.getRefElem)(F["main-header-scroll"])){var r=C.value,r=r?r.getRefMaps().refElem.value:null;if(r){var i=v.getBoundingClientRect(),a=r.querySelector(".vxe-table--filter-header"),n=r.querySelector(".vxe-table--filter-footer"),r=r.offsetWidth,o=r/2;let e=0,t=0,l=0;f?(e=i.left-o+s,t=i.top+v.clientHeight+u,l=Math.min(Math.max(p.height,Math.floor(d/2)),Math.max(80,d-t-(a?a.clientHeight:0)-(n?n.clientHeight:0)-28)),e<16?e=16:e>h-r-16&&(e=h-r-16)):(e=i.left-p.left-o,t=i.top-p.top+v.clientHeight,l=Math.max(40,c.clientHeight-t-(a?a.clientHeight:0)-(n?n.clientHeight:0)-14),e<1?e=1:e>c.clientWidth-r-1&&(e=c.clientWidth-r-1)),m.style={top:(0,_dom.toCssUnit)(t),left:(0,_dom.toCssUnit)(e)},m.maxHeight=l}}})}g.dispatchEvent("filter-visible",{column:i,field:i.field,property:i.field,filterList:g.getCheckedFilters(),visible:m.visible},e)},handleClearFilter(e){if(e){var{filters:l,filterRender:r}=e;if(l){r=(0,_utils.isEnableConf)(r)?renderer.get(r.name):null;let t=e.filterResetMethod||(r?r.tableFilterResetMethod||r.filterResetMethod:null);l.forEach(e=>{e._checked=!1,e.checked=!1,t||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),t&&t({options:l,column:e,$table:g})}}},handleColumnConfirmFilter(e,t){var l=d.mouseConfig;let{scrollXLoad:r,scrollYLoad:i}=h;var a=b.value,n=f.value,o=e.field;let c=[],u=[];e.filters.forEach(e=>{e.checked&&(c.push(e.value),u.push(e.data))});var s=g.getCheckedFilters(),e={$table:g,$event:t,column:e,field:o,property:o,values:c,datas:u,filters:s,filterList:s};return a.remote||(g.handleTableData(!0),g.checkSelectionStatus()),l&&n.area&&g.handleFilterEvent&&g.handleFilterEvent(t,e),t&&g.dispatchEvent("filter-change",e,t),g.closeFilter(),g.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=h;if(r||e||i||t)return(r||e)&&g.updateScrollXSpace(),(i||t)&&g.updateScrollYSpace(),g.refreshScroll()}).then(()=>(g.updateCellAreas(),g.recalculate(!0))).then(()=>{setTimeout(()=>g.recalculate(),50)})},confirmFilterEvent(e){var t=h.filterStore,t=t.column;g.handleColumnConfirmFilter(t,e)},handleFilterChangeRadioOption:a,handleFilterChangeMultipleOption:n,handleFilterChangeOption(e,t,l){var r=h.filterStore;r.multiple?n(0,t,l):a(e,t,l)},handleFilterConfirmFilter:i,handleFilterResetFilter:e};return Object.assign(Object.assign({},{openFilter(e){let r=(0,_util.handleFieldOrColumn)(g,e);if(r&&r.filters){let t=_.elemStore,l=r.fixed;return g.scrollToColumn(r).then(()=>{var e=(0,_util.getRefElem)(t[`${l||"main"}-header-wrapper`]||t["main-header-wrapper"]);e&&(e=e.querySelector(`.vxe-header--column.${r.id} .vxe-cell--filter`),(0,_dom.triggerEvent)(e,"click"))})}return(0,_vue.nextTick)()},setFilter(e,t,l){e=(0,_util.handleFieldOrColumn)(g,e);return e&&e.filters&&(e.filters=(0,_util.toFilters)(t||[]),l)?g.handleColumnConfirmFilter(e,new Event("click")):(0,_vue.nextTick)()},clearFilter(e){var t=h.filterStore,l=_.tableFullColumn,r=b.value;let i;return e?(i=(0,_util.handleFieldOrColumn)(g,e))&&o.handleClearFilter(i):l.forEach(o.handleClearFilter),e&&i===t.column||Object.assign(t,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),r.remote?(0,_vue.nextTick)():g.updateData()},saveFilterPanel(){return i(null),(0,_vue.nextTick)()},resetFilterPanel(){return e(null),(0,_vue.nextTick)()},getCheckedFilters(){var e=_.tableFullColumn;let a=[];return e.forEach(e=>{var{field:t,filters:l}=e;let r=[],i=[];l&&l.length&&(l.forEach(e=>{e.checked&&(r.push(e.value),i.push(e.data))}),r.length)&&a.push({column:e,field:t,property:t,values:r,datas:i})}),a},updateFilterOptionStatus(e,t){return e._checked=t,e.checked=t,(0,_vue.nextTick)()}}),o)},setupGrid(e){return e.extendTableMethods(tableFilterMethodKeys)}});
@@ -9,6 +9,8 @@ var _ui = require("../../../ui");
9
9
  var _utils = require("../../../ui/src/utils");
10
10
  var _dom = require("../../../ui/src/dom");
11
11
  var _vn = require("../../../ui/src/vn");
12
+ var _xeUtils = _interopRequireDefault(require("xe-utils"));
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
14
  const {
13
15
  getI18n,
14
16
  getIcon,
@@ -19,7 +21,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
19
21
  props: {
20
22
  filterStore: Object
21
23
  },
22
- setup(props) {
24
+ setup(props, context) {
25
+ const xID = _xeUtils.default.uniqueId();
23
26
  const $xeTable = (0, _vue.inject)('$xeTable', {});
24
27
  const {
25
28
  reactData: tableReactData,
@@ -29,6 +32,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
29
32
  const {
30
33
  computeFilterOpts
31
34
  } = getComputeMaps();
35
+ const refElem = (0, _vue.ref)();
36
+ const refMaps = {
37
+ refElem
38
+ };
39
+ const $xeFilterPanel = {
40
+ xID,
41
+ props,
42
+ context,
43
+ getRefMaps: () => refMaps
44
+ };
32
45
  const computeHasCheckOption = (0, _vue.computed)(() => {
33
46
  const {
34
47
  filterStore
@@ -87,7 +100,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
87
100
  /*************************
88
101
  * Publish methods
89
102
  *************************/
90
- const $panel = {
103
+ const filterPanelMethods = {
91
104
  changeRadioOption,
92
105
  changeMultipleOption,
93
106
  changeAllOption,
@@ -95,6 +108,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
95
108
  confirmFilter,
96
109
  resetFilter
97
110
  };
111
+ Object.assign($xeFilterPanel, filterPanelMethods);
98
112
  const renderOptions = (filterRender, compConf) => {
99
113
  const {
100
114
  filterStore
@@ -107,7 +121,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
107
121
  const slots = column ? column.slots : null;
108
122
  const filterSlot = slots ? slots.filter : null;
109
123
  const params = Object.assign({}, tableInternalData._currFilterParams, {
110
- $panel,
124
+ $panel: $xeFilterPanel,
111
125
  $table: $xeTable
112
126
  });
113
127
  const rtFilter = compConf ? compConf.renderTableFilter || compConf.renderFilter : null;
@@ -209,22 +223,37 @@ var _default = exports.default = (0, _vue.defineComponent)({
209
223
  const compConf = (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
210
224
  const filterClassName = compConf ? compConf.tableFilterClassName || compConf.filterClassName : '';
211
225
  const params = Object.assign({}, tableInternalData._currFilterParams, {
212
- $panel,
226
+ $panel: $xeFilterPanel,
213
227
  $table: $xeTable
214
228
  });
229
+ const tableProps = $xeTable.props;
230
+ const {
231
+ computeSize
232
+ } = $xeTable.getComputeMaps();
233
+ const vSize = computeSize.value;
215
234
  const filterOpts = computeFilterOpts.value;
216
235
  const {
236
+ transfer,
217
237
  destroyOnClose
218
238
  } = filterOpts;
219
- return (0, _vue.h)('div', {
239
+ return (0, _vue.h)(_vue.Teleport, {
240
+ to: 'body',
241
+ disabled: !transfer
242
+ }, [(0, _vue.h)('div', {
243
+ ref: refElem,
220
244
  class: ['vxe-table--filter-wrapper', 'filter--prevent-default', (0, _dom.getPropClass)(filterClassName, params), {
221
- 'is--animat': $xeTable.props.animat,
245
+ [`size--${vSize}`]: vSize,
246
+ 'is--animat': tableProps.animat,
222
247
  'is--multiple': multiple,
223
248
  'is--active': visible
224
249
  }],
225
250
  style: filterStore.style
226
- }, initStore.filter && (destroyOnClose ? visible : true) && column ? renderOptions(filterRender, compConf).concat(renderFooters()) : []);
251
+ }, initStore.filter && (destroyOnClose ? visible : true) && column ? renderOptions(filterRender, compConf).concat(renderFooters()) : [])]);
227
252
  };
228
- return renderVN;
253
+ $xeFilterPanel.renderVN = renderVN;
254
+ return $xeFilterPanel;
255
+ },
256
+ render() {
257
+ return this.renderVN();
229
258
  }
230
259
  });
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_vn=require("../../../ui/src/vn");let{getI18n,getIcon,renderer}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFilterPanel",props:{filterStore:Object},setup(u){let v=(0,_vue.inject)("$xeTable",{}),{reactData:d,internalData:p,getComputeMaps:e}=v,_=e().computeFilterOpts,h=(0,_vue.computed)(()=>{var e=u.filterStore;return e&&e.options.some(e=>e.checked)}),i=(e,t)=>{var l=u.filterStore;l.options.forEach(e=>{e._checked=t,e.checked=t}),l.isAllSelected=t,l.isIndeterminate=!1},m=e=>{v.handleFilterConfirmFilter(e)};let b=e=>{v.handleFilterResetFilter(e)};let x=(e,t,l)=>{v.handleFilterChangeOption(e,t,l)},f=(e,t)=>{var l=u.filterStore;l.multiple?i(0,t):b(e)},C={changeRadioOption:(e,t,l)=>{v.handleFilterChangeRadioOption(e,t,l)},changeMultipleOption:(e,t,l)=>{v.handleFilterChangeMultipleOption(e,t,l)},changeAllOption:f,changeOption:x,confirmFilter:m,resetFilter:b};return()=>{var e=u.filterStore,t=d.initStore,{visible:l,multiple:i,column:r}=e,a=r?r.filterRender:null,n=(0,_utils.isEnableConf)(a)?renderer.get(a.name):null,s=n?n.tableFilterClassName||n.filterClassName:"",o=Object.assign({},p._currFilterParams,{$panel:C,$table:v}),c=_.value.destroyOnClose;return(0,_vue.h)("div",{class:["vxe-table--filter-wrapper","filter--prevent-default",(0,_dom.getPropClass)(s,o),{"is--animat":v.props.animat,"is--multiple":i,"is--active":l}],style:e.style},t.filter&&(!c||l)&&r?((e,t)=>{let l=u.filterStore,{column:i,multiple:r,maxHeight:a}=l;var n=i?i.slots:null,n=n?n.filter:null,s=Object.assign({},p._currFilterParams,{$panel:C,$table:v}),t=t?t.renderTableFilter||t.renderFilter:null;return n?[(0,_vue.h)("div",{class:"vxe-table--filter-template",style:a?{maxHeight:a+"px"}:{}},v.callSlot(n,s))]:t?[(0,_vue.h)("div",{class:"vxe-table--filter-template",style:a?{maxHeight:a+"px"}:{}},(0,_vn.getSlotVNs)(t(e,s)))]:(n=r?l.isAllSelected:!l.options.some(e=>e._checked),t=r&&l.isIndeterminate,[(0,_vue.h)("ul",{class:"vxe-table--filter-header"},[(0,_vue.h)("li",{class:["vxe-table--filter-option",{"is--checked":n,"is--indeterminate":t}],title:getI18n(r?"vxe.table.allTitle":"vxe.table.allFilter"),onClick:e=>{f(e,!l.isAllSelected)}},(r?[(0,_vue.h)("span",{class:["vxe-checkbox--icon",t?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.allFilter"))]))]),(0,_vue.h)("ul",{class:"vxe-table--filter-body",style:a?{maxHeight:a+"px"}:{}},l.options.map(t=>{var e=t._checked;return(0,_vue.h)("li",{class:["vxe-table--filter-option",{"is--checked":t._checked}],title:t.label,onClick:e=>{x(e,!t._checked,t)}},(r?[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([(0,_vue.h)("span",{class:"vxe-checkbox--label"},(0,_utils.formatText)(t.label,1))]))}))])})(a,n).concat((()=>{var e=u.filterStore,{column:t,multiple:l}=e,i=_.value,r=h.value,t=t.filterRender,t=(0,_utils.isEnableConf)(t)?renderer.get(t.name):null,r=!r&&!e.isAllSelected&&!e.isIndeterminate;return l&&(!t||!1!==t.showTableFilterFooter&&!1!==t.showFilterFooter&&!1!==t.isFooter)?[(0,_vue.h)("div",{class:"vxe-table--filter-footer"},[(0,_vue.h)("button",{class:{"is--disabled":r},disabled:r,onClick:m},i.confirmButtonText||getI18n("vxe.table.confirmFilter")),(0,_vue.h)("button",{onClick:b},i.resetButtonText||getI18n("vxe.table.resetFilter"))])]:[]})()):[])}}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_vn=require("../../../ui/src/vn"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableFilterPanel",props:{filterStore:Object},setup(p,e){var t=_xeUtils.default.uniqueId();let _=(0,_vue.inject)("$xeTable",{}),{reactData:h,internalData:f,getComputeMaps:l}=_,m=l().computeFilterOpts,b=(0,_vue.ref)(),r={refElem:b},x={xID:t,props:p,context:e,getRefMaps:()=>r},C=(0,_vue.computed)(()=>{var e=p.filterStore;return e&&e.options.some(e=>e.checked)}),i=(e,t)=>{var l=p.filterStore;l.options.forEach(e=>{e._checked=t,e.checked=t}),l.isAllSelected=t,l.isIndeterminate=!1},g=e=>{_.handleFilterConfirmFilter(e)};let E=e=>{_.handleFilterResetFilter(e)};let F=(e,t,l)=>{_.handleFilterChangeOption(e,t,l)},I=(e,t)=>{var l=p.filterStore;l.multiple?i(0,t):E(e)};t={changeRadioOption:(e,t,l)=>{_.handleFilterChangeRadioOption(e,t,l)},changeMultipleOption:(e,t,l)=>{_.handleFilterChangeMultipleOption(e,t,l)},changeAllOption:I,changeOption:F,confirmFilter:g,resetFilter:E};Object.assign(x,t);return x.renderVN=()=>{var e=p.filterStore,t=h.initStore,{visible:l,multiple:r,column:i}=e,a=i?i.filterRender:null,n=(0,_utils.isEnableConf)(a)?renderer.get(a.name):null,s=n?n.tableFilterClassName||n.filterClassName:"",o=Object.assign({},f._currFilterParams,{$panel:x,$table:_}),u=_.props,c=_.getComputeMaps().computeSize,c=c.value,{transfer:v,destroyOnClose:d}=m.value;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!v},[(0,_vue.h)("div",{ref:b,class:["vxe-table--filter-wrapper","filter--prevent-default",(0,_dom.getPropClass)(s,o),{["size--"+c]:c,"is--animat":u.animat,"is--multiple":r,"is--active":l}],style:e.style},t.filter&&(!d||l)&&i?((e,t)=>{let l=p.filterStore,{column:r,multiple:i,maxHeight:a}=l;var n=r?r.slots:null,n=n?n.filter:null,s=Object.assign({},f._currFilterParams,{$panel:x,$table:_}),t=t?t.renderTableFilter||t.renderFilter:null;return n?[(0,_vue.h)("div",{class:"vxe-table--filter-template",style:a?{maxHeight:a+"px"}:{}},_.callSlot(n,s))]:t?[(0,_vue.h)("div",{class:"vxe-table--filter-template",style:a?{maxHeight:a+"px"}:{}},(0,_vn.getSlotVNs)(t(e,s)))]:(n=i?l.isAllSelected:!l.options.some(e=>e._checked),t=i&&l.isIndeterminate,[(0,_vue.h)("ul",{class:"vxe-table--filter-header"},[(0,_vue.h)("li",{class:["vxe-table--filter-option",{"is--checked":n,"is--indeterminate":t}],title:getI18n(i?"vxe.table.allTitle":"vxe.table.allFilter"),onClick:e=>{I(e,!l.isAllSelected)}},(i?[(0,_vue.h)("span",{class:["vxe-checkbox--icon",t?getIcon().TABLE_CHECKBOX_INDETERMINATE:n?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.allFilter"))]))]),(0,_vue.h)("ul",{class:"vxe-table--filter-body",style:a?{maxHeight:a+"px"}:{}},l.options.map(t=>{var e=t._checked;return(0,_vue.h)("li",{class:["vxe-table--filter-option",{"is--checked":t._checked}],title:t.label,onClick:e=>{F(e,!t._checked,t)}},(i?[(0,_vue.h)("span",{class:["vxe-checkbox--icon",e?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([(0,_vue.h)("span",{class:"vxe-checkbox--label"},(0,_utils.formatText)(t.label,1))]))}))])})(a,n).concat((()=>{var e=p.filterStore,{column:t,multiple:l}=e,r=m.value,i=C.value,t=t.filterRender,t=(0,_utils.isEnableConf)(t)?renderer.get(t.name):null,i=!i&&!e.isAllSelected&&!e.isIndeterminate;return l&&(!t||!1!==t.showTableFilterFooter&&!1!==t.showFilterFooter&&!1!==t.isFooter)?[(0,_vue.h)("div",{class:"vxe-table--filter-footer"},[(0,_vue.h)("button",{class:{"is--disabled":i},disabled:i,onClick:g},r.confirmButtonText||getI18n("vxe.table.confirmFilter")),(0,_vue.h)("button",{onClick:E},r.resetButtonText||getI18n("vxe.table.resetFilter"))])]:[]})()):[])])},x},render(){return this.renderVN()}});
@@ -281,7 +281,7 @@ hooks.add('tableMenuModule', {
281
281
  }
282
282
  }
283
283
  }
284
- if (tableFilter && !(0, _dom.getEventTargetNode)(evnt, tableFilter.$el).flag) {
284
+ if (tableFilter && !(0, _dom.getEventTargetNode)(evnt, tableFilter.getRefMaps().refElem.value).flag) {
285
285
  $xeTable.closeFilter();
286
286
  }
287
287
  menuMethods.closeMenu();
@@ -1 +1 @@
1
- var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,hooks,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableMenuMethodKeys=["closeMenu"];hooks.add("tableMenuModule",{setupTable(b){let{xID:m,props:p,reactData:M,internalData:E}=b,{refElem:x,refTableFilter:_,refTableMenu:C}=b.getRefMaps(),{computeMouseOpts:T,computeIsMenu:t,computeMenuOpts:y}=b.getComputeMaps(),w;var e;let L=(l,n,v)=>{let f=M.ctxMenuStore;var o=t.value,e=y.value,n=e[n];let i=e.visibleMethod;if(n){let{options:t,disabled:e}=n;e?l.preventDefault():o&&t&&t.length&&(v.options=t,b.preventEvent(l,"event.showMenu",v,()=>{if(!i||i(v)){l.preventDefault(),b.updateZindex();let{scrollTop:o,scrollLeft:i,visibleHeight:u,visibleWidth:s}=(0,_dom.getDomNode)(),r=l.clientY+o,a=l.clientX+i,n=()=>{E._currMenuParams=v,Object.assign(f,{visible:!0,list:t,selected:null,selectChild:null,showChild:!1,style:{zIndex:E.tZindex,top:r+"px",left:a+"px"}}),(0,_vue.nextTick)(()=>{var e=C.value.getRefMaps().refElem.value,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:n}=(0,_dom.getAbsolutePos)(e),e=e+t-u,n=n+l-s;-10<e&&(f.style.top=Math.max(o+2,r-t-2)+"px"),-10<n&&(f.style.left=Math.max(i+2,a-l-2)+"px")})},{keyboard:e,row:d,column:c}=v;e&&d&&c?b.scrollToRow(d,c).then(()=>{var e,t,l=b.getCellElement(d,c);l&&({boundingTop:e,boundingLeft:t}=(0,_dom.getAbsolutePos)(l),r=e+o+Math.floor(l.offsetHeight/2),a=t+i+Math.floor(l.offsetWidth/2)),n()}):n()}else w.closeMenu()}))}b.closeFilter()};return w={closeMenu(){return Object.assign(M.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),(0,_vue.nextTick)()}},e={moveCtxMenu(e,t,l,n,o,i){let u;var s=_xeUtils.default.findIndexOf(i,e=>t[l]===e);if(n)o&&(0,_utils.hasChildrenList)(t.selected)?t.showChild=!0:(t.showChild=!1,t.selectChild=null);else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_UP)){for(let e=s-1;0<=e;e--)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[i.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=s+1;e<i.length;e++)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[0]}else t[l]&&(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ENTER)||globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.SPACEBAR))&&b.ctxMenuLinkEvent(e,t[l])},handleOpenMenuEvent:L,handleGlobalContextmenuEvent(t){var{mouseConfig:e,menuConfig:l}=p,{editStore:n,ctxMenuStore:o}=M,i=E.visibleColumn,u=_.value,s=C.value,r=T.value,a=y.value,d=x.value,n=n.selected,c=["header","body","footer"];if((0,_utils.isEnableConf)(l)){if(o.visible&&s&&(0,_dom.getEventTargetNode)(t,s.getRefMaps().refElem.value).flag)return void t.preventDefault();if(E._keyCtx){l="body",o={type:l,$table:b,keyboard:!0,columns:i.slice(0),$event:t};if(e&&r.area){s=b.getActiveCellArea();if(s&&s.row&&s.column)return o.row=s.row,o.column=s.column,void L(t,l,o)}else if(e&&r.selected&&n.row&&n.column)return o.row=n.row,o.column=n.column,void L(t,l,o)}for(let e=0;e<c.length;e++){var v=c[e],f=(0,_dom.getEventTargetNode)(t,d,`vxe-${v}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===m),g={type:v,$table:b,columns:i.slice(0),$event:t};if(f.flag){var f=f.targetElem,h=b.getColumnNode(f),h=h?h.item:null;let e=v+"-";h&&Object.assign(g,{column:h,columnIndex:b.getColumnIndex(h),cell:f}),"body"===v&&(f=(h=b.getRowNode(f.parentNode))?h.item:null,e="",f)&&(g.row=f,g.rowIndex=b.getRowIndex(f));h=e+"cell-menu";return L(t,v,g),void b.dispatchEvent(h,g,t)}if((0,_dom.getEventTargetNode)(t,d,`vxe-table--${v}-wrapper`,e=>e.getAttribute("xid")===m).flag)return void("cell"===a.trigger?t.preventDefault():L(t,v,g))}}u&&!(0,_dom.getEventTargetNode)(t,u.$el).flag&&b.closeFilter(),w.closeMenu()},ctxMenuMouseoverEvent(e,t,l){let a=e.currentTarget;var n=M.ctxMenuStore;e.preventDefault(),e.stopPropagation(),n.selected=t,(n.selectChild=l)||(n.showChild=(0,_utils.hasChildrenList)(t),n.showChild&&(0,_vue.nextTick)(()=>{var o=a.nextElementSibling;if(o){var{boundingTop:i,boundingLeft:u,visibleHeight:s,visibleWidth:r}=(0,_dom.getAbsolutePos)(a),i=i+a.offsetHeight;let e="",t="",l=(u+a.offsetWidth+o.offsetWidth>r-10&&(e="auto",t=a.offsetWidth+"px"),""),n="";i+o.offsetHeight>s-10&&(l="auto",n="0"),o.style.left=e,o.style.right=t,o.style.top=l,o.style.bottom=n}}))},ctxMenuMouseoutEvent(e,t){var l=M.ctxMenuStore;t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){var l,n=b.xeGrid;t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),t=Object.assign({},E._currMenuParams,{menu:t,$table:b,$grid:n,$event:e}),(n=l?l.tableMenuMethod||l.menuMethod:null)&&n(t,e),b.dispatchEvent("menu-click",t,e),w.closeMenu())}},Object.assign(Object.assign({},w),e)},setupGrid(e){return e.extendTableMethods(tableMenuMethodKeys)}});
1
+ var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,hooks,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableMenuMethodKeys=["closeMenu"];hooks.add("tableMenuModule",{setupTable(b){let{xID:m,props:p,reactData:M,internalData:E}=b,{refElem:x,refTableFilter:_,refTableMenu:C}=b.getRefMaps(),{computeMouseOpts:T,computeIsMenu:t,computeMenuOpts:y}=b.getComputeMaps(),w;var e;let L=(l,n,v)=>{let f=M.ctxMenuStore;var o=t.value,e=y.value,n=e[n];let i=e.visibleMethod;if(n){let{options:t,disabled:e}=n;e?l.preventDefault():o&&t&&t.length&&(v.options=t,b.preventEvent(l,"event.showMenu",v,()=>{if(!i||i(v)){l.preventDefault(),b.updateZindex();let{scrollTop:o,scrollLeft:i,visibleHeight:u,visibleWidth:s}=(0,_dom.getDomNode)(),r=l.clientY+o,a=l.clientX+i,n=()=>{E._currMenuParams=v,Object.assign(f,{visible:!0,list:t,selected:null,selectChild:null,showChild:!1,style:{zIndex:E.tZindex,top:r+"px",left:a+"px"}}),(0,_vue.nextTick)(()=>{var e=C.value.getRefMaps().refElem.value,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:n}=(0,_dom.getAbsolutePos)(e),e=e+t-u,n=n+l-s;-10<e&&(f.style.top=Math.max(o+2,r-t-2)+"px"),-10<n&&(f.style.left=Math.max(i+2,a-l-2)+"px")})},{keyboard:e,row:d,column:c}=v;e&&d&&c?b.scrollToRow(d,c).then(()=>{var e,t,l=b.getCellElement(d,c);l&&({boundingTop:e,boundingLeft:t}=(0,_dom.getAbsolutePos)(l),r=e+o+Math.floor(l.offsetHeight/2),a=t+i+Math.floor(l.offsetWidth/2)),n()}):n()}else w.closeMenu()}))}b.closeFilter()};return w={closeMenu(){return Object.assign(M.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),(0,_vue.nextTick)()}},e={moveCtxMenu(e,t,l,n,o,i){let u;var s=_xeUtils.default.findIndexOf(i,e=>t[l]===e);if(n)o&&(0,_utils.hasChildrenList)(t.selected)?t.showChild=!0:(t.showChild=!1,t.selectChild=null);else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_UP)){for(let e=s-1;0<=e;e--)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[i.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=s+1;e<i.length;e++)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[0]}else t[l]&&(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ENTER)||globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.SPACEBAR))&&b.ctxMenuLinkEvent(e,t[l])},handleOpenMenuEvent:L,handleGlobalContextmenuEvent(t){var{mouseConfig:e,menuConfig:l}=p,{editStore:n,ctxMenuStore:o}=M,i=E.visibleColumn,u=_.value,s=C.value,r=T.value,a=y.value,d=x.value,n=n.selected,c=["header","body","footer"];if((0,_utils.isEnableConf)(l)){if(o.visible&&s&&(0,_dom.getEventTargetNode)(t,s.getRefMaps().refElem.value).flag)return void t.preventDefault();if(E._keyCtx){l="body",o={type:l,$table:b,keyboard:!0,columns:i.slice(0),$event:t};if(e&&r.area){s=b.getActiveCellArea();if(s&&s.row&&s.column)return o.row=s.row,o.column=s.column,void L(t,l,o)}else if(e&&r.selected&&n.row&&n.column)return o.row=n.row,o.column=n.column,void L(t,l,o)}for(let e=0;e<c.length;e++){var v=c[e],f=(0,_dom.getEventTargetNode)(t,d,`vxe-${v}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===m),g={type:v,$table:b,columns:i.slice(0),$event:t};if(f.flag){var f=f.targetElem,h=b.getColumnNode(f),h=h?h.item:null;let e=v+"-";h&&Object.assign(g,{column:h,columnIndex:b.getColumnIndex(h),cell:f}),"body"===v&&(f=(h=b.getRowNode(f.parentNode))?h.item:null,e="",f)&&(g.row=f,g.rowIndex=b.getRowIndex(f));h=e+"cell-menu";return L(t,v,g),void b.dispatchEvent(h,g,t)}if((0,_dom.getEventTargetNode)(t,d,`vxe-table--${v}-wrapper`,e=>e.getAttribute("xid")===m).flag)return void("cell"===a.trigger?t.preventDefault():L(t,v,g))}}u&&!(0,_dom.getEventTargetNode)(t,u.getRefMaps().refElem.value).flag&&b.closeFilter(),w.closeMenu()},ctxMenuMouseoverEvent(e,t,l){let a=e.currentTarget;var n=M.ctxMenuStore;e.preventDefault(),e.stopPropagation(),n.selected=t,(n.selectChild=l)||(n.showChild=(0,_utils.hasChildrenList)(t),n.showChild&&(0,_vue.nextTick)(()=>{var o=a.nextElementSibling;if(o){var{boundingTop:i,boundingLeft:u,visibleHeight:s,visibleWidth:r}=(0,_dom.getAbsolutePos)(a),i=i+a.offsetHeight;let e="",t="",l=(u+a.offsetWidth+o.offsetWidth>r-10&&(e="auto",t=a.offsetWidth+"px"),""),n="";i+o.offsetHeight>s-10&&(l="auto",n="0"),o.style.left=e,o.style.right=t,o.style.top=l,o.style.bottom=n}}))},ctxMenuMouseoutEvent(e,t){var l=M.ctxMenuStore;t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){var l,n=b.xeGrid;t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),t=Object.assign({},E._currMenuParams,{menu:t,$table:b,$grid:n,$event:e}),(n=l?l.tableMenuMethod||l.menuMethod:null)&&n(t,e),b.dispatchEvent("menu-click",t,e),w.closeMenu())}},Object.assign(Object.assign({},w),e)},setupGrid(e){return e.extendTableMethods(tableMenuMethodKeys)}});