vxe-table 3.14.0-beta.6 → 3.14.0-beta.7

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.
@@ -11,6 +11,7 @@ exports.colToVisible = colToVisible;
11
11
  exports.convertHeaderColumnToRows = void 0;
12
12
  exports.createColumn = createColumn;
13
13
  exports.destroyColumn = destroyColumn;
14
+ exports.encodeRowid = encodeRowid;
14
15
  exports.getCellHeight = getCellHeight;
15
16
  exports.getCellValue = getCellValue;
16
17
  exports.getColReMinWidth = getColReMinWidth;
@@ -28,10 +29,13 @@ exports.rowToVisible = rowToVisible;
28
29
  exports.setCellValue = setCellValue;
29
30
  exports.toFilters = toFilters;
30
31
  exports.toTreePathSeq = toTreePathSeq;
32
+ exports.updateDeepRowKey = updateDeepRowKey;
33
+ exports.updateFastRowKey = updateFastRowKey;
31
34
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
32
35
  var _columnInfo = require("./columnInfo");
33
36
  var _dom = require("../../ui/src/dom");
34
37
  var _log = require("../../ui/src/log");
38
+ var _utils = require("../../ui/src/utils");
35
39
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
36
40
  const getAllConvertColumns = (columns, parentColumn) => {
37
41
  const result = [];
@@ -119,13 +123,35 @@ function getRowUniqueId() {
119
123
  return _xeUtils.default.uniqueId('row_');
120
124
  }
121
125
  // 行主键 key
122
- function getRowkey($xetable) {
123
- return $xetable.rowOpts.keyField || $xetable.rowId || '_X_ROW_KEY';
126
+ function getRowkey($xeTable) {
127
+ const props = $xeTable;
128
+ const rowOpts = $xeTable.computeRowOpts;
129
+ return `${props.rowId || rowOpts.keyField || '_X_ROW_KEY'}`;
124
130
  }
125
131
  // 行主键 value
126
132
  function getRowid($xetable, row) {
127
133
  const rowid = _xeUtils.default.get(row, getRowkey($xetable));
128
- return _xeUtils.default.eqNull(rowid) ? '' : encodeURIComponent(rowid);
134
+ return encodeRowid(rowid);
135
+ }
136
+ // 编码行主键
137
+ function encodeRowid(rowVal) {
138
+ return _xeUtils.default.eqNull(rowVal) ? '' : encodeURIComponent(rowVal);
139
+ }
140
+ function updateDeepRowKey(row, rowkey) {
141
+ let rowid = _xeUtils.default.get(row, rowkey);
142
+ if ((0, _utils.eqEmptyValue)(rowid)) {
143
+ rowid = getRowUniqueId();
144
+ _xeUtils.default.set(row, rowkey, rowid);
145
+ }
146
+ return rowid;
147
+ }
148
+ function updateFastRowKey(row, rowkey) {
149
+ let rowid = row[rowkey];
150
+ if ((0, _utils.eqEmptyValue)(rowid)) {
151
+ rowid = getRowUniqueId();
152
+ row[rowkey] = rowid;
153
+ }
154
+ return rowid;
129
155
  }
130
156
  function getPaddingLeftRightSize(elem) {
131
157
  if (elem) {
@@ -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.getCellHeight=getCellHeight,exports.getCellValue=getCellValue,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=getOffsetSize,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=handleFieldOrColumn,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq;var _xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,l)=>{let t=[];return e.forEach(e=>{e.parentId=l?l.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(t.push(e),t.push(...getAllConvertColumns(e.children,e))):t.push(e))}),t},convertHeaderColumnToRows=e=>{let l=1,r=(t,e)=>{if(e&&(t.level=e.level+1,l<t.level)&&(l=t.level),t.children&&t.children.length&&t.children.some(e=>e.visible)){let l=0;t.children.forEach(e=>{e.visible&&(r(e,t),l+=e.colSpan)}),t.colSpan=l}else t.colSpan=1},t=(e.forEach(e=>{e.level=1,r(e)}),[]);for(let e=0;e<l;e++)t.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=l-e.level+1,t[e.level-1].push(e)}),t};function restoreScrollLocation(e,l,t){let r=e;return e.clearScroll().then(()=>{if(l||t)return r.lastScrollLeft=0,r.lastScrollTop=0,r.intoRunScroll=!1,r.inVirtualScroll=!1,r.inWheelScroll=!1,r.inHeaderScroll=!1,r.inBodyScroll=!1,r.inFooterScroll=!1,r.scrollRenderType="",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 getCellHeight(e){return"unset"!==e&&e||0}function handleFieldOrColumn(e,l){return l?_xeUtils.default.isString(l)||_xeUtils.default.isNumber(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?("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,o=l,{showHeaderOverflow:l,resizableOpts:i}=l,i=i.minWidth;if(i){e=_xeUtils.default.isFunction(i)?i(e):i;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,u,a,c,i=o.elemStore,{showHeaderOverflow:e,minWidth:o}=t,t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e,l="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(l&&(e=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--drag-handle")),t=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--checkbox")),l=getElementMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),n=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")),c=getElementMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElementMarginWidth(queryCellElement(r,">.vxe-cell--filter")),s+=e+t+l+n+u+a+r+c),o){e=getRefElem(i["main-body-scroll"]);if(e){if((0,_dom.isScale)(o))return t=(e.clientWidth-1)/100,Math.max(s,Math.floor(_xeUtils.default.toInteger(o)*t));if((0,_dom.isPx)(o))return Math.max(s,_xeUtils.default.toInteger(o))}}return s}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let lineOffsetSizes={mini:3,small:2,medium:1};function countTreeExpand(e,l){let t=1;if(e){var r=l.$table,o=r.computeTreeOpts,{transform:i,mapChildrenField:n}=o,o=o.children||o.childrenField,u=e[i?n:o];if(u&&r.isTreeExpandByRow(e))for(let e=0;e<u.length;e++)t+=countTreeExpand(u[e],l)}return t}function getOffsetSize(e){e=e.computeSize;return e&&lineOffsetSizes[e]||0}function calcTreeLine(e,l){var{$table:t,row:r}=e,o=t.showOverflow,i=t.scrollYLoad,n=t.fullAllDataRowIdData,u=t.computeRowOpts,a=t.computeCellOpts,c=t.computeDefaultRowHeight,n=n[getRowid(t,r)],r=n.resizeHeight||a.height||u.height||n.height||c;let s=1,d=(l&&(s=countTreeExpand(l,e)),r);return(d=i&&!o?n.height||r:d)*s-(l?1:12-getOffsetSize(t))}function mergeBodyMethod(l,t,r){for(let e=0;e<l.length;e++){var{row:o,col:i,rowspan:n,colspan:u}=l[e];if(-1<i&&-1<o&&n&&u){if(o===t&&i===r)return{rowspan:n,colspan:u};if(o<=t&&t<o+n&&i<=r&&r<i+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 getRefElem(e){return e?e.$el||e:null}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,l=t.scrollYLoad,{elemStore:o,afterFullData:i,fullAllDataRowIdData:n,isResizeCellHeight:u}=t,a=t.computeRowOpts,c=t.computeCellOpts,s=t.computeDefaultRowHeight,d=t.computeLeftFixedWidth,f=t.computeRightFixedWidth,o=getRefElem(o["main-body-scroll"]),g=getRowid(t,r);if(o){var m=o.clientHeight,h=o.scrollTop,o=o.querySelector(`[rowid="${g}"]`);if(o){var p=o.offsetParent,p=o.offsetTop+(p?p.offsetTop:0),o=o.clientHeight;if(p<h||h+m<p)return t.scrollTo(null,p);if(m+h<=p+o)return t.scrollTo(null,h+o)}else if(l){if(!(u||c.height||a.height)&&e)return t.scrollTo(null,(t.findRowIndexOf(i,r)-1)*s);let l=0;p=n[g],o=p.resizeHeight||c.height||a.height||p.height||s;for(let e=0;e<i.length;e++){var x=i[e],C=getRowid(t,x);if(x===r||C===g)break;x=n[C];l+=x.resizeHeight||c.height||a.height||x.height||s}return l<h?t.scrollTo(null,l-d-1):t.scrollTo(null,l+o-(m-f-1))}}return Promise.resolve()}function colToVisible(t,r,l){var o=t.scrollXLoad,{elemStore:i,visibleColumn:n}=t,u=t.computeLeftFixedWidth,a=t.computeRightFixedWidth,i=getRefElem(i["main-body-scroll"]);if(!r.fixed&&i){var c=i.clientWidth,s=i.scrollLeft;let e=null;if(l&&(l=getRowid(t,l),e=i.querySelector(`[rowid="${l}"] .`+r.id)),e=e||i.querySelector("."+r.id)){l=e.offsetParent,i=e.offsetLeft+(l?l.offsetLeft:0),l=e.clientWidth;if(i<s+u)return t.scrollTo(i-u-1);if(c-a<i+l-s)return t.scrollTo(i+l-(c-a-1))}else if(o){let l=0;i=r.renderWidth;for(let e=0;e<n.length;e++){var d=n[e];if(d===r||d.id===r.id)break;l+=d.renderWidth}return l<s?t.scrollTo(l-u-1):t.scrollTo(l+i-(c-a-1))}}return Promise.resolve()}
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.calcTreeLine=calcTreeLine,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.destroyColumn=destroyColumn,exports.encodeRowid=encodeRowid,exports.getCellHeight=getCellHeight,exports.getCellValue=getCellValue,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=getOffsetSize,exports.getRefElem=getRefElem,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,exports.updateDeepRowKey=updateDeepRowKey,exports.updateFastRowKey=updateFastRowKey;var _xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,t)=>{let 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,o=(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&&(o(e,l),t+=e.colSpan)}),l.colSpan=t}else l.colSpan=1},l=(e.forEach(e=>{e.level=1,o(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){let o=e;return e.clearScroll().then(()=>{if(t||l)return o.lastScrollLeft=0,o.lastScrollTop=0,o.intoRunScroll=!1,o.inVirtualScroll=!1,o.inWheelScroll=!1,o.inHeaderScroll=!1,o.inBodyScroll=!1,o.inFooterScroll=!1,o.scrollRenderType="",e.scrollTo(t,l)})}function toTreePathSeq(e){return e.map((e,t)=>t%2==0?Number(e)+1:".").join("")}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var t=e.computeRowOpts;return""+(e.rowId||t.keyField||"_X_ROW_KEY")}function getRowid(e,t){return encodeRowid(_xeUtils.default.get(t,getRowkey(e)))}function encodeRowid(e){return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)}function updateDeepRowKey(e,t){let l=_xeUtils.default.get(e,t);return(0,_utils.eqEmptyValue)(l)&&(l=getRowUniqueId(),_xeUtils.default.set(e,t,l)),l}function updateFastRowKey(e,t){let l=e[t];return(0,_utils.eqEmptyValue)(l)&&(l=getRowUniqueId(),e[t]=l),l}function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginWidth(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 getCellHeight(e){return"unset"!==e&&e||0}function handleFieldOrColumn(e,t){return t?_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?e.getColumnByField(""+t):t:null}function assembleColumn(e){var{$el:e,$xetable:t,$xecolumn:l,columnConfig:o}=e,r=l?l.columnConfig:null;r?("vxe-table-column"===l.$options._componentTag?(0,_log.errLog)("vxe.error.groupTag",[`<vxe-table-colgroup title=${l.title} ...>`,`<vxe-table-column title=${l.title} ...>`]):"vxe-column"===l.$options._componentTag&&(0,_log.warnLog)("vxe.error.groupTag",[`<vxe-colgroup title=${l.title} ...>`,`<vxe-column title=${l.title} ...>`]),r.children||(r.children=[]),r.children.splice(_xeUtils.default.arrayIndexOf(l.$el.children,e),0,o)):t.staticColumns.splice(_xeUtils.default.arrayIndexOf(t.$refs.hideColumn.children,e),0,o)}function destroyColumn(e){let{$xetable:t,columnConfig:l}=e;e=_xeUtils.default.findTree(t.staticColumns,e=>e===l);e&&e.items.splice(e.index,1)}function getRootColumn(e,t){var l=e.fullColumnIdData;if(!t)return null;let o=t.parentId;for(;l[o];){let e=l[o].column;if(!(o=e.parentId))return e}return t}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:o,checked:r})=>({label:e,value:t,data:l,resetValue:o,checked:!!r,_checked:!!r})):e}function getColReMinWidth(e){var{$table:t,column:l,cell:o}=e,r=t,{showHeaderOverflow:t,resizableOpts:i}=t,i=i.minWidth;if(i){e=_xeUtils.default.isFunction(i)?i(e):i;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,u,a,s,i=r.elemStore,{showHeaderOverflow:e,minWidth:r}=l,l=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?t:e,t="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let c=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(o).fontSize)||14))+(getPaddingLeftRightSize(o)+getPaddingLeftRightSize(queryCellElement(o,"")));if(t&&(e=getPaddingLeftRightSize(queryCellElement(o,">.vxe-cell--drag-handle")),l=getPaddingLeftRightSize(queryCellElement(o,">.vxe-cell--checkbox")),t=getElementMarginWidth(queryCellElement(o,">.vxe-cell--required-icon")),n=getElementMarginWidth(queryCellElement(o,">.vxe-cell--edit-icon")),u=getElementMarginWidth(queryCellElement(o,">.vxe-cell-title-prefix-icon")),a=getElementMarginWidth(queryCellElement(o,">.vxe-cell-title-suffix-icon")),s=getElementMarginWidth(queryCellElement(o,">.vxe-cell--sort")),o=getElementMarginWidth(queryCellElement(o,">.vxe-cell--filter")),c+=e+l+t+n+u+a+o+s),r){e=getRefElem(i["main-body-scroll"]);if(e){if((0,_dom.isScale)(r))return l=(e.clientWidth-1)/100,Math.max(c,Math.floor(_xeUtils.default.toInteger(r)*l));if((0,_dom.isPx)(r))return Math.max(c,_xeUtils.default.toInteger(r))}}return c}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let lineOffsetSizes={mini:3,small:2,medium:1};function countTreeExpand(e,t){let l=1;if(e){var o=t.$table,r=o.computeTreeOpts,{transform:i,mapChildrenField:n}=r,r=r.children||r.childrenField,u=e[i?n:r];if(u&&o.isTreeExpandByRow(e))for(let e=0;e<u.length;e++)l+=countTreeExpand(u[e],t)}return l}function getOffsetSize(e){e=e.computeSize;return e&&lineOffsetSizes[e]||0}function calcTreeLine(e,t){var{$table:l,row:o}=e,r=l.showOverflow,i=l.scrollYLoad,n=l.fullAllDataRowIdData,u=l.computeRowOpts,a=l.computeCellOpts,s=l.computeDefaultRowHeight,n=n[getRowid(l,o)],o=n.resizeHeight||a.height||u.height||n.height||s;let c=1,d=(t&&(c=countTreeExpand(t,e)),o);return(d=i&&!r?n.height||o:d)*c-(t?1:12-getOffsetSize(l))}function mergeBodyMethod(t,l,o){for(let e=0;e<t.length;e++){var{row:r,col:i,rowspan:n,colspan:u}=t[e];if(-1<i&&-1<r&&n&&u){if(r===l&&i===o)return{rowspan:n,colspan:u};if(r<=l&&l<r+n&&i<=o&&o<i+u)return{rowspan:0,colspan:0}}}}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){return e?e.$el||e:null}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,t,l){return isColumnInfo(t)?t:new _columnInfo.ColumnInfo(e,t,l)}function rowToVisible(l,o){var e=l.showOverflow,t=l.scrollYLoad,{elemStore:r,afterFullData:i,fullAllDataRowIdData:n,isResizeCellHeight:u}=l,a=l.computeRowOpts,s=l.computeCellOpts,c=l.computeDefaultRowHeight,d=l.computeLeftFixedWidth,f=l.computeRightFixedWidth,r=getRefElem(r["main-body-scroll"]),g=getRowid(l,o);if(r){var m=r.clientHeight,h=r.scrollTop,r=r.querySelector(`[rowid="${g}"]`);if(r){var p=r.offsetParent,p=r.offsetTop+(p?p.offsetTop:0),r=r.clientHeight;if(p<h||h+m<p)return l.scrollTo(null,p);if(m+h<=p+r)return l.scrollTo(null,h+r)}else if(t){if(!(u||s.height||a.height)&&e)return l.scrollTo(null,(l.findRowIndexOf(i,o)-1)*c);let t=0;p=n[g],r=p.resizeHeight||s.height||a.height||p.height||c;for(let e=0;e<i.length;e++){var x=i[e],C=getRowid(l,x);if(x===o||C===g)break;x=n[C];t+=x.resizeHeight||s.height||a.height||x.height||c}return t<h?l.scrollTo(null,t-d-1):l.scrollTo(null,t+r-(m-f-1))}}return Promise.resolve()}function colToVisible(l,o,t){var r=l.scrollXLoad,{elemStore:i,visibleColumn:n}=l,u=l.computeLeftFixedWidth,a=l.computeRightFixedWidth,i=getRefElem(i["main-body-scroll"]);if(!o.fixed&&i){var s=i.clientWidth,c=i.scrollLeft;let e=null;if(t&&(t=getRowid(l,t),e=i.querySelector(`[rowid="${t}"] .`+o.id)),e=e||i.querySelector("."+o.id)){t=e.offsetParent,i=e.offsetLeft+(t?t.offsetLeft:0),t=e.clientWidth;if(i<c+u)return l.scrollTo(i-u-1);if(s-a<i+t-c)return l.scrollTo(i+t-(s-a-1))}else if(r){let t=0;i=o.renderWidth;for(let e=0;e<n.length;e++){var d=n[e];if(d===o||d.id===o.id)break;t+=d.renderWidth}return t<c?l.scrollTo(t-u-1):l.scrollTo(t+i-(s-a-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.14.0-beta.6";
16
+ const version = exports.version = "3.14.0-beta.7";
17
17
  _core.VxeUI.version = version;
18
18
  _core.VxeUI.tableVersion = version;
19
19
  _core.VxeUI.setConfig({
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="3.14.0-beta.6",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,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},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,allowClear:!0,allowBtn:!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,mode:"fixed"},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,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{enabled:!0,gt:60,preSize:0,oSize:1},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:2},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="3.14.0-beta.7",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,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},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,allowClear:!0,allowBtn:!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,mode:"fixed"},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,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{enabled:!0,gt:60,preSize:0,oSize:1},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:2},scrollbarConfig:{}},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.14.0-beta.6"}`;
11
+ const version = `table v${"3.14.0-beta.7"}`;
12
12
  const warnLog = exports.warnLog = log.create('warn', version);
