vxe-table 4.16.20 → 4.16.21

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 (46) hide show
  1. package/es/style.css +1 -1
  2. package/es/table/src/cell.js +3 -9
  3. package/es/table/src/table.js +8 -1
  4. package/es/table/style.css +48 -18
  5. package/es/ui/index.js +1 -1
  6. package/es/ui/src/log.js +1 -1
  7. package/es/vxe-table/style.css +48 -18
  8. package/lib/index.common.js +1 -2
  9. package/lib/index.umd.js +1929 -1841
  10. package/lib/index.umd.min.js +1 -1
  11. package/lib/style.css +1 -1
  12. package/lib/table/src/cell.js +3 -15
  13. package/lib/table/src/cell.min.js +1 -1
  14. package/lib/table/src/table.js +3 -2
  15. package/lib/table/src/table.min.js +1 -1
  16. package/lib/table/style/style.css +48 -18
  17. package/lib/ui/index.js +1 -1
  18. package/lib/ui/index.min.js +1 -1
  19. package/lib/ui/src/log.js +1 -1
  20. package/lib/ui/src/log.min.js +1 -1
  21. package/lib/v-x-e-table/index.js +1 -2
  22. package/lib/v-x-e-table/index.min.js +1 -1
  23. package/lib/vxe-colgroup/index.js +1 -2
  24. package/lib/vxe-colgroup/index.min.js +1 -1
  25. package/lib/vxe-column/index.js +1 -2
  26. package/lib/vxe-column/index.min.js +1 -1
  27. package/lib/vxe-grid/index.js +1 -2
  28. package/lib/vxe-grid/index.min.js +1 -1
  29. package/lib/vxe-table/index.js +1 -2
  30. package/lib/vxe-table/index.min.js +1 -1
  31. package/lib/vxe-table/style/style.css +48 -18
  32. package/lib/vxe-toolbar/index.js +1 -2
  33. package/lib/vxe-toolbar/index.min.js +1 -1
  34. package/lib/vxe-ui/index.js +1 -2
  35. package/lib/vxe-ui/index.min.js +1 -1
  36. package/lib/vxe-v-x-e-table/index.js +1 -2
  37. package/lib/vxe-v-x-e-table/index.min.js +1 -1
  38. package/package.json +3 -2
  39. package/packages/table/src/cell.ts +3 -9
  40. package/packages/table/src/table.ts +7 -1
  41. /package/es/{iconfont.1758850674944.ttf → iconfont.1760075743559.ttf} +0 -0
  42. /package/es/{iconfont.1758850674944.woff → iconfont.1760075743559.woff} +0 -0
  43. /package/es/{iconfont.1758850674944.woff2 → iconfont.1760075743559.woff2} +0 -0
  44. /package/lib/{iconfont.1758850674944.ttf → iconfont.1760075743559.ttf} +0 -0
  45. /package/lib/{iconfont.1758850674944.woff → iconfont.1760075743559.woff} +0 -0
  46. /package/lib/{iconfont.1758850674944.woff2 → iconfont.1760075743559.woff2} +0 -0
@@ -379,7 +379,7 @@ function renderCellHandle(params) {
379
379
  case 'html':
380
380
  return isDeepCell ? Cell.renderDeepHTMLCell(params) : Cell.renderHTMLCell(params);
381
381
  }
