vxe-table 4.10.3 → 4.10.4
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/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/cell.js +23 -11
- package/es/table/src/table.js +12 -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.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +47 -15
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/cell.js +20 -3
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/table.js +17 -5
- package/lib/table/src/table.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 +23 -11
- package/packages/table/src/table.ts +13 -6
- package/packages/table/src/util.ts +6 -5
- /package/es/{iconfont.1736327177051.ttf → iconfont.1736406719113.ttf} +0 -0
- /package/es/{iconfont.1736327177051.woff → iconfont.1736406719113.woff} +0 -0
- /package/es/{iconfont.1736327177051.woff2 → iconfont.1736406719113.woff2} +0 -0
- /package/lib/{iconfont.1736327177051.ttf → iconfont.1736406719113.ttf} +0 -0
- /package/lib/{iconfont.1736327177051.woff → iconfont.1736406719113.woff} +0 -0
- /package/lib/{iconfont.1736327177051.woff2 → iconfont.1736406719113.woff2} +0 -0
package/lib/table/src/util.js
CHANGED
|
@@ -447,6 +447,9 @@ function rowToVisible($xeTable, row) {
|
|
|
447
447
|
scrollYStore,
|
|
448
448
|
fullAllDataRowIdData
|
|
449
449
|
} = internalData;
|
|
450
|
+
const {
|
|
451
|
+
rowHeight
|
|
452
|
+
} = scrollYStore;
|
|
450
453
|
const tableBody = refTableBody.value;
|
|
451
454
|
const {
|
|
452
455
|
leftList,
|
|
@@ -480,19 +483,19 @@ function rowToVisible($xeTable, row) {
|
|
|
480
483
|
// 如果是虚拟渲染滚动
|
|
481
484
|
if (scrollYLoad) {
|
|
482
485
|
if (showOverflow) {
|
|
483
|
-
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) *
|
|
486
|
+
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) * rowHeight);
|
|
484
487
|
}
|
|
485
488
|
let scrollTop = 0;
|
|
486
|
-
const
|
|
487
|
-
const rHeight =
|
|
489
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
490
|
+
const rHeight = rowRest ? rowRest.height || rowHeight : rowHeight;
|
|
488
491
|
for (let i = 0; i < afterFullData.length; i++) {
|
|
489
492
|
const currRow = afterFullData[i];
|
|
490
493
|
const currRowid = getRowid($xeTable, currRow);
|
|
491
494
|
if (currRow === row || currRowid === rowid) {
|
|
492
495
|
break;
|
|
493
496
|
}
|
|
494
|
-
const
|
|
495
|
-
scrollTop +=
|
|
497
|
+
const rowRest = fullAllDataRowIdData[currRowid];
|
|
498
|
+
scrollTop += rowRest ? rowRest.height || rowHeight : rowHeight;
|
|
496
499
|
}
|
|
497
500
|
if (scrollTop < bodyScrollTop) {
|
|
498
501
|
return $xeTable.scrollTo(null, scrollTop - offsetFixedLeft - 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.destroyColumn=destroyColumn,exports.getCellValue=getCellValue,exports.getColReMaxWidth=getColReMaxWidth,exports.getColReMinWidth=getColReMinWidth,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=void 0,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq,exports.watchColumn=watchColumn;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom");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.internalData;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 getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var l=e.props,e=e.getComputeMaps().computeRowOpts,l=l.rowId,e=e.value;return l||e.keyField||"_X_ROW_KEY"}function getRowid(e,l){l=_xeUtils.default.get(l,getRowkey(e));return _xeUtils.default.eqNull(l)?"":encodeURIComponent(l)}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let handleFieldOrColumn=(e,l)=>l?_xeUtils.default.isString(l)?e.getColumnByField(l):l:null;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 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 toTreePathSeq(e){return e.map((e,l)=>l%2==0?Number(e)+1:".").join("")}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 getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function getColReMaxWidth(e){var l=e.$table,l=l.getComputeMaps().computeResizableOpts,l=l.value.maxWidth;if(l){e=_xeUtils.default.isFunction(l)?l(e):l;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}return-1}function getColReMinWidth(e){var{$table:l,column:t,cell:r}=e,o=l.props,n=l.getComputeMaps().computeResizableOpts,n=n.value.minWidth;if(n){e=_xeUtils.default.isFunction(n)?n(e):n;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var i,a,u,n=o.showHeaderOverflow,{showHeaderOverflow:e,minWidth:o}=t,t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?n:e,n="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;let s=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(n&&(e=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--drag-handle")),t=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--checkbox")),n=getElementMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),c=getElementMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),i=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),a=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),u=getElementMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElementMarginWidth(queryCellElement(r,">.vxe-cell--filter")),s+=e+t+n+c+i+a+r+u),o){var c,e=l.getRefMaps().refTableBody,t=e.value,n=t?t.$el:null;if(n){if((0,_dom.isScale)(o))return c=(n.clientWidth-1)/100,Math.max(s,Math.floor(_xeUtils.default.toInteger(o)*c));if((0,_dom.isPx)(o))return Math.max(s,_xeUtils.default.toInteger(o))}}return s}function isColumnInfo(e){return e&&(e.constructor===_columnInfo.ColumnInfo||e instanceof _columnInfo.ColumnInfo)}function createColumn(e,l,t){return isColumnInfo(l)?l:(0,_vue.reactive)(new _columnInfo.ColumnInfo(e,l,t))}function watchColumn(t,e,r){Object.keys(e).forEach(l=>{(0,_vue.watch)(()=>e[l],e=>{r.update(l,e),t&&("filters"===l?(t.setFilter(r,e),t.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(l)&&t.handleRefreshColumnQueue())})})}function assembleColumn(e,l,t,r){var e=e.reactData,o=e.staticColumns,n=l.parentNode,r=r?r.columnConfig:null,r=r?r.children:o;n&&r&&(r.splice(_xeUtils.default.arrayIndexOf(n.children,l),0,t),e.staticColumns=o.slice(0))}function destroyColumn(e,l){var e=e.reactData,t=e.staticColumns,r=_xeUtils.default.findTree(t,e=>e.id===l.id,{children:"children"});r&&r.items.splice(r.index,1),e.staticColumns=t.slice(0)}function getRootColumn(e,l){var e=e.internalData,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 mergeBodyMethod(l,t,r){for(let e=0;e<l.length;e++){var{row:o,col:n,rowspan:i,colspan:a}=l[e];if(-1<n&&-1<o&&i&&a){if(o===t&&n===r)return{rowspan:i,colspan:a};if(o<=t&&t<o+i&&n<=r&&r<n+a)return{rowspan:0,colspan:0}}}}function clearTableDefaultStatus(e){var{props:l,internalData:t}=e;return t.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearPendingRow(),e.clearFilter&&e.clearFilter(),e.clearSelected&&(l.keyboardConfig||l.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&l.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function rowToVisible(t,r){var{reactData:e,internalData:o}=t,n=t.props.showOverflow,i=t.getRefMaps().refTableBody,{columnStore:e,scrollYLoad:l}=e,{afterFullData:a,scrollYStore:o,fullAllDataRowIdData:u}=o,
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.destroyColumn=destroyColumn,exports.getCellValue=getCellValue,exports.getColReMaxWidth=getColReMaxWidth,exports.getColReMinWidth=getColReMinWidth,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=void 0,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq,exports.watchColumn=watchColumn;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom");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.internalData;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 getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var l=e.props,e=e.getComputeMaps().computeRowOpts,l=l.rowId,e=e.value;return l||e.keyField||"_X_ROW_KEY"}function getRowid(e,l){l=_xeUtils.default.get(l,getRowkey(e));return _xeUtils.default.eqNull(l)?"":encodeURIComponent(l)}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let handleFieldOrColumn=(e,l)=>l?_xeUtils.default.isString(l)?e.getColumnByField(l):l:null;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 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 toTreePathSeq(e){return e.map((e,l)=>l%2==0?Number(e)+1:".").join("")}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 getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function getColReMaxWidth(e){var l=e.$table,l=l.getComputeMaps().computeResizableOpts,l=l.value.maxWidth;if(l){e=_xeUtils.default.isFunction(l)?l(e):l;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}return-1}function getColReMinWidth(e){var{$table:l,column:t,cell:r}=e,o=l.props,n=l.getComputeMaps().computeResizableOpts,n=n.value.minWidth;if(n){e=_xeUtils.default.isFunction(n)?n(e):n;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var i,a,u,n=o.showHeaderOverflow,{showHeaderOverflow:e,minWidth:o}=t,t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?n:e,n="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;let s=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(n&&(e=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--drag-handle")),t=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--checkbox")),n=getElementMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),c=getElementMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),i=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),a=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),u=getElementMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElementMarginWidth(queryCellElement(r,">.vxe-cell--filter")),s+=e+t+n+c+i+a+r+u),o){var c,e=l.getRefMaps().refTableBody,t=e.value,n=t?t.$el:null;if(n){if((0,_dom.isScale)(o))return c=(n.clientWidth-1)/100,Math.max(s,Math.floor(_xeUtils.default.toInteger(o)*c));if((0,_dom.isPx)(o))return Math.max(s,_xeUtils.default.toInteger(o))}}return s}function isColumnInfo(e){return e&&(e.constructor===_columnInfo.ColumnInfo||e instanceof _columnInfo.ColumnInfo)}function createColumn(e,l,t){return isColumnInfo(l)?l:(0,_vue.reactive)(new _columnInfo.ColumnInfo(e,l,t))}function watchColumn(t,e,r){Object.keys(e).forEach(l=>{(0,_vue.watch)(()=>e[l],e=>{r.update(l,e),t&&("filters"===l?(t.setFilter(r,e),t.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(l)&&t.handleRefreshColumnQueue())})})}function assembleColumn(e,l,t,r){var e=e.reactData,o=e.staticColumns,n=l.parentNode,r=r?r.columnConfig:null,r=r?r.children:o;n&&r&&(r.splice(_xeUtils.default.arrayIndexOf(n.children,l),0,t),e.staticColumns=o.slice(0))}function destroyColumn(e,l){var e=e.reactData,t=e.staticColumns,r=_xeUtils.default.findTree(t,e=>e.id===l.id,{children:"children"});r&&r.items.splice(r.index,1),e.staticColumns=t.slice(0)}function getRootColumn(e,l){var e=e.internalData,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 mergeBodyMethod(l,t,r){for(let e=0;e<l.length;e++){var{row:o,col:n,rowspan:i,colspan:a}=l[e];if(-1<n&&-1<o&&i&&a){if(o===t&&n===r)return{rowspan:i,colspan:a};if(o<=t&&t<o+i&&n<=r&&r<n+a)return{rowspan:0,colspan:0}}}}function clearTableDefaultStatus(e){var{props:l,internalData:t}=e;return t.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearPendingRow(),e.clearFilter&&e.clearFilter(),e.clearSelected&&(l.keyboardConfig||l.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&l.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function rowToVisible(t,r){var{reactData:e,internalData:o}=t,n=t.props.showOverflow,i=t.getRefMaps().refTableBody,{columnStore:e,scrollYLoad:l}=e,{afterFullData:a,scrollYStore:o,fullAllDataRowIdData:u}=o,s=o.rowHeight,o=i.value,{leftList:i,rightList:e}=e,o=o?o.$el:null,c=getRowid(t,r);let d=0,f=(i.forEach(e=>{d+=e.renderWidth}),0);if(e.forEach(e=>{f+=e.renderWidth}),o){i=o.clientHeight,e=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<e||e+i<m)return t.scrollTo(null,m);if(i+e<=m+o)return t.scrollTo(null,e+o)}else if(l){if(n)return t.scrollTo(null,(t.findRowIndexOf(a,r)-1)*s);let l=0;m=u[c],o=m&&m.height||s;for(let e=0;e<a.length;e++){var h=a[e],g=getRowid(t,h);if(h===r||g===c)break;h=u[g];l+=h&&h.height||s}return l<e?t.scrollTo(null,l-d-1):t.scrollTo(null,l+o-(i-f-1))}}return Promise.resolve()}function colToVisible(o,n,l){var{reactData:i,internalData:a}=o,u=o.getRefMaps().refTableBody,{columnStore:i,scrollXLoad:s}=i,c=a.visibleColumn,{leftList:a,rightList:i}=i,u=u.value,u=u?u.$el:null;if(!n.fixed){let t=0,r=(a.forEach(e=>{t+=e.renderWidth}),0);if(i.forEach(e=>{r+=e.renderWidth}),u){a=u.clientWidth,i=u.scrollLeft;let e=null;if(l&&(l=getRowid(o,l),e=u.querySelector(`[rowid="${l}"] .`+n.id)),e=e||u.querySelector("."+n.id)){l=e.offsetParent,u=e.offsetLeft+(l?l.offsetLeft:0),l=e.clientWidth;if(u<i+t)return o.scrollTo(u-t-1);if(u+l-i>a-r)return o.scrollTo(u+l-(a-r-1))}else if(s){let l=0;u=n.renderWidth;for(let e=0;e<c.length;e++){var d=c[e];if(d===n||d.id===n.id)break;l+=d.renderWidth}return l<i?o.scrollTo(l-t-1):o.scrollTo(l+u-(a-r-1))}}}return Promise.resolve()}exports.handleFieldOrColumn=handleFieldOrColumn;
|
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.hooks = 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 = "4.10.
|
|
16
|
+
const version = exports.version = "4.10.4";
|
|
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.hooks=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="4.10.
|
|
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.hooks=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="4.10.4",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,hooks=exports.hooks=_core.VxeUI.hooks,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${"4.10.
|
|
11
|
+
const version = `table v${"4.10.4"}`;
|
|
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 v4.10.
|
|
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 v4.10.4",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": "4.10.
|
|
3
|
+
"version": "4.10.4",
|
|
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": "^4.3.
|
|
31
|
+
"vxe-pc-ui": "^4.3.68"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@types/resize-observer-browser": "^0.1.11",
|
|
@@ -45,14 +45,18 @@ function renderTitleSuffixIcon (params: VxeTableDefines.CellRenderHeaderParams &
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
function renderCellDragIcon (params: VxeTableDefines.CellRenderBodyParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
|
|
48
|
-
const { $table } = params
|
|
48
|
+
const { $table, column } = params
|
|
49
|
+
const { context } = $table
|
|
50
|
+
const tableSlots = context.slots
|
|
49
51
|
const tableProps = $table.props
|
|
52
|
+
const { slots } = column
|
|
50
53
|
const { dragConfig } = tableProps
|
|
51
54
|
const { computeRowDragOpts } = $table.getComputeMaps()
|
|
52
55
|
const rowDragOpts = computeRowDragOpts.value
|
|
53
56
|
const { icon, trigger, disabledMethod } = rowDragOpts
|
|
54
57
|
const rDisabledMethod = disabledMethod || (dragConfig ? dragConfig.rowDisabledMethod : null)
|
|
55
58
|
const isDisabled = rDisabledMethod && rDisabledMethod(params)
|
|
59
|
+
const rowDragIconSlot = (slots ? slots.rowDragIcon || slots['row-drag-icon'] : null) || tableSlots.rowDragIcon || tableSlots['row-drag-icon']
|
|
56
60
|
const ons: Record<string, any> = {}
|
|
57
61
|
if (trigger !== 'cell') {
|
|
58
62
|
ons.onMousedown = (evnt: MouseEvent) => {
|
|
@@ -68,11 +72,13 @@ function renderCellDragIcon (params: VxeTableDefines.CellRenderBodyParams & { $t
|
|
|
68
72
|
'is--disabled': isDisabled
|
|
69
73
|
}],
|
|
70
74
|
...ons
|
|
71
|
-
},
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
75
|
+
}, rowDragIconSlot
|
|
76
|
+
? $table.callSlot(rowDragIconSlot, params)
|
|
77
|
+
: [
|
|
78
|
+
h('i', {
|
|
79
|
+
class: icon || (dragConfig ? dragConfig.rowIcon : '') || getIcon().TABLE_DRAG_ROW
|
|
80
|
+
})
|
|
81
|
+
])
|
|
76
82
|
}
|
|
77
83
|
|
|
78
84
|
function renderCellBaseVNs (params: VxeTableDefines.CellRenderBodyParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }, content: VxeComponentSlotType | VxeComponentSlotType[]) {
|
|
@@ -104,6 +110,9 @@ function renderCellBaseVNs (params: VxeTableDefines.CellRenderBodyParams & { $ta
|
|
|
104
110
|
|
|
105
111
|
function renderHeaderCellDragIcon (params: VxeTableDefines.CellRenderHeaderParams & { $table: VxeTableConstructor & VxeTablePrivateMethods }) {
|
|
106
112
|
const { $table, column } = params
|
|
113
|
+
const { context } = $table
|
|
114
|
+
const tableSlots = context.slots
|
|
115
|
+
const { slots } = column
|
|
107
116
|
const { computeColumnOpts, computeColumnDragOpts } = $table.getComputeMaps()
|
|
108
117
|
const columnOpts = computeColumnOpts.value
|
|
109
118
|
const columnDragOpts = computeColumnDragOpts.value
|
|
@@ -111,6 +120,7 @@ function renderHeaderCellDragIcon (params: VxeTableDefines.CellRenderHeaderParam
|
|
|
111
120
|
if (columnOpts.drag && showIcon && (!visibleMethod || visibleMethod(params))) {
|
|
112
121
|
if (!column.fixed && (isPeerDrag || isCrossDrag || !column.parentId)) {
|
|
113
122
|
const isDisabled = disabledMethod && disabledMethod(params)
|
|
123
|
+
const columnDragIconSlot = (slots ? slots.columnDragIcon || slots['column-drag-icon'] : null) || tableSlots.columnDragIcon || tableSlots['column-drag-icon']
|
|
114
124
|
const ons: Record<string, any> = {}
|
|
115
125
|
if (trigger !== 'cell') {
|
|
116
126
|
ons.onMousedown = (evnt: MouseEvent) => {
|
|
@@ -126,11 +136,13 @@ function renderHeaderCellDragIcon (params: VxeTableDefines.CellRenderHeaderParam
|
|
|
126
136
|
'is--disabled': isDisabled
|
|
127
137
|
}],
|
|
128
138
|
...ons
|
|
129
|
-
},
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
139
|
+
}, columnDragIconSlot
|
|
140
|
+
? $table.callSlot(columnDragIconSlot, params)
|
|
141
|
+
: [
|
|
142
|
+
h('i', {
|
|
143
|
+
class: icon || getIcon().TABLE_DRAG_COLUMN
|
|
144
|
+
})
|
|
145
|
+
])
|
|
134
146
|
}
|
|
135
147
|
}
|
|
136
148
|
return renderEmptyElement($table)
|
|
@@ -894,10 +894,7 @@ export default defineComponent({
|
|
|
894
894
|
const row = afterFullData[rIndex]
|
|
895
895
|
const rowid = getRowid($xeTable, row)
|
|
896
896
|
const rowRest = fullAllDataRowIdData[rowid]
|
|
897
|
-
|
|
898
|
-
break
|
|
899
|
-
}
|
|
900
|
-
offsetTop += rowRest.height || rowHeight
|
|
897
|
+
offsetTop += rowRest ? (rowRest.height || rowHeight) : rowHeight
|
|
901
898
|
if (toVisibleIndex === -1 && scrollTop < offsetTop) {
|
|
902
899
|
toVisibleIndex = rIndex
|
|
903
900
|
}
|
|
@@ -5146,7 +5143,7 @@ export default defineComponent({
|
|
|
5146
5143
|
* @param {Number} scrollLeft 左距离
|
|
5147
5144
|
* @param {Number} scrollTop 上距离
|
|
5148
5145
|
*/
|
|
5149
|
-
scrollTo (scrollLeft
|
|
5146
|
+
scrollTo (scrollLeft, scrollTop) {
|
|
5150
5147
|
const tableBody = refTableBody.value
|
|
5151
5148
|
const tableHeader = refTableHeader.value
|
|
5152
5149
|
const tableFooter = refTableFooter.value
|
|
@@ -5196,6 +5193,8 @@ export default defineComponent({
|
|
|
5196
5193
|
* @param {ColumnInfo} fieldOrColumn 列配置
|
|
5197
5194
|
*/
|
|
5198
5195
|
scrollToRow (row, fieldOrColumn) {
|
|
5196
|
+
const { showOverflow } = props
|
|
5197
|
+
const { scrollYLoad, scrollXLoad } = reactData
|
|
5199
5198
|
const rest = []
|
|
5200
5199
|
if (row) {
|
|
5201
5200
|
if (props.treeConfig) {
|
|
@@ -5207,7 +5206,15 @@ export default defineComponent({
|
|
|
5207
5206
|
if (fieldOrColumn) {
|
|
5208
5207
|
rest.push(handleScrollToRowColumn(fieldOrColumn, row))
|
|
5209
5208
|
}
|
|
5210
|
-
return Promise.all(rest)
|
|
5209
|
+
return Promise.all(rest).then(() => {
|
|
5210
|
+
if (row) {
|
|
5211
|
+
if (!showOverflow && (scrollYLoad || scrollXLoad)) {
|
|
5212
|
+
calcCellHeight()
|
|
5213
|
+
calcCellWidth()
|
|
5214
|
+
}
|
|
5215
|
+
return nextTick()
|
|
5216
|
+
}
|
|
5217
|
+
})
|
|
5211
5218
|
},
|
|
5212
5219
|
/**
|
|
5213
5220
|
* 如果有滚动条,则滚动到对应的列
|
|
@@ -385,6 +385,7 @@ export function rowToVisible ($xeTable: VxeTableConstructor & VxeTablePrivateMet
|
|
|
385
385
|
const { refTableBody } = $xeTable.getRefMaps()
|
|
386
386
|
const { columnStore, scrollYLoad } = reactData
|
|
387
387
|
const { afterFullData, scrollYStore, fullAllDataRowIdData } = internalData
|
|
388
|
+
const { rowHeight } = scrollYStore
|
|
388
389
|
const tableBody = refTableBody.value
|
|
389
390
|
const { leftList, rightList } = columnStore
|
|
390
391
|
const bodyElem = tableBody ? tableBody.$el as HTMLDivElement : null
|
|
@@ -415,19 +416,19 @@ export function rowToVisible ($xeTable: VxeTableConstructor & VxeTablePrivateMet
|
|
|
415
416
|
// 如果是虚拟渲染滚动
|
|
416
417
|
if (scrollYLoad) {
|
|
417
418
|
if (showOverflow) {
|
|
418
|
-
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) *
|
|
419
|
+
return $xeTable.scrollTo(null, ($xeTable.findRowIndexOf(afterFullData, row) - 1) * rowHeight)
|
|
419
420
|
}
|
|
420
421
|
let scrollTop = 0
|
|
421
|
-
const
|
|
422
|
-
const rHeight =
|
|
422
|
+
const rowRest = fullAllDataRowIdData[rowid]
|
|
423
|
+
const rHeight = rowRest ? (rowRest.height || rowHeight) : rowHeight
|
|
423
424
|
for (let i = 0; i < afterFullData.length; i++) {
|
|
424
425
|
const currRow = afterFullData[i]
|
|
425
426
|
const currRowid = getRowid($xeTable, currRow)
|
|
426
427
|
if (currRow === row || currRowid === rowid) {
|
|
427
428
|
break
|
|
428
429
|
}
|
|
429
|
-
const
|
|
430
|
-
scrollTop +=
|
|
430
|
+
const rowRest = fullAllDataRowIdData[currRowid]
|
|
431
|
+
scrollTop += rowRest ? (rowRest.height || rowHeight) : rowHeight
|
|
431
432
|
}
|
|
432
433
|
if (scrollTop < bodyScrollTop) {
|
|
433
434
|
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
|