13
13
  const errLog = exports.errLog = log.create('error', version);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v3.14.0-beta.6",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v3.14.0-beta.7",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.14.0-beta.6",
3
+ "version": "3.14.0-beta.7",
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.4.2"
31
+ "vxe-pc-ui": "^3.4.5"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@babel/plugin-transform-modules-commonjs": "^7.25.7",
@@ -217,6 +217,7 @@ function renderTdColumn (
217
217
  tdOns.dblclick = (evnt: MouseEvent) => {
218
218
  $xeTable.triggerCellDblclickEvent(evnt, cellParams)
219
219
  }
220
+ let isMergeCell = false
220
221
  // 合并行或列
221
222
  if (mergeList.length) {
222
223
  const spanRest = mergeBodyMethod(mergeList, _rowIndex, _columnIndex)
@@ -226,9 +227,11 @@ function renderTdColumn (
226
227
  return null
227
228
  }
228
229
  if (rowspan > 1) {
230
+ isMergeCell = true
229
231
  tdAttrs.rowspan = rowspan
230
232
  }
231
233
  if (colspan > 1) {
234
+ isMergeCell = true
232
235
  tdAttrs.colspan = colspan
233
236
  }
234
237
  }
@@ -263,11 +266,13 @@ function renderTdColumn (
263
266
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto')
264
267
 
265
268
  let isVNPreEmptyStatus = false
266
- if (!dragRow || getRowid($xeTable, dragRow) !== rowid) {
267
- if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
268
- isVNPreEmptyStatus = true
269
- } else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
270
- isVNPreEmptyStatus = true
269
+ if (!isMergeCell) {
270
+ if (!dragRow || getRowid($xeTable, dragRow) !== rowid) {
271
+ if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
272
+ isVNPreEmptyStatus = true
273
+ } else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
274
+ isVNPreEmptyStatus = true
275
+ }
271
276
  }
272
277
  }
