vxe-table 3.15.0-beta.2 → 3.15.0-beta.4

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 (37) hide show
  1. package/es/grid/src/grid.js +8 -8
  2. package/es/style.css +1 -1
  3. package/es/table/module/filter/mixin.js +11 -38
  4. package/es/table/src/cell.js +8 -8
  5. package/es/table/src/methods.js +27 -9
  6. package/es/table/src/table.js +6 -0
  7. package/es/ui/index.js +1 -1
  8. package/es/ui/src/log.js +1 -1
  9. package/lib/grid/src/grid.js +10 -10
  10. package/lib/grid/src/grid.min.js +1 -1
  11. package/lib/index.umd.js +74 -74
  12. package/lib/index.umd.min.js +1 -1
  13. package/lib/style.css +1 -1
  14. package/lib/table/module/filter/mixin.js +10 -39
  15. package/lib/table/module/filter/mixin.min.js +1 -1
  16. package/lib/table/src/cell.js +6 -6
  17. package/lib/table/src/cell.min.js +1 -1
  18. package/lib/table/src/methods.js +38 -17
  19. package/lib/table/src/methods.min.js +1 -1
  20. package/lib/table/src/table.js +6 -0
  21. package/lib/table/src/table.min.js +1 -1
  22. package/lib/ui/index.js +1 -1
  23. package/lib/ui/index.min.js +1 -1
  24. package/lib/ui/src/log.js +1 -1
  25. package/lib/ui/src/log.min.js +1 -1
  26. package/package.json +2 -2
  27. package/packages/grid/src/grid.ts +21 -21
  28. package/packages/table/module/filter/mixin.ts +10 -34
  29. package/packages/table/src/cell.ts +8 -8
  30. package/packages/table/src/methods.ts +29 -13
  31. package/packages/table/src/table.ts +6 -0
  32. /package/es/{iconfont.1743992159333.ttf → iconfont.1744095177947.ttf} +0 -0
  33. /package/es/{iconfont.1743992159333.woff → iconfont.1744095177947.woff} +0 -0
  34. /package/es/{iconfont.1743992159333.woff2 → iconfont.1744095177947.woff2} +0 -0
  35. /package/lib/{iconfont.1743992159333.ttf → iconfont.1744095177947.ttf} +0 -0
  36. /package/lib/{iconfont.1743992159333.woff → iconfont.1744095177947.woff} +0 -0
  37. /package/lib/{iconfont.1743992159333.woff2 → iconfont.1744095177947.woff2} +0 -0
