vxe-table 3.20.0-beta.21 → 3.20.0-beta.22

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.
@@ -96,7 +96,10 @@ function handleMoveSelected($xeTable, evnt, args, isLeftArrow, isUpArrow, isRigh
96
96
  const params = Object.assign({}, args);
97
97
  const _rowIndex = $xeTable.getVTRowIndex(params.row);
98
98
  const _columnIndex = $xeTable.getVTColumnIndex(params.column);
99
- if (!((isLeftArrow || isRightArrow) && visibleColumn.length <= 1)) {
99
+ let colAlign = isLeftArrow || isRightArrow;
100
+ if (visibleColumn.length <= 1 && (isLeftArrow && _columnIndex >= 0 || isRightArrow && _columnIndex <= visibleColumn.length - 1)) {
101
+ colAlign = false;
102
+ } else {
100
103
  evnt.preventDefault();
101
104
  }
102
105
  if (isUpArrow && _rowIndex > 0) {
@@ -116,8 +119,9 @@ function handleMoveSelected($xeTable, evnt, args, isLeftArrow, isUpArrow, isRigh
116
119
  params.columnIndex = _columnIndex + 1;
117
120
  params.column = visibleColumn[params.columnIndex];
118
121
  }
119
- const scrollRest = visibleColumn.length > 1 ? $xeTable.scrollToRow(params.row, params.column) : $xeTable.scrollToRow(params.row);
120
- scrollRest.then(() => {
122
+ $xeTable.scrollToRow(params.row, params.column, {
123
+ colAlign
124
+ }).then(() => {
121
125
  params.cell = $xeTable.getCellElement(params.row, params.column);
122
126
  $xeTable.handleSelected(params, evnt);
123
127
  });
@@ -371,13 +375,17 @@ var _default = exports.default = {
371
375
  if (editOpts.mode === 'row') {
372
376
  $xeTable.handleEdit(params, evnt);
373
377
  } else {
374
- $xeTable.scrollToRow(params.row, params.column).then(() => {
378
+ $xeTable.scrollToRow(params.row, params.column, {
379
+ colAlign: true
380
+ }).then(() => {
375
381
  $xeTable.handleSelected(params, evnt);
376
382
  });
377
383
  }
378
384
  }
379
385
  } else {
380
- $xeTable.scrollToRow(params.row, params.column).then(() => {
386
+ $xeTable.scrollToRow(params.row, params.column, {
387
+ colAlign: true
388
+ }).then(() => {
381
389
  $xeTable.handleSelected(params, evnt);
382
390
  });
383
391
  }
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getCheckboxRangeRows(t,e,l,o,r,n,u){var i=t.showOverflow,{fullAllDataRowIdData:c,isResizeCellHeight:s}=t,d=t.computeRowOpts,h=t.computeCellOpts,g=t.computeDefaultRowHeight,l=l.row;let a=0,m=[],C=0;var p=0<u,w=t.scrollYLoad,v=t.afterFullData;if(C=p?n+u:r.height-n+Math.abs(u),w){r=t.getVTRowIndex(l);if(!(s||h.height||d.height)&&i)m=p?v.slice(r,r+Math.ceil(C/g)):v.slice(r-Math.floor(C/g),r+1);else if(p)for(let e=r;e<v.length;e++){var f=v[e],x=c[t.getRowid(f)]||{};if(a+=x.resizeHeight||h.height||d.height||x.height||g,m.push(f),a>C)return m}else for(let e=r;0<=e;e--){var R=v[e],b=c[t.getRowid(R)]||{};if(a+=b.resizeHeight||h.height||d.height||b.height||g,m.push(R),a>C)return m}}else for(var I=p?"next":"previous";o&&a<C;){var E=t.getRowNode(o);E&&(m.push(E.item),a+=o.offsetHeight,o=o[I+"ElementSibling"])}return m}function handleMoveSelected(e,t,l,o,r,n,u){var{afterFullData:i,visibleColumn:c}=e;let s=Object.assign({},l);var l=e.getVTRowIndex(s.row),d=e.getVTColumnIndex(s.column);return(o||n)&&c.length<=1||t.preventDefault(),r&&0<l?(s.rowIndex=l-1,s.row=i[s.rowIndex]):u&&l<i.length-1?(s.rowIndex=l+1,s.row=i[s.rowIndex]):o&&d?(s.columnIndex=d-1,s.column=c[s.columnIndex]):n&&d<c.length-1&&(s.columnIndex=d+1,s.column=c[s.columnIndex]),(1<c.length?e.scrollToRow(s.row,s.column):e.scrollToRow(s.row)).then(()=>{s.cell=e.getCellElement(s.row,s.column),e.handleSelected(s,t)}),s}function handleCheckboxRangeEvent(S,e,M){var t=S.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:r,cell:n}=M;if("checkbox"===r.type){let O=l;if(o&&"left"===r.fixed?O=o:t&&"right"===r.fixed&&(O=t),O){l=O.getBoundingClientRect();let t=S.$refs.refElem,i=e.clientX,c=e.clientY,s=O.querySelector(".vxe-table--checkbox-range"),d=n.parentNode,h=S.getCheckboxRecords(),g=[],a=1,m=e.clientY-l.y+O.scrollTop,C=e.clientX-l.x+O.scrollLeft,p=O.scrollTop,u=d.offsetHeight,w=d.getBoundingClientRect(),v=c-w.y,f=null,x=!1,R=1,b=(e,t)=>{S.dispatchEvent("checkbox-range-"+e,{records:()=>S.getCheckboxRecords(),reserves:()=>S.getCheckboxReserveRecords()},t)},I=e=>{var{clientX:t,clientY:l}=e,t=t-i,l=l-c+(O.scrollTop-p);let o=Math.abs(l),r=Math.abs(t),n=m,u=C;l<a?(n+=l)<a&&(n=a,o=m):o=Math.min(o,O.scrollHeight-m-a),t<a?(u+=t,r>C&&(u=a,r=C)):r=Math.min(r,O.clientWidth-C-a),s.style.height=o+"px",s.style.width=r+"px",s.style.left=u+"px",s.style.top=n+"px",s.style.display="block";t=getCheckboxRangeRows(S,e,M,d,w,v,l<a?-o:o);10<o&&t.length!==g.length&&(l=(0,_dom.hasControlKey)(e),g=t,l?t.forEach(e=>{S.handleBatchSelectRows([e],-1===h.indexOf(e))}):(S.setAllCheckboxRow(!1),S.handleCheckedCheckboxRow(t,!0,!1)),b("change",e))},E=()=>{clearTimeout(f),f=null},T=n=>{E(),f=setTimeout(()=>{var e,t,l,o,r;f&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=O,r=Math.ceil(50*R/u),x?t+l<o?(S.scrollTo(e,t+r),T(n),I(n)):E():t?(S.scrollTo(e,t-r),T(n),I(n)):E())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(O).boundingTop;t<l?(x=!1,R=l-t,f||T(e)):t>l+O.clientHeight?(x=!0,R=t-l-O.clientHeight,f||T(e)):f&&E(),I(e)},document.onmouseup=e=>{E(),(0,_dom.removeClass)(t,"drag--range"),s.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,b("end",e)},b("start",e)}}}var _default=exports.default={methods:{moveTabSelected(e,t,l){let o=this;var r=o.editConfig,{afterFullData:n,visibleColumn:u}=o,i=o.computeEditOpts,c=o.computeRowOpts,s=o.computeCurrentRowOpts,d=o.computeColumnOpts,h=o.computeCurrentColumnOpts;let g,a,m,C=Object.assign({},e);var e=o.getVTRowIndex(C.row),p=o.getVTColumnIndex(C.column),t=(l.preventDefault(),t?p<=0?0<e&&(a=e-1,g=n[a],m=u.length-1):m=p-1:p>=u.length-1?e<n.length-1&&(a=e+1,g=n[a],m=0):m=p+1,u[m]);t&&(g?(C.rowIndex=a,C.row=g):C.rowIndex=e,C.columnIndex=m,C.column=t,C.cell=o.getCellElement(C.row,C.column),c.isCurrent&&s.isFollowSelected&&o.triggerCurrentRowEvent(l,C),d.isCurrent&&h.isFollowSelected&&o.triggerCurrentColumnEvent(l,C),r?"click"!==i.trigger&&"dblclick"!==i.trigger||("row"===i.mode?o.handleEdit(C,l):o.scrollToRow(C.row,C.column).then(()=>{o.handleSelected(C,l)})):o.scrollToRow(C.row,C.column).then(()=>{o.handleSelected(C,l)}))},moveCurrentRow(e,t,l){let o=this;var r=o,n=o,u=o,r=r.treeConfig;let i=n.currentRow;var n=u.afterFullData,u=o.computeTreeOpts,u=u.children||u.childrenField;let c;if(i?r?({index:r,items:u}=_xeUtils.default.findTree(n,e=>e===i,{children:u}),e&&0<r?c=u[r-1]:t&&r<u.length-1&&(c=u[r+1])):(u=o.getVTRowIndex(i),e&&0<u?c=n[u-1]:t&&u<n.length-1&&(c=n[u+1])):c=n[0],c){l.preventDefault();let e={$table:o,row:c,rowIndex:o.getRowIndex(c),$rowIndex:o.getVMRowIndex(c)};o.scrollToRow(c).then(()=>o.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){let o=this;var r=o.currentColumn,n=o.visibleColumn;let u=null;if(r?(r=o.getVTColumnIndex(r),e&&0<r?u=n[r-1]:t&&r<n.length-1&&(u=n[r+1])):u=n[0],u){l.preventDefault();let e={$table:o,column:u,columnIndex:o.getColumnIndex(u),$columnIndex:o.getVMColumnIndex(u)};o.scrollToColumn(u).then(()=>o.triggerCurrentColumnEvent(l,e))}},moveArrowSelected(e,t,l,o,r,n){var u=this,{highlightCurrentRow:i,highlightCurrentColumn:c}=u,s=u.computeRowOpts,d=u.computeCurrentRowOpts,h=u.computeColumnOpts,g=u.computeCurrentColumnOpts,e=handleMoveSelected(u,n,e,t,l,o,r);(s.isCurrent||i)&&(d.isFollowSelected?u.triggerCurrentRowEvent(n,e):(l||r)&&(s.isCurrent||i)&&u.moveCurrentRow(l,r,n)),(h.isCurrent||c)&&(g.isFollowSelected?u.triggerCurrentColumnEvent(n,e):(t||o)&&(h.isCurrent||c)&&u.moveCurrentColumn(t,o,n))},moveEnterSelected(e,t,l,o,r,n){var u=this,{highlightCurrentRow:i,highlightCurrentColumn:c}=u,s=u.computeRowOpts,d=u.computeCurrentRowOpts,h=u.computeColumnOpts,g=u.computeCurrentColumnOpts,e=handleMoveSelected(u,n,e,t,l,o,r);(s.isCurrent||i)&&d.isFollowSelected&&u.triggerCurrentRowEvent(n,e),(h.isCurrent||c)&&g.isFollowSelected&&u.triggerCurrentColumnEvent(n,e)},moveSelected(e,t,l,o,r,n){handleMoveSelected(this,n,e,t,l,o,r)},handleCellMousedownEvent(e,t){var l=this,{editConfig:o,checkboxConfig:r,mouseConfig:n}=l,u=l.computeCheckboxOpts,i=l.computeMouseOpts,c=l.computeEditOpts;if(n&&i.area&&l.triggerClAreaModnEvent)return l.triggerClAreaModnEvent(e,t);r&&u.range&&handleCheckboxRangeEvent(l,e,t),n&&i.selected&&(o&&"cell"!==c.mode||l.handleSelected(t,e))}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getCheckboxRangeRows(t,e,l,o,n,r,i){var u=t.showOverflow,{fullAllDataRowIdData:c,isResizeCellHeight:s}=t,d=t.computeRowOpts,g=t.computeCellOpts,h=t.computeDefaultRowHeight,l=l.row;let a=0,m=[],C=0;var p=0<i,w=t.scrollYLoad,v=t.afterFullData;if(C=p?r+i:n.height-r+Math.abs(i),w){n=t.getVTRowIndex(l);if(!(s||g.height||d.height)&&u)m=p?v.slice(n,n+Math.ceil(C/h)):v.slice(n-Math.floor(C/h),n+1);else if(p)for(let e=n;e<v.length;e++){var f=v[e],x=c[t.getRowid(f)]||{};if(a+=x.resizeHeight||g.height||d.height||x.height||h,m.push(f),a>C)return m}else for(let e=n;0<=e;e--){var R=v[e],b=c[t.getRowid(R)]||{};if(a+=b.resizeHeight||g.height||d.height||b.height||h,m.push(R),a>C)return m}}else for(var I=p?"next":"previous";o&&a<C;){var E=t.getRowNode(o);E&&(m.push(E.item),a+=o.offsetHeight,o=o[I+"ElementSibling"])}return m}function handleMoveSelected(e,t,l,o,n,r,i){var{afterFullData:u,visibleColumn:c}=e;let s=Object.assign({},l);var l=e.getVTRowIndex(s.row),d=e.getVTColumnIndex(s.column);let g=o||r;return c.length<=1&&(o&&0<=d||r&&d<=c.length-1)?g=!1:t.preventDefault(),n&&0<l?(s.rowIndex=l-1,s.row=u[s.rowIndex]):i&&l<u.length-1?(s.rowIndex=l+1,s.row=u[s.rowIndex]):o&&d?(s.columnIndex=d-1,s.column=c[s.columnIndex]):r&&d<c.length-1&&(s.columnIndex=d+1,s.column=c[s.columnIndex]),e.scrollToRow(s.row,s.column,{colAlign:g}).then(()=>{s.cell=e.getCellElement(s.row,s.column),e.handleSelected(s,t)}),s}function handleCheckboxRangeEvent(S,e,M){var t=S.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:n,cell:r}=M;if("checkbox"===n.type){let T=l;if(o&&"left"===n.fixed?T=o:t&&"right"===n.fixed&&(T=t),T){l=T.getBoundingClientRect();let t=S.$refs.refElem,u=e.clientX,c=e.clientY,s=T.querySelector(".vxe-table--checkbox-range"),d=r.parentNode,g=S.getCheckboxRecords(),h=[],a=1,m=e.clientY-l.y+T.scrollTop,C=e.clientX-l.x+T.scrollLeft,p=T.scrollTop,i=d.offsetHeight,w=d.getBoundingClientRect(),v=c-w.y,f=null,x=!1,R=1,b=(e,t)=>{S.dispatchEvent("checkbox-range-"+e,{records:()=>S.getCheckboxRecords(),reserves:()=>S.getCheckboxReserveRecords()},t)},I=e=>{var{clientX:t,clientY:l}=e,t=t-u,l=l-c+(T.scrollTop-p);let o=Math.abs(l),n=Math.abs(t),r=m,i=C;l<a?(r+=l)<a&&(r=a,o=m):o=Math.min(o,T.scrollHeight-m-a),t<a?(i+=t,n>C&&(i=a,n=C)):n=Math.min(n,T.clientWidth-C-a),s.style.height=o+"px",s.style.width=n+"px",s.style.left=i+"px",s.style.top=r+"px",s.style.display="block";t=getCheckboxRangeRows(S,e,M,d,w,v,l<a?-o:o);10<o&&t.length!==h.length&&(l=(0,_dom.hasControlKey)(e),h=t,l?t.forEach(e=>{S.handleBatchSelectRows([e],-1===g.indexOf(e))}):(S.setAllCheckboxRow(!1),S.handleCheckedCheckboxRow(t,!0,!1)),b("change",e))},E=()=>{clearTimeout(f),f=null},O=r=>{E(),f=setTimeout(()=>{var e,t,l,o,n;f&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=T,n=Math.ceil(50*R/i),x?t+l<o?(S.scrollTo(e,t+n),O(r),I(r)):E():t?(S.scrollTo(e,t-n),O(r),I(r)):E())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(T).boundingTop;t<l?(x=!1,R=l-t,f||O(e)):t>l+T.clientHeight?(x=!0,R=t-l-T.clientHeight,f||O(e)):f&&E(),I(e)},document.onmouseup=e=>{E(),(0,_dom.removeClass)(t,"drag--range"),s.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,b("end",e)},b("start",e)}}}var _default=exports.default={methods:{moveTabSelected(e,t,l){let o=this;var n=o.editConfig,{afterFullData:r,visibleColumn:i}=o,u=o.computeEditOpts,c=o.computeRowOpts,s=o.computeCurrentRowOpts,d=o.computeColumnOpts,g=o.computeCurrentColumnOpts;let h,a,m,C=Object.assign({},e);var e=o.getVTRowIndex(C.row),p=o.getVTColumnIndex(C.column),t=(l.preventDefault(),t?p<=0?0<e&&(a=e-1,h=r[a],m=i.length-1):m=p-1:p>=i.length-1?e<r.length-1&&(a=e+1,h=r[a],m=0):m=p+1,i[m]);t&&(h?(C.rowIndex=a,C.row=h):C.rowIndex=e,C.columnIndex=m,C.column=t,C.cell=o.getCellElement(C.row,C.column),c.isCurrent&&s.isFollowSelected&&o.triggerCurrentRowEvent(l,C),d.isCurrent&&g.isFollowSelected&&o.triggerCurrentColumnEvent(l,C),n?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?o.handleEdit(C,l):o.scrollToRow(C.row,C.column,{colAlign:!0}).then(()=>{o.handleSelected(C,l)})):o.scrollToRow(C.row,C.column,{colAlign:!0}).then(()=>{o.handleSelected(C,l)}))},moveCurrentRow(e,t,l){let o=this;var n=o,r=o,i=o,n=n.treeConfig;let u=r.currentRow;var r=i.afterFullData,i=o.computeTreeOpts,i=i.children||i.childrenField;let c;if(u?n?({index:n,items:i}=_xeUtils.default.findTree(r,e=>e===u,{children:i}),e&&0<n?c=i[n-1]:t&&n<i.length-1&&(c=i[n+1])):(i=o.getVTRowIndex(u),e&&0<i?c=r[i-1]:t&&i<r.length-1&&(c=r[i+1])):c=r[0],c){l.preventDefault();let e={$table:o,row:c,rowIndex:o.getRowIndex(c),$rowIndex:o.getVMRowIndex(c)};o.scrollToRow(c).then(()=>o.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){let o=this;var n=o.currentColumn,r=o.visibleColumn;let i=null;if(n?(n=o.getVTColumnIndex(n),e&&0<n?i=r[n-1]:t&&n<r.length-1&&(i=r[n+1])):i=r[0],i){l.preventDefault();let e={$table:o,column:i,columnIndex:o.getColumnIndex(i),$columnIndex:o.getVMColumnIndex(i)};o.scrollToColumn(i).then(()=>o.triggerCurrentColumnEvent(l,e))}},moveArrowSelected(e,t,l,o,n,r){var i=this,{highlightCurrentRow:u,highlightCurrentColumn:c}=i,s=i.computeRowOpts,d=i.computeCurrentRowOpts,g=i.computeColumnOpts,h=i.computeCurrentColumnOpts,e=handleMoveSelected(i,r,e,t,l,o,n);(s.isCurrent||u)&&(d.isFollowSelected?i.triggerCurrentRowEvent(r,e):(l||n)&&(s.isCurrent||u)&&i.moveCurrentRow(l,n,r)),(g.isCurrent||c)&&(h.isFollowSelected?i.triggerCurrentColumnEvent(r,e):(t||o)&&(g.isCurrent||c)&&i.moveCurrentColumn(t,o,r))},moveEnterSelected(e,t,l,o,n,r){var i=this,{highlightCurrentRow:u,highlightCurrentColumn:c}=i,s=i.computeRowOpts,d=i.computeCurrentRowOpts,g=i.computeColumnOpts,h=i.computeCurrentColumnOpts,e=handleMoveSelected(i,r,e,t,l,o,n);(s.isCurrent||u)&&d.isFollowSelected&&i.triggerCurrentRowEvent(r,e),(g.isCurrent||c)&&h.isFollowSelected&&i.triggerCurrentColumnEvent(r,e)},moveSelected(e,t,l,o,n,r){handleMoveSelected(this,r,e,t,l,o,n)},handleCellMousedownEvent(e,t){var l=this,{editConfig:o,checkboxConfig:n,mouseConfig:r}=l,i=l.computeCheckboxOpts,u=l.computeMouseOpts,c=l.computeEditOpts;if(r&&u.area&&l.triggerClAreaModnEvent)return l.triggerClAreaModnEvent(e,t);n&&i.range&&handleCheckboxRangeEvent(l,e,t),r&&u.selected&&(o&&"cell"!==c.mode||l.handleSelected(t,e))}}};
@@ -148,7 +148,7 @@ remainList.forEach(column=>{const width=Math.max(meanWidth,minCellWidth);column.
148
148
  * 处理显示 tooltip
149
149
  * @param {Event} evnt 事件
150
150
  * @param {Row} row 行对象
151
- */function handleTooltip($xeTable,evnt,tipOpts,type,tdEl,overflowElem,tipElem,params){const reactData=$xeTable;const tipOverEl=overflowElem||tdEl;if(!tipOverEl){return $xeTable.$nextTick();}params.cell=tdEl;const{tooltipStore}=reactData;const{column,row}=params;const{showAll,contentMethod}=tipOpts;const customContent=contentMethod?contentMethod(params):null;const useCustom=contentMethod&&!_xeUtils.default.eqNull(customContent);const content=useCustom?customContent:_xeUtils.default.toString(column.type==='html'?tipOverEl.innerText:tipOverEl.textContent).trim();const isOver=tipOverEl.scrollWidth>tipOverEl.clientWidth;if(content&&(showAll||useCustom||isOver)){const tipContent=(0,_utils.formatText)(content);Object.assign(tooltipStore,{row,column,visible:true,content:tipContent,type,currOpts:tipOpts});$xeTable.$nextTick(()=>{const $tooltip=$xeTable.$refs.refTooltip;if($tooltip&&$tooltip.open){$tooltip.open(isOver?tipOverEl:tipElem,tipContent);}});}return $xeTable.$nextTick();}function handleScrollToRowColumn($xeTable,fieldOrColumn,row){const internalData=$xeTable;const{fullColumnIdData}=internalData;const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(column&&fullColumnIdData[column.id]){return(0,_util.colToVisible)($xeTable,column,row);}return $xeTable.$nextTick();}function handleRowExpandReserve($xeTable,row,expanded){const internalData=$xeTable;const{rowExpandedReserveRowMap}=internalData;const expandOpts=$xeTable.computeExpandOpts;if(expandOpts.reserve){const rowid=(0,_util.getRowid)($xeTable,row);if(expanded){rowExpandedReserveRowMap[rowid]=row;}else if(rowExpandedReserveRowMap[rowid]){delete rowExpandedReserveRowMap[rowid];}}}function handleDefaultMergeCells($xeTable){const props=$xeTable;const{mergeCells}=props;if(mergeCells){$xeTable.setMergeCells(mergeCells);}}function handleDefaultMergeHeaderItems($xeTable){const props=$xeTable;const{mergeHeaderCells}=props;if(mergeHeaderCells){$xeTable.setMergeHeaderCells(mergeHeaderCells);}}function handleDefaultMergeFooterItems($xeTable){const props=$xeTable;const{mergeFooterCells,mergeFooterItems}=props;const mFooterCells=mergeFooterCells||mergeFooterItems;if(mFooterCells){$xeTable.setMergeFooterCells(mFooterCells);}}// 计算可视渲染相关数据
151
+ */function handleTooltip($xeTable,evnt,tipOpts,type,tdEl,overflowElem,tipElem,params){const reactData=$xeTable;const tipOverEl=overflowElem||tdEl;if(!tipOverEl){return $xeTable.$nextTick();}params.cell=tdEl;const{tooltipStore}=reactData;const{column,row}=params;const{showAll,contentMethod}=tipOpts;const customContent=contentMethod?contentMethod(params):null;const useCustom=contentMethod&&!_xeUtils.default.eqNull(customContent);const content=useCustom?customContent:_xeUtils.default.toString(column.type==='html'?tipOverEl.innerText:tipOverEl.textContent).trim();const isOver=tipOverEl.scrollWidth>tipOverEl.clientWidth;if(content&&(showAll||useCustom||isOver)){const tipContent=(0,_utils.formatText)(content);Object.assign(tooltipStore,{row,column,visible:true,content:tipContent,type,currOpts:tipOpts});$xeTable.$nextTick(()=>{const $tooltip=$xeTable.$refs.refTooltip;if($tooltip&&$tooltip.open){$tooltip.open(isOver?tipOverEl:tipElem,tipContent);}});}return $xeTable.$nextTick();}function handleScrollToRowColumn($xeTable,fieldOrColumn,row,options){const internalData=$xeTable;const{fullColumnIdData}=internalData;const column=(0,_util.handleFieldOrColumn)($xeTable,fieldOrColumn);if(column&&fullColumnIdData[column.id]){return(0,_util.colToVisible)($xeTable,!!(options&&options.colAlign),column,row);}return $xeTable.$nextTick();}function handleRowExpandReserve($xeTable,row,expanded){const internalData=$xeTable;const{rowExpandedReserveRowMap}=internalData;const expandOpts=$xeTable.computeExpandOpts;if(expandOpts.reserve){const rowid=(0,_util.getRowid)($xeTable,row);if(expanded){rowExpandedReserveRowMap[rowid]=row;}else if(rowExpandedReserveRowMap[rowid]){delete rowExpandedReserveRowMap[rowid];}}}function handleDefaultMergeCells($xeTable){const props=$xeTable;const{mergeCells}=props;if(mergeCells){$xeTable.setMergeCells(mergeCells);}}function handleDefaultMergeHeaderItems($xeTable){const props=$xeTable;const{mergeHeaderCells}=props;if(mergeHeaderCells){$xeTable.setMergeHeaderCells(mergeHeaderCells);}}function handleDefaultMergeFooterItems($xeTable){const props=$xeTable;const{mergeFooterCells,mergeFooterItems}=props;const mFooterCells=mergeFooterCells||mergeFooterItems;if(mFooterCells){$xeTable.setMergeFooterCells(mFooterCells);}}// 计算可视渲染相关数据
152
152
  function computeScrollLoad($xeTable){const reactData=$xeTable;const internalData=$xeTable;return $xeTable.$nextTick().then(()=>{const{scrollXLoad,scrollYLoad}=reactData;const{scrollXStore,scrollYStore}=internalData;const virtualYOpts=$xeTable.computeVirtualYOpts;const virtualXOpts=$xeTable.computeVirtualXOpts;// 计算 X 逻辑
153
153
  if(scrollXLoad){const{toVisibleIndex:toXVisibleIndex,visibleSize:visibleXSize}=handleVirtualXVisible($xeTable);const offsetXSize=Math.max(0,virtualXOpts.oSize?_xeUtils.default.toNumber(virtualXOpts.oSize):0);scrollXStore.preloadSize=_xeUtils.default.toNumber(virtualXOpts.preSize);scrollXStore.offsetSize=offsetXSize;scrollXStore.visibleSize=visibleXSize;scrollXStore.endIndex=Math.max(scrollXStore.startIndex+scrollXStore.visibleSize+offsetXSize,scrollXStore.endIndex);scrollXStore.visibleStartIndex=Math.max(scrollXStore.startIndex,toXVisibleIndex);scrollXStore.visibleEndIndex=Math.min(scrollXStore.endIndex,toXVisibleIndex+visibleXSize);$xeTable.updateScrollXData().then(()=>{loadScrollXData($xeTable);});}else{$xeTable.updateScrollXSpace();}// 计算 Y 逻辑
154
154
  const rowHeight=computeRowHeight($xeTable);scrollYStore.rowHeight=rowHeight;// 已废弃
@@ -783,18 +783,18 @@ if(bodyScrollElem&&bodyTableElem&&bodyScrollElem.scrollTop+clientHeight>=maxYHei
783
783
  * 如果有滚动条,则滚动到对应的行
784
784
  * @param {Row} row 行对象
785
785
  * @param {ColumnInfo} column 列配置
786
- */scrollToRow(row,fieldOrColumn){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const{isAllOverflow,scrollYLoad,scrollXLoad}=reactData;const rest=[];if(row){if(props.treeConfig){rest.push($xeTable.scrollToTreeRow(row));}else{rest.push((0,_util.rowToVisible)($xeTable,row));}}if(fieldOrColumn){rest.push(handleScrollToRowColumn($xeTable,fieldOrColumn,row));}return Promise.all(rest).then(()=>{if(row){if(!isAllOverflow&&(scrollYLoad||scrollXLoad)){calcCellHeight($xeTable);calcCellWidth($xeTable);}return $xeTable.$nextTick();}});},/**
786
+ */scrollToRow(row,fieldOrColumn,options){const $xeTable=this;const props=$xeTable;const reactData=$xeTable;const{isAllOverflow,scrollYLoad,scrollXLoad}=reactData;const rest=[];if(row){if(props.treeConfig){rest.push($xeTable.scrollToTreeRow(row));}else{rest.push((0,_util.rowToVisible)($xeTable,row));}}if(fieldOrColumn){rest.push(handleScrollToRowColumn($xeTable,fieldOrColumn,row,options));}return Promise.all(rest).then(()=>{if(row){if(!isAllOverflow&&(scrollYLoad||scrollXLoad)){calcCellHeight($xeTable);calcCellWidth($xeTable);}return $xeTable.$nextTick();}});},/**
787
787
  * 如果有滚动条,则滚动到第一行
788
- */scrollToStartRow(fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const{afterFullData}=internalData;return $xeTable.scrollToRow(afterFullData[0],fieldOrColumn);},/**
788
+ */scrollToStartRow(fieldOrColumn,options){const $xeTable=this;const internalData=$xeTable;const{afterFullData}=internalData;return $xeTable.scrollToRow(afterFullData[0],fieldOrColumn,options);},/**
789
789
  * 如果有滚动条,则滚动到最后一行
790
- */scrollToEndRow(fieldOrColumn){const $xeTable=this;const internalData=$xeTable;const{afterFullData}=internalData;return $xeTable.scrollToRow(afterFullData[afterFullData.length-1],fieldOrColumn);},/**
790
+ */scrollToEndRow(fieldOrColumn,options){const $xeTable=this;const internalData=$xeTable;const{afterFullData}=internalData;return $xeTable.scrollToRow(afterFullData[afterFullData.length-1],fieldOrColumn,options);},/**
791
791
  * 如果有滚动条,则滚动到对应的列
792
792
  * @param {ColumnInfo} column 列配置
793
- */scrollToColumn(fieldOrColumn){const $xeTable=this;return handleScrollToRowColumn($xeTable,fieldOrColumn);},/**
793
+ */scrollToColumn(fieldOrColumn,options){const $xeTable=this;return handleScrollToRowColumn($xeTable,null,fieldOrColumn,options);},/**
794
794
  * 如果有滚动条,则滚动到第一列
795
- */scrollToStartColumn(){const $xeTable=this;const internalData=$xeTable;const{visibleColumn}=internalData;return $xeTable.scrollToColumn(visibleColumn[0]);},/**
795
+ */scrollToStartColumn(options){const $xeTable=this;const internalData=$xeTable;const{visibleColumn}=internalData;return $xeTable.scrollToColumn(visibleColumn[0],options);},/**
796
796
  * 如果有滚动条,则滚动到最后一列
797
- */scrollToEndColumn(){const $xeTable=this;const internalData=$xeTable;const{visibleColumn}=internalData;return $xeTable.scrollToColumn(visibleColumn[visibleColumn.length-1]);},/**
797
+ */scrollToEndColumn(options){const $xeTable=this;const internalData=$xeTable;const{visibleColumn}=internalData;return $xeTable.scrollToColumn(visibleColumn[visibleColumn.length-1],options);},/**
798
798
  * 对于树形结构中,可以直接滚动到指定深层节点中
799
799
  * 对于某些特定的场景可能会用到,比如定位到某一节点
800
800
  * @param {Row} row 行对象