273
278
 
@@ -110,6 +110,7 @@ function renderRows (h: CreateElement, _vm: any, tableColumn: VxeTableDefines.Co
110
110
  tfOns.dblclick = (evnt: MouseEvent) => {
111
111
  $xeTable.dispatchEvent('footer-cell-dblclick', Object.assign({ cell: evnt.currentTarget }, cellParams), evnt)
112
112
  }
113
+ let isMergeCell = false
113
114
  // 合并行或列
114
115
  if (mergeFooterList.length) {
115
116
  const spanRest = mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex)
@@ -119,9 +120,11 @@ function renderRows (h: CreateElement, _vm: any, tableColumn: VxeTableDefines.Co
119
120
  return null
120
121
  }
121
122
  if (rowspan > 1) {
123
+ isMergeCell = true
122
124
  attrs.rowspan = rowspan
123
125
  }
124
126
  if (colspan > 1) {
127
+ isMergeCell = true
125
128
  attrs.colspan = colspan
126
129
  }
127
130
  }
@@ -142,8 +145,10 @@ function renderRows (h: CreateElement, _vm: any, tableColumn: VxeTableDefines.Co
142
145
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto')
143
146
 
144
147
  let isVNPreEmptyStatus = false
145
- if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
146
- isVNPreEmptyStatus = true
148
+ if (!isMergeCell) {
149
+ if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
150
+ isVNPreEmptyStatus = true
151
+ }
147
152
  }
