vxe-table 4.9.1 → 4.9.2

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.
@@ -510,7 +510,7 @@ function rowToVisible($xeTable, row) {
510
510
  }
511
511
  return Promise.resolve();
512
512
  }
513
- function colToVisible($xeTable, column) {
513
+ function colToVisible($xeTable, column, row) {
514
514
  const {
515
515
  reactData,
516
516
  internalData
@@ -545,7 +545,14 @@ function colToVisible($xeTable, column) {
545
545
  if (bodyElem) {
546
546
  const bodyWidth = bodyElem.clientWidth;
547
547
  const bodyScrollLeft = bodyElem.scrollLeft;
548
- const tdElem = bodyElem.querySelector(`.${column.id}`);
548
+ let tdElem = null;
549
+ if (row) {
550
+ const rowid = getRowid($xeTable, row);
551
+ tdElem = bodyElem.querySelector(`[rowid="${rowid}"] .${column.id}`);
552
+ }
553
+ if (!tdElem) {
554
+ tdElem = bodyElem.querySelector(`.${column.id}`);
555
+ }
549
556
  if (tdElem) {
550
557
  const tdOffsetParent = tdElem.offsetParent;
551
558
  const tdOffsetLeft = tdElem.offsetLeft + (tdOffsetParent ? tdOffsetParent.offsetLeft : 0);
@@ -1 +1 @@
1
- "use strict";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}}const getAllConvertColumns=(e,t)=>{const l=[];return e.forEach(e=>{e.parentId=t?t.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(l.push(e),l.push(...getAllConvertColumns(e.children,e))):l.push(e))}),l},convertHeaderColumnToRows=e=>{let t=1;const r=(l,e)=>{if(e&&(l.level=e.level+1,t<l.level)&&(t=l.level),l.children&&l.children.length&&l.children.some(e=>e.visible)){let t=0;l.children.forEach(e=>{e.visible&&(r(e,l),t+=e.colSpan)}),l.colSpan=t}else l.colSpan=1},l=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=t-e.level+1,l[e.level-1].push(e)}),l};function restoreScrollLocation(e,t,l){const r=e["internalData"];return e.clearScroll().then(()=>{if(t||l)return r.lastScrollLeft=0,r.lastScrollTop=0,e.scrollTo(t,l)})}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var t=e["props"],e=e.getComputeMaps()["computeRowOpts"],t=t["rowId"],e=e.value;return t||e.keyField||"_X_ROW_KEY"}function getRowid(e,t){t=_xeUtils.default.get(t,getRowkey(e));return _xeUtils.default.eqNull(t)?"":encodeURIComponent(t)}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;const handleFieldOrColumn=(e,t)=>t?_xeUtils.default.isString(t)?e.getColumnByField(t):t:null;function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElemenMarginWidth(e){var t,l;return e?(l=getComputedStyle(e),t=_xeUtils.default.toNumber(l.marginLeft),l=_xeUtils.default.toNumber(l.marginRight),e.offsetWidth+t+l):0}function queryCellElement(e,t){return e.querySelector(".vxe-cell"+t)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:t,data:l,resetValue:r,checked:o})=>({label:e,value:t,data:l,resetValue:r,checked:!!o,_checked:!!o})):e}function toTreePathSeq(e){return e.map((e,t)=>t%2==0?Number(e)+1:".").join("")}function getCellValue(e,t){return _xeUtils.default.get(e,t.field)}function setCellValue(e,t,l){return _xeUtils.default.set(e,t.field,l)}function getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function getColReMaxWidth(e){var t=e["$table"],t=t.getComputeMaps()["computeResizableOpts"],t=t.value["maxWidth"];if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}return-1}function getColReMinWidth(e){var{$table:t,column:l,cell:r}=e,o=t["props"],n=t.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,n=o["showHeaderOverflow"],{showHeaderOverflow:e,minWidth:o}=l,l=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?n:e,n="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let u=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(n&&(e=getPaddingLeftRightSize(queryCellElement(r,"--title>.vxe-cell--checkbox")),l=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),n=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),s=getElemenMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),i=getElemenMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),a=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--filter")),u+=e+l+n+s+i+r+a),o){var s,e=t.getRefMaps()["refTableBody"],l=e.value,n=l?l.$el:null;if(n){if((0,_dom.isScale)(o))return s=(n.clientWidth-1)/100,Math.max(u,Math.floor(_xeUtils.default.toInteger(o)*s));if((0,_dom.isPx)(o))return Math.max(u,_xeUtils.default.toInteger(o))}}return u}function isColumnInfo(e){return e&&(e.constructor===_columnInfo.ColumnInfo||e instanceof _columnInfo.ColumnInfo)}function createColumn(e,t,l){return isColumnInfo(t)?t:(0,_vue.reactive)(new _columnInfo.ColumnInfo(e,t,l))}function watchColumn(l,e,r){Object.keys(e).forEach(t=>{(0,_vue.watch)(()=>e[t],e=>{r.update(t,e),l&&("filters"===t?(l.setFilter(r,e),l.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(t)&&l.handleRefreshColumnQueue())})})}function assembleColumn(e,t,l,r){var e=e["reactData"],o=e["staticColumns"],n=t.parentNode,r=r?r.columnConfig:null,r=r?r.children:o;n&&r&&(r.splice(_xeUtils.default.arrayIndexOf(n.children,t),0,l),e.staticColumns=o.slice(0))}function destroyColumn(e,t){var e=e["reactData"],l=e["staticColumns"],r=_xeUtils.default.findTree(l,e=>e.id===t.id,{children:"children"});r&&r.items.splice(r.index,1),e.staticColumns=l.slice(0)}function getRootColumn(e,t){var e=e["internalData"],l=e["fullColumnIdData"];if(!t)return null;let r=t.parentId;for(;l[r];){const t=l[r].column;if(!(r=t.parentId))return t}return t}function mergeBodyMethod(t,l,r){for(let e=0;e<t.length;e++){var{row:o,col:n,rowspan:i,colspan:a}=t[e];if(-1<n&&-1<o&&i&&a){if(o===l&&n===r)return{rowspan:i,colspan:a};if(o<=l&&l<o+i&&n<=r&&r<n+a)return{rowspan:0,colspan:0}}}}function clearTableDefaultStatus(e){var{props:t,internalData:l}=e;return l.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&&(t.keyboardConfig||t.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&t.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function rowToVisible(l,r){var{reactData:e,internalData:o}=l,n=l.props["showOverflow"],i=l.getRefMaps()["refTableBody"],{columnStore:e,scrollYLoad:t}=e,{afterFullData:a,scrollYStore:o,fullAllDataRowIdData:u}=o,i=i.value,{leftList:e,rightList:s}=e,i=i?i.$el:null,c=getRowid(l,r);let d=0,f=(e.forEach(e=>{d+=e.renderWidth}),0);if(s.forEach(e=>{f+=e.renderWidth}),i){e=i.clientHeight,s=i.scrollTop,i=i.querySelector(`[rowid="${c}"]`);if(i){var m=i.offsetParent,m=i.offsetTop+(m?m.offsetTop:0),i=i.clientHeight;if(m<s||s+e<m)return l.scrollTo(null,m);if(e+s<=m+i)return l.scrollTo(null,s+i)}else if(t){if(n)return l.scrollTo(null,(l.findRowIndexOf(a,r)-1)*o.rowHeight);let t=0;m=u[c],i=m?m.height:0;for(let e=0;e<a.length;e++){var h=a[e],g=getRowid(l,h);if(h===r||g===c)break;h=u[g];t+=h?h.height:0}return t<s?l.scrollTo(null,t-d-1):l.scrollTo(null,t+i-(e-f-1))}}return Promise.resolve()}function colToVisible(e,o){var{reactData:n,internalData:i}=e,t=e.getRefMaps()["refTableBody"],{columnStore:n,scrollXLoad:a}=n,u=i["visibleColumn"],{leftList:i,rightList:n}=n,t=t.value,t=t?t.$el:null;if(!o.fixed){let l=0,r=(i.forEach(e=>{l+=e.renderWidth}),0);if(n.forEach(e=>{r+=e.renderWidth}),t){i=t.clientWidth,n=t.scrollLeft,t=t.querySelector("."+o.id);if(t){var s=t.offsetParent,s=t.offsetLeft+(s?s.offsetLeft:0),t=t.clientWidth;if(s<n+l)return e.scrollTo(s-l-1);if(s+t-n>i-r)return e.scrollTo(s+t-(i-r-1))}else if(a){let t=0;s=o.renderWidth;for(let e=0;e<u.length;e++){var c=u[e];if(c===o||c.id===o.id)break;t+=c.renderWidth}return t<n?e.scrollTo(t-l-1):e.scrollTo(t+s-(i-r-1))}}}return Promise.resolve()}exports.handleFieldOrColumn=handleFieldOrColumn;
1
+ "use strict";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}}const getAllConvertColumns=(e,t)=>{const l=[];return e.forEach(e=>{e.parentId=t?t.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(l.push(e),l.push(...getAllConvertColumns(e.children,e))):l.push(e))}),l},convertHeaderColumnToRows=e=>{let t=1;const r=(l,e)=>{if(e&&(l.level=e.level+1,t<l.level)&&(t=l.level),l.children&&l.children.length&&l.children.some(e=>e.visible)){let t=0;l.children.forEach(e=>{e.visible&&(r(e,l),t+=e.colSpan)}),l.colSpan=t}else l.colSpan=1},l=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=t-e.level+1,l[e.level-1].push(e)}),l};function restoreScrollLocation(e,t,l){const r=e["internalData"];return e.clearScroll().then(()=>{if(t||l)return r.lastScrollLeft=0,r.lastScrollTop=0,e.scrollTo(t,l)})}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var t=e["props"],e=e.getComputeMaps()["computeRowOpts"],t=t["rowId"],e=e.value;return t||e.keyField||"_X_ROW_KEY"}function getRowid(e,t){t=_xeUtils.default.get(t,getRowkey(e));return _xeUtils.default.eqNull(t)?"":encodeURIComponent(t)}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;const handleFieldOrColumn=(e,t)=>t?_xeUtils.default.isString(t)?e.getColumnByField(t):t:null;function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElemenMarginWidth(e){var t,l;return e?(l=getComputedStyle(e),t=_xeUtils.default.toNumber(l.marginLeft),l=_xeUtils.default.toNumber(l.marginRight),e.offsetWidth+t+l):0}function queryCellElement(e,t){return e.querySelector(".vxe-cell"+t)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:t,data:l,resetValue:r,checked:o})=>({label:e,value:t,data:l,resetValue:r,checked:!!o,_checked:!!o})):e}function toTreePathSeq(e){return e.map((e,t)=>t%2==0?Number(e)+1:".").join("")}function getCellValue(e,t){return _xeUtils.default.get(e,t.field)}function setCellValue(e,t,l){return _xeUtils.default.set(e,t.field,l)}function getRefElem(e){if(e){e=e.value;if(e)return e.$el||e}return null}function getColReMaxWidth(e){var t=e["$table"],t=t.getComputeMaps()["computeResizableOpts"],t=t.value["maxWidth"];if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}return-1}function getColReMinWidth(e){var{$table:t,column:l,cell:r}=e,o=t["props"],n=t.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,n=o["showHeaderOverflow"],{showHeaderOverflow:e,minWidth:o}=l,l=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?n:e,n="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let u=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(n&&(e=getPaddingLeftRightSize(queryCellElement(r,"--title>.vxe-cell--checkbox")),l=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),n=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),s=getElemenMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),i=getElemenMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),a=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElemenMarginWidth(queryCellElement(r,">.vxe-cell--filter")),u+=e+l+n+s+i+r+a),o){var s,e=t.getRefMaps()["refTableBody"],l=e.value,n=l?l.$el:null;if(n){if((0,_dom.isScale)(o))return s=(n.clientWidth-1)/100,Math.max(u,Math.floor(_xeUtils.default.toInteger(o)*s));if((0,_dom.isPx)(o))return Math.max(u,_xeUtils.default.toInteger(o))}}return u}function isColumnInfo(e){return e&&(e.constructor===_columnInfo.ColumnInfo||e instanceof _columnInfo.ColumnInfo)}function createColumn(e,t,l){return isColumnInfo(t)?t:(0,_vue.reactive)(new _columnInfo.ColumnInfo(e,t,l))}function watchColumn(l,e,r){Object.keys(e).forEach(t=>{(0,_vue.watch)(()=>e[t],e=>{r.update(t,e),l&&("filters"===t?(l.setFilter(r,e),l.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(t)&&l.handleRefreshColumnQueue())})})}function assembleColumn(e,t,l,r){var e=e["reactData"],o=e["staticColumns"],n=t.parentNode,r=r?r.columnConfig:null,r=r?r.children:o;n&&r&&(r.splice(_xeUtils.default.arrayIndexOf(n.children,t),0,l),e.staticColumns=o.slice(0))}function destroyColumn(e,t){var e=e["reactData"],l=e["staticColumns"],r=_xeUtils.default.findTree(l,e=>e.id===t.id,{children:"children"});r&&r.items.splice(r.index,1),e.staticColumns=l.slice(0)}function getRootColumn(e,t){var e=e["internalData"],l=e["fullColumnIdData"];if(!t)return null;let r=t.parentId;for(;l[r];){const t=l[r].column;if(!(r=t.parentId))return t}return t}function mergeBodyMethod(t,l,r){for(let e=0;e<t.length;e++){var{row:o,col:n,rowspan:i,colspan:a}=t[e];if(-1<n&&-1<o&&i&&a){if(o===l&&n===r)return{rowspan:i,colspan:a};if(o<=l&&l<o+i&&n<=r&&r<n+a)return{rowspan:0,colspan:0}}}}function clearTableDefaultStatus(e){var{props:t,internalData:l}=e;return l.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&&(t.keyboardConfig||t.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&t.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function rowToVisible(l,r){var{reactData:e,internalData:o}=l,n=l.props["showOverflow"],i=l.getRefMaps()["refTableBody"],{columnStore:e,scrollYLoad:t}=e,{afterFullData:a,scrollYStore:o,fullAllDataRowIdData:u}=o,i=i.value,{leftList:e,rightList:s}=e,i=i?i.$el:null,c=getRowid(l,r);let d=0,f=(e.forEach(e=>{d+=e.renderWidth}),0);if(s.forEach(e=>{f+=e.renderWidth}),i){e=i.clientHeight,s=i.scrollTop,i=i.querySelector(`[rowid="${c}"]`);if(i){var m=i.offsetParent,m=i.offsetTop+(m?m.offsetTop:0),i=i.clientHeight;if(m<s||s+e<m)return l.scrollTo(null,m);if(e+s<=m+i)return l.scrollTo(null,s+i)}else if(t){if(n)return l.scrollTo(null,(l.findRowIndexOf(a,r)-1)*o.rowHeight);let t=0;m=u[c],i=m?m.height:0;for(let e=0;e<a.length;e++){var h=a[e],g=getRowid(l,h);if(h===r||g===c)break;h=u[g];t+=h?h.height:0}return t<s?l.scrollTo(null,t-d-1):l.scrollTo(null,t+i-(e-f-1))}}return Promise.resolve()}function colToVisible(o,n,t){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 l=0,r=(a.forEach(e=>{l+=e.renderWidth}),0);if(i.forEach(e=>{r+=e.renderWidth}),u){a=u.clientWidth,i=u.scrollLeft;let e=null;if(t&&(t=getRowid(o,t),e=u.querySelector(`[rowid="${t}"] .`+n.id)),e=e||u.querySelector("."+n.id)){t=e.offsetParent,u=e.offsetLeft+(t?t.offsetLeft:0),t=e.clientWidth;if(u<i+l)return o.scrollTo(u-l-1);if(u+t-i>a-r)return o.scrollTo(u+t-(a-r-1))}else if(s){let t=0;u=n.renderWidth;for(let e=0;e<c.length;e++){var d=c[e];if(d===n||d.id===n.id)break;t+=d.renderWidth}return t<i?o.scrollTo(t-l-1):o.scrollTo(t+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.9.1";
16
+ const version = exports.version = "4.9.2";
17
17
  _core.VxeUI.version = version;
18
18
  _core.VxeUI.tableVersion = version;
19
19
  _core.VxeUI.setConfig({
@@ -1 +1 @@
1
- "use strict";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");const version=exports.version="4.9.1",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:{refreshDelay:250},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0},columnDragConfig:{showIcon:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"normal"},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}},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",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;
1
+ "use strict";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");const version=exports.version="4.9.2",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:{refreshDelay:250},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0},columnDragConfig:{showIcon:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"normal"},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}},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",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.9.1"}`;
11
+ const version = `table v${"4.9.2"}`;
12
12
  const warnLog = exports.warnLog = log.create('warn', version);
13
13
  const errLog = exports.errLog = log.create('error', version);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const log=_core.VxeUI["log"],version="table v4.9.1",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const log=_core.VxeUI["log"],version="table v4.9.2",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.9.1",
3
+ "version": "4.9.2",
4
4
  "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、拖拽排序,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -3014,6 +3014,15 @@ export default defineComponent({
3014
3014
  emit(type, createEvent(evnt, { $table: $xeTable, $grid: $xeGrid }, params))
3015
3015
  }
3016
3016
 
3017
+ const handleScrollToRowColumn = (fieldOrColumn: string | VxeTableDefines.ColumnInfo | null, row?: any) => {
3018
+ const { fullColumnIdData } = internalData
3019
+ const column = handleFieldOrColumn($xeTable, fieldOrColumn)
3020
+ if (column && fullColumnIdData[column.id]) {
3021
+ return colToVisible($xeTable, column, row)
3022
+ }
3023
+ return nextTick()
3024
+ }
3025
+
3017
3026
  tableMethods = {
3018
3027
  dispatchEvent,
3019
3028
  /**
@@ -4798,7 +4807,7 @@ export default defineComponent({
4798
4807
  }
4799
4808
  }
4800
4809
  if (fieldOrColumn) {
4801
- rest.push(tableMethods.scrollToColumn(fieldOrColumn))
4810
+ rest.push(handleScrollToRowColumn(fieldOrColumn, row))
4802
4811
  }
4803
4812
  return Promise.all(rest)
4804
4813
  },
@@ -448,7 +448,7 @@ export function rowToVisible ($xeTable: VxeTableConstructor & VxeTablePrivateMet
448
448
  return Promise.resolve()
449
449
  }
450
450
 
451
- export function colToVisible ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, column: VxeTableDefines.ColumnInfo) {
451
+ export function colToVisible ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, column: VxeTableDefines.ColumnInfo, row?: any) {
452
452
  const { reactData, internalData } = $xeTable
453
453
  const { refTableBody } = $xeTable.getRefMaps()
454
454
  const { columnStore, scrollXLoad } = reactData
@@ -470,7 +470,14 @@ export function colToVisible ($xeTable: VxeTableConstructor & VxeTablePrivateMet
470
470
  if (bodyElem) {
471
471
  const bodyWidth = bodyElem.clientWidth
472
472
  const bodyScrollLeft = bodyElem.scrollLeft
473
- const tdElem: HTMLTableCellElement | null = bodyElem.querySelector(`.${column.id}`)
473
+ let tdElem: HTMLTableCellElement | null = null
474
+ if (row) {
475
+ const rowid = getRowid($xeTable, row)
476
+ tdElem = bodyElem.querySelector(`[rowid="${rowid}"] .${column.id}`)
477
+ }
478
+ if (!tdElem) {
479
+ tdElem = bodyElem.querySelector(`.${column.id}`)
480
+ }
474
481
  if (tdElem) {
475
482
  const tdOffsetParent = tdElem.offsetParent as HTMLElement
476
483
  const tdOffsetLeft = tdElem.offsetLeft + (tdOffsetParent ? tdOffsetParent.offsetLeft : 0)