vxe-table 4.13.0-beta.2 → 4.13.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 (34) hide show
  1. package/es/style.css +1 -1
  2. package/es/table/module/filter/hook.js +11 -38
  3. package/es/table/src/cell.js +7 -7
  4. package/es/table/src/emits.js +4 -0
  5. package/es/table/src/table.js +29 -8
  6. package/es/ui/index.js +1 -1
  7. package/es/ui/src/log.js +1 -1
  8. package/lib/index.umd.js +20 -48
  9. package/lib/index.umd.min.js +1 -1
  10. package/lib/style.css +1 -1
  11. package/lib/table/module/filter/hook.js +10 -39
  12. package/lib/table/module/filter/hook.min.js +1 -1
  13. package/lib/table/src/cell.js +4 -4
  14. package/lib/table/src/cell.min.js +1 -1
  15. package/lib/table/src/emits.js +1 -1
  16. package/lib/table/src/emits.min.js +1 -1
  17. package/lib/table/src/table.js +39 -14
  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 +2 -2
  24. package/packages/grid/src/grid.ts +1 -1
  25. package/packages/table/module/filter/hook.ts +10 -34
  26. package/packages/table/src/cell.ts +7 -7
  27. package/packages/table/src/emits.ts +7 -1
  28. package/packages/table/src/table.ts +27 -8
  29. /package/es/{iconfont.1743992184381.ttf → iconfont.1744095189878.ttf} +0 -0
  30. /package/es/{iconfont.1743992184381.woff → iconfont.1744095189878.woff} +0 -0
  31. /package/es/{iconfont.1743992184381.woff2 → iconfont.1744095189878.woff2} +0 -0
  32. /package/lib/{iconfont.1743992184381.ttf → iconfont.1744095189878.ttf} +0 -0
  33. /package/lib/{iconfont.1743992184381.woff → iconfont.1744095189878.woff} +0 -0
  34. /package/lib/{iconfont.1743992184381.woff2 → iconfont.1744095189878.woff2} +0 -0