382
- if (editConfig && (0, _utils.isEnableConf)(editOpts) && editRender) {
382
+ if ((0, _utils.isEnableConf)(editConfig) && editRender) {
383
383
  return editOpts.mode === 'cell' ? isDeepCell ? Cell.renderDeepCellEdit(params) : Cell.renderCellEdit(params) : isDeepCell ? Cell.renderDeepRowEdit(params) : Cell.renderRowEdit(params);
384
384
  }
385
385
  return isDeepCell ? Cell.renderDeepCell(params) : Cell.renderDefaultCell(params);
@@ -390,13 +390,9 @@ function renderHeaderHandle(params) {
390
390
  $table
391
391
  } = params;
392
392
  const tableProps = $table.props;
393
- const {
394
- computeEditOpts
395
- } = $table.getComputeMaps();
396
393
  const {
397
394
  editConfig
398
395
  } = tableProps;
399
- const editOpts = computeEditOpts.value;
400
396
  const {
401
397
  type,
402
398
  filters,
@@ -420,7 +416,7 @@ function renderHeaderHandle(params) {
420
416
  }
421
417
  break;
422
418
  }
423
- if (editConfig && (0, _utils.isEnableConf)(editOpts) && editRender) {
419
+ if (editConfig && editRender) {
424
420
  return Cell.renderEditHeader(params);
425
421
  } else if (filters && sortable) {
426
422
  return Cell.renderSortAndFilterHeader(params);
@@ -487,19 +483,11 @@ const Cell = exports.Cell = {
487
483
  row,
488
484
  column
489
485
  } = params;
490
- const tableProps = $table.props;
491
486
  const tableReactData = $table.reactData;
492
487
  const tableInternalData = $table.internalData;
493
488
  const {
494
489
  isRowGroupStatus
495
490
  } = tableReactData;
496
- const {
497
- computeEditOpts
498
- } = $table.getComputeMaps();
499
- const {
500
- editConfig
501
- } = tableProps;
502
- const editOpts = computeEditOpts.value;
503
491
  const {
504
492
  field,
505
493
  slots,
@@ -508,7 +496,7 @@ const Cell = exports.Cell = {
508
496
  rowGroupNode,
509
497
  aggFunc
510
498
  } = column;
511
- const renderOpts = editConfig && (0, _utils.isEnableConf)(editOpts) && editRender ? editRender : cellRender;
499
+ const renderOpts = editRender || cellRender;
512
500
  const defaultSlot = slots ? slots.default : null;
513
501
  const gcSlot = slots ? slots.groupContent || slots['group-content'] : null;
514
502
  let cellValue = '';
@@ -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:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.getComputeMaps().computeRowDragOpts,{icon:o,trigger:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?t.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:d,computeTreeOpts:s}=t.getComputeMaps(),t=t.value,d=d.value,s=s.value,{showIcon:d,isPeerDrag:i,isCrossDrag:u,visibleMethod:c}=d,c=c||(o?o.rowVisibleMethod:null),p=[];return r&&t.drag&&(d||o&&o.showRowIcon)&&(!c||c(e))&&(!a||s.transform&&(i||u||!n))&&p.push(renderCellDragIcon(e)),p.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=r.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:u,visibleMethod:c,disabledMethod:p}=d.value;if(!o.drag||!d||c&&!c(t)||e.fixed||!l&&!u&&e.parentId)return renderEmptyElement(r);{let l=p&&p(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},d.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function getRenderDefaultColumnTitle(e,l){return"html"===e.type&&_xeUtils.default.isString(l)?(0,_vue.h)("span",{key:"ch",innerHTML:l}):(0,_vue.h)("span",{key:"ct"},(0,_vn.getSlotVNs)(l))}function renderTitleContent(l,e){let{$table:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeHeaderTooltipOpts,n=n.showHeaderOverflow,d=a.isRowGroupStatus,s=r.showHeaderOverflow;let i=o.value.showAll;o=_xeUtils.default.eqNull(s)?n:s;let u="title"===o,c=!0===o||"tooltip"===o;n={},(u||c||i)&&(n.onMouseenter=e=>{a.isDragResize||(u?(0,_dom.updateCellTitle)(e.currentTarget,r):(c||i)&&t.triggerHeaderTooltipEvent(e,l))}),(c||i)&&(n.onMouseleave=e=>{a.isDragResize||(c||i)&&t.handleTargetLeaveEvent(e)}),s=getRenderDefaultColumnTitle(r,e);return[(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),d&&r.aggFunc&&t.getPivotTableAggregateRenderColTitles?t.getPivotTableAggregateRenderColTitles(r,s):[s])]}function getFooterContent(e){var{$table:l,column:t,_columnIndex:r,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=t,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);let u="";u=_xeUtils.default.isArray(n)?n[r]:_xeUtils.default.get(a,t.field);o=Object.assign(e,{itemValue:u});if(i)return _xeUtils.default.isFunction(i)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+i(o))]:(n=(s=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?s.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(d){r=renderer.get(d.name);if(r){a=r.renderTableFooter||r.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(d,o))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(u,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:d,rowGroupNode:s,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:u,computeAggregateOpts:c}=r.getComputeMaps(),c=c.value.mode,p=u.value,u=r.value,C=d||a&&("column"===c?l.field===t.groupField:s);switch(o){case"seq":return C?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return C?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return p.checkField?C?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):C?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return C?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return n&&(0,_utils.isEnableConf)(u)&&i?"cell"===u.mode?C?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):C?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):C?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,r=t.props,t=t.getComputeMaps().computeEditOpts,r=r.editConfig,t=t.value,{type:l,filters:n,sortable:a,editRender:o}=l;switch(l){case"seq":return Cell.renderSeqHeader(e);case"radio":return Cell.renderRadioHeader(e);case"checkbox":return Cell.renderCheckboxHeader(e);case"html":if(n&&a)return Cell.renderSortAndFilterHeader(e);if(a)return Cell.renderSortHeader(e);if(n)return Cell.renderFilterHeader(e)}return r&&(0,_utils.isEnableConf)(t)&&o?Cell.renderEditHeader(e):n&&a?Cell.renderSortAndFilterHeader(e):a?Cell.renderSortHeader(e):n?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,{slots:r,editRender:n,cellRender:a}=t,n=n||a,a=r?r.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){r=renderer.get(n.name);if(r){l=r.renderTableHeader||r.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,n=l.props,a=l.internalData,o=l.reactData.isRowGroupStatus,d=l.getComputeMaps().computeEditOpts,n=n.editConfig,d=d.value,{field:s,slots:i,editRender:u,cellRender:c,rowGroupNode:p,aggFunc:C}=r,n=n&&(0,_utils.isEnableConf)(d)&&u?u:c,d=i?i.default:null,c=i?i.groupContent||i["group-content"]:null;let g="";if(o&&s&&t.isAggregate){var i=t,o=a.fullColumnFieldData,a=l.getComputeMaps().computeAggregateOpts,a=a.value,{mode:v,showTotal:h,totalMethod:E,countFields:_,contentMethod:b,mapChildrenField:m}=a,a=a.calcValuesMethod||a.countMethod||a.aggregateMethod,f=i.groupField,x=i.groupContent,m=m&&i[m]||[],D=i.childCount,o=o[f]||{},o={$table:l,groupField:f,groupColumn:o?o.column:null,column:r,groupValue:x,childList:m,childCount:D,aggValue:null,children:m,totalValue:D};if(c)return renderCellBaseVNs(e,l.callSlot(c,Object.assign({groupField:f,groupContent:x,childList:m,childCount:D},e)));("column"===v?s===i.groupField:p)?(g=x,b&&(g=""+b(o)),h&&(g=getI18n("vxe.table.rowGroupContentTotal",[g,E?E(o):D,D]))):l.getPivotTableAggregateCellAggValue?g=l.getPivotTableAggregateCellAggValue(e):(!0===C||_&&_.includes(s))&&a&&(o.aggValue=D,g=""+a(o))}else{if(d)return renderCellBaseVNs(e,l.callSlot(d,e));if(n){c=renderer.get(n.name);if(c){f=c.renderTableCell||c.renderCell,m=c.renderTableDefault||c.renderDefault,v=u?f:m;if(v)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(v(n,Object.assign({$type:u?"edit":"cell"},e))))}}g=l.getCellLabel(t,r)}i=u?u.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[u&&(0,_utils.eqEmptyValue)(g)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(i),1)):(0,_vue.h)("span",(0,_utils.formatText)(g,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,d=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{mode:d,padding:s,indent:i}=d.value,u=(0,_util.getRowid)(t,a),r=!!r&&!!n[u];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:"column"!==d&&s&&i?{paddingLeft:o*i+"px"}:void 0},[a.isAggregate?(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(t),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:d,level:s}=l,d=d.slots,d=d?d.icon:null;if(d)return t.callSlot(d,l);var d=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:u}=a,d=d.value,{padding:c,indent:p,lazy:C,trigger:g,iconLoaded:v,showIcon:h,iconOpen:E,iconClose:_}=d,b=d.children||d.childrenField,d=d.hasChild||d.hasChildField,b=o[b],b=b&&b.length;let m=!1,f=!1,x=!1,D=!1;var T,w={};return r||(T=(0,_util.getRowid)(t,o),f=!!n&&!!i[T],C&&(n=a[T],x=!!u[T],m=o[d],D=!!n.treeLoaded)),g&&"default"!==g||(w.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":f}],style:c&&p?{paddingLeft:s*p+"px"}:void 0},[h&&(!C||D?b:b||m)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},w),[(0,_vue.h)("i",{class:x?v||getIcon().TABLE_TREE_LOADED:f?E||getIcon().TABLE_TREE_OPEN:_||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode,o=t.reactData.rowGroupList;if(o.length){o=t.getComputeMaps().computeAggregateOpts,t=o.value.mode;if("column"===t?n.field===r.groupField:a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var{$table:l,column:t}=e,r=t.slots,r=r?r.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.header:null,r=r?r.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l.row,u=o?o.default:null,o=o?o.radio:null,n=t.eqRow(i,n);let c=!s||s({$table:t,row:i}),p=!!d,C;r||(C={onClick(e){!p&&c&&t.triggerRadioRowEvent(e,l)}},d&&(p=!d({$table:t,row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:p,visible:c});return o?renderCellBaseVNs(l,t.callSlot(o,s)):(d=[],c&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:p?getIcon().TABLE_RADIO_DISABLED_UNCHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},u?t.callSlot(u,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":p}]},C),d)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=t.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:u,headerTitle:c}=o.value,p=t.getTitle(),C={},g=(r||(C.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return renderHeaderCellBaseVNs(e,renderTitleContent(g,a?l.callSlot(a,g):(o?u:!1!==u)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:_xeUtils.default.eqNull(c)?getI18n("vxe.table.allTitle"):""+(c||"")},C),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:i?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||p?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):p)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):p)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,{selectCheckboxMaps:s,treeIndeterminateRowMaps:i}=t.internalData,{computeCheckboxOpts:u,computeAggregateOpts:c}=t.getComputeMaps(),c=c.value.mapChildrenField;let{labelField:p,checkMethod:C,visibleMethod:g}=u.value;var u=r.slots,v=u?u.default:null,u=u?u.checkbox:null;let h=!1,E=!1,_=!0,b=!1;var m,f={},s=(n||(m=(0,_util.getRowid)(t,e),E=!!o&&!!s[m],C&&d&&t.isAggregateRecord(e)?(o=e[c||""])&&o.length&&!o.every(e=>!C({$table:t,row:e}))||(b=!0):(_=!g||g({$table:t,row:e}),b=C?!C({$table:t,row:e}):!!C),(a||d)&&(h=!!i[m]),f.onClick=e=>{!b&&_&&t.triggerCheckRowEvent(e,l,!E)}),Object.assign(Object.assign({},l),{checked:E,disabled:b,visible:_,indeterminate:h}));return u?renderCellBaseVNs(l,t.callSlot(u,s)):(c=[],_&&c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:E?getIcon().TABLE_CHECKBOX_CHECKED:b?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(v||p)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,s):_xeUtils.default.get(e,p))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":E,"is--disabled":b,"is--indeterminate":h,"is--hidden":!_}]},f),c)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,s=t.internalData.treeIndeterminateRowMaps,{computeCheckboxOpts:i,computeAggregateOpts:u}=t.getComputeMaps(),u=u.value.mapChildrenField,i=i.value;let{labelField:c,checkField:p,checkMethod:C,visibleMethod:g}=i;var i=i.indeterminateField||i.halfField,v=r.slots,h=v?v.default:null,v=v?v.checkbox:null;let E=!1,_=!1,b=!0,m=!1;var f,x={},u=(n||(f=(0,_util.getRowid)(t,e),_=!!o&&_xeUtils.default.get(e,p),C&&d&&t.isAggregateRecord(e)?(o=e[u||""])&&o.length&&!o.every(e=>!C({$table:t,row:e}))||(m=!0):(b=!g||g({$table:t,row:e}),m=C?!C({$table:t,row:e}):!!C),(a||d)&&(E=!!s[f]),x.onClick=e=>{!m&&b&&t.triggerCheckRowEvent(e,l,!_)}),Object.assign(Object.assign({},l),{checked:_,disabled:m,visible:b,indeterminate:E}));return v?renderCellBaseVNs(l,t.callSlot(v,u)):(o=[],b&&(o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",E?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:m?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),h||c)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},h?t.callSlot(h,u):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":m,"is--indeterminate":i&&!_?e[i]:E,"is--hidden":!b}]},x),o)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:d}=t.internalData,s=t.getComputeMaps().computeExpandOpts,{lazy:s,labelField:i,iconLoaded:u,showIcon:c,iconOpen:p,iconClose:C,visibleMethod:g}=s.value,v=n.slots,h=v?v.default:null,v=v?v.icon:null;let E=!1,_=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),E=!!o[a],s&&(_=!!d[a])),renderCellBaseVNs(l,[!c||g&&!g(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":E}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",_?u||getIcon().TABLE_EXPAND_LOADED:E?p||getIcon().TABLE_EXPAND_OPEN:C||getIcon().TABLE_EXPAND_CLOSE]})]),h||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},h?t.callSlot(h,l):_xeUtils.default.get(r,i)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(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:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:d,iconAsc:s,iconDesc:i,iconVisibleMethod:u}=r.value,c=t.order;return!r||u&&!u(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${d}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",s||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===c}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===c}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:d,editRender:s}=t;let i=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(r)&&({showAsterisk:t,showIcon:a,icon:r}=n,u=[i&&t?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&a?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},_xeUtils.default.isFunction(r)?(0,_vn.getSlotVNs)(r({})):[(0,_vue.h)("i",{class:r||getIcon().TABLE_EDIT})]):renderEmptyElement(l)]),renderHeaderCellBaseVNs(e,u.concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row&&l.column===e.column)},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,row:r,column:n}=e,a=t.reactData.isRowGroupStatus,{slots:n,field:o,editRender:d,formatter:s}=n,i=n?n.default:null,u=n?n.groupContent||n["group-content"]:null,n=n?n.edit:null,c=renderer.get(d.name),c=c?c.renderTableEdit||c.renderEdit:null,p=Object.assign({$type:"",isEdit:l},e);if(l)return p.$type="edit",n?t.callSlot(n,p):c?(0,_vn.getSlotVNs)(c(d,p)):[];if(a&&o&&r.isAggregate){l=r,n=t.getComputeMaps().computeAggregateOpts,c=n.value.mapChildrenField,d=l.groupField,a=l.groupContent,o=c&&l[c]||[],r=l.childCount;if(u)return renderCellBaseVNs(e,t.callSlot(u,Object.assign({groupField:d,groupContent:a,childList:o,childCount:r},e)))}else if(i)return renderCellBaseVNs(e,t.callSlot(i,p));return s?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(p))]):Cell.renderDefaultCell(p)}};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:t,column:e}=l,r=e.titlePrefix||e.titleHelp;return r?(0,_vue.h)("span",{class:["vxe-cell-title-prefix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_PREFIX})]):renderEmptyElement(t)}function renderTitleSuffixIcon(l){let{$table:t,column:e}=l,r=e.titleSuffix;return r?(0,_vue.h)("span",{class:["vxe-cell-title-suffix-icon",r.iconStatus?"theme--"+r.iconStatus:""],onMouseenter(e){t.triggerHeaderTitleEvent(e,r,l)},onMouseleave(e){t.handleTargetLeaveEvent(e)}},[(0,_vue.h)("i",{class:r.icon||getIcon().TABLE_TITLE_SUFFIX})]):renderEmptyElement(t)}function renderCellDragIcon(l){let{$table:t,column:e}=l;var r=t.context,r=r.slots,n=e.slots,a=t.props.dragConfig,o=t.getComputeMaps().computeRowDragOpts,{icon:o,trigger:d,disabledMethod:s}=o.value,s=s||(a?a.rowDisabledMethod:null);let i=s&&s(l);s=(n?n.rowDragIcon||n["row-drag-icon"]:null)||r.rowDragIcon||r["row-drag-icon"],n={};return"cell"!==d&&(n.onMousedown=e=>{i||t.handleCellDragMousedownEvent(e,l)},n.onMouseup=t.handleCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":i}]},n),s?t.callSlot(s,l):[(0,_vue.h)("i",{class:o||(a?a.rowIcon:"")||getIcon().TABLE_DRAG_ROW})])}function renderCellBaseVNs(e,l){var{$table:t,column:r,level:n}=e,r=r.dragSort,{treeConfig:a,dragConfig:o}=t.props,{computeRowOpts:t,computeRowDragOpts:d,computeTreeOpts:s}=t.getComputeMaps(),t=t.value,d=d.value,s=s.value,{showIcon:d,isPeerDrag:i,isCrossDrag:u,visibleMethod:c}=d,c=c||(o?o.rowVisibleMethod:null),C=[];return r&&t.drag&&(d||o&&o.showRowIcon)&&(!c||c(e))&&(!a||s.transform&&(i||u||!n))&&C.push(renderCellDragIcon(e)),C.concat(_xeUtils.default.isArray(l)?l:[l])}function renderHeaderCellDragIcon(t){let{$table:r,column:e}=t;var n=r.context,n=n.slots,a=e.slots,{computeColumnOpts:o,computeColumnDragOpts:d}=r.getComputeMaps(),o=o.value,{showIcon:d,icon:s,trigger:i,isPeerDrag:l,isCrossDrag:u,visibleMethod:c,disabledMethod:C}=d.value;if(!o.drag||!d||c&&!c(t)||e.fixed||!l&&!u&&e.parentId)return renderEmptyElement(r);{let l=C&&C(t);o=(a?a.columnDragIcon||a["column-drag-icon"]:null)||n.columnDragIcon||n["column-drag-icon"],d={};return"cell"!==i&&(d.onMousedown=e=>{l||r.handleHeaderCellDragMousedownEvent(e,t)},d.onMouseup=r.handleHeaderCellDragMouseupEvent),(0,_vue.h)("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":l}]},d),o?r.callSlot(o,t):[(0,_vue.h)("i",{class:s||getIcon().TABLE_DRAG_COLUMN})])}}function renderHeaderCellBaseVNs(e,l){return[renderTitlePrefixIcon(e),renderHeaderCellDragIcon(e),..._xeUtils.default.isArray(l)?l:[l],renderTitleSuffixIcon(e)]}function getRenderDefaultColumnTitle(e,l){return"html"===e.type&&_xeUtils.default.isString(l)?(0,_vue.h)("span",{key:"ch",innerHTML:l}):(0,_vue.h)("span",{key:"ct"},(0,_vn.getSlotVNs)(l))}function renderTitleContent(l,e){let{$table:t,column:r}=l;var n=t.props;let a=t.reactData;var o=t.getComputeMaps().computeHeaderTooltipOpts,n=n.showHeaderOverflow,d=a.isRowGroupStatus,s=r.showHeaderOverflow;let i=o.value.showAll;o=_xeUtils.default.eqNull(s)?n:s;let u="title"===o,c=!0===o||"tooltip"===o;n={},(u||c||i)&&(n.onMouseenter=e=>{a.isDragResize||(u?(0,_dom.updateCellTitle)(e.currentTarget,r):(c||i)&&t.triggerHeaderTooltipEvent(e,l))}),(c||i)&&(n.onMouseleave=e=>{a.isDragResize||(c||i)&&t.handleTargetLeaveEvent(e)}),s=getRenderDefaultColumnTitle(r,e);return[(0,_vue.h)("span",Object.assign({class:"vxe-cell--title"},n),d&&r.aggFunc&&t.getPivotTableAggregateRenderColTitles?t.getPivotTableAggregateRenderColTitles(r,s):[s])]}function getFooterContent(e){var{$table:l,column:t,_columnIndex:r,items:n,row:a}=e,{slots:o,editRender:d,cellRender:s,footerFormatter:i}=t,d=d||s,s=o?o.footer:null;if(s)return l.callSlot(s,e);let u="";u=_xeUtils.default.isArray(n)?n[r]:_xeUtils.default.get(a,t.field);o=Object.assign(e,{itemValue:u});if(i)return _xeUtils.default.isFunction(i)?[(0,_vue.h)("span",{class:"vxe-cell--label"},""+i(o))]:(n=(s=(l=_xeUtils.default.isArray(i))?formats.get(i[0]):formats.get(i))?s.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(d){r=renderer.get(d.name);if(r){a=r.renderTableFooter||r.renderFooter;if(a)return(0,_vn.getSlotVNs)(a(d,o))}}return[(0,_vue.h)("span",{class:"vxe-cell--label"},(0,_utils.formatText)(u,1))]}function getDefaultCellLabel(e){var{$table:e,row:l,column:t}=e;return(0,_utils.formatText)(e.getCellLabel(l,t),1)}function renderCellHandle(e){var{column:l,row:t,$table:r}=e,n=r.props,a=r.reactData.isRowGroupStatus,n=n.editConfig,{type:o,treeNode:d,rowGroupNode:s,editRender:i}=l,{computeEditOpts:r,computeCheckboxOpts:u,computeAggregateOpts:c}=r.getComputeMaps(),c=c.value.mode,C=u.value,u=r.value,p=d||a&&("column"===c?l.field===t.groupField:s);switch(o){case"seq":return p?Cell.renderDeepIndexCell(e):Cell.renderSeqCell(e);case"radio":return p?Cell.renderDeepRadioCell(e):Cell.renderRadioCell(e);case"checkbox":return C.checkField?p?Cell.renderDeepSelectionCellByProp(e):Cell.renderCheckboxCellByProp(e):p?Cell.renderDeepSelectionCell(e):Cell.renderCheckboxCell(e);case"expand":return Cell.renderExpandCell(e);case"html":return p?Cell.renderDeepHTMLCell(e):Cell.renderHTMLCell(e)}return(0,_utils.isEnableConf)(n)&&i?"cell"===u.mode?p?Cell.renderDeepCellEdit(e):Cell.renderCellEdit(e):p?Cell.renderDeepRowEdit(e):Cell.renderRowEdit(e):p?Cell.renderDeepCell(e):Cell.renderDefaultCell(e)}function renderHeaderHandle(e){var{column:l,$table:t}=e,t=t.props.editConfig,{type:l,filters:r,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(r&&n)return Cell.renderSortAndFilterHeader(e);if(n)return Cell.renderSortHeader(e);if(r)return Cell.renderFilterHeader(e)}return t&&a?Cell.renderEditHeader(e):r&&n?Cell.renderSortAndFilterHeader(e):n?Cell.renderSortHeader(e):r?Cell.renderFilterHeader(e):Cell.renderDefaultHeader(e)}function renderFooterHandle(e){return Cell.renderDefaultFooter(e)}let Cell=exports.Cell={createColumn(e,l){var t=l.type,r={renderHeader:renderHeaderHandle,renderCell:renderCellHandle,renderFooter:renderFooterHandle};return"expand"===t&&(r.renderData=Cell.renderExpandData),(0,_util.createColumn)(e,l,r)},renderHeaderTitle(e){var{$table:l,column:t}=e,{slots:r,editRender:n,cellRender:a}=t,n=n||a,a=r?r.header:null;if(a)return renderTitleContent(e,l.callSlot(a,e));if(n){r=renderer.get(n.name);if(r){l=r.renderTableHeader||r.renderHeader;if(l)return renderTitleContent(e,(0,_vn.getSlotVNs)(l(n,e)))}}return renderTitleContent(e,(0,_utils.formatText)(t.getTitle(),1))},renderDefaultHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e))},renderDefaultCell(e){var{$table:l,row:t,column:r}=e,n=l.reactData.isRowGroupStatus,{field:a,slots:o,editRender:d,cellRender:s,rowGroupNode:i,aggFunc:u}=r,s=d||s,c=o?o.default:null,o=o?o.groupContent||o["group-content"]:null;let C="";if(n&&a&&t.isAggregate){var n=t,p=l.internalData.fullColumnFieldData,g=l.getComputeMaps().computeAggregateOpts,g=g.value,{mode:v,showTotal:h,totalMethod:_,countFields:E,contentMethod:b,mapChildrenField:m}=g,g=g.calcValuesMethod||g.countMethod||g.aggregateMethod,f=n.groupField,x=n.groupContent,m=m&&n[m]||[],D=n.childCount,p=p[f]||{},p={$table:l,groupField:f,groupColumn:p?p.column:null,column:r,groupValue:x,childList:m,childCount:D,aggValue:null,children:m,totalValue:D};if(o)return renderCellBaseVNs(e,l.callSlot(o,Object.assign({groupField:f,groupContent:x,childList:m,childCount:D},e)));("column"===v?a===n.groupField:i)?(C=x,b&&(C=""+b(p)),h&&(C=getI18n("vxe.table.rowGroupContentTotal",[C,_?_(p):D,D]))):l.getPivotTableAggregateCellAggValue?C=l.getPivotTableAggregateCellAggValue(e):(!0===u||E&&E.includes(a))&&g&&(p.aggValue=D,C=""+g(p))}else{if(c)return renderCellBaseVNs(e,l.callSlot(c,e));if(s){o=renderer.get(s.name);if(o){f=o.renderTableCell||o.renderCell,m=o.renderTableDefault||o.renderDefault,v=d?f:m;if(v)return renderCellBaseVNs(e,(0,_vn.getSlotVNs)(v(s,Object.assign({$type:d?"edit":"cell"},e))))}}C=l.getCellLabel(t,r)}n=d?d.placeholder:"";return renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},[d&&(0,_utils.eqEmptyValue)(C)?(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(n),1)):(0,_vue.h)("span",(0,_utils.formatText)(C,1))])])},renderDeepCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderDefaultCell(e))},renderDefaultFooter(e){return getFooterContent(e)},renderRowGroupBtn(l,e){let t=l.$table;var r=t.reactData,n=t.internalData,{row:a,level:o}=l,d=t.getComputeMaps().computeAggregateOpts,r=r.rowGroupExpandedFlag,n=n.rowGroupExpandedMaps,{mode:d,padding:s,indent:i}=d.value,u=(0,_util.getRowid)(t,a),r=!!r&&!!n[u];return(0,_vue.h)("div",{class:["vxe-row-group--tree-node",{"is--expanded":r}],style:"column"!==d&&s&&i?{paddingLeft:o*i+"px"}:void 0},[a.isAggregate?(0,_vue.h)("span",{class:"vxe-row-group--node-btn",onClick(e){t.triggerRowGroupExpandEvent(e,l)}},[(0,_vue.h)("i",{class:r?getIcon().TABLE_ROW_GROUP_OPEN:getIcon().TABLE_ROW_GROUP_CLOSE})]):renderEmptyElement(t),(0,_vue.h)("div",{class:"vxe-row-group-cell"},e)])},renderTreeNodeBtn(l,e){let{$table:t,isHidden:r}=l;var n=t.reactData,a=t.internalData,{row:o,column:d,level:s}=l,d=d.slots,d=d?d.icon:null;if(d)return t.callSlot(d,l);var d=t.getComputeMaps().computeTreeOpts,n=n.treeExpandedFlag,{fullAllDataRowIdData:a,treeExpandedMaps:i,treeExpandLazyLoadedMaps:u}=a,d=d.value,{padding:c,indent:C,lazy:p,trigger:g,iconLoaded:v,showIcon:h,iconOpen:_,iconClose:E}=d,b=d.children||d.childrenField,d=d.hasChild||d.hasChildField,b=o[b],b=b&&b.length;let m=!1,f=!1,x=!1,D=!1;var T,w={};return r||(T=(0,_util.getRowid)(t,o),f=!!n&&!!i[T],p&&(n=a[T],x=!!u[T],m=o[d],D=!!n.treeLoaded)),g&&"default"!==g||(w.onClick=e=>{t.triggerTreeExpandEvent(e,l)}),(0,_vue.h)("div",{class:["vxe-cell--tree-node",{"is--active":f}],style:c&&C?{paddingLeft:s*C+"px"}:void 0},[h&&(!p||D?b:b||m)?[(0,_vue.h)("div",Object.assign({class:"vxe-cell--tree-btn"},w),[(0,_vue.h)("i",{class:x?v||getIcon().TABLE_TREE_LOADED:f?_||getIcon().TABLE_TREE_OPEN:E||getIcon().TABLE_TREE_CLOSE})])]:null,(0,_vue.h)("div",{class:"vxe-tree-cell"},e)])},renderDeepNodeBtn(e,l){var{$table:t,row:r,column:n}=e,a=n.rowGroupNode,o=t.reactData.rowGroupList;if(o.length){o=t.getComputeMaps().computeAggregateOpts,t=o.value.mode;if("column"===t?n.field===r.groupField:a)return[Cell.renderRowGroupBtn(e,l)]}return[Cell.renderTreeNodeBtn(e,l)]},renderSeqHeader(e){var{$table:l,column:t}=e,r=t.slots,r=r?r.header:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1)))},renderSeqCell(e){var{$table:l,column:t}=e,r=l.props.treeConfig,n=l.getComputeMaps().computeSeqOpts,n=n.value,t=t.slots,t=t?t.default:null;return t?renderCellBaseVNs(e,l.callSlot(t,e)):(l=e.seq,t=n.seqMethod,renderCellBaseVNs(e,[(0,_vue.h)("span",""+(0,_utils.formatText)(t?t(e):r?l:(n.startIndex||0)+l,1))]))},renderDeepIndexCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderSeqCell(e))},renderRadioHeader(e){var{$table:l,column:t}=e,r=t.slots,n=r?r.header:null,r=r?r.title:null;return renderHeaderCellBaseVNs(e,renderTitleContent(e,n?l.callSlot(n,e):[(0,_vue.h)("span",{class:"vxe-radio--label"},r?l.callSlot(r,e):(0,_utils.formatText)(t.getTitle(),1))]))},renderRadioCell(l){let{$table:t,column:e,isHidden:r}=l;var n=t.reactData,a=t.getComputeMaps().computeRadioOpts,n=n.selectRadioRow,o=e.slots,{labelField:a,checkMethod:d,visibleMethod:s}=a.value,i=l.row,u=o?o.default:null,o=o?o.radio:null,n=t.eqRow(i,n);let c=!s||s({$table:t,row:i}),C=!!d,p;r||(p={onClick(e){!C&&c&&t.triggerRadioRowEvent(e,l)}},d&&(C=!d({$table:t,row:i})));s=Object.assign(Object.assign({},l),{checked:n,disabled:C,visible:c});return o?renderCellBaseVNs(l,t.callSlot(o,s)):(d=[],c&&d.push((0,_vue.h)("span",{class:["vxe-radio--icon",n?getIcon().TABLE_RADIO_CHECKED:C?getIcon().TABLE_RADIO_DISABLED_UNCHECKED:getIcon().TABLE_RADIO_UNCHECKED]})),(u||a)&&d.push((0,_vue.h)("span",{class:"vxe-radio--label"},u?t.callSlot(u,s):_xeUtils.default.get(i,a))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--radio",{"is--checked":n,"is--disabled":C}]},p),d)]))},renderDeepRadioCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderRadioCell(e))},renderCheckboxHeader(e){let{$table:l,column:t,isHidden:r}=e;var n=l.reactData,{computeIsAllCheckboxDisabled:a,computeCheckboxOpts:o}=l.getComputeMaps();let{isAllSelected:d,isIndeterminate:s}=n,i=a.value;var n=t.slots,a=n?n.header:null,n=n?n.title:null,{checkStrictly:o,showHeader:u,headerTitle:c}=o.value,C=t.getTitle(),p={},g=(r||(p.onClick=e=>{i||l.triggerCheckAllEvent(e,!d)}),Object.assign(Object.assign({},e),{checked:d,disabled:i,indeterminate:s}));return renderHeaderCellBaseVNs(e,renderTitleContent(g,a?l.callSlot(a,g):(o?u:!1!==u)?[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":d,"is--disabled":i,"is--indeterminate":s}],title:_xeUtils.default.eqNull(c)?getI18n("vxe.table.allTitle"):""+(c||"")},p),[(0,_vue.h)("span",{class:["vxe-checkbox--icon",s?getIcon().TABLE_CHECKBOX_INDETERMINATE:d?getIcon().TABLE_CHECKBOX_CHECKED:i?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})].concat(n||C?[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]:[]))]:[(0,_vue.h)("span",{class:"vxe-checkbox--label"},n?l.callSlot(n,g):C)]))},renderCheckboxCell(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,{selectCheckboxMaps:s,treeIndeterminateRowMaps:i}=t.internalData,{computeCheckboxOpts:u,computeAggregateOpts:c}=t.getComputeMaps(),c=c.value.mapChildrenField;let{labelField:C,checkMethod:p,visibleMethod:g}=u.value;var u=r.slots,v=u?u.default:null,u=u?u.checkbox:null;let h=!1,_=!1,E=!0,b=!1;var m,f={},s=(n||(m=(0,_util.getRowid)(t,e),_=!!o&&!!s[m],p&&d&&t.isAggregateRecord(e)?(o=e[c||""])&&o.length&&!o.every(e=>!p({$table:t,row:e}))||(b=!0):(E=!g||g({$table:t,row:e}),b=p?!p({$table:t,row:e}):!!p),(a||d)&&(h=!!i[m]),f.onClick=e=>{!b&&E&&t.triggerCheckRowEvent(e,l,!_)}),Object.assign(Object.assign({},l),{checked:_,disabled:b,visible:E,indeterminate:h}));return u?renderCellBaseVNs(l,t.callSlot(u,s)):(c=[],E&&c.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",h?getIcon().TABLE_CHECKBOX_INDETERMINATE:_?getIcon().TABLE_CHECKBOX_CHECKED:b?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),(v||C)&&c.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},v?t.callSlot(v,s):_xeUtils.default.get(e,C))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":_,"is--disabled":b,"is--indeterminate":h,"is--hidden":!E}]},f),c)]))},renderDeepSelectionCell(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCell(e))},renderCheckboxCellByProp(l){let{$table:t,row:e,column:r,isHidden:n}=l;var a=t.props.treeConfig,{updateCheckboxFlag:o,isRowGroupStatus:d}=t.reactData,s=t.internalData.treeIndeterminateRowMaps,{computeCheckboxOpts:i,computeAggregateOpts:u}=t.getComputeMaps(),u=u.value.mapChildrenField,i=i.value;let{labelField:c,checkField:C,checkMethod:p,visibleMethod:g}=i;var i=i.indeterminateField||i.halfField,v=r.slots,h=v?v.default:null,v=v?v.checkbox:null;let _=!1,E=!1,b=!0,m=!1;var f,x={},u=(n||(f=(0,_util.getRowid)(t,e),E=!!o&&_xeUtils.default.get(e,C),p&&d&&t.isAggregateRecord(e)?(o=e[u||""])&&o.length&&!o.every(e=>!p({$table:t,row:e}))||(m=!0):(b=!g||g({$table:t,row:e}),m=p?!p({$table:t,row:e}):!!p),(a||d)&&(_=!!s[f]),x.onClick=e=>{!m&&b&&t.triggerCheckRowEvent(e,l,!E)}),Object.assign(Object.assign({},l),{checked:E,disabled:m,visible:b,indeterminate:_}));return v?renderCellBaseVNs(l,t.callSlot(v,u)):(o=[],b&&(o.push((0,_vue.h)("span",{class:["vxe-checkbox--icon",_?getIcon().TABLE_CHECKBOX_INDETERMINATE:E?getIcon().TABLE_CHECKBOX_CHECKED:m?getIcon().TABLE_CHECKBOX_DISABLED_UNCHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})),h||c)&&o.push((0,_vue.h)("span",{class:"vxe-checkbox--label"},h?t.callSlot(h,u):_xeUtils.default.get(e,c))),renderCellBaseVNs(l,[(0,_vue.h)("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":E,"is--disabled":m,"is--indeterminate":i&&!E?e[i]:_,"is--hidden":!b}]},x),o)]))},renderDeepSelectionCellByProp(e){return Cell.renderDeepNodeBtn(e,Cell.renderCheckboxCellByProp(e))},renderExpandCell(l){let{$table:t,isHidden:e,row:r,column:n}=l;var a=t.reactData.isRowGroupStatus,{rowExpandedMaps:o,rowExpandLazyLoadedMaps:d}=t.internalData,s=t.getComputeMaps().computeExpandOpts,{lazy:s,labelField:i,iconLoaded:u,showIcon:c,iconOpen:C,iconClose:p,visibleMethod:g}=s.value,v=n.slots,h=v?v.default:null,v=v?v.icon:null;let _=!1,E=!1;return a&&r.isAggregate?renderCellBaseVNs(l,[]):v?renderCellBaseVNs(l,t.callSlot(v,l)):(e||(a=(0,_util.getRowid)(t,r),_=!!o[a],s&&(E=!!d[a])),renderCellBaseVNs(l,[!c||g&&!g(l)?renderEmptyElement(t):(0,_vue.h)("span",{class:["vxe-table--expanded",{"is--active":_}],onMousedown(e){e.stopPropagation()},onClick(e){t.triggerRowExpandEvent(e,l)}},[(0,_vue.h)("i",{class:["vxe-table--expand-btn",E?u||getIcon().TABLE_EXPAND_LOADED:_?C||getIcon().TABLE_EXPAND_OPEN:p||getIcon().TABLE_EXPAND_CLOSE]})]),h||i?(0,_vue.h)("span",{class:"vxe-table--expand-label"},h?t.callSlot(h,l):_xeUtils.default.get(r,i)):renderEmptyElement(t)]))},renderExpandData(e){var{$table:l,column:t}=e,{slots:t,contentRender:r}=t,t=t?t.content:null;if(t)return l.callSlot(t,e);if(r){l=renderer.get(r.name);if(l){t=l.renderTableExpand||l.renderExpand;if(t)return(0,_vn.getSlotVNs)(t(r,e))}}return[]},renderHTMLCell(e){var{$table:l,column:t}=e,t=t.slots,t=t?t.default:null;return renderCellBaseVNs(e,t?l.callSlot(t,e):[(0,_vue.h)("span",{class:"vxe-cell--html",innerHTML:getDefaultCellLabel(e)})])},renderDeepHTMLCell(e){return Cell.renderDeepNodeBtn(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:t}=e;var r=l.getComputeMaps().computeSortOpts,{showIcon:r,allowBtn:n,ascTitle:a,descTitle:o,iconLayout:d,iconAsc:s,iconDesc:i,iconVisibleMethod:u}=r.value,c=t.order;return!r||u&&!u(e)?[]:[(0,_vue.h)("span",{class:["vxe-cell--sort",`vxe-cell--sort-${d}-layout`]},[(0,_vue.h)("i",{class:["vxe-sort--asc-btn",s||getIcon().TABLE_SORT_ASC,{"sort--active":"asc"===c}],title:_xeUtils.default.eqNull(a)?getI18n("vxe.table.sortAsc"):""+(a||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"asc")}:void 0}),(0,_vue.h)("i",{class:["vxe-sort--desc-btn",i||getIcon().TABLE_SORT_DESC,{"sort--active":"desc"===c}],title:_xeUtils.default.eqNull(o)?getI18n("vxe.table.sortDesc"):""+(o||""),onClick:n?e=>{e.stopPropagation(),l.triggerSortEvent(e,t,"desc")}:void 0})])]},renderFilterHeader(e){return renderHeaderCellBaseVNs(e,Cell.renderHeaderTitle(e).concat(Cell.renderFilterIcon(e)))},renderFilterIcon(l){let{$table:t,column:e,hasFilter:r}=l;var n=t.reactData.filterStore,a=t.getComputeMaps().computeFilterOpts,{showIcon:a,iconNone:o,iconMatch:d,iconVisibleMethod:s}=a.value;return!a||s&&!s(l)?[]:[(0,_vue.h)("span",{class:["vxe-cell--filter",{"is--active":n.visible&&n.column===e}],onClick(e){t.triggerFilterEvent&&t.triggerFilterEvent(e,l.column,l)}},[(0,_vue.h)("i",{class:["vxe-filter--btn",r?d||getIcon().TABLE_FILTER_MATCH:o||getIcon().TABLE_FILTER_NONE],title:getI18n("vxe.table.filter")})])]},renderEditHeader(e){var{$table:l,column:t}=e,r=l.props,n=l.getComputeMaps().computeEditOpts,{editConfig:r,editRules:a}=r,n=n.value,{sortable:o,filters:d,editRender:s}=t;let i=!1,u=(a&&(a=_xeUtils.default.get(a,t.field))&&(i=a.some(e=>e.required)),[]);return(0,_utils.isEnableConf)(r)&&({showAsterisk:t,showIcon:a,icon:r}=n,u=[i&&t?(0,_vue.h)("span",{class:"vxe-cell--required-icon"},[(0,_vue.h)("i")]):renderEmptyElement(l),(0,_utils.isEnableConf)(s)&&a?(0,_vue.h)("span",{class:"vxe-cell--edit-icon"},_xeUtils.default.isFunction(r)?(0,_vn.getSlotVNs)(r({})):[(0,_vue.h)("i",{class:r||getIcon().TABLE_EDIT})]):renderEmptyElement(l)]),renderHeaderCellBaseVNs(e,u.concat(Cell.renderHeaderTitle(e)).concat(o?Cell.renderSortIcon(e):[]).concat(d?Cell.renderFilterIcon(e):[]))},renderRowEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row)},renderDeepRowEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderRowEdit(e))},renderCellEdit(e){var{$table:l,column:t}=e,l=l.reactData.editStore,l=l.actived,t=t.editRender;return Cell.runRenderer(e,(0,_utils.isEnableConf)(t)&&l&&l.row===e.row&&l.column===e.column)},renderDeepCellEdit(e){return Cell.renderDeepNodeBtn(e,Cell.renderCellEdit(e))},runRenderer(e,l){var{$table:t,row:r,column:n}=e,a=t.reactData.isRowGroupStatus,{slots:n,field:o,editRender:d,formatter:s}=n,i=n?n.default:null,u=n?n.groupContent||n["group-content"]:null,n=n?n.edit:null,c=renderer.get(d.name),c=c?c.renderTableEdit||c.renderEdit:null,C=Object.assign({$type:"",isEdit:l},e);if(l)return C.$type="edit",n?t.callSlot(n,C):c?(0,_vn.getSlotVNs)(c(d,C)):[];if(a&&o&&r.isAggregate){l=r,n=t.getComputeMaps().computeAggregateOpts,c=n.value.mapChildrenField,d=l.groupField,a=l.groupContent,o=c&&l[c]||[],r=l.childCount;if(u)return renderCellBaseVNs(e,t.callSlot(u,Object.assign({groupField:d,groupContent:a,childList:o,childCount:r},e)))}else if(i)return renderCellBaseVNs(e,t.callSlot(i,C));return s?renderCellBaseVNs(e,[(0,_vue.h)("span",{class:"vxe-cell--label"},getDefaultCellLabel(C))]):Cell.renderDefaultCell(C)}};var _default=exports.default=Cell;
@@ -259,7 +259,7 @@ const matchObj=_xeUtils.default.findTree(tableFullGroupData,item=>(0,_util.getRo
259
259
  * 处理默认展开分组行
260
260
  */const handleDefaultRowGroupExpand=()=>{const{isRowGroupStatus}=reactData;if(isRowGroupStatus){const aggregateOpts=computeAggregateOpts.value;const{expandAll,expandGroupFields}=aggregateOpts;if(expandAll){$xeTable.setAllRowGroupExpand(true);}else if(expandGroupFields&&expandGroupFields.length){$xeTable.setRowGroupExpandByField(expandGroupFields,true);}}};const handleCheckAllEvent=(evnt,value)=>{handleCheckedAllCheckboxRow(value);if(evnt){dispatchEvent('checkbox-all',{records:()=>$xeTable.getCheckboxRecords(),reserves:()=>$xeTable.getCheckboxReserveRecords(),indeterminates:()=>$xeTable.getCheckboxIndeterminateRecords(),checked:value},evnt);}};/**
261
261
  * 纵向 Y 可视渲染处理
262
- */const loadScrollYData=()=>{const{isAllOverflow,isScrollYBig}=reactData;const{mergeBodyList,scrollYStore}=internalData;const{preloadSize,startIndex,endIndex,offsetSize}=scrollYStore;const autoOffsetYSize=isAllOverflow?offsetSize:offsetSize+1;const{toVisibleIndex,visibleSize}=handleVirtualYVisible();const offsetItem={startIndex:Math.max(0,isScrollYBig?toVisibleIndex-1:toVisibleIndex-1-offsetSize-preloadSize),endIndex:isScrollYBig?toVisibleIndex+visibleSize:toVisibleIndex+visibleSize+autoOffsetYSize+preloadSize};scrollYStore.visibleStartIndex=toVisibleIndex-1;scrollYStore.visibleEndIndex=toVisibleIndex+visibleSize+1;calculateMergerOffsetIndex(mergeBodyList,offsetItem,'row');const{startIndex:offsetStartIndex,endIndex:offsetEndIndex}=offsetItem;if(toVisibleIndex<=startIndex||toVisibleIndex>=endIndex-visibleSize-1){if(startIndex!==offsetStartIndex||endIndex!==offsetEndIndex){scrollYStore.startIndex=offsetStartIndex;scrollYStore.endIndex=offsetEndIndex;$xeTable.updateScrollYData();}}};const createGetRowCacheProp=prop=>{return function(row){const{fullAllDataRowIdData}=internalData;if(row){const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return rowRest[prop];}}return-1;};};const createGetColumnCacheProp=prop=>{return function(column){const{fullColumnIdData}=internalData;if(column){const colRest=fullColumnIdData[column.id];if(colRest){return colRest[prop];}}return-1;};};const lazyScrollXData=()=>{const{lxTimeout,lxRunTime,scrollXStore}=internalData;const{visibleSize}=scrollXStore;const fpsTime=visibleSize>26?26:visibleSize>16?14:6;if(lxTimeout){clearTimeout(lxTimeout);}if(!lxRunTime||lxRunTime+fpsTime<Date.now()){internalData.lxRunTime=Date.now();loadScrollXData();}internalData.lxTimeout=setTimeout(()=>{internalData.lxTimeout=undefined;internalData.lxRunTime=undefined;loadScrollXData();},fpsTime);};const lazyScrollYData=()=>{const{lyTimeout,lyRunTime,scrollYStore}=internalData;const{visibleSize}=scrollYStore;const fpsTime=visibleSize>30?32:visibleSize>20?18:8;if(lyTimeout){clearTimeout(lyTimeout);}if(!lyRunTime||lyRunTime+fpsTime<Date.now()){internalData.lyRunTime=Date.now();loadScrollYData();}internalData.lyTimeout=setTimeout(()=>{internalData.lyTimeout=undefined;internalData.lyRunTime=undefined;loadScrollYData();},fpsTime);};const checkLastSyncScroll=(isRollX,isRollY)=>{const{lcsTimeout}=internalData;reactData.lazScrollLoading=true;if(lcsTimeout){clearTimeout(lcsTimeout);}internalData.lcsTimeout=setTimeout(()=>{const{scrollXLoad,scrollYLoad,isAllOverflow}=reactData;internalData.lcsRunTime=Date.now();internalData.lcsTimeout=undefined;internalData.intoRunScroll=false;internalData.inVirtualScroll=false;internalData.inWheelScroll=false;internalData.inHeaderScroll=false;internalData.inBodyScroll=false;internalData.inFooterScroll=false;reactData.lazScrollLoading=false;internalData.scrollRenderType='';if(!isAllOverflow){calcCellHeight();updateRowOffsetTop();}if(isRollX&&scrollXLoad){$xeTable.updateScrollXData();}if(isRollY&&scrollYLoad){$xeTable.updateScrollYData().then(()=>{if(!isAllOverflow){calcCellHeight();updateRowOffsetTop();}$xeTable.updateScrollYSpace();});}updateRowExpandStyle();$xeTable.updateCellAreas();},200);};const getWheelSpeed=lastScrollTime=>{let multiple=1;const currTime=Date.now();if(lastScrollTime+25>currTime){multiple=1.18;}else if(lastScrollTime+30>currTime){multiple=1.15;}else if(lastScrollTime+40>currTime){multiple=1.12;}else if(lastScrollTime+55>currTime){multiple=1.09;}else if(lastScrollTime+75>currTime){multiple=1.06;}else if(lastScrollTime+100>currTime){multiple=1.03;}return multiple;};const wheelScrollLeftTo=(scrollLeft,cb)=>{requestAnimationFrame(()=>{cb(scrollLeft);});};const wheelScrollTopTo=(diffNum,cb)=>{const duration=Math.abs(diffNum);const startTime=performance.now();let countTop=0;const step=timestamp=>{let progress=(timestamp-startTime)/duration;if(progress>1){progress=1;}const easedProgress=Math.pow(progress,2);const offsetTop=Math.floor(diffNum*easedProgress)-countTop;countTop+=offsetTop;cb(offsetTop);if(progress<1){requestAnimationFrame(step);}};requestAnimationFrame(step);};const syncGanttScrollTop=scrollTop=>{const $xeGanttView=internalData.xeGanttView;if($xeGanttView){const ganttInternalData=$xeGanttView.internalData;const{elemStore:ganttElemStore}=ganttInternalData;const ganttBodyScrollElem=(0,_util.getRefElem)(ganttElemStore['main-body-scroll']);if(ganttBodyScrollElem){ganttBodyScrollElem.scrollTop=scrollTop;}}};const dispatchEvent=(type,params,evnt)=>{emit(type,createEvent(evnt,{$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt},params));};const handleScrollToRowColumn=(fieldOrColumn,row)=>{const{fullColumnIdData}=internalData;const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(column&&fullColumnIdData[column.id]){return(0,_util.colToVisible)($xeTable,column,row);}return(0,_vue.nextTick)();};const handleUpdateResize=()=>{const el=refElem.value;if(el&&el.clientWidth&&el.clientHeight){$xeTable.recalculate();}};const handleUpdateColResize=(evnt,params)=>{$xeTable.analyColumnWidth();$xeTable.recalculate().then(()=>{$xeTable.saveCustomStore('update:width');$xeTable.updateCellAreas();$xeTable.dispatchEvent('column-resizable-change',params,evnt);// 已废弃 resizable-change
262
+ */const loadScrollYData=()=>{const{isAllOverflow,isScrollYBig}=reactData;const{mergeBodyList,scrollYStore}=internalData;const{preloadSize,startIndex,endIndex,offsetSize}=scrollYStore;const autoOffsetYSize=isAllOverflow?offsetSize:offsetSize+1;const{toVisibleIndex,visibleSize}=handleVirtualYVisible();const offsetItem={startIndex:Math.max(0,isScrollYBig?toVisibleIndex-1:toVisibleIndex-1-offsetSize-preloadSize),endIndex:isScrollYBig?toVisibleIndex+visibleSize:toVisibleIndex+visibleSize+autoOffsetYSize+preloadSize};scrollYStore.visibleStartIndex=toVisibleIndex-1;scrollYStore.visibleEndIndex=toVisibleIndex+visibleSize+1;calculateMergerOffsetIndex(mergeBodyList,offsetItem,'row');const{startIndex:offsetStartIndex,endIndex:offsetEndIndex}=offsetItem;if(toVisibleIndex<=startIndex||toVisibleIndex>=endIndex-visibleSize-1){if(startIndex!==offsetStartIndex||endIndex!==offsetEndIndex){scrollYStore.startIndex=offsetStartIndex;scrollYStore.endIndex=offsetEndIndex;$xeTable.updateScrollYData();}}};const createGetRowCacheProp=prop=>{return function(row){const{fullAllDataRowIdData}=internalData;if(row){const rowid=(0,_util.getRowid)($xeTable,row);const rowRest=fullAllDataRowIdData[rowid];if(rowRest){return rowRest[prop];}}return-1;};};const createGetColumnCacheProp=prop=>{return function(column){const{fullColumnIdData}=internalData;if(column){const colRest=fullColumnIdData[column.id];if(colRest){return colRest[prop];}}return-1;};};const lazyScrollXData=()=>{const{lxTimeout,lxRunTime,scrollXStore}=internalData;const{visibleSize}=scrollXStore;const fpsTime=visibleSize>26?26:visibleSize>16?14:6;if(lxTimeout){clearTimeout(lxTimeout);}if(!lxRunTime||lxRunTime+fpsTime<Date.now()){internalData.lxRunTime=Date.now();loadScrollXData();}internalData.lxTimeout=setTimeout(()=>{internalData.lxTimeout=undefined;internalData.lxRunTime=undefined;loadScrollXData();},fpsTime);};const lazyScrollYData=()=>{const{lyTimeout,lyRunTime,scrollYStore}=internalData;const{visibleSize}=scrollYStore;const fpsTime=visibleSize>30?32:visibleSize>20?18:8;if(lyTimeout){clearTimeout(lyTimeout);}if(!lyRunTime||lyRunTime+fpsTime<Date.now()){internalData.lyRunTime=Date.now();loadScrollYData();}internalData.lyTimeout=setTimeout(()=>{internalData.lyTimeout=undefined;internalData.lyRunTime=undefined;loadScrollYData();},fpsTime);};const checkLastSyncScroll=(isRollX,isRollY)=>{const{lcsTimeout}=internalData;reactData.lazScrollLoading=true;if(lcsTimeout){clearTimeout(lcsTimeout);}internalData.lcsTimeout=setTimeout(()=>{const{scrollXLoad,scrollYLoad,isAllOverflow}=reactData;internalData.lcsRunTime=Date.now();internalData.lcsTimeout=undefined;internalData.intoRunScroll=false;internalData.inVirtualScroll=false;internalData.inWheelScroll=false;internalData.inHeaderScroll=false;internalData.inBodyScroll=false;internalData.inFooterScroll=false;reactData.lazScrollLoading=false;internalData.scrollRenderType='';if(!isAllOverflow){calcCellHeight();updateRowOffsetTop();}if(isRollX&&scrollXLoad){$xeTable.updateScrollXData();}if(isRollY&&scrollYLoad){$xeTable.updateScrollYData().then(()=>{if(!isAllOverflow){calcCellHeight();updateRowOffsetTop();}$xeTable.updateScrollYSpace();});}updateRowExpandStyle();$xeTable.updateCellAreas();},200);};const getWheelSpeed=lastScrollTime=>{let multiple=1;const currTime=Date.now();if(lastScrollTime+25>currTime){multiple=1.18;}else if(lastScrollTime+30>currTime){multiple=1.15;}else if(lastScrollTime+40>currTime){multiple=1.12;}else if(lastScrollTime+55>currTime){multiple=1.09;}else if(lastScrollTime+75>currTime){multiple=1.06;}else if(lastScrollTime+100>currTime){multiple=1.03;}return multiple;};const wheelScrollLeftTo=(scrollLeft,cb)=>{requestAnimationFrame(()=>{cb(scrollLeft);});};const wheelScrollTopTo=(diffNum,cb)=>{const duration=Math.abs(diffNum);const startTime=performance.now();let countTop=0;const step=timestamp=>{let progress=(timestamp-startTime)/duration;if(progress<0){progress=0;}else if(progress>1){progress=1;}const easedProgress=Math.pow(progress,2);const offsetTop=Math.floor(diffNum*easedProgress)-countTop;countTop+=offsetTop;cb(offsetTop);if(progress<1){requestAnimationFrame(step);}};requestAnimationFrame(step);};const syncGanttScrollTop=scrollTop=>{const $xeGanttView=internalData.xeGanttView;if($xeGanttView){const ganttInternalData=$xeGanttView.internalData;const{elemStore:ganttElemStore}=ganttInternalData;const ganttBodyScrollElem=(0,_util.getRefElem)(ganttElemStore['main-body-scroll']);if(ganttBodyScrollElem){ganttBodyScrollElem.scrollTop=scrollTop;}}};const dispatchEvent=(type,params,evnt)=>{emit(type,createEvent(evnt,{$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt},params));};const handleScrollToRowColumn=(fieldOrColumn,row)=>{const{fullColumnIdData}=internalData;const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(column&&fullColumnIdData[column.id]){return(0,_util.colToVisible)($xeTable,column,row);}return(0,_vue.nextTick)();};const handleUpdateResize=()=>{const el=refElem.value;if(el&&el.clientWidth&&el.clientHeight){$xeTable.recalculate();}};const handleUpdateColResize=(evnt,params)=>{$xeTable.analyColumnWidth();$xeTable.recalculate().then(()=>{$xeTable.saveCustomStore('update:width');$xeTable.updateCellAreas();$xeTable.dispatchEvent('column-resizable-change',params,evnt);// 已废弃 resizable-change
263
263
  $xeTable.dispatchEvent('resizable-change',params,evnt);setTimeout(()=>$xeTable.recalculate(true),300);});};const handleUpdateRowResize=(evnt,params)=>{reactData.resizeHeightFlag++;$xeTable.recalculate().then(()=>{$xeTable.updateCellAreas();$xeTable.dispatchEvent('row-resizable-change',params,evnt);setTimeout(()=>$xeTable.recalculate(true),300);});};const updateColumnOffsetLeft=()=>{const{visibleColumn,fullColumnIdData}=internalData;let offsetLeft=0;for(let cIndex=0,rLen=visibleColumn.length;cIndex<rLen;cIndex++){const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid];if(colRest){colRest.oLeft=offsetLeft;}offsetLeft+=column.renderWidth;}};const updateRowOffsetTop=()=>{const{expandColumn}=reactData;const{afterFullData,fullAllDataRowIdData,rowExpandedMaps}=internalData;const expandOpts=computeExpandOpts.value;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const{handleGetRowId}=(0,_util.createHandleGetRowId)($xeTable);let offsetTop=0;for(let rIndex=0,rLen=afterFullData.length;rIndex<rLen;rIndex++){const row=afterFullData[rIndex];const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};rowRest.oTop=offsetTop;offsetTop+=rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight;// 是否展开行
264
264
  if(expandColumn&&rowExpandedMaps[rowid]){offsetTop+=rowRest.expandHeight||expandOpts.height||0;}}};const updateRowExpandStyle=()=>{const{expandColumn,scrollYLoad,scrollYTop,isScrollYBig}=reactData;const expandOpts=computeExpandOpts.value;const rowOpts=computeRowOpts.value;const cellOpts=computeCellOpts.value;const defaultRowHeight=computeDefaultRowHeight.value;const{mode}=expandOpts;if(expandColumn&&mode==='fixed'){const{elemStore,fullAllDataRowIdData}=internalData;const rowExpandEl=refRowExpandElem.value;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){let isUpdateHeight=false;_xeUtils.default.arrayEach(rowExpandEl.children,reEl=>{const expandEl=reEl;const rowid=expandEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const expandHeight=expandEl.offsetHeight+1;const trEl=bodyScrollElem.querySelector(`.vxe-body--row[rowid="${rowid}"]`);let offsetTop=0;if(scrollYLoad){if(isScrollYBig&&trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}else{offsetTop=rowRest.oTop+(rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight);}}else{if(trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}}if(isScrollYBig){offsetTop+=scrollYTop;}expandEl.style.top=(0,_dom.toCssUnit)(offsetTop);if(!isUpdateHeight){if(rowRest.expandHeight!==expandHeight){isUpdateHeight=true;}}rowRest.expandHeight=expandHeight;}});if(isUpdateHeight){reactData.rowExpandHeightFlag++;(0,_vue.nextTick)(()=>{updateRowOffsetTop();});}}}};const handleRowExpandScroll=()=>{const{elemStore}=internalData;const rowExpandEl=refRowExpandElem.value;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){rowExpandEl.scrollTop=bodyScrollElem.scrollTop;}};tableMethods={dispatchEvent,getEl(){return refElem.value;},/**
265
265
  * 重置表格的一切数据状态
@@ -807,7 +807,8 @@ const el=refElem.value;if(!el){return;}const xHandleEl=refScrollXHandleElem.valu
807
807
  * 横向 X 可视渲染事件处理
808
808
  */triggerScrollXEvent(){const virtualXOpts=computeVirtualXOpts.value;if(virtualXOpts.immediate){loadScrollXData();}else{lazyScrollXData();}},/**
809
809
  * 纵向 Y 可视渲染事件处理
810
- */triggerScrollYEvent(){const virtualYOpts=computeVirtualYOpts.value;if(virtualYOpts.immediate){loadScrollYData();}else{lazyScrollYData();}},triggerBodyScrollEvent(evnt,fixedType){const{scrollYLoad,scrollXLoad}=reactData;const{elemStore,intoRunScroll,lastScrollTop,lastScrollLeft,inWheelScroll,inVirtualScroll,inHeaderScroll,inBodyScroll,scrollRenderType,inFooterScroll}=internalData;if(inWheelScroll||inVirtualScroll||inHeaderScroll||inFooterScroll){return;}const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);const rowExpandEl=refRowExpandElem.value;if(intoRunScroll){return;}if(!bodyScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}if(inBodyScroll){if(scrollRenderType!==fixedType){return;}}let scrollTop=yHandleEl.scrollTop;let scrollLeft=xHandleEl.scrollLeft;if(leftScrollElem&&fixedType==='left'){scrollTop=leftScrollElem.scrollTop;}else if(rightScrollElem&&fixedType==='right'){scrollTop=rightScrollElem.scrollTop;}else{scrollTop=bodyScrollElem.scrollTop;scrollLeft=bodyScrollElem.scrollLeft;}const isRollX=scrollLeft!==lastScrollLeft;const isRollY=scrollTop!==lastScrollTop;internalData.inBodyScroll=true;internalData.scrollRenderType=fixedType;if(isRollY){if(fixedType==='left'){(0,_dom.setScrollTop)(bodyScrollElem,scrollTop);(0,_dom.setScrollTop)(rightScrollElem,scrollTop);}else if(fixedType==='right'){(0,_dom.setScrollTop)(bodyScrollElem,scrollTop);(0,_dom.setScrollTop)(leftScrollElem,scrollTop);}else{(0,_dom.setScrollTop)(leftScrollElem,scrollTop);(0,_dom.setScrollTop)(rightScrollElem,scrollTop);}(0,_dom.setScrollTop)(yHandleEl,scrollTop);(0,_dom.setScrollTop)(rowExpandEl,scrollTop);syncGanttScrollTop(scrollTop);if(scrollYLoad){$xeTable.triggerScrollYEvent(evnt);}}if(isRollX){(0,_dom.setScrollLeft)(xHandleEl,scrollLeft);(0,_dom.setScrollLeft)(headerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(footerScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'body',fixed:fixedType});},triggerHeaderScrollEvent(evnt,fixedType){const{scrollXLoad}=reactData;const{elemStore,intoRunScroll,inWheelScroll,inVirtualScroll,inBodyScroll,inFooterScroll}=internalData;if(inWheelScroll||inVirtualScroll||inBodyScroll||inFooterScroll){return;}const yHandleEl=refScrollYHandleElem.value;const xHandleEl=refScrollXHandleElem.value;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);if(intoRunScroll){return;}if(!headerScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}const scrollTop=yHandleEl.scrollTop;const scrollLeft=headerScrollElem.scrollLeft;const isRollX=true;const isRollY=false;internalData.inHeaderScroll=true;(0,_dom.setScrollLeft)(xHandleEl,scrollLeft);(0,_dom.setScrollLeft)(footerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(bodyScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'header',fixed:fixedType});},triggerFooterScrollEvent(evnt,fixedType){const{scrollXLoad}=reactData;const{elemStore,intoRunScroll,inWheelScroll,inVirtualScroll,inHeaderScroll,inBodyScroll}=internalData;if(inWheelScroll||inVirtualScroll||inHeaderScroll||inBodyScroll){return;}const yHandleEl=refScrollYHandleElem.value;const xHandleEl=refScrollXHandleElem.value;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);if(intoRunScroll){return;}if(!footerScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}const scrollTop=yHandleEl.scrollTop;const scrollLeft=footerScrollElem.scrollLeft;const isRollX=true;const isRollY=false;internalData.inFooterScroll=true;(0,_dom.setScrollLeft)(xHandleEl,scrollLeft);(0,_dom.setScrollLeft)(headerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(bodyScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'footer',fixed:fixedType});},triggerBodyWheelEvent(evnt){const{target,deltaY,deltaX,shiftKey}=evnt;if(target&&/^textarea$/i.test(target.tagName)){return;}const{highlightHoverRow}=_props.tableProps;const{scrollXLoad,scrollYLoad,expandColumn}=reactData;const leftFixedWidth=computeLeftFixedWidth.value;const rightFixedWidth=computeRightFixedWidth.value;if(!(leftFixedWidth||rightFixedWidth||expandColumn)){return;}const{elemStore,lastScrollTop,lastScrollLeft}=internalData;const rowOpts=computeRowOpts.value;const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);const rowExpandEl=refRowExpandElem.value;if(!xHandleEl){return;}if(!yHandleEl){return;}if(!bodyScrollElem){return;}const wheelSpeed=getWheelSpeed(reactData.lastScrollTime);const deltaTop=shiftKey?0:Math.ceil(deltaY*wheelSpeed);const deltaLeft=shiftKey?Math.ceil((shiftKey?deltaY||deltaX:deltaX)*wheelSpeed):0;const isTopWheel=deltaTop<0;const currScrollTop=bodyScrollElem.scrollTop;// 如果滚动位置已经是顶部或底部,则不需要触发
810
+ */triggerScrollYEvent(){const virtualYOpts=computeVirtualYOpts.value;if(virtualYOpts.immediate){loadScrollYData();}else{lazyScrollYData();}},triggerBodyScrollEvent(evnt,fixedType){const{scrollYLoad,scrollXLoad}=reactData;const{elemStore,intoRunScroll,lastScrollTop,lastScrollLeft,inWheelScroll,inVirtualScroll,inHeaderScroll,inBodyScroll,scrollRenderType,inFooterScroll}=internalData;if(inWheelScroll||inVirtualScroll||inHeaderScroll||inFooterScroll){return;}const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);const rowExpandEl=refRowExpandElem.value;if(intoRunScroll){return;}if(!bodyScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}if(inBodyScroll){if(scrollRenderType!==fixedType){return;}}let scrollTop=yHandleEl.scrollTop;let scrollLeft=xHandleEl.scrollLeft;if(leftScrollElem&&fixedType==='left'){scrollTop=leftScrollElem.scrollTop;}else if(rightScrollElem&&fixedType==='right'){scrollTop=rightScrollElem.scrollTop;}else{scrollTop=bodyScrollElem.scrollTop;scrollLeft=bodyScrollElem.scrollLeft;}const isRollX=scrollLeft!==lastScrollLeft;const isRollY=scrollTop!==lastScrollTop;internalData.inBodyScroll=true;internalData.scrollRenderType=fixedType;if(isRollY){if(fixedType==='left'){(0,_dom.setScrollTop)(bodyScrollElem,scrollTop);(0,_dom.setScrollTop)(rightScrollElem,scrollTop);}else if(fixedType==='right'){(0,_dom.setScrollTop)(bodyScrollElem,scrollTop);(0,_dom.setScrollTop)(leftScrollElem,scrollTop);}else{(0,_dom.setScrollTop)(leftScrollElem,scrollTop);(0,_dom.setScrollTop)(rightScrollElem,scrollTop);}(0,_dom.setScrollTop)(yHandleEl,scrollTop);(0,_dom.setScrollTop)(rowExpandEl,scrollTop);syncGanttScrollTop(scrollTop);if(scrollYLoad){$xeTable.triggerScrollYEvent(evnt);}}if(isRollX){(0,_dom.setScrollLeft)(xHandleEl,scrollLeft);(0,_dom.setScrollLeft)(headerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(footerScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'body',fixed:fixedType});},triggerHeaderScrollEvent(evnt,fixedType){const{scrollXLoad}=reactData;const{elemStore,intoRunScroll,inWheelScroll,inVirtualScroll,inBodyScroll,inFooterScroll}=internalData;if(inWheelScroll||inVirtualScroll||inBodyScroll||inFooterScroll){return;}const yHandleEl=refScrollYHandleElem.value;const xHandleEl=refScrollXHandleElem.value;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);if(intoRunScroll){return;}if(!headerScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}const scrollTop=yHandleEl.scrollTop;const scrollLeft=headerScrollElem.scrollLeft;const isRollX=true;const isRollY=false;internalData.inHeaderScroll=true;(0,_dom.setScrollLeft)(xHandleEl,scrollLeft);(0,_dom.setScrollLeft)(footerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(bodyScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'header',fixed:fixedType});},triggerFooterScrollEvent(evnt,fixedType){const{scrollXLoad}=reactData;const{elemStore,intoRunScroll,inWheelScroll,inVirtualScroll,inHeaderScroll,inBodyScroll}=internalData;if(inWheelScroll||inVirtualScroll||inHeaderScroll||inBodyScroll){return;}const yHandleEl=refScrollYHandleElem.value;const xHandleEl=refScrollXHandleElem.value;const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);if(intoRunScroll){return;}if(!footerScrollElem){return;}if(!xHandleEl){return;}if(!yHandleEl){return;}const scrollTop=yHandleEl.scrollTop;const scrollLeft=footerScrollElem.scrollLeft;const isRollX=true;const isRollY=false;internalData.inFooterScroll=true;(0,_dom.setScrollLeft)(xHandleEl,scrollLeft);(0,_dom.setScrollLeft)(headerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(bodyScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'footer',fixed:fixedType});},triggerBodyWheelEvent(evnt){const{target,deltaY,deltaX,shiftKey}=evnt;if(target&&/^textarea$/i.test(target.tagName)){return;}// 如果滚轮未移动或者触摸板未变化位置
811
+ if(!deltaY&&!deltaX){return;}const{highlightHoverRow}=_props.tableProps;const{scrollXLoad,scrollYLoad,expandColumn}=reactData;const leftFixedWidth=computeLeftFixedWidth.value;const rightFixedWidth=computeRightFixedWidth.value;if(!(leftFixedWidth||rightFixedWidth||expandColumn)){return;}const{elemStore,lastScrollTop,lastScrollLeft}=internalData;const rowOpts=computeRowOpts.value;const xHandleEl=refScrollXHandleElem.value;const yHandleEl=refScrollYHandleElem.value;const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);const rowExpandEl=refRowExpandElem.value;if(!xHandleEl){return;}if(!yHandleEl){return;}if(!bodyScrollElem){return;}const wheelSpeed=getWheelSpeed(reactData.lastScrollTime);const deltaTop=shiftKey?0:Math.ceil(deltaY*wheelSpeed);const deltaLeft=shiftKey?Math.ceil((shiftKey?deltaY||deltaX:deltaX)*wheelSpeed):0;const isTopWheel=deltaTop<0;const currScrollTop=bodyScrollElem.scrollTop;// 如果滚动位置已经是顶部或底部,则不需要触发
811
812
  if(isTopWheel?currScrollTop<=0:currScrollTop>=bodyScrollElem.scrollHeight-bodyScrollElem.clientHeight){return;}const scrollTop=currScrollTop+deltaTop;const scrollLeft=bodyScrollElem.scrollLeft+deltaLeft;const isRollX=scrollLeft!==lastScrollLeft;const isRollY=scrollTop!==lastScrollTop;if(rowOpts.isHover||highlightHoverRow){$xeTable.clearHoverRow();}// 用于鼠标纵向滚轮处理
