vxe-table 3.12.8 → 3.12.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -88,11 +88,6 @@ const convertHeaderColumnToRows = originColumns => {
88
88
  return rows;
89
89
  };
90
90
  exports.convertHeaderColumnToRows = convertHeaderColumnToRows;
91
- const lineOffsetSizes = {
92
- mini: 3,
93
- small: 2,
94
- medium: 1
95
- };
96
91
  function restoreScrollLocation($xeTable, scrollLeft, scrollTop) {
97
92
  const internalData = $xeTable;
98
93
  return $xeTable.clearScroll().then(() => {
@@ -288,6 +283,11 @@ function getColReMinWidth(params) {
288
283
  }
289
284
  return mWidth;
290
285
  }
286
+ const lineOffsetSizes = {
287
+ mini: 3,
288
+ small: 2,
289
+ medium: 1
290
+ };
291
291
  function countTreeExpand(prevRow, params) {
292
292
  let count = 1;
293
293
  if (!prevRow) {
@@ -296,11 +296,13 @@ function countTreeExpand(prevRow, params) {
296
296
  const {
297
297
  $table
298
298
  } = params;
299
+ const treeOpts = $table.computeTreeOpts;
299
300
  const {
300
- treeOpts
301
- } = $table;
301
+ transform,
302
+ mapChildrenField
303
+ } = treeOpts;
302
304
  const childrenField = treeOpts.children || treeOpts.childrenField;
303
- const rowChildren = prevRow[childrenField];
305
+ const rowChildren = prevRow[transform ? mapChildrenField : childrenField];
304
306
  if (rowChildren && $table.isTreeExpandByRow(prevRow)) {
305
307
  for (let index = 0; index < rowChildren.length; index++) {
306
308
  count += countTreeExpand(rowChildren[index], params);
@@ -308,19 +310,23 @@ function countTreeExpand(prevRow, params) {
308
310
  }
309
311
  return count;
310
312
  }
311
- function getOffsetSize($xetable) {
312
- const vSize = $xetable.computeSize;
313
- return lineOffsetSizes[vSize] || 0;
313
+ function getOffsetSize($xeTable) {
314
+ const vSize = $xeTable.computeSize;
315
+ if (vSize) {
316
+ return lineOffsetSizes[vSize] || 0;
317
+ }
318
+ return 0;
314
319
  }
315
- function calcTreeLine(params, items, rIndex) {
320
+ function calcTreeLine(params, prevRow) {
316
321
  const {
317
322
  $table
318
323
  } = params;
324
+ const tableReactData = $table;
319
325
  let expandSize = 1;
320
- if (rIndex) {
321
- expandSize = countTreeExpand(items[rIndex - 1], params);
326
+ if (prevRow) {
327
+ expandSize = countTreeExpand(prevRow, params);
322
328
  }
323
- return $table.rowHeight * expandSize - (rIndex ? 1 : 12 - getOffsetSize($table));
329
+ return tableReactData.rowHeight * expandSize - (prevRow ? 1 : 12 - getOffsetSize($table));
324
330
  }
325
331
  function mergeBodyMethod(mergeList, _rowIndex, _columnIndex) {
326
332
  for (let mIndex = 0; mIndex < mergeList.length; mIndex++) {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.calcTreeLine=calcTreeLine,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.destroyColumn=destroyColumn,exports.getCellValue=getCellValue,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=getOffsetSize,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=handleFieldOrColumn,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq;var _xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,l)=>{let t=[];return e.forEach(e=>{e.parentId=l?l.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(t.push(e),t.push(...getAllConvertColumns(e.children,e))):t.push(e))}),t},convertHeaderColumnToRows=e=>{let l=1,r=(t,e)=>{if(e&&(t.level=e.level+1,l<t.level)&&(l=t.level),t.children&&t.children.length&&t.children.some(e=>e.visible)){let l=0;t.children.forEach(e=>{e.visible&&(r(e,t),l+=e.colSpan)}),t.colSpan=l}else t.colSpan=1},t=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<l;e++)t.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=l-e.level+1,t[e.level-1].push(e)}),t},lineOffsetSizes=(exports.convertHeaderColumnToRows=convertHeaderColumnToRows,{mini:3,small:2,medium:1});function restoreScrollLocation(e,l,t){let r=e;return e.clearScroll().then(()=>{if(l||t)return r.lastScrollLeft=0,r.lastScrollTop=0,r.inVirtualScroll=!1,r.inBodyScroll=!1,r.inFooterScroll=!1,r.bodyScrollType="",e.scrollTo(l,t)})}function toTreePathSeq(e){return e.map((e,l)=>l%2==0?Number(e)+1:".").join("")}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){return e.rowOpts.keyField||e.rowId||"_X_ROW_KEY"}function getRowid(e,l){l=_xeUtils.default.get(l,getRowkey(e));return _xeUtils.default.eqNull(l)?"":encodeURIComponent(l)}function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginWidth(e){var l,t;return e?(t=getComputedStyle(e),l=_xeUtils.default.toNumber(t.marginLeft),t=_xeUtils.default.toNumber(t.marginRight),e.offsetWidth+l+t):0}function handleFieldOrColumn(e,l){return l?_xeUtils.default.isString(l)?e.getColumnByField(l):l:null}function assembleColumn(e){var{$el:e,$xetable:l,$xecolumn:t,columnConfig:r}=e,o=t?t.columnConfig:null;o?("development"===process.env.NODE_ENV&&("vxe-table-column"===t.$options._componentTag?(0,_log.errLog)("vxe.error.groupTag",[`<vxe-table-colgroup title=${t.title} ...>`,`<vxe-table-column title=${t.title} ...>`]):"vxe-column"===t.$options._componentTag&&(0,_log.warnLog)("vxe.error.groupTag",[`<vxe-colgroup title=${t.title} ...>`,`<vxe-column title=${t.title} ...>`])),o.children||(o.children=[]),o.children.splice(_xeUtils.default.arrayIndexOf(t.$el.children,e),0,r)):l.staticColumns.splice(_xeUtils.default.arrayIndexOf(l.$refs.hideColumn.children,e),0,r)}function destroyColumn(e){let{$xetable:l,columnConfig:t}=e;e=_xeUtils.default.findTree(l.staticColumns,e=>e===t);e&&e.items.splice(e.index,1)}function getRootColumn(e,l){var t=e.fullColumnIdData;if(!l)return null;let r=l.parentId;for(;t[r];){let e=t[r].column;if(!(r=e.parentId))return e}return l}function queryCellElement(e,l){return e.querySelector(".vxe-cell"+l)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:l,data:t,resetValue:r,checked:o})=>({label:e,value:l,data:t,resetValue:r,checked:!!o,_checked:!!o})):e}function getColReMinWidth(e){var{$table:l,column:t,cell:r}=e,{showHeaderOverflow:o,resizableOpts:n}=l,n=n.minWidth;if(n){e=_xeUtils.default.isFunction(n)?n(e):n;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var i,u,a,s,{showHeaderOverflow:n,minWidth:e}=t,t=_xeUtils.default.isUndefined(n)||_xeUtils.default.isNull(n)?o:n,o="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;let c=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(o&&(n=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--drag-handle")),t=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--checkbox")),o=getElementMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),i=getElementMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),u=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),a=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),s=getElementMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElementMarginWidth(queryCellElement(r,">.vxe-cell--filter")),c+=n+t+o+i+u+a+r+s),e){n=l.$refs.tableBody,t=n?n.$el:null;if(t){if((0,_dom.isScale)(e))return o=(t.clientWidth-1)/100,Math.max(c,Math.floor(_xeUtils.default.toInteger(e)*o));if((0,_dom.isPx)(e))return Math.max(c,_xeUtils.default.toInteger(e))}}return c}function countTreeExpand(e,l){let t=1;if(e){var r=l.$table,o=r.treeOpts,n=e[o.children||o.childrenField];if(n&&r.isTreeExpandByRow(e))for(let e=0;e<n.length;e++)t+=countTreeExpand(n[e],l)}return t}function getOffsetSize(e){e=e.computeSize;return lineOffsetSizes[e]||0}function calcTreeLine(e,l,t){var r=e.$table;let o=1;return t&&(o=countTreeExpand(l[t-1],e)),r.rowHeight*o-(t?1:12-getOffsetSize(r))}function mergeBodyMethod(l,t,r){for(let e=0;e<l.length;e++){var{row:o,col:n,rowspan:i,colspan:u}=l[e];if(-1<n&&-1<o&&i&&u){if(o===t&&n===r)return{rowspan:i,colspan:u};if(o<=t&&t<o+i&&n<=r&&r<n+u)return{rowspan:0,colspan:0}}}}function getCellValue(e,l){return _xeUtils.default.get(e,l.field)}function setCellValue(e,l,t){return _xeUtils.default.set(e,l.field,t)}function clearTableDefaultStatus(e){return e.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearEdit&&e.clearEdit(),e.clearSelected&&(e.keyboardConfig||e.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&e.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function isColumnInfo(e){return e instanceof _columnInfo.ColumnInfo}function createColumn(e,l,t){return isColumnInfo(l)?l:new _columnInfo.ColumnInfo(e,l,t)}function rowToVisible(t,r){var e=t.showOverflow,o=t.$refs.tableBody,{columnStore:n,scrollYLoad:l}=t,{afterFullData:i,scrollYStore:u,fullAllDataRowIdData:a}=t,s=u.rowHeight,{leftList:u,rightList:n}=n,o=o?o.$el:null,c=getRowid(t,r);let d=0,f=(u.forEach(e=>{d+=e.renderWidth}),0);if(n.forEach(e=>{f+=e.renderWidth}),o){u=o.clientHeight,n=o.scrollTop,o=o.querySelector(`[rowid="${c}"]`);if(o){var m=o.offsetParent,m=o.offsetTop+(m?m.offsetTop:0),o=o.clientHeight;if(m<n||n+u<m)return t.scrollTo(null,m);if(u+n<=m+o)return t.scrollTo(null,n+o)}else if(l){if(e)return t.scrollTo(null,(t.findRowIndexOf(i,r)-1)*s);let l=0;m=a[c],o=m&&m.height||s;for(let e=0;e<i.length;e++){var g=i[e],h=getRowid(t,g);if(g===r||h===c)break;g=a[h];l+=g&&g.height||s}return l<n?t.scrollTo(null,l-d-1):t.scrollTo(null,l+o-(u-f-1))}}return Promise.resolve()}function colToVisible(o,n,l){var{columnStore:i,scrollXLoad:u,visibleColumn:a}=o,s=o.$refs.tableBody,{leftList:i,rightList:c}=i,s=s?s.$el:null;if(!n.fixed){let t=0,r=(i.forEach(e=>{t+=e.renderWidth}),0);if(c.forEach(e=>{r+=e.renderWidth}),s){i=s.clientWidth,c=s.scrollLeft;let e=null;if(l&&(l=getRowid(o,l),e=s.querySelector(`[rowid="${l}"] .`+n.id)),e=e||s.querySelector("."+n.id)){l=e.offsetParent,s=e.offsetLeft+(l?l.offsetLeft:0),l=e.clientWidth;if(s<c+t)return o.scrollTo(s-t-1);if(s+l-c>i-r)return o.scrollTo(s+l-(i-r-1))}else if(u){let l=0;s=n.renderWidth;for(let e=0;e<a.length&&a[e]!==n;e++)l+=a[e].renderWidth;return l<c?o.scrollTo(l-t-1):o.scrollTo(l+s-(i-r-1))}}}return Promise.resolve()}
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.calcTreeLine=calcTreeLine,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.destroyColumn=destroyColumn,exports.getCellValue=getCellValue,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=getOffsetSize,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=handleFieldOrColumn,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq;var _xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,l)=>{let t=[];return e.forEach(e=>{e.parentId=l?l.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(t.push(e),t.push(...getAllConvertColumns(e.children,e))):t.push(e))}),t},convertHeaderColumnToRows=e=>{let l=1,r=(t,e)=>{if(e&&(t.level=e.level+1,l<t.level)&&(l=t.level),t.children&&t.children.length&&t.children.some(e=>e.visible)){let l=0;t.children.forEach(e=>{e.visible&&(r(e,t),l+=e.colSpan)}),t.colSpan=l}else t.colSpan=1},t=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<l;e++)t.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=l-e.level+1,t[e.level-1].push(e)}),t};function restoreScrollLocation(e,l,t){let r=e;return e.clearScroll().then(()=>{if(l||t)return r.lastScrollLeft=0,r.lastScrollTop=0,r.inVirtualScroll=!1,r.inBodyScroll=!1,r.inFooterScroll=!1,r.bodyScrollType="",e.scrollTo(l,t)})}function toTreePathSeq(e){return e.map((e,l)=>l%2==0?Number(e)+1:".").join("")}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){return e.rowOpts.keyField||e.rowId||"_X_ROW_KEY"}function getRowid(e,l){l=_xeUtils.default.get(l,getRowkey(e));return _xeUtils.default.eqNull(l)?"":encodeURIComponent(l)}function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginWidth(e){var l,t;return e?(t=getComputedStyle(e),l=_xeUtils.default.toNumber(t.marginLeft),t=_xeUtils.default.toNumber(t.marginRight),e.offsetWidth+l+t):0}function handleFieldOrColumn(e,l){return l?_xeUtils.default.isString(l)?e.getColumnByField(l):l:null}function assembleColumn(e){var{$el:e,$xetable:l,$xecolumn:t,columnConfig:r}=e,o=t?t.columnConfig:null;o?("development"===process.env.NODE_ENV&&("vxe-table-column"===t.$options._componentTag?(0,_log.errLog)("vxe.error.groupTag",[`<vxe-table-colgroup title=${t.title} ...>`,`<vxe-table-column title=${t.title} ...>`]):"vxe-column"===t.$options._componentTag&&(0,_log.warnLog)("vxe.error.groupTag",[`<vxe-colgroup title=${t.title} ...>`,`<vxe-column title=${t.title} ...>`])),o.children||(o.children=[]),o.children.splice(_xeUtils.default.arrayIndexOf(t.$el.children,e),0,r)):l.staticColumns.splice(_xeUtils.default.arrayIndexOf(l.$refs.hideColumn.children,e),0,r)}function destroyColumn(e){let{$xetable:l,columnConfig:t}=e;e=_xeUtils.default.findTree(l.staticColumns,e=>e===t);e&&e.items.splice(e.index,1)}function getRootColumn(e,l){var t=e.fullColumnIdData;if(!l)return null;let r=l.parentId;for(;t[r];){let e=t[r].column;if(!(r=e.parentId))return e}return l}function queryCellElement(e,l){return e.querySelector(".vxe-cell"+l)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:l,data:t,resetValue:r,checked:o})=>({label:e,value:l,data:t,resetValue:r,checked:!!o,_checked:!!o})):e}function getColReMinWidth(e){var{$table:l,column:t,cell:r}=e,{showHeaderOverflow:o,resizableOpts:n}=l,n=n.minWidth;if(n){e=_xeUtils.default.isFunction(n)?n(e):n;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var i,u,a,s,{showHeaderOverflow:n,minWidth:e}=t,t=_xeUtils.default.isUndefined(n)||_xeUtils.default.isNull(n)?o:n,o="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;let c=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(o&&(n=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--drag-handle")),t=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--checkbox")),o=getElementMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),i=getElementMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),u=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),a=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),s=getElementMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElementMarginWidth(queryCellElement(r,">.vxe-cell--filter")),c+=n+t+o+i+u+a+r+s),e){n=l.$refs.tableBody,t=n?n.$el:null;if(t){if((0,_dom.isScale)(e))return o=(t.clientWidth-1)/100,Math.max(c,Math.floor(_xeUtils.default.toInteger(e)*o));if((0,_dom.isPx)(e))return Math.max(c,_xeUtils.default.toInteger(e))}}return c}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let lineOffsetSizes={mini:3,small:2,medium:1};function countTreeExpand(e,l){let t=1;if(e){var r=l.$table,o=r.computeTreeOpts,{transform:n,mapChildrenField:i}=o,o=o.children||o.childrenField,u=e[n?i:o];if(u&&r.isTreeExpandByRow(e))for(let e=0;e<u.length;e++)t+=countTreeExpand(u[e],l)}return t}function getOffsetSize(e){e=e.computeSize;return e&&lineOffsetSizes[e]||0}function calcTreeLine(e,l){var t=e.$table,r=t;let o=1;return l&&(o=countTreeExpand(l,e)),r.rowHeight*o-(l?1:12-getOffsetSize(t))}function mergeBodyMethod(l,t,r){for(let e=0;e<l.length;e++){var{row:o,col:n,rowspan:i,colspan:u}=l[e];if(-1<n&&-1<o&&i&&u){if(o===t&&n===r)return{rowspan:i,colspan:u};if(o<=t&&t<o+i&&n<=r&&r<n+u)return{rowspan:0,colspan:0}}}}function getCellValue(e,l){return _xeUtils.default.get(e,l.field)}function setCellValue(e,l,t){return _xeUtils.default.set(e,l.field,t)}function clearTableDefaultStatus(e){return e.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearEdit&&e.clearEdit(),e.clearSelected&&(e.keyboardConfig||e.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&e.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function isColumnInfo(e){return e instanceof _columnInfo.ColumnInfo}function createColumn(e,l,t){return isColumnInfo(l)?l:new _columnInfo.ColumnInfo(e,l,t)}function rowToVisible(t,r){var e=t.showOverflow,o=t.$refs.tableBody,{columnStore:n,scrollYLoad:l}=t,{afterFullData:i,scrollYStore:u,fullAllDataRowIdData:a}=t,s=u.rowHeight,{leftList:u,rightList:n}=n,o=o?o.$el:null,c=getRowid(t,r);let d=0,f=(u.forEach(e=>{d+=e.renderWidth}),0);if(n.forEach(e=>{f+=e.renderWidth}),o){u=o.clientHeight,n=o.scrollTop,o=o.querySelector(`[rowid="${c}"]`);if(o){var m=o.offsetParent,m=o.offsetTop+(m?m.offsetTop:0),o=o.clientHeight;if(m<n||n+u<m)return t.scrollTo(null,m);if(u+n<=m+o)return t.scrollTo(null,n+o)}else if(l){if(e)return t.scrollTo(null,(t.findRowIndexOf(i,r)-1)*s);let l=0;m=a[c],o=m&&m.height||s;for(let e=0;e<i.length;e++){var g=i[e],h=getRowid(t,g);if(g===r||h===c)break;g=a[h];l+=g&&g.height||s}return l<n?t.scrollTo(null,l-d-1):t.scrollTo(null,l+o-(u-f-1))}}return Promise.resolve()}function colToVisible(o,n,l){var{columnStore:i,scrollXLoad:u,visibleColumn:a}=o,s=o.$refs.tableBody,{leftList:i,rightList:c}=i,s=s?s.$el:null;if(!n.fixed){let t=0,r=(i.forEach(e=>{t+=e.renderWidth}),0);if(c.forEach(e=>{r+=e.renderWidth}),s){i=s.clientWidth,c=s.scrollLeft;let e=null;if(l&&(l=getRowid(o,l),e=s.querySelector(`[rowid="${l}"] .`+n.id)),e=e||s.querySelector("."+n.id)){l=e.offsetParent,s=e.offsetLeft+(l?l.offsetLeft:0),l=e.clientWidth;if(s<c+t)return o.scrollTo(s-t-1);if(s+l-c>i-r)return o.scrollTo(s+l-(i-r-1))}else if(u){let l=0;s=n.renderWidth;for(let e=0;e<a.length&&a[e]!==n;e++)l+=a[e].renderWidth;return l<c?o.scrollTo(l-t-1):o.scrollTo(l+s-(i-r-1))}}}return Promise.resolve()}
package/lib/ui/index.js CHANGED
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VxeUI", {
13
13
  exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
