vxe-table 3.13.8 → 3.13.9

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 (33) hide show
  1. package/es/grid/src/grid.js +29 -21
  2. package/es/style.css +1 -1
  3. package/es/table/module/filter/panel.js +18 -9
  4. package/es/table/src/methods.js +28 -21
  5. package/es/table/src/table.js +2 -0
  6. package/es/ui/index.js +1 -1
  7. package/es/ui/src/log.js +1 -1
  8. package/lib/grid/src/grid.js +29 -21
  9. package/lib/grid/src/grid.min.js +1 -1
  10. package/lib/index.umd.js +83 -67
  11. package/lib/index.umd.min.js +1 -1
  12. package/lib/style.css +1 -1
  13. package/lib/table/module/filter/panel.js +20 -20
  14. package/lib/table/module/filter/panel.min.js +1 -1
  15. package/lib/table/src/methods.js +30 -24
  16. package/lib/table/src/methods.min.js +1 -1
  17. package/lib/table/src/table.js +2 -0
  18. package/lib/table/src/table.min.js +1 -1
  19. package/lib/ui/index.js +1 -1
  20. package/lib/ui/index.min.js +1 -1
  21. package/lib/ui/src/log.js +1 -1
  22. package/lib/ui/src/log.min.js +1 -1
  23. package/package.json +1 -1
  24. package/packages/grid/src/grid.ts +29 -21
  25. package/packages/table/module/filter/panel.ts +25 -12
  26. package/packages/table/src/methods.ts +31 -22
  27. package/packages/table/src/table.ts +2 -0
  28. /package/es/{iconfont.1740359276306.ttf → iconfont.1740397933178.ttf} +0 -0
  29. /package/es/{iconfont.1740359276306.woff → iconfont.1740397933178.woff} +0 -0
  30. /package/es/{iconfont.1740359276306.woff2 → iconfont.1740397933178.woff2} +0 -0
  31. /package/lib/{iconfont.1740359276306.ttf → iconfont.1740397933178.ttf} +0 -0
  32. /package/lib/{iconfont.1740359276306.woff → iconfont.1740397933178.woff} +0 -0
  33. /package/lib/{iconfont.1740359276306.woff2 → iconfont.1740397933178.woff2} +0 -0
@@ -26,12 +26,13 @@ var _default = exports.default = {
26
26
  }
27
27
  },