@@ -31,7 +31,7 @@ var _default = exports.default = {
31
31
  return this.scrollToColumn(column).then(() => {
32
32
  const headerWrapperElem = elemStore[`${fixed || 'main'}-header-wrapper`] || elemStore['main-header-wrapper'];
33
33
  if (headerWrapperElem) {
34
- const filterBtnElem = headerWrapperElem.querySelector(`.vxe-header--column.${column.id} .vxe-filter--btn`);
34
+ const filterBtnElem = headerWrapperElem.querySelector(`.vxe-header--column.${column.id} .vxe-cell--filter`);
35
35
  (0, _dom.triggerEvent)(filterBtnElem, 'click');
36
36
  }
37
37
  });
@@ -90,16 +90,9 @@ var _default = exports.default = {
90
90
  if (filterStore.column === column && filterStore.visible) {
91
91
  filterStore.visible = false;
92
92
  } else {
93
- const {
94
- clientY,
95
- pageX
96
- } = evnt;
97
93
  const el = $xeTable.$refs.refElem;
98
94
  const tableRect = el.getBoundingClientRect();
99
- const targetElem = evnt.target;
100
- const {
101
- visibleWidth
102
- } = (0, _dom.getDomNode)();
95
+ const btnElem = evnt.currentTarget;
103
96
  const {
104
97
  filters,
105
98
  filterMultiple,
@@ -144,41 +137,19 @@ var _default = exports.default = {
144
137
  if (!filterWrapperElem) {
145
138
  return;
146
139
  }
140
+ const btnRect = btnElem.getBoundingClientRect();
147
141
  const filterWidth = filterWrapperElem.offsetWidth;
148
142
  const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
149
143
  const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
150
144
  const centerWidth = filterWidth / 2;
151
- const minMargin = 10;
152
- const maxLeft = el.clientWidth - filterWidth - minMargin;
153
- let left, right;
154
- const thEl = targetElem.offsetParent;
155
- const trEl = thEl.offsetParent;
156
- const style = {
157
- top: `${targetElem.offsetTop + thEl.offsetTop + targetElem.offsetHeight}px`
158
- };
145
+ const left = btnRect.left - tableRect.left - centerWidth;
146
+ const top = btnRect.top - tableRect.top + btnElem.clientHeight;
159
147
  // 判断面板不能大于表格高度
160
- const maxHeight = Math.max(40, el.clientHeight - (clientY - tableRect.y) - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
161
- if (column.fixed === 'left') {
162
- left = targetElem.offsetLeft + thEl.offsetLeft - centerWidth;
163
- } else if (column.fixed === 'right') {
164
- right = thEl.offsetWidth - targetElem.offsetLeft + (trEl.offsetWidth - trEl.offsetLeft) - column.renderWidth - centerWidth;
165
- } else {
166
- left = targetElem.offsetLeft + thEl.offsetLeft - centerWidth - headerScrollElem.scrollLeft;
167
- }
168
- if (left) {
169
- const overflowWidth = pageX + filterWidth - centerWidth + minMargin - visibleWidth;
170
- if (overflowWidth > 0) {
171
- left -= overflowWidth;
172
- }
173
- style.left = `${Math.min(maxLeft, Math.max(minMargin, left))}px`;
174
- } else if (right) {
175
- const overflowWidth = pageX + filterWidth - centerWidth + minMargin - visibleWidth;
176
- if (overflowWidth > 0) {
177
- right += overflowWidth;
178
- }
179
- style.right = `${Math.max(minMargin, right)}px`;
180
- }
181
- filterStore.style = style;
148
+ const maxHeight = Math.max(40, el.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
149
+ filterStore.style = {
150
+ top: (0, _dom.toCssUnit)(top),
151
+ left: (0, _dom.toCssUnit)(left)
152
+ };
182
153
  filterStore.maxHeight = maxHeight;
183
154
  });
184
155
  }
@@ -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-filter--btn`),(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){let g=this;var s=g,n=g;let e=this.filterStore;if(e.column===_&&e.visible)e.visible=!1;else{let{initStore:e,filterStore:F}=s,t=n.elemStore;if(F.column===_&&F.visible)F.visible=!1;else{let{clientY:c,pageX:u}=l,d=g.$refs.refElem,m=d.getBoundingClientRect(),v=l.target,p=(0,_dom.getDomNode)().visibleWidth;var{filters:s,filterMultiple:o,filterRender:a}=_,a=(0,_utils.isEnableConf)(a)?renderer.get(a.name):null;let i=_.filterRecoverMethod||(a?a.tableFilterRecoverMethod||a.filterRecoverMethod:null);n._currFilterParams=r,Object.assign(F,{multiple:o,options:s,column:_,style:null}),F.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||i&&i({option:e,column:_,$table:g})}),this.checkFilterOptions(),F.visible=!0,e.filter=!0,g.$nextTick(()=>{var l=(0,_util.getRefElem)(t["main-header-scroll"]);if(l){var i=g.$refs.refTableFilter,i=i?i.$el:null;if(i){var r=i.offsetWidth,s=i.querySelector(".vxe-table--filter-header"),i=i.querySelector(".vxe-table--filter-footer"),n=r/2,o=d.clientWidth-r-10;let e,t;var a=v.offsetParent,h=a.offsetParent,f={top:v.offsetTop+a.offsetTop+v.offsetHeight+"px"},s=Math.max(40,d.clientHeight-(c-m.y)-(s?s.clientHeight:0)-(i?i.clientHeight:0)-14);"left"===_.fixed?e=v.offsetLeft+a.offsetLeft-n:"right"===_.fixed?t=a.offsetWidth-v.offsetLeft+(h.offsetWidth-h.offsetLeft)-_.renderWidth-n:e=v.offsetLeft+a.offsetLeft-n-l.scrollLeft,e?(0<(i=u+r-n+10-p)&&(e-=i),f.left=Math.min(o,Math.max(10,e))+"px"):t&&(0<(h=u+r-n+10-p)&&(t+=h),f.right=Math.max(10,t)+"px"),F.style=f,F.maxHeight=s}}})}g.dispatchEvent("filter-visible",{column:_,field:_.field,property:_.field,filterList:g.getCheckedFilters(),visible:F.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()},_resetFilterPanel(){return this.handleFilterResetFilter(null),this.$nextTick()},_getCheckedFilters(){var e=this.tableFullColumn;let s=[];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)&&s.push({column:e,field:t,property:t,values:i,datas:r})}),s},handleColumnConfirmFilter(e,t){let l=this;var i=l.mouseConfig;let{scrollXLoad:r,scrollYLoad:s}=l;var n=l.computeFilterOpts,o=l.computeMouseOpts,a=e.field;let h=[],f=[];e.filters.forEach(e=>{e.checked&&(h.push(e.value),f.push(e.data))});var c=this.getCheckedFilters(),e={$table:this,$event:t,column:e,field:a,property:a,values:h,datas:f,filters:c,filterList:c};return n.remote||(this.handleTableData(!0),this.checkSelectionStatus()),i&&o.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||s||t)return(r||e)&&l.updateScrollXSpace(),(s||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){this.handleClearFilter(this.filterStore.column),this.confirmFilterEvent(e)},_clearFilter(e){var t=this.filterStore;let l;return e?(l=(0,_util.handleFieldOrColumn)(this,e))&&this.handleClearFilter(l):this.visibleColumn.forEach(this.handleClearFilter),e&&l===t.column||Object.assign(t,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),this.updateData()},_updateFilterOptionStatus(e,t){return e._checked=t,e.checked=t,this.$nextTick()}}};
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(t,c,l){let h=this;var u=h,d=h;let e=this.filterStore;if(e.column===c&&e.visible)e.visible=!1;else{let{initStore:e,filterStore:o}=u,a=d.elemStore;if(o.column===c&&o.visible)o.visible=!1;else{let r=h.$refs.refElem,n=r.getBoundingClientRect(),s=t.currentTarget;var{filters:u,filterMultiple:f,filterRender:m}=c,m=(0,_utils.isEnableConf)(m)?renderer.get(m.name):null;let i=c.filterRecoverMethod||(m?m.tableFilterRecoverMethod||m.filterRecoverMethod:null);d._currFilterParams=l,Object.assign(o,{multiple:f,options:u,column:c,style:null}),o.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||i&&i({option:e,column:c,$table:h})}),this.checkFilterOptions(),o.visible=!0,e.filter=!0,h.$nextTick(()=>{var e,t,l,i;(0,_util.getRefElem)(a["main-header-scroll"])&&(e=(e=h.$refs.refTableFilter)?e.$el:null)&&(l=s.getBoundingClientRect(),t=e.offsetWidth,i=e.querySelector(".vxe-table--filter-header"),e=e.querySelector(".vxe-table--filter-footer"),t=t/2,t=l.left-n.left-t,l=l.top-n.top+s.clientHeight,i=Math.max(40,r.clientHeight-l-(i?i.clientHeight:0)-(e?e.clientHeight:0)-14),o.style={top:(0,_dom.toCssUnit)(l),left:(0,_dom.toCssUnit)(t)},o.maxHeight=i)})}h.dispatchEvent("filter-visible",{column:c,field:c.field,property:c.field,filterList:h.getCheckedFilters(),visible:o.visible},t)}},handleFilterConfirmFilter(e){var t=this.filterStore;t.options.forEach(e=>{e.checked=e._checked}),this.confirmFilterEvent(e)},_saveFilterPanel(){return this.handleFilterConfirmFilter(null),this.$nextTick()},_resetFilterPanel(){return this.handleFilterResetFilter(null),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,o=l.computeMouseOpts,a=e.field;let c=[],h=[];e.filters.forEach(e=>{e.checked&&(c.push(e.value),h.push(e.data))});var u=this.getCheckedFilters(),e={$table:this,$event:t,column:e,field:a,property:a,values:c,datas:h,filters:u,filterList:u};return s.remote||(this.handleTableData(!0),this.checkSelectionStatus()),i&&o.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){this.handleClearFilter(this.filterStore.column),this.confirmFilterEvent(e)},_clearFilter(e){var t=this.filterStore;let l;return e?(l=(0,_util.handleFieldOrColumn)(this,e))&&this.handleClearFilter(l):this.visibleColumn.forEach(this.handleClearFilter),e&&l===t.column||Object.assign(t,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),this.updateData()},_updateFilterOptionStatus(e,t){return e._checked=t,e.checked=t,this.$nextTick()}}};
@@ -1101,12 +1101,7 @@ const Cell = exports.Cell = {
1101
1101
  return [h('span', {
1102
1102
  class: ['vxe-cell--filter', {
1103
1103
  'is--active': filterStore.visible && filterStore.column === column
1104
- }]
1105
- }, [h('i', {
1106
- class: ['vxe-filter--btn', hasFilter ? iconMatch || getIcon().TABLE_FILTER_MATCH : iconNone || getIcon().TABLE_FILTER_NONE],
1107
- attrs: {
1108
- title: getI18n('vxe.table.filter')
1109
- },
1104
+ }],
1110
1105
  on: {
1111
1106
  click(evnt) {
1112
1107
  if ($table.triggerFilterEvent) {
@@ -1114,6 +1109,11 @@ const Cell = exports.Cell = {
1114
1109
  }
1115
1110
  }
1116
1111
  }
1112
+ }, [h('i', {
1113
+ class: ['vxe-filter--btn', hasFilter ? iconMatch || getIcon().TABLE_FILTER_MATCH : iconNone || getIcon().TABLE_FILTER_NONE],
1114
+ attrs: {
1115
+ title: getI18n('vxe.table.filter')
1116
+ }
1117
1117
  })])];
1118
1118
  }
1119
1119
  return [];
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(e,l){let{$table:r,column:t}=l,n=t.titlePrefix||t.titleHelp;return n?e("i",{class:["vxe-cell-title-prefix-icon",n.icon||getIcon().TABLE_TITLE_PREFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderTitleSuffixIcon(e,l){let{$table:r,column:t}=l,n=t.titleSuffix;return n?e("i",{class:["vxe-cell-title-suffix-icon",n.icon||getIcon().TABLE_TITLE_SUFFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderCellDragIcon(e,l){let r=l.$table;var t=r.$scopedSlots,n=r.dragConfig,{icon:a,trigger:o,disabledMethod:d}=r.computeRowDragOpts,d=d||(n?n.rowDisabledMethod:null);let s=d&&d(l);d=t.rowDragIcon||t["row-drag-icon"],t={};return"cell"!==o&&(t.mousedown=e=>{s||r.handleCellDragMousedownEvent(e,l)},t.mouseup=r.handleCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":s}],on:t},d?r.callSlot(d,l,e):[e("i",{class:a||(n?n.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l,r){var{$table:t,column:n,level:a}=l,n=n.dragSort,{treeConfig:o,dragConfig:d}=t,s=t.computeRowOpts,i=t.computeTreeOpts,{showIcon:t,isPeerDrag:c,isCrossDrag:u,visibleMethod:C}=t.computeRowDragOpts,C=C||(d?d.rowVisibleMethod:null),r=_xeUtils.default.isArray(r)?r:[r];return n&&s.drag&&(t||d&&d.showRowIcon)&&(!C||C(l))&&(!o||i.transform&&(c||u||!a))&&r.unshift(renderCellDragIcon(e,l)),r}function renderHeaderCellDragIcon(e,r){let{$table:t,column:l}=r;var n=t.$scopedSlots,a=l.slots,o=t.computeColumnOpts,{showIcon:d,icon:s,trigger:i,isPeerDrag:c,isCrossDrag:u,visibleMethod:C,disabledMethod:g}=t.computeColumnDragOpts;if(!o.drag||!d||C&&!C(r)||l.fixed||!c&&!u&&l.parentId)return renderEmptyElement(t);{let l=g&&g(r);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.mousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},d.mouseup=t.handleHeaderCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}],on:d},o?t.callSlot(o,r,e):[e("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l,r){return[renderTitlePrefixIcon(e,l),renderHeaderCellDragIcon(e,l),..._xeUtils.default.isArray(r)?r:[r],renderTitleSuffixIcon(e,l)]}function renderTitleContent(e,l,r){let{$table:t,column:n}=l;var{type:a,showHeaderOverflow:o}=n,d=t;let s=t;d=d.showHeaderOverflow;let i=t.computeTooltipOpts.showAll;d=_xeUtils.default.isUndefined(o)||_xeUtils.default.isNull(o)?d:o;let c="title"===d,u=!0===d||"tooltip"===d;o={};return(c||u||i)&&(o.mouseenter=e=>{s.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(o.mouseleave=e=>{s.isDragResize||(u||i)&&t.handleTargetLeaveEvent(e)}),["html"===a&&_xeUtils.default.isString(r)?e("span",{class:"vxe-cell--title",domProps:{innerHTML:r},on:o}):e("span",{class:"vxe-cell--title",on:o},(0,_vn.getSlotVNs)(r))]}function getFooterContent(e,l){var{$table:r,column:t,_columnIndex:n,row:a,items:o}=l,{slots:d,editRender:s,cellRender:i,footerFormatter:c}=t,s=s||i;if(d&&d.footer)return r.callSlot(d.footer,l,e);let u="";u=_xeUtils.default.isArray(o)?o[n]:_xeUtils.default.get(a,t.field);i=Object.assign(l,{itemValue:u});if(c)return _xeUtils.default.isFunction(c)?""+c(i):(n=(o=(d=_xeUtils.default.isArray(c))?formats.get(c[0]):formats.get(c))?o.tableFooterCellFormatMethod:null)?""+(d?n(i,...c.slice(1)):n(i)):"";if(s){a=renderer.get(s.name),t=a?a.renderTableFooter||a.renderFooter:null;if(t)return(0,_vn.getSlotVNs)(t.call(r,e,s,i))}return[(0,_utils.formatText)(u,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}function renderCellHandle(e,l){var{column:r,$table:t}=l,n=t.editConfig,{type:r,treeNode:a,editRender:o}=r,d=t.computeCheckboxOpts,t=t.computeEditOpts;switch(r){case"seq":return a?Cell.renderTreeIndexCell(e,l):Cell.renderSeqCell(e,l);case"radio":return a?Cell.renderTreeRadioCell(e,l):Cell.renderRadioCell(e,l);case"checkbox":return d.checkField?a?Cell.renderTreeSelectionCellByProp(e,l):Cell.renderCheckboxCellByProp(e,l):a?Cell.renderTreeSelectionCell(e,l):Cell.renderCheckboxCell(e,l);case"expand":return Cell.renderExpandCell(e,l);case"html":return a?Cell.renderTreeHTMLCell(e,l):Cell.renderHTMLCell(e,l)}return(0,_utils.isEnableConf)(n)&&o?"cell"===t.mode?a?Cell.renderTreeCellEdit(e,l):Cell.renderCellEdit(e,l):a?Cell.renderTreeRowEdit(e,l):Cell.renderRowEdit(e,l):a?Cell.renderTreeCell(e,l):Cell.renderDefaultCell(e,l)}function renderHeaderHandle(e,l){var{column:r,$table:t}=l,t=t.editConfig,{type:r,filters:n,sortable:a,editRender:o}=r;switch(r){case"seq":return Cell.renderSeqHeader(e,l);case"radio":return Cell.renderRadioHeader(e,l);case"checkbox":return Cell.renderCheckboxHeader(e,l);case"html":if(n&&a)return Cell.renderSortAndFilterHeader(e,l);if(a)return Cell.renderSortHeader(e,l);if(n)return Cell.renderFilterHeader(e,l)}return t&&o?Cell.renderEditHeader(e,l):n&&a?Cell.renderSortAndFilterHeader(e,l):a?Cell.renderSortHeader(e,l):n?Cell.renderFilterHeader(e,l):Cell.renderDefaultHeader(e,l)}function renderFooterHandle(e,l){return Cell.renderDefaultFooter(e,l)}let Cell=exports.Cell={createColumn(e,l){var r=l.type,t={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===r&&(t.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,t)},renderHeaderTitle(e,l){var{$table:r,column:t}=l,{slots:n,editRender:a,cellRender:o}=t,a=a||o;if(n&&n.header)return renderTitleContent(e,l,r.callSlot(n.header,l,e));if(a){o=renderer.get(a.name),n=o?o.renderTableHeader||o.renderHeader:null;if(n)return(0,_vn.getSlotVNs)(renderTitleContent(e,l,n.call(r,e,a,l)))}return renderTitleContent(e,l,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l))},renderDefaultCell(e,l){var{$table:r,row:t,column:n}=l,{slots:a,editRender:o,cellRender:d}=n,d=o||d;if(a&&a.default)return renderCellBaseVNs(e,l,r.callSlot(a.default,l,e));if(d){var a=renderer.get(d.name),s=a?a.renderTableDefault||a.renderDefault:null,a=a?a.renderTableCell||a.renderCell:null,a=o?a:s;if(a)return renderCellBaseVNs(e,l,(0,_vn.getSlotVNs)(a.call(r,e,d,Object.assign({$type:o?"edit":"cell"},l))))}s=r.getCellLabel(t,n),a=o?o.placeholder:"";return renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[o&&(0,_utils.eqEmptyValue)(s)?e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(a),1)):e("span",(0,_utils.formatText)(s,1))])])},renderTreeCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderDefaultCell.call(this,e,l))},renderDefaultFooter(e,l){return getFooterContent(e,l)},renderTreeIcon(e,l,r){let{$table:t,isHidden:n}=l;var a=t.treeExpandedFlag,{fullAllDataRowIdData:o,treeExpandedMaps:d,treeExpandLazyLoadedMaps:s}=t,i=t.computeTreeOpts,{row:c,column:u,level:C}=l,u=u.slots,{indent:g,lazy:p,trigger:E,iconLoaded:b,showIcon:x,iconOpen:f,iconClose:v}=i,m=i.children||i.childrenField,i=i.hasChild||i.hasChildField,m=c[m],m=m&&m.length,u=u?u.icon:null;let T=!1,h=!1,_=!1,I=!1;var H={};return u?t.callSlot(u,l,e):(n||(u=(0,_util.getRowid)(t,c),h=!!a&&!!d[u],p&&(a=o[u],_=!!s[u],T=c[i],I=!!a.treeLoaded)),E&&"default"!==E||(H.click=e=>{t.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":h}],style:{paddingLeft:C*g+"px"}},[x&&(!p||I?m:m||T)?[e("div",{class:"vxe-tree--btn-wrapper",on:H},[e("i",{class:["vxe-tree--node-btn",_?b||getIcon().TABLE_TREE_LOADED:h?f||getIcon().TABLE_TREE_OPEN:v||getIcon().TABLE_TREE_CLOSE]})])]:null,e("div",{class:"vxe-tree-cell"},r)])])},renderSeqHeader(e,l){var{$table:r,column:t}=l,n=t.slots;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,n&&n.header?r.callSlot(n.header,l,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e,l){var{$table:r,column:t}=l,n=r.treeConfig,a=r.computeSeqOpts,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):(r=l.seq,t=a.seqMethod,renderCellBaseVNs(e,l,[e("span",""+(0,_utils.formatText)(t?t(l):n?r:(a.startIndex||0)+r,1))]))},renderTreeIndexCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderSeqCell(e,l))},renderRadioHeader(e,l){var{$table:r,column:t}=l,n=t.slots,a=n?n.header:null,n=n?n.title:null;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,a?r.callSlot(a,l,e):[e("span",{class:"vxe-radio--label"},n?r.callSlot(n,l,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(e,l){let{$table:r,column:t,isHidden:n}=l;var a=r.selectRadioRow,o=t.slots,{labelField:d,checkMethod:s,visibleMethod:i}=r.computeRadioOpts,c=l.row,u=o?o.default:null,o=o?o.radio:null,a=c===a;let C=!i||i({row:c}),g=!!s,p;n||(p={click(e){!g&&C&&r.triggerRadioRowEvent(e,l)}},s&&(g=!s({row:c})));i=Object.assign(Object.assign({},l),{checked:a,disabled:g,visible:C});return o?renderCellBaseVNs(e,l,r.callSlot(o,i,e)):(s=[],C&&s.push(e("span",{class:["vxe-radio--icon",a?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||d)&&s.push(e("span",{class:"vxe-radio--label"},u?r.callSlot(u,i,e):_xeUtils.default.get(c,d))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--radio",{"is--checked":a,"is--disabled":g}],on:p},s)]))},renderTreeRadioCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:r,column:t,isHidden:n}=l;let{isAllSelected:a,isIndeterminate:o}=r,d=r.computeIsAllCheckboxDisabled;var s=t.slots,i=s?s.header:null,s=s?s.title:null,{checkStrictly:c,showHeader:u,headerTitle:C}=r.computeCheckboxOpts,g=t.getTitle(),p={},E=(n||(p.click=e=>{d||r.triggerCheckAllEvent(e,!a)}),Object.assign(Object.assign({},l),{checked:a,disabled:d,indeterminate:o}));return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,i?r.callSlot(i,E,e):(c?u:!1!==u)?[e("span",{class:["vxe-cell--checkbox",{"is--checked":a,"is--disabled":d,"is--indeterminate":o}],attrs:{title:_xeUtils.default.eqNull(C)?getI18n("vxe.table.allTitle"):""+(C||"")},on:p},[e("span",{class:["vxe-checkbox--icon",o?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(s||g?[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):g)]:[]))]:[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):g)]))},renderCheckboxCell(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var o=r.treeConfig,d=r.updateCheckboxFlag,{selectCheckboxMaps:s,treeIndeterminateRowMaps:i}=r,{labelField:c,checkMethod:u,visibleMethod:C}=r.computeCheckboxOpts,g=n.slots,p=g?g.default:null,g=g?g.checkbox:null;let E=!1,b=!1,x=!C||C({row:t}),f=!!u;var v,C={},d=(a||(v=(0,_util.getRowid)(r,t),b=!!d&&!!s[v],C.click=e=>{!f&&x&&r.triggerCheckRowEvent(e,l,!b)},u&&(f=!u({row:t})),o&&(E=!!i[v])),Object.assign(Object.assign({},l),{checked:b,disabled:f,visible:x,indeterminate:E}));return g?renderCellBaseVNs(e,l,r.callSlot(g,d,e)):(s=[],x&&s.push(e("span",{class:["vxe-checkbox--icon",E?getIcon().TABLE_CHECKBOX_INDETERMINATE:b?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(p||c)&&s.push(e("span",{class:"vxe-checkbox--label"},p?r.callSlot(p,d,e):_xeUtils.default.get(t,c))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":b,"is--disabled":f,"is--indeterminate":E,"is--hidden":!x}],on:C},s)]))},renderTreeSelectionCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCell(e,l))},renderCheckboxCellByProp(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var o=r.treeConfig,d=r.updateCheckboxFlag,s=r.treeIndeterminateRowMaps,i=r.computeCheckboxOpts,{labelField:c,checkField:u,checkMethod:C,visibleMethod:g}=i,i=i.indeterminateField||i.halfField,p=n.slots,E=p?p.default:null,p=p?p.checkbox:null;let b=!1,x=!1,f=!g||g({row:t}),v=!!C;var m,g={},d=(a||(m=(0,_util.getRowid)(r,t),x=!!d&&_xeUtils.default.get(t,u),g.click=e=>{!v&&f&&r.triggerCheckRowEvent(e,l,!x)},C&&(v=!C({row:t})),o&&(b=!!s[m])),Object.assign(Object.assign({},l),{checked:x,disabled:v,visible:f,indeterminate:b}));return p?renderCellBaseVNs(e,l,r.callSlot(p,d,e)):(u=[],f&&u.push(e("span",{class:["vxe-checkbox--icon",b?getIcon().TABLE_CHECKBOX_INDETERMINATE:x?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(E||c)&&u.push(e("span",{class:"vxe-checkbox--label"},E?r.callSlot(E,d,e):_xeUtils.default.get(t,c))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":x,"is--disabled":v,"is--indeterminate":i&&!x?t[i]:b,"is--hidden":!f}],on:g},u)]))},renderTreeSelectionCellByProp(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCellByProp(e,l))},renderExpandCell(e,l){let{$table:r,isHidden:t,row:n,column:a}=l;var{rowExpandedMaps:o,rowExpandLazyLoadedMaps:d}=r,{lazy:s,labelField:i,iconLoaded:c,showIcon:u,iconOpen:C,iconClose:g,visibleMethod:p}=r.computeExpandOpts,E=a.slots,b=E?E.default:null,E=E?E.icon:null;let x=!1,f=!1;return E?renderCellBaseVNs(e,l,r.callSlot(E,l,e)):(t||(E=(0,_util.getRowid)(r,n),x=!!o[E],s&&(f=!!d[E])),renderCellBaseVNs(e,l,[!u||p&&!p(l)?renderEmptyElement(r):e("span",{class:["vxe-table--expanded",{"is--active":x}],on:{mousedown(e){e.stopPropagation()},click(e){r.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",f?c||getIcon().TABLE_EXPAND_LOADED:x?C||getIcon().TABLE_EXPAND_OPEN:g||getIcon().TABLE_EXPAND_CLOSE]})]),b||i?e("span",{class:"vxe-table--expand-label"},b?r.callSlot(b,l,e):_xeUtils.default.get(n,i)):renderEmptyElement(r)]))},renderExpandData(e,l){var{$table:r,column:t}=l,{slots:t,contentRender:n}=t;if(t&&t.content)return r.callSlot(t.content,l,e);if(n){t=renderer.get(n.name),t=t?t.renderTableExpand||t.renderExpand:null;if(t)return(0,_vn.getSlotVNs)(t.call(r,e,n,l))}return[]},renderHTMLCell(e,l){var{$table:r,column:t}=l,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--html",domProps:{innerHTML:getDefaultCellLabel(l)}})])},renderTreeHTMLCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderHTMLCell(e,l))},renderSortAndFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l).concat(Cell.renderFilterIcon(e,l))))},renderSortHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l)))},renderSortIcon(e,l){let{$table:r,column:t}=l;var{showIcon:n,allowBtn:a,ascTitle:o,descTitle:d,iconLayout:s,iconAsc:i,iconDesc:c,iconVisibleMethod:u}=r.computeSortOpts;return!n||u&&!u(l)?[]:[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${s}-layout`]},[e("i",{class:["vxe-sort--asc-btn",i||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===t.order}],attrs:{title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortAsc"):""+(o||"")},on:a?{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"asc")}}:void 0}),e("i",{class:["vxe-sort--desc-btn",c||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===t.order}],attrs:{title:_xeUtils.default.eqNull(d)?getI18n("vxe.table.sortDesc"):""+(d||"")},on:a?{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"desc")}}:void 0})])]},renderFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderFilterIcon(e,l)))},renderFilterIcon(e,l){let{$table:r,column:t,hasFilter:n}=l;var a=r.filterStore,{showIcon:o,iconNone:d,iconMatch:s,iconVisibleMethod:i}=r.computeFilterOpts;return!o||i&&!i(l)?[]:[e("span",{class:["vxe-cell--filter",{"is--active":a.visible&&a.column===t}]},[e("i",{class:["vxe-filter--btn",n?s||getIcon().TABLE_FILTER_MATCH:d||getIcon().TABLE_FILTER_NONE],attrs:{title:getI18n("vxe.table.filter")},on:{click(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}}})])]},renderEditHeader(e,l){var{$table:r,column:t}=l,{editConfig:n,editRules:a}=r,o=r.computeEditOpts,{sortable:d,filters:s,editRender:i}=t;let c=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(c=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(n)&&(u=[c&&o.showAsterisk?e("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(r),(0,_utils.isEnableConf)(i)&&o.showIcon?e("i",{class:["vxe-cell--edit-icon",o.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(r)]),renderHeaderCellBaseVNs(e,l,u.concat(Cell.renderHeaderTitle(e,l)).concat(d?Cell.renderSortIcon(e,l):[]).concat(s?Cell.renderFilterIcon(e,l):[]))},renderRowEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row)},renderTreeRowEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRowEdit(e,l))},renderCellEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row&&r.column===l.column)},renderTreeCellEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCellEdit(e,l))},runRenderer(e,l,r,t){var{$table:n,column:a}=l,{slots:a,editRender:o,formatter:d}=a,s=renderer.get(o.name),s=s?s.renderTableEdit||s.renderEdit:null,i=Object.assign({$type:"",isEdit:t},l);return t?a&&a.edit?n.callSlot(a.edit,i,e):s?(0,_vn.getSlotVNs)(s.call(n,e,o,i)):[]:a&&a.default?renderCellBaseVNs(e,l,n.callSlot(a.default,i,e)):d?renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[getDefaultCellLabel(i)])]):Cell.renderDefaultCell.call(r,e,i)}};var _default=exports.default=Cell;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderer,formats,renderEmptyElement}=_ui.VxeUI;function renderTitlePrefixIcon(e,l){let{$table:r,column:t}=l,n=t.titlePrefix||t.titleHelp;return n?e("i",{class:["vxe-cell-title-prefix-icon",n.icon||getIcon().TABLE_TITLE_PREFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderTitleSuffixIcon(e,l){let{$table:r,column:t}=l,n=t.titleSuffix;return n?e("i",{class:["vxe-cell-title-suffix-icon",n.icon||getIcon().TABLE_TITLE_SUFFIX],on:{mouseenter(e){r.triggerHeaderTitleEvent(e,n,l)},mouseleave(e){r.handleTargetLeaveEvent(e)}}}):renderEmptyElement(r)}function renderCellDragIcon(e,l){let r=l.$table;var t=r.$scopedSlots,n=r.dragConfig,{icon:a,trigger:o,disabledMethod:d}=r.computeRowDragOpts,d=d||(n?n.rowDisabledMethod:null);let s=d&&d(l);d=t.rowDragIcon||t["row-drag-icon"],t={};return"cell"!==o&&(t.mousedown=e=>{s||r.handleCellDragMousedownEvent(e,l)},t.mouseup=r.handleCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":s}],on:t},d?r.callSlot(d,l,e):[e("i",{class:a||(n?n.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l,r){var{$table:t,column:n,level:a}=l,n=n.dragSort,{treeConfig:o,dragConfig:d}=t,s=t.computeRowOpts,i=t.computeTreeOpts,{showIcon:t,isPeerDrag:c,isCrossDrag:u,visibleMethod:C}=t.computeRowDragOpts,C=C||(d?d.rowVisibleMethod:null),r=_xeUtils.default.isArray(r)?r:[r];return n&&s.drag&&(t||d&&d.showRowIcon)&&(!C||C(l))&&(!o||i.transform&&(c||u||!a))&&r.unshift(renderCellDragIcon(e,l)),r}function renderHeaderCellDragIcon(e,r){let{$table:t,column:l}=r;var n=t.$scopedSlots,a=l.slots,o=t.computeColumnOpts,{showIcon:d,icon:s,trigger:i,isPeerDrag:c,isCrossDrag:u,visibleMethod:C,disabledMethod:g}=t.computeColumnDragOpts;if(!o.drag||!d||C&&!C(r)||l.fixed||!c&&!u&&l.parentId)return renderEmptyElement(t);{let l=g&&g(r);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.mousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},d.mouseup=t.handleHeaderCellDragMouseupEvent),e("span",{key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}],on:d},o?t.callSlot(o,r,e):[e("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l,r){return[renderTitlePrefixIcon(e,l),renderHeaderCellDragIcon(e,l),..._xeUtils.default.isArray(r)?r:[r],renderTitleSuffixIcon(e,l)]}function renderTitleContent(e,l,r){let{$table:t,column:n}=l;var{type:a,showHeaderOverflow:o}=n,d=t;let s=t;d=d.showHeaderOverflow;let i=t.computeTooltipOpts.showAll;d=_xeUtils.default.isUndefined(o)||_xeUtils.default.isNull(o)?d:o;let c="title"===d,u=!0===d||"tooltip"===d;o={};return(c||u||i)&&(o.mouseenter=e=>{s.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,n):(u||i)&&t.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(o.mouseleave=e=>{s.isDragResize||(u||i)&&t.handleTargetLeaveEvent(e)}),["html"===a&&_xeUtils.default.isString(r)?e("span",{class:"vxe-cell--title",domProps:{innerHTML:r},on:o}):e("span",{class:"vxe-cell--title",on:o},(0,_vn.getSlotVNs)(r))]}function getFooterContent(e,l){var{$table:r,column:t,_columnIndex:n,row:a,items:o}=l,{slots:d,editRender:s,cellRender:i,footerFormatter:c}=t,s=s||i;if(d&&d.footer)return r.callSlot(d.footer,l,e);let u="";u=_xeUtils.default.isArray(o)?o[n]:_xeUtils.default.get(a,t.field);i=Object.assign(l,{itemValue:u});if(c)return _xeUtils.default.isFunction(c)?""+c(i):(n=(o=(d=_xeUtils.default.isArray(c))?formats.get(c[0]):formats.get(c))?o.tableFooterCellFormatMethod:null)?""+(d?n(i,...c.slice(1)):n(i)):"";if(s){a=renderer.get(s.name),t=a?a.renderTableFooter||a.renderFooter:null;if(t)return(0,_vn.getSlotVNs)(t.call(r,e,s,i))}return[(0,_utils.formatText)(u,1)]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}function renderCellHandle(e,l){var{column:r,$table:t}=l,n=t.editConfig,{type:r,treeNode:a,editRender:o}=r,d=t.computeCheckboxOpts,t=t.computeEditOpts;switch(r){case"seq":return a?Cell.renderTreeIndexCell(e,l):Cell.renderSeqCell(e,l);case"radio":return a?Cell.renderTreeRadioCell(e,l):Cell.renderRadioCell(e,l);case"checkbox":return d.checkField?a?Cell.renderTreeSelectionCellByProp(e,l):Cell.renderCheckboxCellByProp(e,l):a?Cell.renderTreeSelectionCell(e,l):Cell.renderCheckboxCell(e,l);case"expand":return Cell.renderExpandCell(e,l);case"html":return a?Cell.renderTreeHTMLCell(e,l):Cell.renderHTMLCell(e,l)}return(0,_utils.isEnableConf)(n)&&o?"cell"===t.mode?a?Cell.renderTreeCellEdit(e,l):Cell.renderCellEdit(e,l):a?Cell.renderTreeRowEdit(e,l):Cell.renderRowEdit(e,l):a?Cell.renderTreeCell(e,l):Cell.renderDefaultCell(e,l)}function renderHeaderHandle(e,l){var{column:r,$table:t}=l,t=t.editConfig,{type:r,filters:n,sortable:a,editRender:o}=r;switch(r){case"seq":return Cell.renderSeqHeader(e,l);case"radio":return Cell.renderRadioHeader(e,l);case"checkbox":return Cell.renderCheckboxHeader(e,l);case"html":if(n&&a)return Cell.renderSortAndFilterHeader(e,l);if(a)return Cell.renderSortHeader(e,l);if(n)return Cell.renderFilterHeader(e,l)}return t&&o?Cell.renderEditHeader(e,l):n&&a?Cell.renderSortAndFilterHeader(e,l):a?Cell.renderSortHeader(e,l):n?Cell.renderFilterHeader(e,l):Cell.renderDefaultHeader(e,l)}function renderFooterHandle(e,l){return Cell.renderDefaultFooter(e,l)}let Cell=exports.Cell={createColumn(e,l){var r=l.type,t={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===r&&(t.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,t)},renderHeaderTitle(e,l){var{$table:r,column:t}=l,{slots:n,editRender:a,cellRender:o}=t,a=a||o;if(n&&n.header)return renderTitleContent(e,l,r.callSlot(n.header,l,e));if(a){o=renderer.get(a.name),n=o?o.renderTableHeader||o.renderHeader:null;if(n)return(0,_vn.getSlotVNs)(renderTitleContent(e,l,n.call(r,e,a,l)))}return renderTitleContent(e,l,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l))},renderDefaultCell(e,l){var{$table:r,row:t,column:n}=l,{slots:a,editRender:o,cellRender:d}=n,d=o||d;if(a&&a.default)return renderCellBaseVNs(e,l,r.callSlot(a.default,l,e));if(d){var a=renderer.get(d.name),s=a?a.renderTableDefault||a.renderDefault:null,a=a?a.renderTableCell||a.renderCell:null,a=o?a:s;if(a)return renderCellBaseVNs(e,l,(0,_vn.getSlotVNs)(a.call(r,e,d,Object.assign({$type:o?"edit":"cell"},l))))}s=r.getCellLabel(t,n),a=o?o.placeholder:"";return renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[o&&(0,_utils.eqEmptyValue)(s)?e("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(a),1)):e("span",(0,_utils.formatText)(s,1))])])},renderTreeCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderDefaultCell.call(this,e,l))},renderDefaultFooter(e,l){return getFooterContent(e,l)},renderTreeIcon(e,l,r){let{$table:t,isHidden:n}=l;var a=t.treeExpandedFlag,{fullAllDataRowIdData:o,treeExpandedMaps:d,treeExpandLazyLoadedMaps:s}=t,i=t.computeTreeOpts,{row:c,column:u,level:C}=l,u=u.slots,{indent:g,lazy:p,trigger:E,iconLoaded:b,showIcon:x,iconOpen:f,iconClose:v}=i,m=i.children||i.childrenField,i=i.hasChild||i.hasChildField,m=c[m],m=m&&m.length,u=u?u.icon:null;let T=!1,h=!1,_=!1,I=!1;var H={};return u?t.callSlot(u,l,e):(n||(u=(0,_util.getRowid)(t,c),h=!!a&&!!d[u],p&&(a=o[u],_=!!s[u],T=c[i],I=!!a.treeLoaded)),E&&"default"!==E||(H.click=e=>{t.triggerTreeExpandEvent(e,l)}),[e("div",{class:["vxe-cell--tree-node",{"is--active":h}],style:{paddingLeft:C*g+"px"}},[x&&(!p||I?m:m||T)?[e("div",{class:"vxe-tree--btn-wrapper",on:H},[e("i",{class:["vxe-tree--node-btn",_?b||getIcon().TABLE_TREE_LOADED:h?f||getIcon().TABLE_TREE_OPEN:v||getIcon().TABLE_TREE_CLOSE]})])]:null,e("div",{class:"vxe-tree-cell"},r)])])},renderSeqHeader(e,l){var{$table:r,column:t}=l,n=t.slots;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,n&&n.header?r.callSlot(n.header,l,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e,l){var{$table:r,column:t}=l,n=r.treeConfig,a=r.computeSeqOpts,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):(r=l.seq,t=a.seqMethod,renderCellBaseVNs(e,l,[e("span",""+(0,_utils.formatText)(t?t(l):n?r:(a.startIndex||0)+r,1))]))},renderTreeIndexCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderSeqCell(e,l))},renderRadioHeader(e,l){var{$table:r,column:t}=l,n=t.slots,a=n?n.header:null,n=n?n.title:null;return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,l,a?r.callSlot(a,l,e):[e("span",{class:"vxe-radio--label"},n?r.callSlot(n,l,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(e,l){let{$table:r,column:t,isHidden:n}=l;var a=r.selectRadioRow,o=t.slots,{labelField:d,checkMethod:s,visibleMethod:i}=r.computeRadioOpts,c=l.row,u=o?o.default:null,o=o?o.radio:null,a=c===a;let C=!i||i({row:c}),g=!!s,p;n||(p={click(e){!g&&C&&r.triggerRadioRowEvent(e,l)}},s&&(g=!s({row:c})));i=Object.assign(Object.assign({},l),{checked:a,disabled:g,visible:C});return o?renderCellBaseVNs(e,l,r.callSlot(o,i,e)):(s=[],C&&s.push(e("span",{class:["vxe-radio--icon",a?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||d)&&s.push(e("span",{class:"vxe-radio--label"},u?r.callSlot(u,i,e):_xeUtils.default.get(c,d))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--radio",{"is--checked":a,"is--disabled":g}],on:p},s)]))},renderTreeRadioCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRadioCell(e,l))},renderCheckboxHeader(e,l){let{$table:r,column:t,isHidden:n}=l;let{isAllSelected:a,isIndeterminate:o}=r,d=r.computeIsAllCheckboxDisabled;var s=t.slots,i=s?s.header:null,s=s?s.title:null,{checkStrictly:c,showHeader:u,headerTitle:C}=r.computeCheckboxOpts,g=t.getTitle(),p={},E=(n||(p.click=e=>{d||r.triggerCheckAllEvent(e,!a)}),Object.assign(Object.assign({},l),{checked:a,disabled:d,indeterminate:o}));return renderHeaderCellBaseVNs(e,l,renderTitleContent(e,E,i?r.callSlot(i,E,e):(c?u:!1!==u)?[e("span",{class:["vxe-cell--checkbox",{"is--checked":a,"is--disabled":d,"is--indeterminate":o}],attrs:{title:_xeUtils.default.eqNull(C)?getI18n("vxe.table.allTitle"):""+(C||"")},on:p},[e("span",{class:["vxe-checkbox--icon",o?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(s||g?[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):g)]:[]))]:[e("span",{class:"vxe-checkbox--label"},s?r.callSlot(s,E,e):g)]))},renderCheckboxCell(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var o=r.treeConfig,d=r.updateCheckboxFlag,{selectCheckboxMaps:s,treeIndeterminateRowMaps:i}=r,{labelField:c,checkMethod:u,visibleMethod:C}=r.computeCheckboxOpts,g=n.slots,p=g?g.default:null,g=g?g.checkbox:null;let E=!1,b=!1,x=!C||C({row:t}),f=!!u;var v,C={},d=(a||(v=(0,_util.getRowid)(r,t),b=!!d&&!!s[v],C.click=e=>{!f&&x&&r.triggerCheckRowEvent(e,l,!b)},u&&(f=!u({row:t})),o&&(E=!!i[v])),Object.assign(Object.assign({},l),{checked:b,disabled:f,visible:x,indeterminate:E}));return g?renderCellBaseVNs(e,l,r.callSlot(g,d,e)):(s=[],x&&s.push(e("span",{class:["vxe-checkbox--icon",E?getIcon().TABLE_CHECKBOX_INDETERMINATE:b?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(p||c)&&s.push(e("span",{class:"vxe-checkbox--label"},p?r.callSlot(p,d,e):_xeUtils.default.get(t,c))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":b,"is--disabled":f,"is--indeterminate":E,"is--hidden":!x}],on:C},s)]))},renderTreeSelectionCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCell(e,l))},renderCheckboxCellByProp(e,l){let{$table:r,row:t,column:n,isHidden:a}=l;var o=r.treeConfig,d=r.updateCheckboxFlag,s=r.treeIndeterminateRowMaps,i=r.computeCheckboxOpts,{labelField:c,checkField:u,checkMethod:C,visibleMethod:g}=i,i=i.indeterminateField||i.halfField,p=n.slots,E=p?p.default:null,p=p?p.checkbox:null;let b=!1,x=!1,f=!g||g({row:t}),v=!!C;var m,g={},d=(a||(m=(0,_util.getRowid)(r,t),x=!!d&&_xeUtils.default.get(t,u),g.click=e=>{!v&&f&&r.triggerCheckRowEvent(e,l,!x)},C&&(v=!C({row:t})),o&&(b=!!s[m])),Object.assign(Object.assign({},l),{checked:x,disabled:v,visible:f,indeterminate:b}));return p?renderCellBaseVNs(e,l,r.callSlot(p,d,e)):(u=[],f&&u.push(e("span",{class:["vxe-checkbox--icon",b?getIcon().TABLE_CHECKBOX_INDETERMINATE:x?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(E||c)&&u.push(e("span",{class:"vxe-checkbox--label"},E?r.callSlot(E,d,e):_xeUtils.default.get(t,c))),renderCellBaseVNs(e,l,[e("span",{class:["vxe-cell--checkbox",{"is--checked":x,"is--disabled":v,"is--indeterminate":i&&!x?t[i]:b,"is--hidden":!f}],on:g},u)]))},renderTreeSelectionCellByProp(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCheckboxCellByProp(e,l))},renderExpandCell(e,l){let{$table:r,isHidden:t,row:n,column:a}=l;var{rowExpandedMaps:o,rowExpandLazyLoadedMaps:d}=r,{lazy:s,labelField:i,iconLoaded:c,showIcon:u,iconOpen:C,iconClose:g,visibleMethod:p}=r.computeExpandOpts,E=a.slots,b=E?E.default:null,E=E?E.icon:null;let x=!1,f=!1;return E?renderCellBaseVNs(e,l,r.callSlot(E,l,e)):(t||(E=(0,_util.getRowid)(r,n),x=!!o[E],s&&(f=!!d[E])),renderCellBaseVNs(e,l,[!u||p&&!p(l)?renderEmptyElement(r):e("span",{class:["vxe-table--expanded",{"is--active":x}],on:{mousedown(e){e.stopPropagation()},click(e){r.triggerRowExpandEvent(e,l)}}},[e("i",{class:["vxe-table--expand-btn",f?c||getIcon().TABLE_EXPAND_LOADED:x?C||getIcon().TABLE_EXPAND_OPEN:g||getIcon().TABLE_EXPAND_CLOSE]})]),b||i?e("span",{class:"vxe-table--expand-label"},b?r.callSlot(b,l,e):_xeUtils.default.get(n,i)):renderEmptyElement(r)]))},renderExpandData(e,l){var{$table:r,column:t}=l,{slots:t,contentRender:n}=t;if(t&&t.content)return r.callSlot(t.content,l,e);if(n){t=renderer.get(n.name),t=t?t.renderTableExpand||t.renderExpand:null;if(t)return(0,_vn.getSlotVNs)(t.call(r,e,n,l))}return[]},renderHTMLCell(e,l){var{$table:r,column:t}=l,t=t.slots;return t&&t.default?renderCellBaseVNs(e,l,r.callSlot(t.default,l,e)):renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--html",domProps:{innerHTML:getDefaultCellLabel(l)}})])},renderTreeHTMLCell(e,l){return Cell.renderTreeIcon(e,l,Cell.renderHTMLCell(e,l))},renderSortAndFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l).concat(Cell.renderFilterIcon(e,l))))},renderSortHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderSortIcon(e,l)))},renderSortIcon(e,l){let{$table:r,column:t}=l;var{showIcon:n,allowBtn:a,ascTitle:o,descTitle:d,iconLayout:s,iconAsc:i,iconDesc:c,iconVisibleMethod:u}=r.computeSortOpts;return!n||u&&!u(l)?[]:[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${s}-layout`]},[e("i",{class:["vxe-sort--asc-btn",i||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===t.order}],attrs:{title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortAsc"):""+(o||"")},on:a?{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"asc")}}:void 0}),e("i",{class:["vxe-sort--desc-btn",c||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===t.order}],attrs:{title:_xeUtils.default.eqNull(d)?getI18n("vxe.table.sortDesc"):""+(d||"")},on:a?{click(e){e.stopPropagation(),r.triggerSortEvent(e,t,"desc")}}:void 0})])]},renderFilterHeader(e,l){return renderHeaderCellBaseVNs(e,l,Cell.renderHeaderTitle(e,l).concat(Cell.renderFilterIcon(e,l)))},renderFilterIcon(e,l){let{$table:r,column:t,hasFilter:n}=l;var a=r.filterStore,{showIcon:o,iconNone:d,iconMatch:s,iconVisibleMethod:i}=r.computeFilterOpts;return!o||i&&!i(l)?[]:[e("span",{class:["vxe-cell--filter",{"is--active":a.visible&&a.column===t}],on:{click(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}}},[e("i",{class:["vxe-filter--btn",n?s||getIcon().TABLE_FILTER_MATCH:d||getIcon().TABLE_FILTER_NONE],attrs:{title:getI18n("vxe.table.filter")}})])]},renderEditHeader(e,l){var{$table:r,column:t}=l,{editConfig:n,editRules:a}=r,o=r.computeEditOpts,{sortable:d,filters:s,editRender:i}=t;let c=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(c=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(n)&&(u=[c&&o.showAsterisk?e("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(r),(0,_utils.isEnableConf)(i)&&o.showIcon?e("i",{class:["vxe-cell--edit-icon",o.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(r)]),renderHeaderCellBaseVNs(e,l,u.concat(Cell.renderHeaderTitle(e,l)).concat(d?Cell.renderSortIcon(e,l):[]).concat(s?Cell.renderFilterIcon(e,l):[]))},renderRowEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row)},renderTreeRowEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderRowEdit(e,l))},renderCellEdit(e,l){var{$table:r,column:t}=l,r=r.editStore,r=r.actived,t=t.editRender;return Cell.runRenderer(e,l,this,(0,_utils.isEnableConf)(t)&&r&&r.row===l.row&&r.column===l.column)},renderTreeCellEdit(e,l){return Cell.renderTreeIcon(e,l,Cell.renderCellEdit(e,l))},runRenderer(e,l,r,t){var{$table:n,column:a}=l,{slots:a,editRender:o,formatter:d}=a,s=renderer.get(o.name),s=s?s.renderTableEdit||s.renderEdit:null,i=Object.assign({$type:"",isEdit:t},l);return t?a&&a.edit?n.callSlot(a.edit,i,e):s?(0,_vn.getSlotVNs)(s.call(n,e,o,i)):[]:a&&a.default?renderCellBaseVNs(e,l,n.callSlot(a.default,i,e)):d?renderCellBaseVNs(e,l,[e("span",{class:"vxe-cell--label"},[getDefaultCellLabel(i)])]):Cell.renderDefaultCell.call(r,e,i)}};var _default=exports.default=Cell;
@@ -7441,13 +7441,14 @@ const Methods = {
7441
7441
  */
7442
7442
  triggerRadioRowEvent(evnt, params) {
7443
7443
  const $xeTable = this;
7444
+ const reactData = $xeTable;
7444
7445
  const {
7445
- selectRadioRow: oldValue,
7446
- radioOpts
7447
- } = this;
7446
+ selectRadioRow: oldValue
7447
+ } = reactData;
7448
7448
  const {
7449
7449
  row
7450
7450
  } = params;
7451
+ const radioOpts = $xeTable.computeRadioOpts;
7451
7452
  const {
7452
7453
  trigger
7453
7454
  } = radioOpts;
@@ -7463,11 +7464,11 @@ const Methods = {
7463
7464
  isChange = oldValue === newValue;
7464
7465
  if (isChange) {
7465
7466
  newValue = null;
7466
- this.clearRadioRow();
7467
+ $xeTable.clearRadioRow();
7467
7468
  }
7468
7469
  }
7469
7470
  if (isChange) {
7470
- this.emitEvent('radio-change', Object.assign({
7471
+ $xeTable.dispatchEvent('radio-change', Object.assign({
7471
7472
  oldValue,
7472
7473
  newValue
7473
7474
  }, params), evnt);
@@ -7475,17 +7476,30 @@ const Methods = {
7475
7476
  },
7476
7477
  triggerCurrentColumnEvent(evnt, params) {
7477
7478
  const $xeTable = this;
7478
- const columnOpts = $xeTable.computeColumnOpts;
7479
+ const reactData = $xeTable;
7479
7480
  const {
7480
- currentMethod
7481
- } = columnOpts;
7481
+ currentColumn: oldValue
7482
+ } = reactData;
7483
+ const columnOpts = $xeTable.computeColumnOpts;
7484
+ const currentColumnOpts = $xeTable.computeCurrentColumnOpts;
7485
+ const beforeRowMethod = currentColumnOpts.beforeSelectMethod || columnOpts.currentMethod;
7482
7486
  const {
7483
- column
7487
+ column: newValue
7484
7488
  } = params;
7485
- if (!currentMethod || currentMethod({
7486
- column
7489
+ const isChange = oldValue !== newValue;
7490
+ if (!beforeRowMethod || beforeRowMethod({
7491
+ column: newValue,
7492
+ $table: $xeTable
7487
7493
  })) {
7488
- $xeTable.setCurrentColumn(column);
7494
+ $xeTable.setCurrentColumn(newValue);
7495
+ if (isChange) {
7496
+ $xeTable.dispatchEvent('current-column-change', Object.assign({
7497
+ oldValue,
7498
+ newValue
7499
+ }, params), evnt);
7500
+ }
7501
+ } else {
7502
+ $xeTable.dispatchEvent('current-column-disabled', params, evnt);
7489
7503
  }
7490
7504
  },
7491
7505
  triggerCurrentRowEvent(evnt, params) {
@@ -7495,23 +7509,30 @@ const Methods = {
7495
7509
  currentRow: oldValue
7496
7510
  } = reactData;
7497
7511
  const rowOpts = $xeTable.computeRowOpts;
7498
- const {
7499
- currentMethod
7500
- } = rowOpts;
7512
+ const currentRowOpts = $xeTable.computeCurrentRowOpts;
7513
+ const beforeRowMethod = currentRowOpts.beforeSelectMethod || rowOpts.currentMethod;
7501
7514
  const {
7502
7515
  row: newValue
7503
7516
  } = params;
7504
7517
  const isChange = oldValue !== newValue;
7505
- if (!currentMethod || currentMethod({
7506
- row: newValue
7518
+ if (!beforeRowMethod || beforeRowMethod({
7519
+ row: newValue,
7520
+ $table: $xeTable
7507
7521
  })) {
7508
7522
  $xeTable.setCurrentRow(newValue);
7509
7523
  if (isChange) {
7524
+ $xeTable.dispatchEvent('current-row-change', Object.assign({
7525
+ oldValue,
7526
+ newValue
7527
+ }, params), evnt);
7528
+ // 已废弃
7510
7529
  $xeTable.dispatchEvent('current-change', Object.assign({
7511
7530
  oldValue,
7512
7531
  newValue
7513
7532
  }, params), evnt);
7514
7533
  }
7534
+ } else {
7535
+ $xeTable.dispatchEvent('current-row-disabled', params, evnt);
7515
7536
  }
7516
7537
  },
7517
7538
  /**