@@ -94,16 +94,9 @@ hooks.add('tableFilterModule', {
94
94
  if (filterStore.column === column && filterStore.visible) {
95
95
  filterStore.visible = false;
96
96
  } else {
97
- const {
98
- clientY,
99
- pageX
100
- } = evnt;
101
97
  const el = refElem.value;
102
98
  const tableRect = el.getBoundingClientRect();
103
- const targetElem = evnt.target;
104
- const {
105
- visibleWidth
106
- } = (0, _dom.getDomNode)();
99
+ const btnElem = evnt.currentTarget;
107
100
  const {
108
101
  filters,
109
102
  filterMultiple,
@@ -148,41 +141,19 @@ hooks.add('tableFilterModule', {
148
141
  if (!filterWrapperElem) {
149
142
  return;
150
143
  }
144
+ const btnRect = btnElem.getBoundingClientRect();
151
145
  const filterWidth = filterWrapperElem.offsetWidth;
152
146
  const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
153
147
  const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
154
148
  const centerWidth = filterWidth / 2;
155
- const minMargin = 10;
156
- const maxLeft = el.clientWidth - filterWidth - minMargin;
157
- let left, right;
158
- const thEl = targetElem.offsetParent;
159
- const trEl = thEl.offsetParent;
160
- const style = {
161
- top: `${targetElem.offsetTop + thEl.offsetTop + targetElem.offsetHeight}px`
162
- };
149
+ const left = btnRect.left - tableRect.left - centerWidth;
150
+ const top = btnRect.top - tableRect.top + btnElem.clientHeight;
163
151
  // 判断面板不能大于表格高度
164
- const maxHeight = Math.max(40, el.clientHeight - (clientY - tableRect.y) - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
165
- if (column.fixed === 'left') {
166
- left = targetElem.offsetLeft + thEl.offsetLeft - centerWidth;
167
- } else if (column.fixed === 'right') {
168
- right = thEl.offsetWidth - targetElem.offsetLeft + (trEl.offsetWidth - trEl.offsetLeft) - column.renderWidth - centerWidth;
169
- } else {
170
- left = targetElem.offsetLeft + thEl.offsetLeft - centerWidth - headerScrollElem.scrollLeft;
171
- }
172
- if (left) {
173
- const overflowWidth = pageX + filterWidth - centerWidth + minMargin - visibleWidth;
174
- if (overflowWidth > 0) {
175
- left -= overflowWidth;
176
- }
177
- style.left = `${Math.min(maxLeft, Math.max(minMargin, left))}px`;
178
- } else if (right) {
179
- const overflowWidth = pageX + filterWidth - centerWidth + minMargin - visibleWidth;
180
- if (overflowWidth > 0) {
181
- right += overflowWidth;
182
- }
183
- style.right = `${Math.max(minMargin, right)}px`;
184
- }
185
- filterStore.style = style;
152
+ const maxHeight = Math.max(40, el.clientHeight - top - (filterHeadElem ? filterHeadElem.clientHeight : 0) - (filterFootElem ? filterFootElem.clientHeight : 0) - 14);
153
+ filterStore.style = {
154
+ top: (0, _dom.toCssUnit)(top),
155
+ left: (0, _dom.toCssUnit)(left)
156
+ };
186
157
  filterStore.maxHeight = maxHeight;
187
158
  });
188
159
  }
@@ -334,7 +305,7 @@ hooks.add('tableFilterModule', {
334
305
  return $xeTable.scrollToColumn(column).then(() => {
335
306
  const headerWrapperElem = (0, _util.getRefElem)(elemStore[`${fixed || 'main'}-header-wrapper`] || elemStore['main-header-wrapper']);
336
307
  if (headerWrapperElem) {
337
- const filterBtnElem = headerWrapperElem.querySelector(`.vxe-header--column.${column.id} .vxe-filter--btn`);
308
+ const filterBtnElem = headerWrapperElem.querySelector(`.vxe-header--column.${column.id} .vxe-cell--filter`);
338
309
  (0, _dom.triggerEvent)(filterBtnElem, 'click');
339
310
  }
340
311
  });
@@ -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(k){let{props:d,reactData:f,internalData:o}=k,{refElem:u,refTableFilter:b}=k.getRefMaps(),{computeFilterOpts:h,computeMouseOpts:p}=k.getComputeMaps(),i=e=>{var t=f.filterStore;t.options.forEach(e=>{e.checked=e._checked}),k.confirmFilterEvent(e)},a=(e,t,l)=>{var r=f.filterStore;r.options.forEach(e=>{e._checked=!1}),l._checked=t,k.checkFilterOptions(),i(e)},n=(e,t,l)=>{l._checked=t,k.checkFilterOptions()},e=e=>{var t=f.filterStore;k.handleClearFilter(t.column),k.confirmFilterEvent(e)},s={checkFilterOptions(){var e=f.filterStore;e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(e,F,t){let{initStore:l,filterStore:_}=f,g=o.elemStore;if(_.column===F&&_.visible)_.visible=!1;else{let{clientY:d,pageX:f}=e,h=u.value,p=h.getBoundingClientRect(),v=e.target,m=(0,_dom.getDomNode)().visibleWidth;var{filters:i,filterMultiple:a,filterRender:n}=F,n=(0,_utils.isEnableConf)(n)?renderer.get(n.name):null;let r=F.filterRecoverMethod||(n?n.tableFilterRecoverMethod||n.filterRecoverMethod:null);o._currFilterParams=t,Object.assign(_,{multiple:a,options:i,column:F,style:null}),_.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||r&&r({option:e,column:F,$table:k})}),this.checkFilterOptions(),_.visible=!0,l.filter=!0,(0,_vue.nextTick)(()=>{var l=(0,_util.getRefElem)(g["main-header-scroll"]);if(l){var r=b.value,r=r?r.$el:null;if(r){var i=r.offsetWidth,a=r.querySelector(".vxe-table--filter-header"),r=r.querySelector(".vxe-table--filter-footer"),n=i/2,o=h.clientWidth-i-10;let e,t;var u=v.offsetParent,s=u.offsetParent,c={top:v.offsetTop+u.offsetTop+v.offsetHeight+"px"},a=Math.max(40,h.clientHeight-(d-p.y)-(a?a.clientHeight:0)-(r?r.clientHeight:0)-14);"left"===F.fixed?e=v.offsetLeft+u.offsetLeft-n:"right"===F.fixed?t=u.offsetWidth-v.offsetLeft+(s.offsetWidth-s.offsetLeft)-F.renderWidth-n:e=v.offsetLeft+u.offsetLeft-n-l.scrollLeft,e?(0<(r=f+i-n+10-m)&&(e-=r),c.left=Math.min(o,Math.max(10,e))+"px"):t&&(0<(s=f+i-n+10-m)&&(t+=s),c.right=Math.max(10,t)+"px"),_.style=c,_.maxHeight=a}}})}k.dispatchEvent("filter-visible",{column:F,field:F.field,property:F.field,filterList:k.getCheckedFilters(),visible:_.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:k})}}},handleColumnConfirmFilter(e,t){var l=d.mouseConfig;let{scrollXLoad:r,scrollYLoad:i}=f;var a=h.value,n=p.value,o=e.field;let u=[],s=[];e.filters.forEach(e=>{e.checked&&(u.push(e.value),s.push(e.data))});var c=k.getCheckedFilters(),e={$table:k,$event:t,column:e,field:o,property:o,values:u,datas:s,filters:c,filterList:c};return a.remote||(k.handleTableData(!0),k.checkSelectionStatus()),l&&n.area&&k.handleFilterEvent&&k.handleFilterEvent(t,e),t&&k.dispatchEvent("filter-change",e,t),k.closeFilter(),k.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=f;if(r||e||i||t)return(r||e)&&k.updateScrollXSpace(),(i||t)&&k.updateScrollYSpace(),k.refreshScroll()}).then(()=>(k.updateCellAreas(),k.recalculate(!0))).then(()=>{setTimeout(()=>k.recalculate(),50)})},confirmFilterEvent(e){var t=f.filterStore,t=t.column;k.handleColumnConfirmFilter(t,e)},handleFilterChangeRadioOption:a,handleFilterChangeMultipleOption:n,handleFilterChangeOption(e,t,l){var r=f.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)(k,e);if(r&&r.filters){let t=o.elemStore,l=r.fixed;return k.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-filter--btn`),(0,_dom.triggerEvent)(e,"click"))})}return(0,_vue.nextTick)()},setFilter(e,t,l){e=(0,_util.handleFieldOrColumn)(k,e);return e&&e.filters&&(e.filters=(0,_util.toFilters)(t||[]),l)?k.handleColumnConfirmFilter(e,new Event("click")):(0,_vue.nextTick)()},clearFilter(e){var t=f.filterStore,l=o.tableFullColumn,r=h.value;let i;return e?(i=(0,_util.handleFieldOrColumn)(k,e))&&s.handleClearFilter(i):l.forEach(s.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)():k.updateData()},saveFilterPanel(){return i(null),(0,_vue.nextTick)()},resetFilterPanel(){return e(null),(0,_vue.nextTick)()},getCheckedFilters(){var e=o.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)()}}),s)},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(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,o,t){let{initStore:l,filterStore:u}=p,c=v.elemStore;if(u.column===o&&u.visible)u.visible=!1;else{let i=m.value,n=i.getBoundingClientRect(),a=e.currentTarget;var{filters:s,filterMultiple:d,filterRender:h}=o,h=(0,_utils.isEnableConf)(h)?renderer.get(h.name):null;let r=o.filterRecoverMethod||(h?h.tableFilterRecoverMethod||h.filterRecoverMethod:null);v._currFilterParams=t,Object.assign(u,{multiple:d,options:s,column:o,style:null}),u.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||r&&r({option:e,column:o,$table:f})}),this.checkFilterOptions(),u.visible=!0,l.filter=!0,(0,_vue.nextTick)(()=>{var e,t,l,r;(0,_util.getRefElem)(c["main-header-scroll"])&&(e=(e=F.value)?e.$el:null)&&(l=a.getBoundingClientRect(),t=e.offsetWidth,r=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+a.clientHeight,r=Math.max(40,i.clientHeight-l-(r?r.clientHeight:0)-(e?e.clientHeight:0)-14),u.style={top:(0,_dom.toCssUnit)(l),left:(0,_dom.toCssUnit)(t)},u.maxHeight=r)})}f.dispatchEvent("filter-visible",{column:o,field:o.field,property:o.field,filterList:f.getCheckedFilters(),visible:u.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)}});
@@ -1156,15 +1156,15 @@ const Cell = exports.Cell = {
1156
1156
  return [(0, _vue.h)('span', {
1157
1157
  class: ['vxe-cell--filter', {
1158
1158
  'is--active': filterStore.visible && filterStore.column === column
1159
- }]
1160
- }, [(0, _vue.h)('i', {
1161
- class: ['vxe-filter--btn', hasFilter ? iconMatch || getIcon().TABLE_FILTER_MATCH : iconNone || getIcon().TABLE_FILTER_NONE],
1162
- title: getI18n('vxe.table.filter'),
1159
+ }],
1163
1160
  onClick(evnt) {
1164
1161
  if ($table.triggerFilterEvent) {
1165
1162
  $table.triggerFilterEvent(evnt, params.column, params);
1166
1163
  }
1167
1164
  }
1165
+ }, [(0, _vue.h)('i', {
1166
+ class: ['vxe-filter--btn', hasFilter ? iconMatch || getIcon().TABLE_FILTER_MATCH : iconNone || getIcon().TABLE_FILTER_NONE],
1167
+ title: getI18n('vxe.table.filter')
1168
1168
  })])];
1169
1169
  }
1170
1170
  return [];
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_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(l){let{$table:r,column:e}=l,t=e.titlePrefix||e.titleHelp;return t?(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",t.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderTitleSuffixIcon(l){let{$table:r,column:e}=l,t=e.titleSuffix;return t?(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",t.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderCellDragIcon(l){let{$table:r,column:e}=l;var t=r.context,t=t.slots,n=e.slots,a=r.props.dragConfig,o=r.getComputeMaps().computeRowDragOpts,{icon:o,trigger:s,disabledMethod:d}=o.value,d=d||(a?a.rowDisabledMethod:null);let i=d&&d(l);d=(n?n.rowDragIcon||n["row-drag-icon"]:null)||t.rowDragIcon||t["row-drag-icon"],n={};return"cell"!==s&&(n.onMousedown=e=>{i||r.handleCellDragMousedownEvent(e,l)},n.onMouseup=r.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),d?r.callSlot(d,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:r,column:t,level:n}=e,t=t.dragSort,{treeConfig:a,dragConfig:o}=r.props,{computeRowOpts:r,computeRowDragOpts:s,computeTreeOpts:d}=r.getComputeMaps(),r=r.value,s=s.value,d=d.value,{showIcon:s,isPeerDrag:i,isCrossDrag:c,visibleMethod:u}=s,u=u||(o?o.rowVisibleMethod:null),l=_xeUtils.default.isArray(l)?l:[l];return t&&r.drag&&(s||o&&o.showRowIcon)&&(!u||u(e))&&(!a||d.transform&&(i||c||!n))&&l.unshift(renderCellDragIcon(e)),l}function renderHeaderCellDragIcon(r){let{$table:t,column:e}=r;var n=t.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:s}=t.getComputeMaps(),o=o.value,{showIcon:s,icon:d,trigger:i,isPeerDrag:l,isCrossDrag:c,visibleMethod:u,disabledMethod:C}=s.value;if(!o.drag||!s||u&&!u(r)||e.fixed||!l&&!c&&e.parentId)return renderEmptyElement(t);{let l=C&&C(r);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],s={};return"cell"!==i&&(s.onMousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},s.onMouseup=t.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},s),o?t.callSlot(o,r):[(0,_vue.h)("i",{class:d||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function renderTitleContent(l,e){let{$table:r,column:t}=l;var n=r.props;let a=r.reactData;var o=r.getComputeMaps().computeTooltipOpts,n=n.showHeaderOverflow,{type:s,showHeaderOverflow:d}=t;let i=o.value.showAll;o=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?n:d;let c="title"===o,u=!0===o||"tooltip"===o;n={};return(c||u||i)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,t):(u||i)&&r.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(n.onMouseleave=e=>{a.isDragResize||(u||i)&&r.handleTargetLeaveEvent(e)}),["html"===s&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},n)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),(0,_vn.getSlotVNs)(e))]}function getFooterContent(e){var{$table:l,column:r,_columnIndex:t,items:n,row:a}=e,{slots:o,editRender:s,cellRender:d,footerFormatter:i}=r,s=s||d,d=o?o.footer:null;if(d)return l.callSlot(d,e);let c="";c=_xeUtils.default.isArray(n)?n[t]:_xeUtils.default.get(a,r.field);o=Object.assign(e,{itemValue:c});if(i)return _xeUtils.default.isFunction(i)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+i(o))]:(n=(d=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?d.tableFooterCellFormatMethod:null)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+(l?n(o,...i.slice(1)):n(o)))]:[(0,_vue.h)("span",{class:"vxe-cell--label"},"")];if(s){t=renderer.get(s.name);if(t){a=t.renderTableFooter||t.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(s,o))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(c,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}function renderCellHandle(e){var{column:l,$table:r}=e,t=r.props.editConfig,{type:l,treeNode:n,editRender:a}=l,{computeEditOpts:r,computeCheckboxOpts:o}=r.getComputeMaps(),s=o.value,o=r.value;switch(l){case"seq":return n?Cell.renderTreeIndexCell(e):Cell.renderSeqCell(e);case"radio":return n?Cell.renderTreeRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return s.checkField?n?Cell.renderTreeSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):n?Cell.renderTreeSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return n?Cell.renderTreeHTMLCell(e):Cell.renderHTMLCell(e)}return(0,_utils.isEnableConf)(t)&&a?"cell"===o.mode?n?Cell.renderTreeCellEdit(e):Cell.renderCellEdit(e):n?Cell.renderTreeRowEdit(e):Cell.renderRowEdit(e):n?Cell.renderTreeCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:r}=e,r=r.props.editConfig,{type:l,filters:t,sortable:n,editRender:a}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(t&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(t)return Cell.renderFilterHeader(e)}return r&&a?Cell.renderEditHeader(e):t&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):t?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}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){var{$table:l,column:r}=e,{slots:t,editRender:n,cellRender:a}=r,n=n||a,a=t?t.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){t=renderer.get(n.name);if(t){l=t.renderTableHeader||t.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:r,column:t}=e,{slots:n,editRender:a,cellRender:o}=t,o=a||o,n=n?n.default:null;if(n)return renderCellBaseVNs(e,l.callSlot(n,e));if(o){n=renderer.get(o.name);if(n){var s=n.renderTableCell||n.renderCell,n=n.renderTableDefault||n.renderDefault,s=a?s:n;if(s)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(s(o,Object.assign({$type:a?"edit":"cell"},e))))}}n=l.getCellLabel(r,t),s=a?a.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[a&&(0,_utils.eqEmptyValue)(n)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(s),1)):(0,_vue.h)("span",(0,_utils.formatText)(n,1))])])},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderTreeIcon(l,e){let{$table:r,isHidden:t}=l;var n=r.reactData,a=r.internalData,o=r.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:s,treeExpandLazyLoadedMaps:d}=a,o=o.value,{row:i,column:c,level:u}=l,c=c.slots,{indent:C,lazy:v,trigger:p,iconLoaded:g,showIcon:h,iconOpen:_,iconClose:b}=o,E=o.children||o.childrenField,o=o.hasChild||o.hasChildField,E=i[E],E=E&&E.length,c=c?c.icon:null;let x=!1,f=!1,m=!1,T=!1;var I={};return c?r.callSlot(c,l):(t||(c=(0,_util.getRowid)(r,i),f=!!n&&!!s[c],v&&(n=a[c],m=!!d[c],x=i[o],T=!!n.treeLoaded)),p&&"default"!==p||(I.onClick=e=>{r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":f}],style:{paddingLeft:u*C+"px"}},[h&&(!v||T?E:E||x)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},I),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",m?g||getIcon().TABLE_TREE_LOADED:f?_||getIcon().TABLE_TREE_OPEN:b||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:r}=e,t=r.slots,t=t?t.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:r}=e,t=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,r=r.slots,r=r?r.default:null;return r?renderCellBaseVNs(e,l.callSlot(r,e)):(l=e.seq,r=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(r?r(e):t?l:(n.startIndex||0)+l,1))]))},renderTreeIndexCell(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:r}=e,t=r.slots,n=t?t.header:null,t=t?t.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))]))},renderRadioCell(l){let{$table:r,column:e,isHidden:t}=l;var n=r.reactData,a=r.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:s,visibleMethod:d}=a.value,i=l.row,c=o?o.default:null,o=o?o.radio:null,n=r.eqRow(i,n);let u=!d||d({row:i}),C=!!s,v;t||(v={onClick(e){!C&&u&&r.triggerRadioRowEvent(e,l)}},s&&(C=!s({row:i})));d=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?renderCellBaseVNs(l,r.callSlot(o,d)):(s=[],u&&s.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&s.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?r.callSlot(c,d):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),s)]))},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:r,isHidden:t}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:s,isIndeterminate:d}=n,i=a.value;var n=r.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:c,headerTitle:u}=o.value,C=r.getTitle(),v={},p=(t||(v.onClick=e=>{i||l.triggerCheckAllEvent(e,!s)}),Object.assign(Object.assign({},e),{checked:s,disabled:i,indeterminate:d}));return renderHeaderCellBaseVNs(e,renderTitleContent(p,a?l.callSlot(a,p):(o?c:!1!==c)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":s,"is--disabled":i,"is--indeterminate":d}],title:_xeUtils.default.eqNull(u)?getI18n("vxe.table.allTitle"):""+(u||"")},v),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",d?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||C?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,p):C)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,p):C)]))},renderCheckboxCell(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,o=r.reactData.updateCheckboxFlag,{selectCheckboxMaps:s,treeIndeterminateRowMaps:d}=r.internalData,i=r.getComputeMaps().computeCheckboxOpts,{labelField:i,checkMethod:c,visibleMethod:u}=i.value,C=t.slots,v=C?C.default:null,C=C?C.checkbox:null;let p=!1,g=!1,h=!u||u({row:e}),_=!!c;var b,u={},o=(n||(b=(0,_util.getRowid)(r,e),g=!!o&&!!s[b],u.onClick=e=>{!_&&h&&r.triggerCheckRowEvent(e,l,!g)},c&&(_=!c({row:e})),a&&(p=!!d[b])),Object.assign(Object.assign({},l),{checked:g,disabled:_,visible:h,indeterminate:p}));return C?renderCellBaseVNs(l,r.callSlot(C,o)):(s=[],h&&s.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(v||i)&&s.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?r.callSlot(v,o):_xeUtils.default.get(e,i))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":_,"is--indeterminate":p,"is--hidden":!h}]},u),s)]))},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,o=r.reactData.updateCheckboxFlag,s=r.internalData.treeIndeterminateRowMaps,d=r.getComputeMaps().computeCheckboxOpts,d=d.value,{labelField:i,checkField:c,checkMethod:u,visibleMethod:C}=d,d=d.indeterminateField||d.halfField,v=t.slots,p=v?v.default:null,v=v?v.checkbox:null;let g=!1,h=!1,_=!C||C({row:e}),b=!!u;var E,C={},o=(n||(E=(0,_util.getRowid)(r,e),h=!!o&&_xeUtils.default.get(e,c),C.onClick=e=>{!b&&_&&r.triggerCheckRowEvent(e,l,!h)},u&&(b=!u({row:e})),a&&(g=!!s[E])),Object.assign(Object.assign({},l),{checked:h,disabled:b,visible:_,indeterminate:g}));return v?renderCellBaseVNs(l,r.callSlot(v,o)):(c=[],_&&(c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),p||i)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},p?r.callSlot(p,o):_xeUtils.default.get(e,i))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":b,"is--indeterminate":d&&!h?e[d]:g,"is--hidden":!_}]},C),c)]))},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:r,isHidden:e,row:t,column:n}=l;var{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=r.internalData,s=r.getComputeMaps().computeExpandOpts,{lazy:s,labelField:d,iconLoaded:i,showIcon:c,iconOpen:u,iconClose:C,visibleMethod:v}=s.value,p=n.slots,g=p?p.default:null,p=p?p.icon:null;let h=!1,_=!1;return p?renderCellBaseVNs(l,r.callSlot(p,l)):(e||(p=(0,_util.getRowid)(r,t),h=!!a[p],s&&(_=!!o[p])),renderCellBaseVNs(l,[!c||v&&!v(l)?renderEmptyElement(r):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":h}],onMousedown(e){e.stopPropagation()},onClick(e){r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",_?i||getIcon().TABLE_EXPAND_LOADED:h?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),g||d?(0,_vue.h)("span",{class:"vxe-table--expand-label"},g?r.callSlot(g,l):_xeUtils.default.get(t,d)):renderEmptyElement(r)]))},renderExpandData(e){var{$table:l,column:r}=e,{slots:r,contentRender:t}=r,r=r?r.content:null;if(r)return l.callSlot(r,e);if(t){l=renderer.get(t.name);if(l){r=l.renderTableExpand||l.renderExpand;if(r)return(0,_vn.getSlotVNs)(r(t,e))}}return[]},renderHTMLCell(e){var{$table:l,column:r}=e,r=r.slots,r=r?r.default:null;return renderCellBaseVNs(e,r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:r}=e;var t=l.getComputeMaps().computeSortOpts,{showIcon:t,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:s,iconAsc:d,iconDesc:i,iconVisibleMethod:c}=t.value,u=r.order;return!t||c&&!c(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${s}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",d||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===u}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,r,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===u}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,r,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:r,column:e,hasFilter:t}=l;var n=r.reactData.filterStore,a=r.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:s,iconVisibleMethod:d}=a.value;return!a||d&&!d(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}]},[(0,_vue.h)("i",{class:["vxe-filter--btn",t?s||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter"),onClick(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}})])]},renderEditHeader(e){var{$table:l,column:r}=e,t=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:t,editRules:a}=t,n=n.value,{sortable:o,filters:s,editRender:d}=r;let i=!1,c=(a&&(a=_xeUtils.default.get(a,r.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(t)?[i&&n.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(l),(0,_utils.isEnableConf)(d)&&n.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",n.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(l)]:c).concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(s?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:r,column:t}=e,{slots:t,editRender:n,formatter:a}=t,o=t?t.default:null,t=t?t.edit:null,s=renderer.get(n.name),s=s?s.renderTableEdit||s.renderEdit:null,d=Object.assign({$type:"",isEdit:l},e);return l?(d.$type="edit",t?r.callSlot(t,d):s?(0,_vn.getSlotVNs)(s(n,d)):[]):o?renderCellBaseVNs(e,r.callSlot(o,d)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(d))]):Cell.renderDefaultCell(d)}};var _default=exports.default=Cell;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.Cell=void 0;var _vue=require("vue"),_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(l){let{$table:r,column:e}=l,t=e.titlePrefix||e.titleHelp;return t?(0,_vue.h)("i",{class:["vxe-cell-title-prefix-icon",t.icon||getIcon().TABLE_TITLE_PREFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderTitleSuffixIcon(l){let{$table:r,column:e}=l,t=e.titleSuffix;return t?(0,_vue.h)("i",{class:["vxe-cell-title-suffix-icon",t.icon||getIcon().TABLE_TITLE_SUFFIX],onMouseenter(e){r.triggerHeaderTitleEvent(e,t,l)},onMouseleave(e){r.handleTargetLeaveEvent(e)}}):renderEmptyElement(r)}function renderCellDragIcon(l){let{$table:r,column:e}=l;var t=r.context,t=t.slots,n=e.slots,a=r.props.dragConfig,o=r.getComputeMaps().computeRowDragOpts,{icon:o,trigger:s,disabledMethod:d}=o.value,d=d||(a?a.rowDisabledMethod:null);let i=d&&d(l);d=(n?n.rowDragIcon||n["row-drag-icon"]:null)||t.rowDragIcon||t["row-drag-icon"],n={};return"cell"!==s&&(n.onMousedown=e=>{i||r.handleCellDragMousedownEvent(e,l)},n.onMouseup=r.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),d?r.callSlot(d,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:r,column:t,level:n}=e,t=t.dragSort,{treeConfig:a,dragConfig:o}=r.props,{computeRowOpts:r,computeRowDragOpts:s,computeTreeOpts:d}=r.getComputeMaps(),r=r.value,s=s.value,d=d.value,{showIcon:s,isPeerDrag:i,isCrossDrag:c,visibleMethod:u}=s,u=u||(o?o.rowVisibleMethod:null),l=_xeUtils.default.isArray(l)?l:[l];return t&&r.drag&&(s||o&&o.showRowIcon)&&(!u||u(e))&&(!a||d.transform&&(i||c||!n))&&l.unshift(renderCellDragIcon(e)),l}function renderHeaderCellDragIcon(r){let{$table:t,column:e}=r;var n=t.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:s}=t.getComputeMaps(),o=o.value,{showIcon:s,icon:d,trigger:i,isPeerDrag:l,isCrossDrag:c,visibleMethod:u,disabledMethod:C}=s.value;if(!o.drag||!s||u&&!u(r)||e.fixed||!l&&!c&&e.parentId)return renderEmptyElement(t);{let l=C&&C(r);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],s={};return"cell"!==i&&(s.onMousedown=e=>{l||t.handleHeaderCellDragMousedownEvent(e,r)},s.onMouseup=t.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},s),o?t.callSlot(o,r):[(0,_vue.h)("i",{class:d||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function renderTitleContent(l,e){let{$table:r,column:t}=l;var n=r.props;let a=r.reactData;var o=r.getComputeMaps().computeTooltipOpts,n=n.showHeaderOverflow,{type:s,showHeaderOverflow:d}=t;let i=o.value.showAll;o=_xeUtils.default.isUndefined(d)||_xeUtils.default.isNull(d)?n:d;let c="title"===o,u=!0===o||"tooltip"===o;n={};return(c||u||i)&&(n.onMouseenter=e=>{a.isDragResize||(c?(0,_dom.updateCellTitle)(e.currentTarget,t):(u||i)&&r.triggerHeaderTooltipEvent(e,l))}),(u||i)&&(n.onMouseleave=e=>{a.isDragResize||(u||i)&&r.handleTargetLeaveEvent(e)}),["html"===s&&_xeUtils.default.isString(e)?(0,_vue.h)("span",Object.assign({class:"vxe-cell--title",innerHTML:e},n)):(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),(0,_vn.getSlotVNs)(e))]}function getFooterContent(e){var{$table:l,column:r,_columnIndex:t,items:n,row:a}=e,{slots:o,editRender:s,cellRender:d,footerFormatter:i}=r,s=s||d,d=o?o.footer:null;if(d)return l.callSlot(d,e);let c="";c=_xeUtils.default.isArray(n)?n[t]:_xeUtils.default.get(a,r.field);o=Object.assign(e,{itemValue:c});if(i)return _xeUtils.default.isFunction(i)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+i(o))]:(n=(d=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?d.tableFooterCellFormatMethod:null)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+(l?n(o,...i.slice(1)):n(o)))]:[(0,_vue.h)("span",{class:"vxe-cell--label"},"")];if(s){t=renderer.get(s.name);if(t){a=t.renderTableFooter||t.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(s,o))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(c,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:r}=e;return(0,_utils.formatText)(e.getCellLabel(l,r),1)}function renderCellHandle(e){var{column:l,$table:r}=e,t=r.props.editConfig,{type:l,treeNode:n,editRender:a}=l,{computeEditOpts:r,computeCheckboxOpts:o}=r.getComputeMaps(),s=o.value,o=r.value;switch(l){case"seq":return n?Cell.renderTreeIndexCell(e):Cell.renderSeqCell(e);case"radio":return n?Cell.renderTreeRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return s.checkField?n?Cell.renderTreeSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):n?Cell.renderTreeSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return n?Cell.renderTreeHTMLCell(e):Cell.renderHTMLCell(e)}return(0,_utils.isEnableConf)(t)&&a?"cell"===o.mode?n?Cell.renderTreeCellEdit(e):Cell.renderCellEdit(e):n?Cell.renderTreeRowEdit(e):Cell.renderRowEdit(e):n?Cell.renderTreeCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:r}=e,r=r.props.editConfig,{type:l,filters:t,sortable:n,editRender:a}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(t&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(t)return Cell.renderFilterHeader(e)}return r&&a?Cell.renderEditHeader(e):t&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):t?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}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){var{$table:l,column:r}=e,{slots:t,editRender:n,cellRender:a}=r,n=n||a,a=t?t.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){t=renderer.get(n.name);if(t){l=t.renderTableHeader||t.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(r.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:r,column:t}=e,{slots:n,editRender:a,cellRender:o}=t,o=a||o,n=n?n.default:null;if(n)return renderCellBaseVNs(e,l.callSlot(n,e));if(o){n=renderer.get(o.name);if(n){var s=n.renderTableCell||n.renderCell,n=n.renderTableDefault||n.renderDefault,s=a?s:n;if(s)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(s(o,Object.assign({$type:a?"edit":"cell"},e))))}}n=l.getCellLabel(r,t),s=a?a.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[a&&(0,_utils.eqEmptyValue)(n)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(s),1)):(0,_vue.h)("span",(0,_utils.formatText)(n,1))])])},renderTreeCell(e){return Cell.renderTreeIcon(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderTreeIcon(l,e){let{$table:r,isHidden:t}=l;var n=r.reactData,a=r.internalData,o=r.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:s,treeExpandLazyLoadedMaps:d}=a,o=o.value,{row:i,column:c,level:u}=l,c=c.slots,{indent:C,lazy:v,trigger:p,iconLoaded:g,showIcon:h,iconOpen:_,iconClose:b}=o,E=o.children||o.childrenField,o=o.hasChild||o.hasChildField,E=i[E],E=E&&E.length,c=c?c.icon:null;let x=!1,f=!1,m=!1,T=!1;var I={};return c?r.callSlot(c,l):(t||(c=(0,_util.getRowid)(r,i),f=!!n&&!!s[c],v&&(n=a[c],m=!!d[c],x=i[o],T=!!n.treeLoaded)),p&&"default"!==p||(I.onClick=e=>{r.triggerTreeExpandEvent(e,l)}),[(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":f}],style:{paddingLeft:u*C+"px"}},[h&&(!v||T?E:E||x)?[(0,_vue.h)("div",Object.assign({class:"vxe-tree--btn-wrapper"},I),[(0,_vue.h)("i",{class:["vxe-tree--node-btn",m?g||getIcon().TABLE_TREE_LOADED:f?_||getIcon().TABLE_TREE_OPEN:b||getIcon().TABLE_TREE_CLOSE]})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])])},renderSeqHeader(e){var{$table:l,column:r}=e,t=r.slots,t=t?t.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:r}=e,t=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,r=r.slots,r=r?r.default:null;return r?renderCellBaseVNs(e,l.callSlot(r,e)):(l=e.seq,r=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(r?r(e):t?l:(n.startIndex||0)+l,1))]))},renderTreeIndexCell(e){return Cell.renderTreeIcon(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:r}=e,t=r.slots,n=t?t.header:null,t=t?t.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},t?l.callSlot(t,e):(0,_utils.formatText)(r.getTitle(),1))]))},renderRadioCell(l){let{$table:r,column:e,isHidden:t}=l;var n=r.reactData,a=r.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:s,visibleMethod:d}=a.value,i=l.row,c=o?o.default:null,o=o?o.radio:null,n=r.eqRow(i,n);let u=!d||d({row:i}),C=!!s,v;t||(v={onClick(e){!C&&u&&r.triggerRadioRowEvent(e,l)}},s&&(C=!s({row:i})));d=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:u});return o?renderCellBaseVNs(l,r.callSlot(o,d)):(s=[],u&&s.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(c||a)&&s.push((0,_vue.h)("span",{class:"vxe-radio--label"},c?r.callSlot(c,d):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},v),s)]))},renderTreeRadioCell(e){return Cell.renderTreeIcon(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:r,isHidden:t}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:s,isIndeterminate:d}=n,i=a.value;var n=r.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:c,headerTitle:u}=o.value,C=r.getTitle(),v={},p=(t||(v.onClick=e=>{i||l.triggerCheckAllEvent(e,!s)}),Object.assign(Object.assign({},e),{checked:s,disabled:i,indeterminate:d}));return renderHeaderCellBaseVNs(e,renderTitleContent(p,a?l.callSlot(a,p):(o?c:!1!==c)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":s,"is--disabled":i,"is--indeterminate":d}],title:_xeUtils.default.eqNull(u)?getI18n("vxe.table.allTitle"):""+(u||"")},v),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",d?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||C?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,p):C)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,p):C)]))},renderCheckboxCell(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,o=r.reactData.updateCheckboxFlag,{selectCheckboxMaps:s,treeIndeterminateRowMaps:d}=r.internalData,i=r.getComputeMaps().computeCheckboxOpts,{labelField:i,checkMethod:c,visibleMethod:u}=i.value,C=t.slots,v=C?C.default:null,C=C?C.checkbox:null;let p=!1,g=!1,h=!u||u({row:e}),_=!!c;var b,u={},o=(n||(b=(0,_util.getRowid)(r,e),g=!!o&&!!s[b],u.onClick=e=>{!_&&h&&r.triggerCheckRowEvent(e,l,!g)},c&&(_=!c({row:e})),a&&(p=!!d[b])),Object.assign(Object.assign({},l),{checked:g,disabled:_,visible:h,indeterminate:p}));return C?renderCellBaseVNs(l,r.callSlot(C,o)):(s=[],h&&s.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",p?getIcon().TABLE_CHECKBOX_INDETERMINATE:g?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(v||i)&&s.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?r.callSlot(v,o):_xeUtils.default.get(e,i))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":g,"is--disabled":_,"is--indeterminate":p,"is--hidden":!h}]},u),s)]))},renderTreeSelectionCell(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:r,row:e,column:t,isHidden:n}=l;var a=r.props.treeConfig,o=r.reactData.updateCheckboxFlag,s=r.internalData.treeIndeterminateRowMaps,d=r.getComputeMaps().computeCheckboxOpts,d=d.value,{labelField:i,checkField:c,checkMethod:u,visibleMethod:C}=d,d=d.indeterminateField||d.halfField,v=t.slots,p=v?v.default:null,v=v?v.checkbox:null;let g=!1,h=!1,_=!C||C({row:e}),b=!!u;var E,C={},o=(n||(E=(0,_util.getRowid)(r,e),h=!!o&&_xeUtils.default.get(e,c),C.onClick=e=>{!b&&_&&r.triggerCheckRowEvent(e,l,!h)},u&&(b=!u({row:e})),a&&(g=!!s[E])),Object.assign(Object.assign({},l),{checked:h,disabled:b,visible:_,indeterminate:g}));return v?renderCellBaseVNs(l,r.callSlot(v,o)):(c=[],_&&(c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",g?getIcon().TABLE_CHECKBOX_INDETERMINATE:h?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),p||i)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},p?r.callSlot(p,o):_xeUtils.default.get(e,i))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":h,"is--disabled":b,"is--indeterminate":d&&!h?e[d]:g,"is--hidden":!_}]},C),c)]))},renderTreeSelectionCellByProp(e){return Cell.renderTreeIcon(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:r,isHidden:e,row:t,column:n}=l;var{rowExpandedMaps:a,rowExpandLazyLoadedMaps:o}=r.internalData,s=r.getComputeMaps().computeExpandOpts,{lazy:s,labelField:d,iconLoaded:i,showIcon:c,iconOpen:u,iconClose:C,visibleMethod:v}=s.value,p=n.slots,g=p?p.default:null,p=p?p.icon:null;let h=!1,_=!1;return p?renderCellBaseVNs(l,r.callSlot(p,l)):(e||(p=(0,_util.getRowid)(r,t),h=!!a[p],s&&(_=!!o[p])),renderCellBaseVNs(l,[!c||v&&!v(l)?renderEmptyElement(r):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":h}],onMousedown(e){e.stopPropagation()},onClick(e){r.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",_?i||getIcon().TABLE_EXPAND_LOADED:h?u||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),g||d?(0,_vue.h)("span",{class:"vxe-table--expand-label"},g?r.callSlot(g,l):_xeUtils.default.get(t,d)):renderEmptyElement(r)]))},renderExpandData(e){var{$table:l,column:r}=e,{slots:r,contentRender:t}=r,r=r?r.content:null;if(r)return l.callSlot(r,e);if(t){l=renderer.get(t.name);if(l){r=l.renderTableExpand||l.renderExpand;if(r)return(0,_vn.getSlotVNs)(r(t,e))}}return[]},renderHTMLCell(e){var{$table:l,column:r}=e,r=r.slots,r=r?r.default:null;return renderCellBaseVNs(e,r?l.callSlot(r,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderTreeHTMLCell(e){return Cell.renderTreeIcon(e,Cell.renderHTMLCell(e))},renderSortAndFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e).concat(Cell.renderFilterIcon(e))))},renderSortHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderSortIcon(e)))},renderSortIcon(e){let{$table:l,column:r}=e;var t=l.getComputeMaps().computeSortOpts,{showIcon:t,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:s,iconAsc:d,iconDesc:i,iconVisibleMethod:c}=t.value,u=r.order;return!t||c&&!c(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${s}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",d||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===u}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,r,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===u}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,r,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:r,column:e,hasFilter:t}=l;var n=r.reactData.filterStore,a=r.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:s,iconVisibleMethod:d}=a.value;return!a||d&&!d(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}],onClick(e){r.triggerFilterEvent&&r.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",t?s||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:r}=e,t=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:t,editRules:a}=t,n=n.value,{sortable:o,filters:s,editRender:d}=r;let i=!1,c=(a&&(a=_xeUtils.default.get(a,r.field))&&(i=a.some(e=>e.required)),[]);return renderHeaderCellBaseVNs(e,(c=(0,_utils.isEnableConf)(t)?[i&&n.showAsterisk?(0,_vue.h)("i",{class:"vxe-cell--required-icon"}):renderEmptyElement(l),(0,_utils.isEnableConf)(d)&&n.showIcon?(0,_vue.h)("i",{class:["vxe-cell--edit-icon",n.icon||getIcon().TABLE_EDIT]}):renderEmptyElement(l)]:c).concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(s?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row)},renderTreeRowEdit(e){return Cell.renderTreeIcon(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:r}=e,l=l.reactData.editStore,l=l.actived,r=r.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(r)&&l&&l.row===e.row&&l.column===e.column)},renderTreeCellEdit(e){return Cell.renderTreeIcon(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:r,column:t}=e,{slots:t,editRender:n,formatter:a}=t,o=t?t.default:null,t=t?t.edit:null,s=renderer.get(n.name),s=s?s.renderTableEdit||s.renderEdit:null,d=Object.assign({$type:"",isEdit:l},e);return l?(d.$type="edit",t?r.callSlot(t,d):s?(0,_vn.getSlotVNs)(s(n,d)):[]):o?renderCellBaseVNs(e,r.callSlot(o,d)):a?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(d))]):Cell.renderDefaultCell(d)}};var _default=exports.default=Cell;
@@ -4,4 +4,4 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _default = exports.default = ['update:data', 'keydown-start', 'keydown', 'keydown-end', 'paste', 'copy', 'cut', 'current-change', 'radio-change', 'checkbox-change', 'checkbox-all', 'checkbox-range-start', 'checkbox-range-change', 'checkbox-range-end', 'checkbox-range-select', 'cell-click', 'cell-dblclick', 'cell-menu', 'cell-mouseenter', 'cell-mouseleave', 'cell-selected', 'cell-delete-value', 'cell-backspace-value', 'header-cell-click', 'header-cell-dblclick', 'header-cell-menu', 'footer-cell-click', 'footer-cell-dblclick', 'footer-cell-menu', 'clear-merge', 'sort-change', 'clear-sort', 'filter-change', 'filter-visible', 'clear-filter', 'resizable-change', 'column-resizable-change', 'row-resizable-change', 'toggle-row-expand', 'toggle-tree-expand', 'menu-click', 'edit-closed', 'row-dragstart', 'row-dragover', 'row-dragend', 'column-dragstart', 'column-dragover', 'column-dragend', 'enter-append-row', 'edit-actived', 'edit-activated', 'edit-disabled', 'valid-error', 'scroll', 'scroll-boundary', 'custom', 'change-fnr', 'open-fnr', 'show-fnr', 'hide-fnr', 'fnr-change', 'fnr-find', 'fnr-find-all', 'fnr-replace', 'fnr-replace-all', 'cell-area-copy', 'cell-area-cut', 'cell-area-paste', 'cell-area-merge', 'clear-cell-area-selection', 'clear-cell-area-merge', 'header-cell-area-selection', 'cell-area-selection-invalid', 'cell-area-selection-start', 'cell-area-selection-drag', 'cell-area-selection-end', 'cell-area-extension-start', 'cell-area-extension-drag', 'cell-area-extension-end', 'cell-area-selection-all-start', 'cell-area-selection-all-end', 'cell-area-arrows-start', 'cell-area-arrows-end', 'active-cell-change-start', 'active-cell-change-end'];
7
+ var _default = exports.default = ['update:data', 'keydown-start', 'keydown', 'keydown-end', 'paste', 'copy', 'cut', 'current-change', 'current-row-change', 'current-row-disabled', 'current-column-change', 'current-column-disabled', 'radio-change', 'checkbox-change', 'checkbox-all', 'checkbox-range-start', 'checkbox-range-change', 'checkbox-range-end', 'checkbox-range-select', 'cell-click', 'cell-dblclick', 'cell-menu', 'cell-mouseenter', 'cell-mouseleave', 'cell-selected', 'cell-delete-value', 'cell-backspace-value', 'header-cell-click', 'header-cell-dblclick', 'header-cell-menu', 'footer-cell-click', 'footer-cell-dblclick', 'footer-cell-menu', 'clear-merge', 'sort-change', 'clear-sort', 'filter-change', 'filter-visible', 'clear-filter', 'resizable-change', 'column-resizable-change', 'row-resizable-change', 'toggle-row-expand', 'toggle-tree-expand', 'menu-click', 'edit-closed', 'row-dragstart', 'row-dragover', 'row-dragend', 'column-dragstart', 'column-dragover', 'column-dragend', 'enter-append-row', 'edit-actived', 'edit-activated', 'edit-disabled', 'valid-error', 'scroll', 'scroll-boundary', 'custom', 'change-fnr', 'open-fnr', 'show-fnr', 'hide-fnr', 'fnr-change', 'fnr-find', 'fnr-find-all', 'fnr-replace', 'fnr-replace-all', 'cell-area-copy', 'cell-area-cut', 'cell-area-paste', 'cell-area-merge', 'clear-cell-area-selection', 'clear-cell-area-merge', 'header-cell-area-selection', 'cell-area-selection-invalid', 'cell-area-selection-start', 'cell-area-selection-drag', 'cell-area-selection-end', 'cell-area-extension-start', 'cell-area-extension-drag', 'cell-area-extension-end', 'cell-area-selection-all-start', 'cell-area-selection-all-end', 'cell-area-arrows-start', 'cell-area-arrows-end', 'active-cell-change-start', 'active-cell-change-end'];
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _default=exports.default=["update:data","keydown-start","keydown","keydown-end","paste","copy","cut","current-change","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","checkbox-range-select","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","cell-selected","cell-delete-value","cell-backspace-value","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","filter-change","filter-visible","clear-filter","resizable-change","column-resizable-change","row-resizable-change","toggle-row-expand","toggle-tree-expand","menu-click","edit-closed","row-dragstart","row-dragover","row-dragend","column-dragstart","column-dragover","column-dragend","enter-append-row","edit-actived","edit-activated","edit-disabled","valid-error","scroll","scroll-boundary","custom","change-fnr","open-fnr","show-fnr","hide-fnr","fnr-change","fnr-find","fnr-find-all","fnr-replace","fnr-replace-all","cell-area-copy","cell-area-cut","cell-area-paste","cell-area-merge","clear-cell-area-selection","clear-cell-area-merge","header-cell-area-selection","cell-area-selection-invalid","cell-area-selection-start","cell-area-selection-drag","cell-area-selection-end","cell-area-extension-start","cell-area-extension-drag","cell-area-extension-end","cell-area-selection-all-start","cell-area-selection-all-end","cell-area-arrows-start","cell-area-arrows-end","active-cell-change-start","active-cell-change-end"];
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _default=exports.default=["update:data","keydown-start","keydown","keydown-end","paste","copy","cut","current-change","current-row-change","current-row-disabled","current-column-change","current-column-disabled","radio-change","checkbox-change","checkbox-all","checkbox-range-start","checkbox-range-change","checkbox-range-end","checkbox-range-select","cell-click","cell-dblclick","cell-menu","cell-mouseenter","cell-mouseleave","cell-selected","cell-delete-value","cell-backspace-value","header-cell-click","header-cell-dblclick","header-cell-menu","footer-cell-click","footer-cell-dblclick","footer-cell-menu","clear-merge","sort-change","clear-sort","filter-change","filter-visible","clear-filter","resizable-change","column-resizable-change","row-resizable-change","toggle-row-expand","toggle-tree-expand","menu-click","edit-closed","row-dragstart","row-dragover","row-dragend","column-dragstart","column-dragover","column-dragend","enter-append-row","edit-actived","edit-activated","edit-disabled","valid-error","scroll","scroll-boundary","custom","change-fnr","open-fnr","show-fnr","hide-fnr","fnr-change","fnr-find","fnr-find-all","fnr-replace","fnr-replace-all","cell-area-copy","cell-area-cut","cell-area-paste","cell-area-merge","clear-cell-area-selection","clear-cell-area-merge","header-cell-area-selection","cell-area-selection-invalid","cell-area-selection-start","cell-area-selection-drag","cell-area-selection-end","cell-area-extension-start","cell-area-extension-drag","cell-area-extension-end","cell-area-selection-all-start","cell-area-selection-all-end","cell-area-arrows-start","cell-area-arrows-end","active-cell-change-start","active-cell-change-end"];
@@ -9405,7 +9405,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
9405
9405
  isChange = oldValue === newValue;
9406
9406
  if (isChange) {
9407
9407
  newValue = null;
9408
- tableMethods.clearRadioRow();
9408
+ $xeTable.clearRadioRow();
9409
9409
  }
9410
9410
  }
9411
9411
  if (isChange) {
@@ -9416,17 +9416,29 @@ var _default = exports.default = (0, _vue.defineComponent)({
9416
9416
  }
9417
9417
  },
9418
9418
  triggerCurrentColumnEvent(evnt, params) {
9419
- const columnOpts = computeColumnOpts.value;
9420
9419
  const {
9421
- currentMethod
9422
- } = columnOpts;
9420
+ currentColumn: oldValue
9421
+ } = reactData;
9422
+ const columnOpts = computeColumnOpts.value;
9423
+ const currentColumnOpts = computeCurrentColumnOpts.value;
9424
+ const beforeRowMethod = currentColumnOpts.beforeSelectMethod || columnOpts.currentMethod;
9423
9425
  const {
9424
- column
9426
+ column: newValue
9425
9427
  } = params;
9426
- if (!currentMethod || currentMethod({
9427
- column
9428
+ const isChange = oldValue !== newValue;
9429
+ if (!beforeRowMethod || beforeRowMethod({
9430
+ column: newValue,
9431
+ $table: $xeTable
9428
9432
  })) {
9429
- tableMethods.setCurrentColumn(column);
9433
+ $xeTable.setCurrentColumn(newValue);
9434
+ if (isChange) {
9435
+ dispatchEvent('current-column-change', Object.assign({
9436
+ oldValue,
9437
+ newValue
9438
+ }, params), evnt);
9439
+ }
9440
+ } else {
9441
+ dispatchEvent('current-column-disabled', params, evnt);
9430
9442
  }
9431
9443
  },
9432
9444
  triggerCurrentRowEvent(evnt, params) {
@@ -9434,23 +9446,30 @@ var _default = exports.default = (0, _vue.defineComponent)({
9434
9446
  currentRow: oldValue
9435
9447
  } = reactData;
9436
9448
  const rowOpts = computeRowOpts.value;
9437
- const {
9438
- currentMethod
9439
- } = rowOpts;
9449
+ const currentRowOpts = computeCurrentRowOpts.value;
9450
+ const beforeRowMethod = currentRowOpts.beforeSelectMethod || rowOpts.currentMethod;
9440
9451
  const {
9441
9452
  row: newValue
9442
9453
  } = params;
9443
9454
  const isChange = oldValue !== newValue;
9444
- if (!currentMethod || currentMethod({
9445
- row: newValue
9455
+ if (!beforeRowMethod || beforeRowMethod({
9456
+ row: newValue,
9457
+ $table: $xeTable
9446
9458
  })) {
9447
- tableMethods.setCurrentRow(newValue);
9459
+ $xeTable.setCurrentRow(newValue);
9448
9460
  if (isChange) {
9461
+ dispatchEvent('current-row-change', Object.assign({
9462
+ oldValue,
9463
+ newValue
9464
+ }, params), evnt);
9465
+ // 已废弃
9449
9466
  dispatchEvent('current-change', Object.assign({
9450
9467
  oldValue,
9451
9468
  newValue
9452
9469
  }, params), evnt);
9453
9470
  }
9471
+ } else {
9472
+ dispatchEvent('current-row-disabled', params, evnt);
9454
9473
  }
9455
9474
  },
9456
9475
  /**
@@ -12120,6 +12139,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
12120
12139
  if (checkboxOpts.halfField) {
12121
12140
  (0, _log.warnLog)('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField']);
12122
12141
  }
12142
+ if (rowOpts.currentMethod) {
12143
+ (0, _log.warnLog)('vxe.error.delProp', ['row-config.currentMethod', 'current-row-config.beforeSelectMethod']);
12144
+ }
12145
+ if (columnOpts.currentMethod) {
12146
+ (0, _log.warnLog)('vxe.error.delProp', ['row-config.currentMethod', 'current-column-config.beforeSelectMethod']);
12147
+ }
12123
12148
  if ((rowOpts.isCurrent || highlightCurrentRow) && props.keyboardConfig && keyboardOpts.isArrow && !_xeUtils.default.isBoolean(currentRowOpts.isFollowSelected)) {
12124
12149
  (0, _log.warnLog)('vxe.error.notConflictProp', ['row-config.isCurrent', 'current-row-config.isFollowSelected']);
12125
12150
  }