28
28
  render(h) {
29
+ const $panel = this;
29
30
  const $xeTable = this.$parent;
31
+ const tableInternalData = $xeTable;
30
32
  const {
31
33
  filterStore
32
34
  } = this;
33
35
  const {
34
- args,
35
36
  visible,
36
37
  multiple,
37
38
  column
@@ -39,15 +40,16 @@ var _default = exports.default = {
39
40
  const filterRender = column ? column.filterRender : null;
40
41
  const compConf = (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
41
42
  const filterClassName = compConf ? compConf.tableFilterClassName || compConf.filterClassName : '';
43
+ const params = Object.assign({}, tableInternalData._currFilterParams, {
44
+ $panel,
45
+ $table: $xeTable
46
+ });
42
47
  const filterOpts = $xeTable.computeFilterOpts;
43
48
  const {
44
49
  destroyOnClose
45
50
  } = filterOpts;
46
51
  return h('div', {
47
- class: ['vxe-table--filter-wrapper', 'filter--prevent-default', compConf && compConf.className ? compConf.className : '', (0, _utils.getClass)(filterClassName, Object.assign({
48
- $panel: this,
49
- $table: $xeTable
50
- }, args)), {
52
+ class: ['vxe-table--filter-wrapper', 'filter--prevent-default', compConf && compConf.className ? compConf.className : '', (0, _utils.getClass)(filterClassName, params), {
51
53
  'is--animat': $xeTable.animat,
52
54
  'is--multiple': multiple,
53
55
  'is--active': visible
@@ -57,32 +59,32 @@ var _default = exports.default = {
57
59
  },
58
60
  methods: {
59
61
  renderOptions(h, filterRender, compConf) {
62
+ const $panel = this;
63
+ const $xeTable = this.$parent;
64
+ const tableInternalData = $xeTable;
60
65
  const {
61
- $parent: $xetable,
62
66
  filterStore
63
67
  } = this;
64
68
  const {
65
- args,
66
69
  column,
67
70
  multiple,
68
71
  maxHeight
69
72
  } = filterStore;
70
73
  const slots = column ? column.slots : null;
74
+ const filterSlot = slots ? slots.filter : null;
75
+ const params = Object.assign({}, tableInternalData._currFilterParams, {
76
+ $panel,
77
+ $table: $xeTable
78
+ });
71
79
  const rtFilter = compConf ? compConf.renderTableFilter || compConf.renderFilter : null;
72
- if (slots && slots.filter) {
80
+ if (filterSlot) {
73
81
  return [h('div', {
74
82
  class: 'vxe-table--filter-template'
75
- }, $xetable.callSlot(slots.filter, Object.assign({
76
- $panel: this,
77
- context: this
78
- }, args), h))];
83
+ }, $xeTable.callSlot(filterSlot, params, h))];
79
84
  } else if (rtFilter) {
80
85
  return [h('div', {
81
86
  class: 'vxe-table--filter-template'
82
- }, (0, _vn.getSlotVNs)(rtFilter.call($xetable, h, filterRender, Object.assign({
83
- $panel: this,
84
- context: this
85
- }, args))))];
87
+ }, (0, _vn.getSlotVNs)(rtFilter.call($xeTable, h, filterRender, params)))];
86
88
  }
87
89
  const isAllChecked = multiple ? filterStore.isAllSelected : !filterStore.options.some(item => item._checked);
88
90
  const isAllIndeterminate = multiple && filterStore.isIndeterminate;
@@ -133,18 +135,16 @@ var _default = exports.default = {
133
135
  }))];
134
136
  },
135
137
  renderFooter(h) {
138
+ const $xeTable = this.$parent;
136
139
  const {
137
- $parent: $xetable,
138
140
  hasCheckOption,
139
141
  filterStore
140
142
  } = this;
141
- const {
142
- filterOpts
143
- } = $xetable;
144
143
  const {
145
144
  column,
146
145
  multiple
147
146
  } = filterStore;
147
+ const filterOpts = $xeTable.computeFilterOpts;
148
148
  const filterRender = column.filterRender;
149
149
  const compConf = (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
150
150
  const isDisabled = !hasCheckOption && !filterStore.isAllSelected && !filterStore.isIndeterminate;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_vn=require("../../../ui/src/vn");let{getI18n,getIcon,renderer}=_ui.VxeUI;var _default=exports.default={name:"VxeTableFilterPanel",props:{filterStore:Object},computed:{hasCheckOption(){var e=this.filterStore;return e&&e.options.some(e=>e.checked)}},render(e){var t=this.$parent,l=this.filterStore,{args:i,visible:r,multiple:s,column:a}=l,n=a?a.filterRender:null,c=(0,_utils.isEnableConf)(n)?renderer.get(n.name):null,o=c?c.tableFilterClassName||c.filterClassName:"",h=t.computeFilterOpts.destroyOnClose;return e("div",{class:["vxe-table--filter-wrapper","filter--prevent-default",c&&c.className?c.className:"",(0,_utils.getClass)(o,Object.assign({$panel:this,$table:t},i)),{"is--animat":t.animat,"is--multiple":s,"is--active":r}],style:l.style},l.visible&&(!h||r)&&a?this.renderOptions(e,n,c).concat(this.renderFooter(e)):[])},methods:{renderOptions(l,e,t){let{$parent:i,filterStore:r}=this,{args:s,column:a,multiple:n,maxHeight:c}=r;var o=a?a.slots:null,t=t?t.renderTableFilter||t.renderFilter:null;return o&&o.filter?[l("div",{class:"vxe-table--filter-template"},i.callSlot(o.filter,Object.assign({$panel:this,context:this},s),l))]:t?[l("div",{class:"vxe-table--filter-template"},(0,_vn.getSlotVNs)(t.call(i,l,e,Object.assign({$panel:this,context:this},s))))]:(o=n?r.isAllSelected:!r.options.some(e=>e._checked),t=n&&r.isIndeterminate,[l("ul",{class:"vxe-table--filter-header"},[l("li",{class:["vxe-table--filter-option",{"is--checked":o,"is--indeterminate":t}],attrs:{title:getI18n(n?"vxe.table.allTitle":"vxe.table.allFilter")},on:{click:e=>{this.changeAllOption(e,!r.isAllSelected)}}},(n?[l("span",{class:["vxe-checkbox--icon",t?getIcon().TABLE_CHECKBOX_INDETERMINATE:o?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([l("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.allFilter"))]))]),l("ul",{class:"vxe-table--filter-body",style:c?{maxHeight:c+"px"}:{}},r.options.map(t=>{var e=t._checked;return l("li",{class:["vxe-table--filter-option",{"is--checked":e}],attrs:{title:t.label},on:{click:e=>{this.changeOption(e,!t._checked,t)}}},(n?[l("span",{class:["vxe-checkbox--icon",e?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([l("span",{class:"vxe-checkbox--label"},(0,_utils.formatText)(t.label,1))]))}))])},renderFooter(e){var{$parent:t,hasCheckOption:l,filterStore:i}=this,t=t.filterOpts,{column:r,multiple:s}=i,r=r.filterRender,r=(0,_utils.isEnableConf)(r)?renderer.get(r.name):null,l=!l&&!i.isAllSelected&&!i.isIndeterminate;return s&&(!r||!1!==r.showTableFilterFooter&&!1!==r.showFilterFooter&&!1!==r.isFooter)?[e("div",{class:"vxe-table--filter-footer"},[e("button",{class:{"is--disabled":l},attrs:{disabled:l},on:{click:this.confirmFilter}},t.confirmButtonText||getI18n("vxe.table.confirmFilter")),e("button",{on:{click:this.resetFilter}},t.resetButtonText||getI18n("vxe.table.resetFilter"))])]:[]},filterCheckAllEvent(e,t){var l=this.filterStore;l.options.forEach(e=>{e._checked=t,e.checked=t}),l.isAllSelected=t,l.isIndeterminate=!1},changeRadioOption(e,t,l){var{$parent:i,filterStore:r}=this;r.options.forEach(e=>{e._checked=!1}),l._checked=t,i.checkFilterOptions(),this.confirmFilter(e)},changeMultipleOption(e,t,l){var i=this.$parent;l._checked=t,i.checkFilterOptions()},changeAllOption(e,t){this.filterStore.multiple?this.filterCheckAllEvent(e,t):this.resetFilter(e)},changeOption(e,t,l){this.filterStore.multiple?this.changeMultipleOption(e,t,l):this.changeRadioOption(e,t,l)},confirmFilter(e){var t=this.$parent;t.handleFilterConfirmFilter(e)},resetFilter(e){var t=this.$parent;t.handleFilterResetFilter(e)}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_vn=require("../../../ui/src/vn");let{getI18n,getIcon,renderer}=_ui.VxeUI;var _default=exports.default={name:"VxeTableFilterPanel",props:{filterStore:Object},computed:{hasCheckOption(){var e=this.filterStore;return e&&e.options.some(e=>e.checked)}},render(e){var t=this.$parent,l=t,i=this.filterStore,{visible:r,multiple:s,column:a}=i,n=a?a.filterRender:null,c=(0,_utils.isEnableConf)(n)?renderer.get(n.name):null,o=c?c.tableFilterClassName||c.filterClassName:"",l=Object.assign({},l._currFilterParams,{$panel:this,$table:t}),h=t.computeFilterOpts.destroyOnClose;return e("div",{class:["vxe-table--filter-wrapper","filter--prevent-default",c&&c.className?c.className:"",(0,_utils.getClass)(o,l),{"is--animat":t.animat,"is--multiple":s,"is--active":r}],style:i.style},i.visible&&(!h||r)&&a?this.renderOptions(e,n,c).concat(this.renderFooter(e)):[])},methods:{renderOptions(l,e,t){var i=this.$parent;let r=this.filterStore,{column:s,multiple:a,maxHeight:n}=r;var c=s?s.slots:null,c=c?c.filter:null,o=Object.assign({},i._currFilterParams,{$panel:this,$table:i}),t=t?t.renderTableFilter||t.renderFilter:null;return c?[l("div",{class:"vxe-table--filter-template"},i.callSlot(c,o,l))]:t?[l("div",{class:"vxe-table--filter-template"},(0,_vn.getSlotVNs)(t.call(i,l,e,o)))]:(c=a?r.isAllSelected:!r.options.some(e=>e._checked),t=a&&r.isIndeterminate,[l("ul",{class:"vxe-table--filter-header"},[l("li",{class:["vxe-table--filter-option",{"is--checked":c,"is--indeterminate":t}],attrs:{title:getI18n(a?"vxe.table.allTitle":"vxe.table.allFilter")},on:{click:e=>{this.changeAllOption(e,!r.isAllSelected)}}},(a?[l("span",{class:["vxe-checkbox--icon",t?getIcon().TABLE_CHECKBOX_INDETERMINATE:c?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([l("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.allFilter"))]))]),l("ul",{class:"vxe-table--filter-body",style:n?{maxHeight:n+"px"}:{}},r.options.map(t=>{var e=t._checked;return l("li",{class:["vxe-table--filter-option",{"is--checked":e}],attrs:{title:t.label},on:{click:e=>{this.changeOption(e,!t._checked,t)}}},(a?[l("span",{class:["vxe-checkbox--icon",e?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([l("span",{class:"vxe-checkbox--label"},(0,_utils.formatText)(t.label,1))]))}))])},renderFooter(e){var{hasCheckOption:t,filterStore:l}=this,{column:i,multiple:r}=l,s=this.$parent.computeFilterOpts,i=i.filterRender,i=(0,_utils.isEnableConf)(i)?renderer.get(i.name):null,t=!t&&!l.isAllSelected&&!l.isIndeterminate;return r&&(!i||!1!==i.showTableFilterFooter&&!1!==i.showFilterFooter&&!1!==i.isFooter)?[e("div",{class:"vxe-table--filter-footer"},[e("button",{class:{"is--disabled":t},attrs:{disabled:t},on:{click:this.confirmFilter}},s.confirmButtonText||getI18n("vxe.table.confirmFilter")),e("button",{on:{click:this.resetFilter}},s.resetButtonText||getI18n("vxe.table.resetFilter"))])]:[]},filterCheckAllEvent(e,t){var l=this.filterStore;l.options.forEach(e=>{e._checked=t,e.checked=t}),l.isAllSelected=t,l.isIndeterminate=!1},changeRadioOption(e,t,l){var{$parent:i,filterStore:r}=this;r.options.forEach(e=>{e._checked=!1}),l._checked=t,i.checkFilterOptions(),this.confirmFilter(e)},changeMultipleOption(e,t,l){var i=this.$parent;l._checked=t,i.checkFilterOptions()},changeAllOption(e,t){this.filterStore.multiple?this.filterCheckAllEvent(e,t):this.resetFilter(e)},changeOption(e,t,l){this.filterStore.multiple?this.changeMultipleOption(e,t,l):this.changeRadioOption(e,t,l)},confirmFilter(e){var t=this.$parent;t.handleFilterConfirmFilter(e)},resetFilter(e){var t=this.$parent;t.handleFilterResetFilter(e)}}};
@@ -259,7 +259,8 @@ function cacheColumnMap($xeTable) {
259
259
  index,
260
260
  items,
261
261
  parent: parentColumn || null,
262
- width: 0
262
+ width: 0,
263
+ oLeft: 0
263
264
  };
264
265
  if (field) {
265
266
  if (fullColumnFieldData[field]) {
@@ -1837,6 +1838,21 @@ function handleScrollToRowColumn($xeTable, fieldOrColumn, row) {
1837
1838
  }
1838
1839
  return $xeTable.$nextTick();
1839
1840
  }
1841
+ const handleRowExpandReserve = ($xeTable, row, expanded) => {
1842
+ const internalData = $xeTable;
1843
+ const {
1844
+ rowExpandedReserveRowMap
1845
+ } = internalData;
1846
+ const expandOpts = $xeTable.computeExpandOpts;
1847
+ if (expandOpts.reserve) {
1848
+ const rowid = (0, _util.getRowid)($xeTable, row);
1849
+ if (expanded) {
1850
+ rowExpandedReserveRowMap[rowid] = row;
1851
+ } else if (rowExpandedReserveRowMap[rowid]) {
1852
+ delete rowExpandedReserveRowMap[rowid];
1853
+ }
1854
+ }
1855
+ };
1840
1856
  // 计算可视渲染相关数据
1841
1857
  function computeScrollLoad($xeTable) {
1842
1858
  const reactData = $xeTable;
@@ -8653,7 +8669,7 @@ const Methods = {
8653
8669
  });
8654
8670
  }
8655
8671
  if (reserve) {
8656
- validRows.forEach(row => this.handleRowExpandReserve(row, expanded));
8672
+ validRows.forEach(row => handleRowExpandReserve($xeTable, row, expanded));
8657
8673
  }
8658
8674
  }
8659
8675
  this.rowExpandedMaps = rExpandedMaps;
@@ -8688,42 +8704,32 @@ const Methods = {
8688
8704
  */
8689
8705
  clearRowExpand() {
8690
8706
  const $xeTable = this;
8707
+ const reactData = $xeTable;
8708
+ const internalData = $xeTable;
8691
8709
  const {
8692
- expandOpts,
8693
8710
  tableFullData
8694
- } = this;
8711
+ } = internalData;
8712
+ const expandOpts = $xeTable.computeExpandOpts;
8695
8713
  const {
8696
8714
  reserve
8697
8715
  } = expandOpts;
8698
- const expList = this.getRowExpandRecords();
8699
- this.rowExpandedMaps = {};
8716
+ const expList = $xeTable.getRowExpandRecords();
8717
+ reactData.rowExpandedMaps = {};
8700
8718
  if (reserve) {
8701
- tableFullData.forEach(row => this.handleRowExpandReserve(row, false));
8719
+ tableFullData.forEach(row => handleRowExpandReserve($xeTable, row, false));
8702
8720
  }
8703
- return this.$nextTick().then(() => {
8721
+ return $xeTable.$nextTick().then(() => {
8704
8722
  if (expList.length) {
8705
- this.recalculate();
8723
+ return $xeTable.recalculate();
8706
8724
  }
8707
- }).then(() => $xeTable.updateCellAreas());
8725
+ }).then(() => {
8726
+ return $xeTable.updateCellAreas();
8727
+ });
8708
8728
  },
8709
8729
  clearRowExpandReserve() {
8710
8730
  this.rowExpandedReserveRowMap = {};
8711
8731
  return this.$nextTick();
8712
8732
  },
8713
- handleRowExpandReserve(row, expanded) {
8714
- const {
8715
- rowExpandedReserveRowMap,
8716
- expandOpts
8717
- } = this;
8718
- if (expandOpts.reserve) {
8719
- const rowid = (0, _util.getRowid)(this, row);
8720
- if (expanded) {
8721
- rowExpandedReserveRowMap[rowid] = row;
8722
- } else if (rowExpandedReserveRowMap[rowid]) {
8723
- delete rowExpandedReserveRowMap[rowid];
8724
- }
8725
- }
8726
- },
8727
8733
  getRowExpandRecords() {
8728
8734
  const rest = [];
8729
8735
  _xeUtils.default.each(this.rowExpandedMaps, item => {