148
153
 
149
154
  const tcStyle: Record<string, string> = {}
@@ -3,7 +3,7 @@ import { browse, getTpImg, isPx, isScale, hasClass, addClass, removeClass, getEv
3
3
  import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../ui/src/utils'
4
4
  import { VxeUI } from '../../ui'
5
5
  import Cell from './cell'
6
- import { getRowUniqueId, clearTableAllStatus, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getColReMinWidth, getRefElem } from './util'
6
+ import { getRowUniqueId, clearTableAllStatus, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getColReMinWidth, updateDeepRowKey, updateFastRowKey, getRefElem } from './util'
7
7
  import { getSlotVNs } from '../../ui/src/vn'
8
8
  import { warnLog, errLog } from '../../ui/src/log'
9
9
 
@@ -2731,32 +2731,20 @@ const Methods = {
2731
2731
  const treeOpts = $xeTable.computeTreeOpts
2732
2732
  const childrenField = treeOpts.children || treeOpts.childrenField
2733
2733
  const hasChildField = treeOpts.hasChild || treeOpts.hasChildField
2734
+ const { lazy } = treeOpts
2734
2735
  const rowkey = getRowkey($xeTable)
2736
+ const isDeepKey = rowkey.indexOf('.') > -1
2735
2737
  const fullAllDataRowIdMaps: Record<string, VxeTableDefines.RowCacheItem> = { ...fullAllDataRowIdData } // 存在已删除数据
2736
2738
  const fullDataRowIdMaps: Record<string, VxeTableDefines.RowCacheItem> = {}
2737
2739
  const treeTempExpandedMaps = { ...treeExpandedMaps }
2738
- const handleRow = (row: any, index: number, items: any, path?: any[], parentRow?: any, nodes?: any[]) => {
2739
- let rowid = getRowid($xeTable, row)
2740
- const seq = treeConfig && path ? toTreePathSeq(path) : index + 1
2741
- const level = nodes ? nodes.length - 1 : 0
2742
- if (eqEmptyValue(rowid)) {
2743
- rowid = getRowUniqueId()
2744
- XEUtils.set(row, rowkey, rowid)
2745
- }
2746
- if (treeConfig && treeOpts.lazy) {
2747
- const treeExpRest = treeExpandedMaps[rowid]
2748
- if (row[hasChildField] && XEUtils.isUndefined(row[childrenField])) {
2749
- row[childrenField] = null
2750
- }
2751
- if (treeExpRest) {
2752
- if (!row[childrenField] || !row[childrenField].length) {
2753
- delete treeTempExpandedMaps[rowid]
2754
- }
2755
- }
2756
- }
2757
- let rowRest = fullAllDataRowIdData[rowid]
2740
+
2741
+ const handleRowId = isDeepKey ? updateDeepRowKey : updateFastRowKey
2742
+ const handleRowCache = (row: any, index: number, items: any, currIndex: number, parentRow: any, rowid: string, level: number, seq: string | number) => {
2743
+ let rowRest = fullAllDataRowIdMaps[rowid]
2758
2744
  if (!rowRest) {
2759
2745
  rowRest = { row, rowid, seq, index: -1, _index: -1, $index: -1, treeIndex: index, items, parent: parentRow, level, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 }
2746
+ fullDataRowIdMaps[rowid] = rowRest
2747
+ fullAllDataRowIdMaps[rowid] = rowRest
2760
2748
  }
2761
2749
  rowRest.treeLoaded = false
2762
2750
  rowRest.expandLoaded = false
@@ -2765,15 +2753,32 @@ const Methods = {
2765
2753
  rowRest.items = items
2766
2754
  rowRest.parent = parentRow
2767
2755
  rowRest.level = level
2768
- rowRest.index = treeConfig && parentRow ? -1 : index
2769
- fullDataRowIdMaps[rowid] = rowRest
2770
- fullAllDataRowIdMaps[rowid] = rowRest
2756
+ rowRest.index = currIndex
2757
+ rowRest.treeIndex = index
2771
2758
  }
2759
+
2772
2760
  if (treeConfig) {
2773
- XEUtils.eachTree(tableFullTreeData, handleRow, { children: childrenField })
2761
+ XEUtils.eachTree(tableFullTreeData, (row, index, items, path, parentRow, nodes) => {
2762
+ const rowid = handleRowId(row, rowkey)
2763
+ if (treeConfig && lazy) {
2764
+ const treeExpRest = treeTempExpandedMaps[rowid]
2765
+ if (row[hasChildField] && row[childrenField] === undefined) {
2766
+ row[childrenField] = null
2767
+ }
2768
+ if (treeExpRest) {
2769
+ if (!row[childrenField] || !row[childrenField].length) {
2770
+ delete treeTempExpandedMaps[rowid]
2771
+ }
2772
+ }
2773
+ }
2774
+ handleRowCache(row, index, items, parentRow ? -1 : index, parentRow, rowid, nodes.length - 1, toTreePathSeq(path))
2775
+ }, { children: childrenField })
2774
2776
  } else {
2775
- tableFullData.forEach(handleRow)
2777
+ tableFullData.forEach((row, index, items) => {
2778
+ handleRowCache(row, index, items, index, null, handleRowId(row, rowkey), 0, index + 1)
2779
+ })
2776
2780
  }
2781
+
2777
2782
  internalData.fullDataRowIdData = fullDataRowIdMaps
2778
2783
  internalData.fullAllDataRowIdData = fullAllDataRowIdMaps
2779
2784
  reactData.treeExpandedMaps = treeTempExpandedMaps
@@ -2,6 +2,7 @@ import XEUtils from 'xe-utils'
2
2
  import { ColumnInfo } from './columnInfo'
3
3
  import { isScale, isPx } from '../../ui/src/dom'
4
4
  import { warnLog, errLog } from '../../ui/src/log'
5
+ import { eqEmptyValue } from '../../ui/src/utils'
5
6
 
6
7
  import type { VxeTableDefines, VxeTableConstructor, TableReactData, TableInternalData, VxeTablePrivateMethods } from '../../../types'
7
8
 
@@ -102,14 +103,39 @@ export function getRowUniqueId () {
102
103
  }
103
104
 
104
105
  // 行主键 key
105
- export function getRowkey ($xetable: any) {
106
- return $xetable.rowOpts.keyField || $xetable.rowId || '_X_ROW_KEY'
106
+ export function getRowkey ($xeTable: any) {
107
+ const props = $xeTable
108
+ const rowOpts = $xeTable.computeRowOpts
109
+ return `${props.rowId || rowOpts.keyField || '_X_ROW_KEY'}`
107
110
  }
108
111
 
109
112
  // 行主键 value
110
113
  export function getRowid ($xetable: any, row: any) {
111
114
  const rowid = XEUtils.get(row, getRowkey($xetable))
112
- return XEUtils.eqNull(rowid) ? '' : encodeURIComponent(rowid)
115
+ return encodeRowid(rowid)
116
+ }
117
+
118
+ // 编码行主键
119
+ export function encodeRowid (rowVal: string) {
120
+ return XEUtils.eqNull(rowVal) ? '' : encodeURIComponent(rowVal)
121
+ }
122
+
123
+ export function updateDeepRowKey (row: any, rowkey: string) {
124
+ let rowid = XEUtils.get(row, rowkey)
125
+ if (eqEmptyValue(rowid)) {
126
+ rowid = getRowUniqueId()
127
+ XEUtils.set(row, rowkey, rowid)
128
+ }
129
+ return rowid
130
+ }
131
+
132
+ export function updateFastRowKey (row: any, rowkey: string) {
133
+ let rowid = row[rowkey]
134
+ if (eqEmptyValue(rowid)) {
135
+ rowid = getRowUniqueId()
136
+ row[rowkey] = rowid
137
+ }
138
+ return rowid
113
139
  }
114
140
 
115
141
  function getPaddingLeftRightSize (elem: any) {