14
14
  var _core = require("@vxe-ui/core");
15
15
  var _utils = require("./src/utils");
16
- const version = exports.version = "3.12.8";
16
+ const version = exports.version = "3.12.9";
17
17
  _core.VxeUI.version = version;
18
18
  _core.VxeUI.tableVersion = version;
19
19
  _core.VxeUI.setConfig({
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="3.12.8",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{gt:60},scrollY:{gt:100}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="3.12.9",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},scrollX:{gt:60},scrollY:{gt:100}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
package/lib/ui/src/log.js CHANGED
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
8
8
  const {
9
9
  log
10
10
  } = _core.VxeUI;
11
- const version = `table v${"3.12.8"}`;
11
+ const version = `table v${"3.12.9"}`;
12
12
  const warnLog = exports.warnLog = log.create('warn', version);
13
13
  const errLog = exports.errLog = log.create('error', version);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v3.12.8",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v3.12.9",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "3.12.8",
3
+ "version": "3.12.9",
4
4
  "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、拖拽排序,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -6,6 +6,8 @@ import { getOffsetSize, calcTreeLine, mergeBodyMethod, getRowid } from './util'
6
6
  import { updateCellTitle, setScrollTop, setScrollLeft } from '../../ui/src/dom'
7
7
  import { getSlotVNs } from '../../ui/src/vn'
8
8
 
9
+ import type { VxeTableConstructor, TableInternalData, VxeTablePrivateMethods } from '../../../types'
10
+
9
11
  const { getI18n, renderer, renderEmptyElement } = VxeUI
10
12
 
11
13
  const renderType = 'body'
@@ -15,24 +17,28 @@ function isVMScrollProcess ($xetable: any) {
15
17
  return $xetable._isResize || ($xetable.lastScrollTime && Date.now() < $xetable.lastScrollTime + $xetable.delayHover)
16
18
  }
17
19
 
18
- function renderLine (h: CreateElement, _vm: any, $xetable: any, params: any) {
20
+ function renderLine (h: CreateElement, _vm: any, $xeTable: VxeTableConstructor & VxeTablePrivateMethods, params: any) {
21
+ const tableProps = $xeTable
22
+ const tableInternalData = $xeTable as unknown as TableInternalData
23
+
19
24
  const { row, column } = params
20
- const { afterFullData, treeOpts, treeConfig, fullAllDataRowIdData } = $xetable
25
+ const { afterFullData } = tableInternalData
26
+ const { treeConfig } = tableProps
27
+ const treeOpts = $xeTable.computeTreeOpts
21
28
  const { slots, treeNode } = column
22
- const rowid = getRowid($xetable, row)
29
+ const { fullAllDataRowIdData } = tableInternalData
30
+ if (slots && slots.line) {
31
+ return $xeTable.callSlot(slots.line, params, h)
32
+ }
33
+ const rowid = getRowid($xeTable, row)
23
34
  const rest = fullAllDataRowIdData[rowid]
24
35
  let rLevel = 0
25
- let rIndex = 0
26
- let items = []
36
+ let prevRow = null
27
37
  if (rest) {
28
38
  rLevel = rest.level
29
- rIndex = rest._index
30
- items = rest.items
31
- }
32
- if (slots && slots.line) {
33
- return $xetable.callSlot(slots.line, params, h)
39
+ prevRow = rest.items[rest._index - 1]
34
40
  }
35
- const isFirstRow = $xetable.eqRow(afterFullData[0], row)
41
+ const isFirstRow = $xeTable.eqRow(afterFullData[0], row)
36
42
  if (treeConfig && treeNode && (treeOpts.showLine || treeOpts.line)) {
37
43
  return [
38
44
  h('div', {
@@ -41,8 +47,8 @@ function renderLine (h: CreateElement, _vm: any, $xetable: any, params: any) {
41
47
  h('div', {
42
48
  class: 'vxe-tree--line',
43
49
  style: {
44
- height: `${isFirstRow ? 1 : calcTreeLine(params, items, rIndex)}px`,
45
- left: `${(rLevel * treeOpts.indent) + (rLevel ? 2 - getOffsetSize($xetable) : 0) + 16}px`
50
+ height: `${isFirstRow ? 1 : calcTreeLine(params, prevRow)}px`,
51
+ left: `${(rLevel * treeOpts.indent) + (rLevel ? 2 - getOffsetSize($xeTable) : 0) + 16}px`
46
52
  }
47
53
  })
48
54
  ])
@@ -2276,30 +2276,6 @@ const Methods = {
2276
2276
  this.afterTreeFullData = tableTree
2277
2277
  this.updateAfterDataIndex()
2278
2278
  },
2279
- updateTreeDataIndex () {
2280
- const $xeTable = this
2281
- const props = $xeTable
2282
- const internalData = $xeTable
2283
-
2284
- const { treeConfig } = props
2285
- const { afterFullData, fullDataRowIdData, fullAllDataRowIdData } = internalData
2286
- const treeOpts = $xeTable.computeTreeOpts
2287
- if (treeConfig) {
2288
- if (treeOpts.transform) {
2289
- afterFullData.forEach((row: any, index: number) => {
2290
- const rowid = getRowid($xeTable, row)
2291
- const rowRest = fullAllDataRowIdData[rowid]
2292
- if (rowRest) {
2293
- rowRest._index = index
2294
- } else {
2295
- const rest = { row, rowid, seq: '-1', index: -1, $index: -1, _index: index, items: [], parent: null, level: 0, height: 0, oTop: 0 }
2296
- fullAllDataRowIdData[rowid] = rest
2297
- fullDataRowIdData[rowid] = rest
2298
- }
2299
- })
2300
- }
2301
- }
2302
- },
2303
2279
  /**
2304
2280
  * 预编译
2305
2281
  * 对渲染中的数据提前解析序号及索引。牺牲提前编译耗时换取渲染中额外损耗,使运行时更加流畅
@@ -2329,7 +2305,6 @@ const Methods = {
2329
2305
  }
2330
2306
  fullMaps[rowid] = row
2331
2307
  }, { children: treeOpts.transform ? treeOpts.mapChildrenField : childrenField })
2332
- $xeTable.updateTreeDataIndex()
2333
2308
  } else {
2334
2309
  afterFullData.forEach((row: any, index: number) => {
2335
2310
  const rowid = getRowid($xeTable, row)
@@ -6766,7 +6741,7 @@ const Methods = {
6766
6741
  return this.$nextTick().then(() => {
6767
6742
  if (transform) {
6768
6743
  this.handleTableData()
6769
- this.updateTreeDataIndex()
6744
+ this.updateAfterDataIndex()
6770
6745
  return this.$nextTick()
6771
6746
  }
6772
6747
  })
@@ -6880,7 +6855,7 @@ const Methods = {
6880
6855
  return this.handleBaseTreeExpand(rows, expanded).then(() => {
6881
6856
  handleVirtualTreeToList($xeTable)
6882
6857
  this.handleTableData()
6883
- this.updateTreeDataIndex()
6858
+ this.updateAfterDataIndex()
6884
6859
  }).then(() => {
6885
6860
  return this.recalculate()
6886
6861
  }).then(() => {
@@ -3,6 +3,8 @@ import { ColumnInfo } from './columnInfo'
3
3
  import { isScale, isPx } from '../../ui/src/dom'
4
4
  import { warnLog, errLog } from '../../ui/src/log'
5
5
 
6
+ import type { VxeTableDefines, VxeTableConstructor, TableReactData } from '../../../types'
7
+
6
8
  const getAllConvertColumns = (columns: any, parentColumn?: any) => {
7
9
  const result: any[] = []
8
10
  columns.forEach((column: any) => {
@@ -66,12 +68,6 @@ export const convertHeaderColumnToRows = (originColumns: any) => {
66
68
  return rows
67
69
  }
68
70
 
69
- const lineOffsetSizes: any = {
70
- mini: 3,
71
- small: 2,
72
- medium: 1
73
- }
74
-
75
71
  export function restoreScrollLocation ($xeTable: any, scrollLeft: any, scrollTop: any) {
76
72
  const internalData = $xeTable
77
73
 
@@ -248,15 +244,22 @@ export function getColReMinWidth (params: any) {
248
244
  return mWidth
249
245
  }
250
246
 
251
- function countTreeExpand (prevRow: any, params: any) {
247
+ const lineOffsetSizes: Record<string, any> = {
248
+ mini: 3,
249
+ small: 2,
250
+ medium: 1
251
+ }
252
+
253
+ function countTreeExpand (prevRow: any, params: VxeTableDefines.CellRenderBodyParams) {
252
254
  let count = 1
253
255
  if (!prevRow) {
254
256
  return count
255
257
  }
256
258
  const { $table } = params
257
- const { treeOpts } = $table
259
+ const treeOpts = $table.computeTreeOpts
260
+ const { transform, mapChildrenField } = treeOpts
258
261
  const childrenField = treeOpts.children || treeOpts.childrenField
259
- const rowChildren = prevRow[childrenField]
262
+ const rowChildren = prevRow[transform ? mapChildrenField : childrenField]
260
263
  if (rowChildren && $table.isTreeExpandByRow(prevRow)) {
261
264
  for (let index = 0; index < rowChildren.length; index++) {
262
265
  count += countTreeExpand(rowChildren[index], params)
@@ -265,18 +268,22 @@ function countTreeExpand (prevRow: any, params: any) {
265
268
  return count
266
269
  }
267
270
 
268
- export function getOffsetSize ($xetable: any) {
269
- const vSize = $xetable.computeSize
270
- return lineOffsetSizes[vSize] || 0
271
+ export function getOffsetSize ($xeTable: VxeTableConstructor) {
272
+ const vSize = $xeTable.computeSize
273
+ if (vSize) {
274
+ return lineOffsetSizes[vSize] || 0
275
+ }
276
+ return 0
271
277
  }
272
278
 
273
- export function calcTreeLine (params: any, items: any, rIndex: any) {
279
+ export function calcTreeLine (params: VxeTableDefines.CellRenderBodyParams, prevRow: any) {
274
280
  const { $table } = params
281
+ const tableReactData = $table as unknown as TableReactData
275
282
  let expandSize = 1
276
- if (rIndex) {
277
- expandSize = countTreeExpand(items[rIndex - 1], params)
283
+ if (prevRow) {
284
+ expandSize = countTreeExpand(prevRow, params)
278
285
  }
279
- return $table.rowHeight * expandSize - (rIndex ? 1 : (12 - getOffsetSize($table)))
286
+ return tableReactData.rowHeight * expandSize - (prevRow ? 1 : (12 - getOffsetSize($table)))
280
287
  }
281
288
 
282
289
  export function mergeBodyMethod (mergeList: any, _rowIndex: any, _columnIndex: any) {