vxe-table 3.12.7 → 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.
- package/es/style.css +1 -1
- package/es/table/src/body.js +16 -13
- package/es/table/src/cell.js +19 -10
- package/es/table/src/methods.js +16 -32
- package/es/table/src/util.js +25 -19
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +82 -90
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/body.js +21 -17
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +9 -2
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/methods.js +21 -49
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/util.js +29 -20
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/src/body.ts +19 -13
- package/packages/table/src/cell.ts +19 -10
- package/packages/table/src/methods.ts +21 -37
- package/packages/table/src/util.ts +29 -21
- /package/es/{iconfont.1736327052753.ttf → iconfont.1736414871619.ttf} +0 -0
- /package/es/{iconfont.1736327052753.woff → iconfont.1736414871619.woff} +0 -0
- /package/es/{iconfont.1736327052753.woff2 → iconfont.1736414871619.woff2} +0 -0
- /package/lib/{iconfont.1736327052753.ttf → iconfont.1736414871619.ttf} +0 -0
- /package/lib/{iconfont.1736327052753.woff → iconfont.1736414871619.woff} +0 -0
- /package/lib/{iconfont.1736327052753.woff2 → iconfont.1736414871619.woff2} +0 -0
package/lib/table/src/util.js
CHANGED
|
@@ -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
|
-
|
|
301
|
-
|
|
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($
|
|
312
|
-
const vSize = $
|
|
313
|
-
|
|
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,
|
|
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 (
|
|
321
|
-
expandSize = countTreeExpand(
|
|
326
|
+
if (prevRow) {
|
|
327
|
+
expandSize = countTreeExpand(prevRow, params);
|
|
322
328
|
}
|
|
323
|
-
return
|
|
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++) {
|
|
@@ -405,6 +411,9 @@ function rowToVisible($xeTable, row) {
|
|
|
405
411
|
scrollYStore,
|
|
406
412
|
fullAllDataRowIdData
|
|
407
413
|
} = internalData;
|
|
414
|
+
const {
|
|
415
|
+
rowHeight
|
|
416
|
+
} = scrollYStore;
|
|
408
417
|
const {
|
|
409
418
|
leftList,
|
|
410
419
|
rightList
|
|
@@ -437,19 +446,19 @@ function rowToVisible($xeTable, row) {
|
|
|
437
446
|
// 如果是虚拟渲染滚动
|
|
438
447
|
if (scrollYLoad) {
|
|
439
448
|
if (showOverflow) {
|
|
440
|
-
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) *
|
|
449
|
+
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) * rowHeight);
|
|
441
450
|
}
|
|
442
451
|
let scrollTop = 0;
|
|
443
|
-
const
|
|
444
|
-
const rHeight =
|
|
452
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
453
|
+
const rHeight = rowRest ? rowRest.height || rowHeight : rowHeight;
|
|
445
454
|
for (let i = 0; i < afterFullData.length; i++) {
|
|
446
455
|
const currRow = afterFullData[i];
|
|
447
456
|
const currRowid = getRowid($xeTable, currRow);
|
|
448
457
|
if (currRow === row || currRowid === rowid) {
|
|
449
458
|
break;
|
|
450
459
|
}
|
|
451
|
-
const
|
|
452
|
-
scrollTop +=
|
|
460
|
+
const rowRest = fullAllDataRowIdData[currRowid];
|
|
461
|
+
scrollTop += rowRest ? rowRest.height || rowHeight : rowHeight;
|
|
453
462
|
}
|
|
454
463
|
if (scrollTop < bodyScrollTop) {
|
|
455
464
|
return $xeTable.scrollTo(null, scrollTop - offsetFixedLeft - 1);
|
|
@@ -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}
|
|
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.
|
|
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({
|
package/lib/ui/index.min.js
CHANGED
|
@@ -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.
|
|
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.
|
|
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);
|
package/lib/ui/src/log.min.js
CHANGED
|
@@ -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.
|
|
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.
|
|
3
|
+
"version": "3.12.9",
|
|
4
4
|
"description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、拖拽排序,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"update": "npm install --legacy-peer-deps",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"style": "lib/style.css",
|
|
29
29
|
"typings": "types/index.d.ts",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"vxe-pc-ui": "^3.3.
|
|
31
|
+
"vxe-pc-ui": "^3.3.73"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@babel/plugin-transform-modules-commonjs": "^7.25.7",
|
|
@@ -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, $
|
|
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
|
|
25
|
+
const { afterFullData } = tableInternalData
|
|
26
|
+
const { treeConfig } = tableProps
|
|
27
|
+
const treeOpts = $xeTable.computeTreeOpts
|
|
21
28
|
const { slots, treeNode } = column
|
|
22
|
-
const
|
|
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
|
|
26
|
-
let items = []
|
|
36
|
+
let prevRow = null
|
|
27
37
|
if (rest) {
|
|
28
38
|
rLevel = rest.level
|
|
29
|
-
|
|
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 = $
|
|
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,
|
|
45
|
-
left: `${(rLevel * treeOpts.indent) + (rLevel ? 2 - getOffsetSize($
|
|
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
|
])
|
|
@@ -50,12 +50,14 @@ function renderTitleSuffixIcon (h: CreateElement, params: VxeTableDefines.CellRe
|
|
|
50
50
|
|
|
51
51
|
function renderCellDragIcon (h: CreateElement, params: VxeTableDefines.CellRenderBodyParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
|
|
52
52
|
const { $table } = params
|
|
53
|
+
const tableSlots = $table.$scopedSlots
|
|
53
54
|
const tableProps = $table
|
|
54
55
|
const { dragConfig } = tableProps
|
|
55
56
|
const rowDragOpts = $table.computeRowDragOpts
|
|
56
57
|
const { icon, trigger, disabledMethod } = rowDragOpts
|
|
57
58
|
const rDisabledMethod = disabledMethod || (dragConfig ? dragConfig.rowDisabledMethod : null)
|
|
58
59
|
const isDisabled = rDisabledMethod && rDisabledMethod(params)
|
|
60
|
+
const rowDragIconSlot = tableSlots.rowDragIcon || tableSlots['row-drag-icon']
|
|
59
61
|
const ons: Record<string, any> = {}
|
|
60
62
|
if (trigger !== 'cell') {
|
|
61
63
|
ons.mousedown = (evnt: MouseEvent) => {
|
|
@@ -71,11 +73,13 @@ function renderCellDragIcon (h: CreateElement, params: VxeTableDefines.CellRende
|
|
|
71
73
|
'is--disabled': isDisabled
|
|
72
74
|
}],
|
|
73
75
|
on: ons
|
|
74
|
-
},
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
}, rowDragIconSlot
|
|
77
|
+
? $table.callSlot(rowDragIconSlot as any, params, h)
|
|
78
|
+
: [
|
|
79
|
+
h('i', {
|
|
80
|
+
class: icon || (dragConfig ? dragConfig.rowIcon : '') || getIcon().TABLE_DRAG_ROW
|
|
81
|
+
})
|
|
82
|
+
])
|
|
79
83
|
}
|
|
80
84
|
|
|
81
85
|
function renderCellBaseVNs (h: CreateElement, params: VxeTableDefines.CellRenderBodyParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }, content: VxeComponentSlotType | VxeComponentSlotType[]) {
|
|
@@ -106,12 +110,15 @@ function renderCellBaseVNs (h: CreateElement, params: VxeTableDefines.CellRender
|
|
|
106
110
|
|
|
107
111
|
function renderHeaderCellDragIcon (h: CreateElement, params: VxeTableDefines.CellRenderHeaderParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
|
|
108
112
|
const { $table, column } = params
|
|
113
|
+
const tableSlots = $table.$scopedSlots
|
|
114
|
+
const { slots } = column
|
|
109
115
|
const columnOpts = $table.computeColumnOpts
|
|
110
116
|
const columnDragOpts = $table.computeColumnDragOpts
|
|
111
117
|
const { showIcon, icon, trigger, isPeerDrag, isCrossDrag, visibleMethod, disabledMethod } = columnDragOpts
|
|
112
118
|
if (columnOpts.drag && showIcon && (!visibleMethod || visibleMethod(params))) {
|
|
113
119
|
if (!column.fixed && (isPeerDrag || isCrossDrag || !column.parentId)) {
|
|
114
120
|
const isDisabled = disabledMethod && disabledMethod(params)
|
|
121
|
+
const columnDragIconSlot = (slots ? slots.columnDragIcon || slots['column-drag-icon'] : null) || tableSlots.columnDragIcon || tableSlots['column-drag-icon']
|
|
115
122
|
const ons: Record<string, any> = {}
|
|
116
123
|
if (trigger !== 'cell') {
|
|
117
124
|
ons.mousedown = (evnt: MouseEvent) => {
|
|
@@ -127,11 +134,13 @@ function renderHeaderCellDragIcon (h: CreateElement, params: VxeTableDefines.Cel
|
|
|
127
134
|
'is--disabled': isDisabled
|
|
128
135
|
}],
|
|
129
136
|
on: ons
|
|
130
|
-
},
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
137
|
+
}, columnDragIconSlot
|
|
138
|
+
? $table.callSlot(columnDragIconSlot as any, params, h)
|
|
139
|
+
: [
|
|
140
|
+
h('i', {
|
|
141
|
+
class: icon || getIcon().TABLE_DRAG_COLUMN
|
|
142
|
+
})
|
|
143
|
+
])
|
|
135
144
|
}
|
|
136
145
|
}
|
|
137
146
|
return renderEmptyElement($table)
|
|
@@ -332,10 +332,7 @@ function handleVirtualYVisible ($xeTable: VxeTableConstructor) {
|
|
|
332
332
|
const row = afterFullData[rIndex]
|
|
333
333
|
const rowid = getRowid($xeTable, row)
|
|
334
334
|
const rowRest = fullAllDataRowIdData[rowid]
|
|
335
|
-
|
|
336
|
-
break
|
|
337
|
-
}
|
|
338
|
-
offsetTop += rowRest.height || rowHeight
|
|
335
|
+
offsetTop += rowRest ? (rowRest.height || rowHeight) : rowHeight
|
|
339
336
|
if (toVisibleIndex === -1 && scrollTop < offsetTop) {
|
|
340
337
|
toVisibleIndex = rIndex
|
|
341
338
|
}
|
|
@@ -2279,30 +2276,6 @@ const Methods = {
|
|
|
2279
2276
|
this.afterTreeFullData = tableTree
|
|
2280
2277
|
this.updateAfterDataIndex()
|
|
2281
2278
|
},
|
|
2282
|
-
updateTreeDataIndex () {
|
|
2283
|
-
const $xeTable = this
|
|
2284
|
-
const props = $xeTable
|
|
2285
|
-
const internalData = $xeTable
|
|
2286
|
-
|
|
2287
|
-
const { treeConfig } = props
|
|
2288
|
-
const { afterFullData, fullDataRowIdData, fullAllDataRowIdData } = internalData
|
|
2289
|
-
const treeOpts = $xeTable.computeTreeOpts
|
|
2290
|
-
if (treeConfig) {
|
|
2291
|
-
if (treeOpts.transform) {
|
|
2292
|
-
afterFullData.forEach((row: any, index: number) => {
|
|
2293
|
-
const rowid = getRowid($xeTable, row)
|
|
2294
|
-
const rowRest = fullAllDataRowIdData[rowid]
|
|
2295
|
-
if (rowRest) {
|
|
2296
|
-
rowRest._index = index
|
|
2297
|
-
} else {
|
|
2298
|
-
const rest = { row, rowid, seq: '-1', index: -1, $index: -1, _index: index, items: [], parent: null, level: 0, height: 0, oTop: 0 }
|
|
2299
|
-
fullAllDataRowIdData[rowid] = rest
|
|
2300
|
-
fullDataRowIdData[rowid] = rest
|
|
2301
|
-
}
|
|
2302
|
-
})
|
|
2303
|
-
}
|
|
2304
|
-
}
|
|
2305
|
-
},
|
|
2306
2279
|
/**
|
|
2307
2280
|
* 预编译
|
|
2308
2281
|
* 对渲染中的数据提前解析序号及索引。牺牲提前编译耗时换取渲染中额外损耗,使运行时更加流畅
|
|
@@ -2332,7 +2305,6 @@ const Methods = {
|
|
|
2332
2305
|
}
|
|
2333
2306
|
fullMaps[rowid] = row
|
|
2334
2307
|
}, { children: treeOpts.transform ? treeOpts.mapChildrenField : childrenField })
|
|
2335
|
-
$xeTable.updateTreeDataIndex()
|
|
2336
2308
|
} else {
|
|
2337
2309
|
afterFullData.forEach((row: any, index: number) => {
|
|
2338
2310
|
const rowid = getRowid($xeTable, row)
|
|
@@ -6769,7 +6741,7 @@ const Methods = {
|
|
|
6769
6741
|
return this.$nextTick().then(() => {
|
|
6770
6742
|
if (transform) {
|
|
6771
6743
|
this.handleTableData()
|
|
6772
|
-
this.
|
|
6744
|
+
this.updateAfterDataIndex()
|
|
6773
6745
|
return this.$nextTick()
|
|
6774
6746
|
}
|
|
6775
6747
|
})
|
|
@@ -6883,7 +6855,7 @@ const Methods = {
|
|
|
6883
6855
|
return this.handleBaseTreeExpand(rows, expanded).then(() => {
|
|
6884
6856
|
handleVirtualTreeToList($xeTable)
|
|
6885
6857
|
this.handleTableData()
|
|
6886
|
-
this.
|
|
6858
|
+
this.updateAfterDataIndex()
|
|
6887
6859
|
}).then(() => {
|
|
6888
6860
|
return this.recalculate()
|
|
6889
6861
|
}).then(() => {
|
|
@@ -7380,9 +7352,9 @@ const Methods = {
|
|
|
7380
7352
|
* @param {Number} scrollLeft 左距离
|
|
7381
7353
|
* @param {Number} scrollTop 上距离
|
|
7382
7354
|
*/
|
|
7383
|
-
scrollTo (scrollLeft:
|
|
7384
|
-
const $xeTable = this
|
|
7385
|
-
const internalData = $xeTable
|
|
7355
|
+
scrollTo (scrollLeft: number | null, scrollTop?: number | null) {
|
|
7356
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
7357
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
7386
7358
|
|
|
7387
7359
|
const { $refs } = this
|
|
7388
7360
|
const { tableBody, tableHeader, leftBody, rightBody, tableFooter } = $refs
|
|
@@ -7429,9 +7401,13 @@ const Methods = {
|
|
|
7429
7401
|
* @param {Row} row 行对象
|
|
7430
7402
|
* @param {ColumnInfo} column 列配置
|
|
7431
7403
|
*/
|
|
7432
|
-
scrollToRow (row: any, fieldOrColumn
|
|
7433
|
-
const $xeTable = this
|
|
7404
|
+
scrollToRow (row: any, fieldOrColumn?: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo) {
|
|
7405
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
7406
|
+
const props = $xeTable
|
|
7407
|
+
const reactData = $xeTable as unknown as TableReactData
|
|
7434
7408
|
|
|
7409
|
+
const { showOverflow } = props
|
|
7410
|
+
const { scrollYLoad, scrollXLoad } = reactData
|
|
7435
7411
|
const rest = []
|
|
7436
7412
|
if (row) {
|
|
7437
7413
|
if (this.treeConfig) {
|
|
@@ -7443,7 +7419,15 @@ const Methods = {
|
|
|
7443
7419
|
if (fieldOrColumn) {
|
|
7444
7420
|
rest.push(handleScrollToRowColumn($xeTable, fieldOrColumn, row))
|
|
7445
7421
|
}
|
|
7446
|
-
return Promise.all(rest)
|
|
7422
|
+
return Promise.all(rest).then(() => {
|
|
7423
|
+
if (row) {
|
|
7424
|
+
if (!showOverflow && (scrollYLoad || scrollXLoad)) {
|
|
7425
|
+
calcCellHeight($xeTable)
|
|
7426
|
+
calcCellWidth($xeTable)
|
|
7427
|
+
}
|
|
7428
|
+
return $xeTable.$nextTick()
|
|
7429
|
+
}
|
|
7430
|
+
})
|
|
7447
7431
|
},
|
|
7448
7432
|
/**
|
|
7449
7433
|
* 如果有滚动条,则滚动到对应的列
|
|
@@ -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
|
-
|
|
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
|
|
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 ($
|
|
269
|
-
const vSize = $
|
|
270
|
-
|
|
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:
|
|
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 (
|
|
277
|
-
expandSize = countTreeExpand(
|
|
283
|
+
if (prevRow) {
|
|
284
|
+
expandSize = countTreeExpand(prevRow, params)
|
|
278
285
|
}
|
|
279
|
-
return
|
|
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) {
|
|
@@ -349,6 +356,7 @@ export function rowToVisible ($xeTable: any, row: any) {
|
|
|
349
356
|
const tableBody: any = $xeTable.$refs.tableBody
|
|
350
357
|
const { columnStore, scrollYLoad } = reactData
|
|
351
358
|
const { afterFullData, scrollYStore, fullAllDataRowIdData } = internalData
|
|
359
|
+
const { rowHeight } = scrollYStore
|
|
352
360
|
const { leftList, rightList } = columnStore
|
|
353
361
|
const bodyElem = tableBody ? tableBody.$el as HTMLDivElement : null
|
|
354
362
|
const rowid = getRowid($xeTable, row)
|
|
@@ -378,19 +386,19 @@ export function rowToVisible ($xeTable: any, row: any) {
|
|
|
378
386
|
// 如果是虚拟渲染滚动
|
|
379
387
|
if (scrollYLoad) {
|
|
380
388
|
if (showOverflow) {
|
|
381
|
-
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) *
|
|
389
|
+
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) * rowHeight)
|
|
382
390
|
}
|
|
383
391
|
let scrollTop = 0
|
|
384
|
-
const
|
|
385
|
-
const rHeight =
|
|
392
|
+
const rowRest = fullAllDataRowIdData[rowid]
|
|
393
|
+
const rHeight = rowRest ? (rowRest.height || rowHeight) : rowHeight
|
|
386
394
|
for (let i = 0; i < afterFullData.length; i++) {
|
|
387
395
|
const currRow = afterFullData[i]
|
|
388
396
|
const currRowid = getRowid($xeTable, currRow)
|
|
389
397
|
if (currRow === row || currRowid === rowid) {
|
|
390
398
|
break
|
|
391
399
|
}
|
|
392
|
-
const
|
|
393
|
-
scrollTop +=
|
|
400
|
+
const rowRest = fullAllDataRowIdData[currRowid]
|
|
401
|
+
scrollTop += rowRest ? (rowRest.height || rowHeight) : rowHeight
|
|
394
402
|
}
|
|
395
403
|
if (scrollTop < bodyScrollTop) {
|
|
396
404
|
return $xeTable.scrollTo(null, scrollTop - offsetFixedLeft - 1)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|