812
813
  if(isRollX){evnt.preventDefault();internalData.inWheelScroll=true;if(browseObj.firefox||browseObj.safari){const currLeftNum=scrollLeft;(0,_dom.setScrollLeft)(xHandleEl,currLeftNum);(0,_dom.setScrollLeft)(bodyScrollElem,currLeftNum);(0,_dom.setScrollLeft)(headerScrollElem,currLeftNum);(0,_dom.setScrollLeft)(footerScrollElem,currLeftNum);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,bodyScrollElem.scrollTop,currLeftNum,{type:'table',fixed:''});}else{wheelScrollLeftTo(scrollLeft,offsetLeft=>{internalData.inWheelScroll=true;const currLeftNum=offsetLeft;(0,_dom.setScrollLeft)(xHandleEl,currLeftNum);(0,_dom.setScrollLeft)(bodyScrollElem,currLeftNum);(0,_dom.setScrollLeft)(headerScrollElem,currLeftNum);(0,_dom.setScrollLeft)(footerScrollElem,currLeftNum);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,bodyScrollElem.scrollTop,currLeftNum,{type:'table',fixed:''});});}}if(isRollY){evnt.preventDefault();internalData.inWheelScroll=true;if(browseObj.firefox||browseObj.safari){const currTopNum=scrollTop;(0,_dom.setScrollTop)(yHandleEl,currTopNum);(0,_dom.setScrollTop)(bodyScrollElem,currTopNum);(0,_dom.setScrollTop)(leftScrollElem,currTopNum);(0,_dom.setScrollTop)(rightScrollElem,currTopNum);(0,_dom.setScrollTop)(rowExpandEl,currTopNum);syncGanttScrollTop(currTopNum);if(scrollYLoad){$xeTable.triggerScrollYEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,currTopNum,bodyScrollElem.scrollLeft,{type:'table',fixed:''});}else{wheelScrollTopTo(scrollTop-currScrollTop,offsetTop=>{internalData.inWheelScroll=true;const currTopNum=bodyScrollElem.scrollTop+offsetTop;(0,_dom.setScrollTop)(yHandleEl,currTopNum);(0,_dom.setScrollTop)(bodyScrollElem,currTopNum);(0,_dom.setScrollTop)(leftScrollElem,currTopNum);(0,_dom.setScrollTop)(rightScrollElem,currTopNum);(0,_dom.setScrollTop)(rowExpandEl,currTopNum);syncGanttScrollTop(currTopNum);if(scrollYLoad){$xeTable.triggerScrollYEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,currTopNum,bodyScrollElem.scrollLeft,{type:'table',fixed:''});});}}},triggerVirtualScrollXEvent(evnt){const{scrollXLoad}=reactData;const{elemStore,inWheelScroll,lastScrollTop,inHeaderScroll,inBodyScroll,inFooterScroll}=internalData;if(inHeaderScroll||inBodyScroll||inFooterScroll){return;}if(inWheelScroll){return;}const headerScrollElem=(0,_util.getRefElem)(elemStore['main-header-scroll']);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const footerScrollElem=(0,_util.getRefElem)(elemStore['main-footer-scroll']);const yHandleEl=refScrollYHandleElem.value;const wrapperEl=evnt.currentTarget;const{scrollLeft}=wrapperEl;const yBodyEl=yHandleEl||bodyScrollElem;let scrollTop=0;if(yBodyEl){scrollTop=yBodyEl.scrollTop;}const isRollX=true;const isRollY=scrollTop!==lastScrollTop;internalData.inVirtualScroll=true;(0,_dom.setScrollLeft)(bodyScrollElem,scrollLeft);(0,_dom.setScrollLeft)(headerScrollElem,scrollLeft);(0,_dom.setScrollLeft)(footerScrollElem,scrollLeft);if(scrollXLoad){$xeTable.triggerScrollXEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'table',fixed:''});},triggerVirtualScrollYEvent(evnt){const{scrollYLoad}=reactData;const{elemStore,inWheelScroll,lastScrollLeft,inHeaderScroll,inBodyScroll,inFooterScroll}=internalData;if(inHeaderScroll||inBodyScroll||inFooterScroll){return;}if(inWheelScroll){return;}const leftScrollElem=(0,_util.getRefElem)(elemStore['left-body-scroll']);const bodyScrollElem=(0,_util.getRefElem)(elemStore['main-body-scroll']);const rightScrollElem=(0,_util.getRefElem)(elemStore['right-body-scroll']);const rowExpandEl=refRowExpandElem.value;const xHandleEl=refScrollXHandleElem.value;const wrapperEl=evnt.currentTarget;const{scrollTop}=wrapperEl;const xBodyEl=xHandleEl||bodyScrollElem;let scrollLeft=0;if(xBodyEl){scrollLeft=xBodyEl.scrollLeft;}const isRollX=scrollLeft!==lastScrollLeft;const isRollY=true;internalData.inVirtualScroll=true;(0,_dom.setScrollTop)(bodyScrollElem,scrollTop);(0,_dom.setScrollTop)(leftScrollElem,scrollTop);(0,_dom.setScrollTop)(rightScrollElem,scrollTop);(0,_dom.setScrollTop)(rowExpandEl,scrollTop);syncGanttScrollTop(scrollTop);if(scrollYLoad){$xeTable.triggerScrollYEvent(evnt);}$xeTable.handleScrollEvent(evnt,isRollY,isRollX,scrollTop,scrollLeft,{type:'table',fixed:''});},/**
813
814
  * 对于树形结构中,可以直接滚动到指定深层节点中