vxe-table 3.12.7 → 3.12.8
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/cell.js +19 -10
- package/es/table/src/methods.js +14 -5
- package/es/table/src/util.js +6 -5
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +38 -14
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +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 +19 -5
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/util.js +8 -5
- 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/cell.ts +19 -10
- package/packages/table/src/methods.ts +19 -10
- package/packages/table/src/util.ts +6 -5
- /package/es/{iconfont.1736327052753.ttf → iconfont.1736406699090.ttf} +0 -0
- /package/es/{iconfont.1736327052753.woff → iconfont.1736406699090.woff} +0 -0
- /package/es/{iconfont.1736327052753.woff2 → iconfont.1736406699090.woff2} +0 -0
- /package/lib/{iconfont.1736327052753.ttf → iconfont.1736406699090.ttf} +0 -0
- /package/lib/{iconfont.1736327052753.woff → iconfont.1736406699090.woff} +0 -0
- /package/lib/{iconfont.1736327052753.woff2 → iconfont.1736406699090.woff2} +0 -0
package/lib/table/src/util.js
CHANGED
|
@@ -405,6 +405,9 @@ function rowToVisible($xeTable, row) {
|
|
|
405
405
|
scrollYStore,
|
|
406
406
|
fullAllDataRowIdData
|
|
407
407
|
} = internalData;
|
|
408
|
+
const {
|
|
409
|
+
rowHeight
|
|
410
|
+
} = scrollYStore;
|
|
408
411
|
const {
|
|
409
412
|
leftList,
|
|
410
413
|
rightList
|
|
@@ -437,19 +440,19 @@ function rowToVisible($xeTable, row) {
|
|
|
437
440
|
// 如果是虚拟渲染滚动
|
|
438
441
|
if (scrollYLoad) {
|
|
439
442
|
if (showOverflow) {
|
|
440
|
-
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) *
|
|
443
|
+
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) * rowHeight);
|
|
441
444
|
}
|
|
442
445
|
let scrollTop = 0;
|
|
443
|
-
const
|
|
444
|
-
const rHeight =
|
|
446
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
447
|
+
const rHeight = rowRest ? rowRest.height || rowHeight : rowHeight;
|
|
445
448
|
for (let i = 0; i < afterFullData.length; i++) {
|
|
446
449
|
const currRow = afterFullData[i];
|
|
447
450
|
const currRowid = getRowid($xeTable, currRow);
|
|
448
451
|
if (currRow === row || currRowid === rowid) {
|
|
449
452
|
break;
|
|
450
453
|
}
|
|
451
|
-
const
|
|
452
|
-
scrollTop +=
|
|
454
|
+
const rowRest = fullAllDataRowIdData[currRowid];
|
|
455
|
+
scrollTop += rowRest ? rowRest.height || rowHeight : rowHeight;
|
|
453
456
|
}
|
|
454
457
|
if (scrollTop < bodyScrollTop) {
|
|
455
458
|
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},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,{leftList:
|
|
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()}
|
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.8";
|
|
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.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;
|
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.8"}`;
|
|
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.8",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.8",
|
|
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",
|
|
@@ -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
|
}
|
|
@@ -7380,9 +7377,9 @@ const Methods = {
|
|
|
7380
7377
|
* @param {Number} scrollLeft 左距离
|
|
7381
7378
|
* @param {Number} scrollTop 上距离
|
|
7382
7379
|
*/
|
|
7383
|
-
scrollTo (scrollLeft:
|
|
7384
|
-
const $xeTable = this
|
|
7385
|
-
const internalData = $xeTable
|
|
7380
|
+
scrollTo (scrollLeft: number | null, scrollTop?: number | null) {
|
|
7381
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
7382
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
7386
7383
|
|
|
7387
7384
|
const { $refs } = this
|
|
7388
7385
|
const { tableBody, tableHeader, leftBody, rightBody, tableFooter } = $refs
|
|
@@ -7429,9 +7426,13 @@ const Methods = {
|
|
|
7429
7426
|
* @param {Row} row 行对象
|
|
7430
7427
|
* @param {ColumnInfo} column 列配置
|
|
7431
7428
|
*/
|
|
7432
|
-
scrollToRow (row: any, fieldOrColumn
|
|
7433
|
-
const $xeTable = this
|
|
7429
|
+
scrollToRow (row: any, fieldOrColumn?: VxeColumnPropTypes.Field | VxeTableDefines.ColumnInfo) {
|
|
7430
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
7431
|
+
const props = $xeTable
|
|
7432
|
+
const reactData = $xeTable as unknown as TableReactData
|
|
7434
7433
|
|
|
7434
|
+
const { showOverflow } = props
|
|
7435
|
+
const { scrollYLoad, scrollXLoad } = reactData
|
|
7435
7436
|
const rest = []
|
|
7436
7437
|
if (row) {
|
|
7437
7438
|
if (this.treeConfig) {
|
|
@@ -7443,7 +7444,15 @@ const Methods = {
|
|
|
7443
7444
|
if (fieldOrColumn) {
|
|
7444
7445
|
rest.push(handleScrollToRowColumn($xeTable, fieldOrColumn, row))
|
|
7445
7446
|
}
|
|
7446
|
-
return Promise.all(rest)
|
|
7447
|
+
return Promise.all(rest).then(() => {
|
|
7448
|
+
if (row) {
|
|
7449
|
+
if (!showOverflow && (scrollYLoad || scrollXLoad)) {
|
|
7450
|
+
calcCellHeight($xeTable)
|
|
7451
|
+
calcCellWidth($xeTable)
|
|
7452
|
+
}
|
|
7453
|
+
return $xeTable.$nextTick()
|
|
7454
|
+
}
|
|
7455
|
+
})
|
|
7447
7456
|
},
|
|
7448
7457
|
/**
|
|
7449
7458
|
* 如果有滚动条,则滚动到对应的列
|
|
@@ -349,6 +349,7 @@ export function rowToVisible ($xeTable: any, row: any) {
|
|
|
349
349
|
const tableBody: any = $xeTable.$refs.tableBody
|
|
350
350
|
const { columnStore, scrollYLoad } = reactData
|
|
351
351
|
const { afterFullData, scrollYStore, fullAllDataRowIdData } = internalData
|
|
352
|
+
const { rowHeight } = scrollYStore
|
|
352
353
|
const { leftList, rightList } = columnStore
|
|
353
354
|
const bodyElem = tableBody ? tableBody.$el as HTMLDivElement : null
|
|
354
355
|
const rowid = getRowid($xeTable, row)
|
|
@@ -378,19 +379,19 @@ export function rowToVisible ($xeTable: any, row: any) {
|
|
|
378
379
|
// 如果是虚拟渲染滚动
|
|
379
380
|
if (scrollYLoad) {
|
|
380
381
|
if (showOverflow) {
|
|
381
|
-
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) *
|
|
382
|
+
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) * rowHeight)
|
|
382
383
|
}
|
|
383
384
|
let scrollTop = 0
|
|
384
|
-
const
|
|
385
|
-
const rHeight =
|
|
385
|
+
const rowRest = fullAllDataRowIdData[rowid]
|
|
386
|
+
const rHeight = rowRest ? (rowRest.height || rowHeight) : rowHeight
|
|
386
387
|
for (let i = 0; i < afterFullData.length; i++) {
|
|
387
388
|
const currRow = afterFullData[i]
|
|
388
389
|
const currRowid = getRowid($xeTable, currRow)
|
|
389
390
|
if (currRow === row || currRowid === rowid) {
|
|
390
391
|
break
|
|
391
392
|
}
|
|
392
|
-
const
|
|
393
|
-
scrollTop +=
|
|
393
|
+
const rowRest = fullAllDataRowIdData[currRowid]
|
|
394
|
+
scrollTop += rowRest ? (rowRest.height || rowHeight) : rowHeight
|
|
394
395
|
}
|
|
395
396
|
if (scrollTop < bodyScrollTop) {
|
|
396
397
|
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
|