vxe-table 3.15.27 → 3.15.28
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/es/style.css +1 -1
- package/es/table/index.js +11 -3
- package/es/table/module/filter/mixin.js +19 -8
- package/es/table/src/methods.js +95 -3
- package/es/table/src/table.js +6 -3
- package/lib/index.umd.js +153 -19
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/index.js +10 -3
- package/lib/table/index.min.js +1 -1
- package/lib/table/module/filter/mixin.js +25 -8
- package/lib/table/module/filter/mixin.min.js +1 -1
- package/lib/table/src/methods.js +110 -3
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +8 -5
- package/lib/table/src/table.min.js +1 -1
- package/package.json +1 -1
- package/packages/table/index.ts +10 -3
- package/packages/table/module/filter/mixin.ts +26 -12
- package/packages/table/src/methods.ts +94 -4
- package/packages/table/src/table.ts +6 -3
- /package/es/{iconfont.1747094784148.ttf → iconfont.1747176212818.ttf} +0 -0
- /package/es/{iconfont.1747094784148.woff → iconfont.1747176212818.woff} +0 -0
- /package/es/{iconfont.1747094784148.woff2 → iconfont.1747176212818.woff2} +0 -0
- /package/lib/{iconfont.1747094784148.ttf → iconfont.1747176212818.ttf} +0 -0
- /package/lib/{iconfont.1747094784148.woff → iconfont.1747176212818.woff} +0 -0
- /package/lib/{iconfont.1747094784148.woff2 → iconfont.1747176212818.woff2} +0 -0
|
@@ -372,8 +372,18 @@ var _default = exports.default = {
|
|
|
372
372
|
* @param {Event} evnt 事件
|
|
373
373
|
*/
|
|
374
374
|
handleFilterResetFilter(evnt) {
|
|
375
|
-
this
|
|
376
|
-
|
|
375
|
+
const $xeTable = this;
|
|
376
|
+
const reactData = $xeTable;
|
|
377
|
+
const {
|
|
378
|
+
filterStore
|
|
379
|
+
} = reactData;
|
|
380
|
+
$xeTable.handleClearFilter(filterStore.column);
|
|
381
|
+
$xeTable.confirmFilterEvent(evnt);
|
|
382
|
+
if (evnt) {
|
|
383
|
+
$xeTable.dispatchEvent('clear-filter', {
|
|
384
|
+
filterList: []
|
|
385
|
+
}, evnt);
|
|
386
|
+
}
|
|
377
387
|
},
|
|
378
388
|
/**
|
|
379
389
|
* 清空指定列的筛选条件
|
|
@@ -381,17 +391,23 @@ var _default = exports.default = {
|
|
|
381
391
|
* @param {String} fieldOrColumn 列
|
|
382
392
|
*/
|
|
383
393
|
_clearFilter(fieldOrColumn) {
|
|
394
|
+
const $xeTable = this;
|
|
395
|
+
const reactData = $xeTable;
|
|
396
|
+
const internalData = $xeTable;
|
|
384
397
|
const {
|
|
385
398
|
filterStore
|
|
386
|
-
} =
|
|
399
|
+
} = reactData;
|
|
400
|
+
const {
|
|
401
|
+
tableFullColumn
|
|
402
|
+
} = internalData;
|
|
387
403
|
let column;
|
|
388
404
|
if (fieldOrColumn) {
|
|
389
|
-
column = (0, _util.handleFieldOrColumn)(
|
|
405
|
+
column = (0, _util.handleFieldOrColumn)($xeTable, fieldOrColumn);
|
|
390
406
|
if (column) {
|
|
391
|
-
|
|
407
|
+
$xeTable.handleClearFilter(column);
|
|
392
408
|
}
|
|
393
409
|
} else {
|
|
394
|
-
|
|
410
|
+
tableFullColumn.forEach($xeTable.handleClearFilter);
|
|
395
411
|
}
|
|
396
412
|
if (!fieldOrColumn || column !== filterStore.column) {
|
|
397
413
|
Object.assign(filterStore, {
|
|
@@ -404,12 +420,13 @@ var _default = exports.default = {
|
|
|
404
420
|
visible: false
|
|
405
421
|
});
|
|
406
422
|
}
|
|
407
|
-
return
|
|
423
|
+
return $xeTable.updateData();
|
|
408
424
|
},
|
|
409
425
|
_updateFilterOptionStatus(item, checked) {
|
|
426
|
+
const $xeTable = this;
|
|
410
427
|
item._checked = checked;
|
|
411
428
|
item.checked = checked;
|
|
412
|
-
return
|
|
429
|
+
return $xeTable.$nextTick();
|
|
413
430
|
}
|
|
414
431
|
}
|
|
415
432
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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=_ui.VxeUI.renderer;var _default=exports.default={methods:{_openFilter(e){let i=(0,_util.handleFieldOrColumn)(this,e);if(i&&i.filters){let t=this.elemStore,l=i.fixed;return this.scrollToColumn(i).then(()=>{var e=t[`${l||"main"}-header-wrapper`]||t["main-header-wrapper"];e&&(e=e.querySelector(`.vxe-header--column.${i.id} .vxe-cell--filter`),(0,_dom.triggerEvent)(e,"click"))})}return this.$nextTick()},_setFilter(e,t,l){e=(0,_util.handleFieldOrColumn)(this,e);return e&&e.filters&&(e.filters=(0,_util.toFilters)(t||[]),l)?this.handleColumnConfirmFilter(e,new Event("click")):this.$nextTick()},checkFilterOptions(){var e=this.filterStore;e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(l,r,n){let F=this;var s=F,
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _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=_ui.VxeUI.renderer;var _default=exports.default={methods:{_openFilter(e){let i=(0,_util.handleFieldOrColumn)(this,e);if(i&&i.filters){let t=this.elemStore,l=i.fixed;return this.scrollToColumn(i).then(()=>{var e=t[`${l||"main"}-header-wrapper`]||t["main-header-wrapper"];e&&(e=e.querySelector(`.vxe-header--column.${i.id} .vxe-cell--filter`),(0,_dom.triggerEvent)(e,"click"))})}return this.$nextTick()},_setFilter(e,t,l){e=(0,_util.handleFieldOrColumn)(this,e);return e&&e.filters&&(e.filters=(0,_util.toFilters)(t||[]),l)?this.handleColumnConfirmFilter(e,new Event("click")):this.$nextTick()},checkFilterOptions(){var e=this.filterStore;e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(l,r,n){let F=this;var s=F,a=F;let e=this.filterStore;if(e.column===r&&e.visible)e.visible=!1;else{let{initStore:e,filterStore:p}=s,t=a.elemStore;if(p.column===r&&p.visible)p.visible=!1;else{let o=F.$refs.refElem,{scrollTop:h,scrollLeft:c,visibleHeight:u,visibleWidth:d}=(0,_dom.getDomNode)();let f=F.computeFilterOpts.transfer,m=o.getBoundingClientRect(),v=l.currentTarget;var{filters:s,filterMultiple:_,filterRender:g}=r,g=(0,_utils.isEnableConf)(g)?renderer.get(g.name):null;let i=r.filterRecoverMethod||(g?g.tableFilterRecoverMethod||g.filterRecoverMethod:null);a._currFilterParams=n,Object.assign(p,{multiple:_,options:s,column:r,style:null}),p.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||i&&i({option:e,column:r,$table:F})}),this.checkFilterOptions(),p.visible=!0,e.filter=!0,F.$nextTick(()=>{if((0,_util.getRefElem)(t["main-header-scroll"])){var i=F.$refs.refTableFilter,i=i?i.$el:null;if(i){var r=v.getBoundingClientRect(),n=i.querySelector(".vxe-table--filter-header"),s=i.querySelector(".vxe-table--filter-footer"),i=i.offsetWidth,a=i/2;let e=0,t=0,l=0;f?(e=r.left-a+c,t=r.top+v.clientHeight+h,l=Math.min(Math.max(m.height,Math.floor(u/2)),Math.max(80,u-t-(n?n.clientHeight:0)-(s?s.clientHeight:0)-28)),e<16?e=16:e>d-i-16&&(e=d-i-16)):(e=r.left-m.left-a,t=r.top-m.top+v.clientHeight,l=Math.max(40,o.clientHeight-t-(n?n.clientHeight:0)-(s?s.clientHeight:0)-14),e<1?e=1:e>o.clientWidth-i-1&&(e=o.clientWidth-i-1)),p.style={top:(0,_dom.toCssUnit)(t),left:(0,_dom.toCssUnit)(e)},p.maxHeight=l}}})}F.dispatchEvent("filter-visible",{column:r,field:r.field,property:r.field,filterList:F.getCheckedFilters(),visible:p.visible},l)}},handleFilterConfirmFilter(e){var t=this.filterStore;t.options.forEach(e=>{e.checked=e._checked}),this.confirmFilterEvent(e)},_saveFilterPanel(){return this.handleFilterConfirmFilter(null),this.$nextTick()},_saveFilterPanelByEvent(e){return this.handleFilterConfirmFilter(e),this.$nextTick()},_resetFilterPanel(){return this.handleFilterResetFilter(null),this.$nextTick()},_resetFilterPanelByEvent(e){return this.handleFilterResetFilter(e),this.$nextTick()},_getCheckedFilters(){var e=this.tableFullColumn;let n=[];return e.forEach(e=>{var{field:t,filters:l}=e;let i=[],r=[];l&&l.length&&(l.forEach(e=>{e.checked&&(i.push(e.value),r.push(e.data))}),i.length)&&n.push({column:e,field:t,property:t,values:i,datas:r})}),n},handleColumnConfirmFilter(e,t){let l=this;var i=l.mouseConfig;let{scrollXLoad:r,scrollYLoad:n}=l;var s=l.computeFilterOpts,a=l.computeMouseOpts,o=e.field;let h=[],c=[];e.filters.forEach(e=>{e.checked&&(h.push(e.value),c.push(e.data))});var u=this.getCheckedFilters(),e={$table:this,$event:t,column:e,field:o,property:o,values:h,datas:c,filters:u,filterList:u};return s.remote||(this.handleTableData(!0),this.checkSelectionStatus()),i&&a.area&&this.handleFilterEvent&&l.handleFilterEvent(t,e),t&&l.emitEvent("filter-change",e,t),l.closeFilter(),l.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=this;if(r||e||n||t)return(r||e)&&l.updateScrollXSpace(),(n||t)&&l.updateScrollYSpace(),l.refreshScroll()}).then(()=>(l.updateCellAreas(),l.recalculate(!0))).then(()=>{setTimeout(()=>l.recalculate(),50)})},confirmFilterEvent(e){var t=this.filterStore,t=t.column;this.handleColumnConfirmFilter(t,e)},handleClearFilter(e){if(e){var{filters:l,filterRender:i}=e;if(l){i=(0,_utils.isEnableConf)(i)?renderer.get(i.name):null;let t=e.filterResetMethod||(i?i.tableFilterResetMethod||i.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:this})}}},handleFilterResetFilter(e){var t=this.filterStore;this.handleClearFilter(t.column),this.confirmFilterEvent(e),e&&this.dispatchEvent("clear-filter",{filterList:[]},e)},_clearFilter(e){var t=this,l=t.filterStore,i=t.tableFullColumn;let r;return e?(r=(0,_util.handleFieldOrColumn)(t,e))&&t.handleClearFilter(r):i.forEach(t.handleClearFilter),e&&r===l.column||Object.assign(l,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),t.updateData()},_updateFilterOptionStatus(e,t){return e._checked=t,e.checked=t,this.$nextTick()}}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -7236,7 +7236,12 @@ const Methods = {
|
|
|
7236
7236
|
}
|
|
7237
7237
|
}
|
|
7238
7238
|
if (tooltipStore.column !== column || tooltipStore.row !== row || !tooltipStore.visible) {
|
|
7239
|
-
|
|
7239
|
+
const ctEl = tdEl.querySelector('.vxe-cell--wrapper');
|
|
7240
|
+
let ovEl = null;
|
|
7241
|
+
if (column.treeNode) {
|
|
7242
|
+
ovEl = tdEl.querySelector('.vxe-tree-cell');
|
|
7243
|
+
}
|
|
7244
|
+
handleTooltip($xeTable, evnt, tdEl, ovEl || ctEl, tdEl.querySelector('.vxe-cell--label') || tdEl.querySelector('.vxe-cell--wrapper'), params);
|
|
7240
7245
|
}
|
|
7241
7246
|
},
|
|
7242
7247
|
/**
|
|
@@ -8622,7 +8627,8 @@ const Methods = {
|
|
|
8622
8627
|
const mouseOpts = $xeTable.computeMouseOpts;
|
|
8623
8628
|
const {
|
|
8624
8629
|
field,
|
|
8625
|
-
sortable
|
|
8630
|
+
sortable,
|
|
8631
|
+
order
|
|
8626
8632
|
} = column;
|
|
8627
8633
|
if (sortable) {
|
|
8628
8634
|
const params = {
|
|
@@ -8631,13 +8637,16 @@ const Methods = {
|
|
|
8631
8637
|
column,
|
|
8632
8638
|
field,
|
|
8633
8639
|
property: field,
|
|
8634
|
-
order
|
|
8640
|
+
order,
|
|
8635
8641
|
sortList: $xeTable.getSortColumns(),
|
|
8636
8642
|
sortTime: column.sortTime
|
|
8637
8643
|
};
|
|
8638
8644
|
if (mouseConfig && mouseOpts.area && $xeTable.handleSortEvent) {
|
|
8639
8645
|
$xeTable.handleSortEvent(evnt, params);
|
|
8640
8646
|
}
|
|
8647
|
+
if (!order) {
|
|
8648
|
+
$xeTable.dispatchEvent('clear-sort', params, evnt);
|
|
8649
|
+
}
|
|
8641
8650
|
$xeTable.dispatchEvent('sort-change', params, evnt);
|
|
8642
8651
|
}
|
|
8643
8652
|
},
|
|
@@ -9737,6 +9746,49 @@ const Methods = {
|
|
|
9737
9746
|
return updateStyle($xeTable);
|
|
9738
9747
|
});
|
|
9739
9748
|
},
|
|
9749
|
+
clearSortByEvent(evnt, fieldOrColumn) {
|
|
9750
|
+
const $xeTable = this;
|
|
9751
|
+
const internalData = $xeTable;
|
|
9752
|
+
const {
|
|
9753
|
+
tableFullColumn
|
|
9754
|
+
} = internalData;
|
|
9755
|
+
const sortOpts = $xeTable.computeSortOpts;
|
|
9756
|
+
const sortCols = [];
|
|
9757
|
+
let column = null;
|
|
9758
|
+
if (evnt) {
|
|
9759
|
+
if (fieldOrColumn) {
|
|
9760
|
+
column = (0, _util.handleFieldOrColumn)($xeTable, fieldOrColumn);
|
|
9761
|
+
if (column) {
|
|
9762
|
+
column.order = null;
|
|
9763
|
+
}
|
|
9764
|
+
} else {
|
|
9765
|
+
tableFullColumn.forEach(column => {
|
|
9766
|
+
if (column.order) {
|
|
9767
|
+
column.order = null;
|
|
9768
|
+
sortCols.push(column);
|
|
9769
|
+
}
|
|
9770
|
+
});
|
|
9771
|
+
}
|
|
9772
|
+
if (!sortOpts.remote) {
|
|
9773
|
+
$xeTable.handleTableData(true);
|
|
9774
|
+
}
|
|
9775
|
+
if (sortCols.length) {
|
|
9776
|
+
const params = {
|
|
9777
|
+
$table: $xeTable,
|
|
9778
|
+
$event: evnt,
|
|
9779
|
+
cols: sortCols,
|
|
9780
|
+
sortList: []
|
|
9781
|
+
};
|
|
9782
|
+
$xeTable.dispatchEvent('clear-all-sort', params, evnt);
|
|
9783
|
+
} else if (column) {
|
|
9784
|
+
$xeTable.handleColumnSortEvent(evnt, column);
|
|
9785
|
+
}
|
|
9786
|
+
}
|
|
9787
|
+
return $xeTable.$nextTick().then(() => {
|
|
9788
|
+
updateRowOffsetTop($xeTable);
|
|
9789
|
+
return updateStyle($xeTable);
|
|
9790
|
+
});
|
|
9791
|
+
},
|
|
9740
9792
|
// 在 v3 中废弃
|
|
9741
9793
|
getSortColumn() {
|
|
9742
9794
|
if (process.env.NODE_ENV === 'development') {
|
|
@@ -9821,6 +9873,61 @@ const Methods = {
|
|
|
9821
9873
|
isFilter(fieldOrColumn) {
|
|
9822
9874
|
return this.isActiveFilterByColumn(fieldOrColumn);
|
|
9823
9875
|
},
|
|
9876
|
+
clearFilterByEvent(evnt, fieldOrColumn) {
|
|
9877
|
+
const $xeTable = this;
|
|
9878
|
+
const reactData = $xeTable;
|
|
9879
|
+
const internalData = $xeTable;
|
|
9880
|
+
const {
|
|
9881
|
+
filterStore
|
|
9882
|
+
} = reactData;
|
|
9883
|
+
const {
|
|
9884
|
+
tableFullColumn
|
|
9885
|
+
} = internalData;
|
|
9886
|
+
const filterOpts = $xeTable.computeFilterOpts;
|
|
9887
|
+
const filterCols = [];
|
|
9888
|
+
let column = null;
|
|
9889
|
+
if (fieldOrColumn) {
|
|
9890
|
+
column = (0, _util.handleFieldOrColumn)($xeTable, fieldOrColumn);
|
|
9891
|
+
if (column) {
|
|
9892
|
+
$xeTable.handleClearFilter(column);
|
|
9893
|
+
}
|
|
9894
|
+
} else {
|
|
9895
|
+
tableFullColumn.forEach(column => {
|
|
9896
|
+
if (column.filters) {
|
|
9897
|
+
filterCols.push(column);
|
|
9898
|
+
$xeTable.handleClearFilter(column);
|
|
9899
|
+
}
|
|
9900
|
+
});
|
|
9901
|
+
}
|
|
9902
|
+
if (!fieldOrColumn || column !== filterStore.column) {
|
|
9903
|
+
Object.assign(filterStore, {
|
|
9904
|
+
isAllSelected: false,
|
|
9905
|
+
isIndeterminate: false,
|
|
9906
|
+
style: null,
|
|
9907
|
+
options: [],
|
|
9908
|
+
column: null,
|
|
9909
|
+
multiple: false,
|
|
9910
|
+
visible: false
|
|
9911
|
+
});
|
|
9912
|
+
}
|
|
9913
|
+
if (!filterOpts.remote) {
|
|
9914
|
+
$xeTable.updateData();
|
|
9915
|
+
}
|
|
9916
|
+
if (filterCols.length) {
|
|
9917
|
+
const params = {
|
|
9918
|
+
$table: $xeTable,
|
|
9919
|
+
$event: evnt,
|
|
9920
|
+
cols: filterCols,
|
|
9921
|
+
filterList: []
|
|
9922
|
+
};
|
|
9923
|
+
$xeTable.dispatchEvent('clear-all-filter', params, evnt);
|
|
9924
|
+
} else if (column) {
|
|
9925
|
+
$xeTable.dispatchEvent('clear-filter', {
|
|
9926
|
+
filterList: () => $xeTable.getCheckedFilters()
|
|
9927
|
+
}, evnt);
|
|
9928
|
+
}
|
|
9929
|
+
return $xeTable.$nextTick();
|
|
9930
|
+
},
|
|
9824
9931
|
/**
|
|
9825
9932
|
* 判断展开行是否懒加载完成
|
|
9826
9933
|
* @param {Row} row 行对象
|