vxe-table 4.12.0-beta.7 → 4.12.0-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,7 +22,7 @@ exports.getRootColumn = getRootColumn;
22
22
  exports.getRowUniqueId = getRowUniqueId;
23
23
  exports.getRowid = getRowid;
24
24
  exports.getRowkey = getRowkey;
25
- exports.handleFieldOrColumn = void 0;
25
+ exports.handleRowidOrRow = exports.handleFieldOrColumn = void 0;
26
26
  exports.isColumnInfo = isColumnInfo;
27
27
  exports.mergeBodyMethod = mergeBodyMethod;
28
28
  exports.restoreScrollLocation = restoreScrollLocation;
@@ -164,6 +164,14 @@ const handleFieldOrColumn = ($xeTable, fieldOrColumn) => {
164
164
  return null;
165
165
  };
166
166
  exports.handleFieldOrColumn = handleFieldOrColumn;
167
+ const handleRowidOrRow = ($xeTable, rowidOrRow) => {
168
+ if (rowidOrRow) {
169
+ const rowid = _xeUtils.default.isString(rowidOrRow) || _xeUtils.default.isNumber(rowidOrRow) ? rowidOrRow : getRowid($xeTable, rowidOrRow);
170
+ return $xeTable.getRowById(rowid);
171
+ }
172
+ return null;
173
+ };
174
+ exports.handleRowidOrRow = handleRowidOrRow;
167
175
  function getPaddingLeftRightSize(elem) {
168
176
  if (elem) {
169
177
  const computedStyle = getComputedStyle(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.encodeRowid=encodeRowid,exports.getCellHeight=getCellHeight,exports.getCellValue=getCellValue,exports.getColReMaxWidth=getColReMaxWidth,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=void 0,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.updateDeepRowKey=updateDeepRowKey,exports.updateFastRowKey=updateFastRowKey,exports.watchColumn=watchColumn;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_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,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){let r=e.internalData;return e.clearScroll().then(()=>{if(t||l)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(t,l)})}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var t=e.props,e=e.getComputeMaps().computeRowOpts,e=e.value;return""+(t.rowId||e.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}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let handleFieldOrColumn=(e,t)=>t?_xeUtils.default.isString(t)||_xeUtils.default.isNumber(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 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 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 getCellHeight(e){return"unset"!==e&&e||0}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,i=t.internalData,t=t.getComputeMaps().computeResizableOpts,t=t.value.minWidth;if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,a,u,s,t=i.elemStore,e=o.showHeaderOverflow,{showHeaderOverflow:i,minWidth:o}=l,l=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?e:i,e="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let c=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(r).fontSize)||14))+(getPaddingLeftRightSize(r)+getPaddingLeftRightSize(queryCellElement(r,"")));if(e&&(i=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--drag-handle")),l=getPaddingLeftRightSize(queryCellElement(r,">.vxe-cell--checkbox")),e=getElementMarginWidth(queryCellElement(r,">.vxe-cell--required-icon")),n=getElementMarginWidth(queryCellElement(r,">.vxe-cell--edit-icon")),a=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-prefix-icon")),u=getElementMarginWidth(queryCellElement(r,">.vxe-cell-title-suffix-icon")),s=getElementMarginWidth(queryCellElement(r,">.vxe-cell--sort")),r=getElementMarginWidth(queryCellElement(r,">.vxe-cell--filter")),c+=i+l+e+n+a+u+r+s),o){i=getRefElem(t["main-body-scroll"]);if(i){if((0,_dom.isScale)(o))return l=(i.clientWidth-1)/100,Math.max(c,Math.floor(_xeUtils.default.toInteger(o)*l));if((0,_dom.isPx)(o))return Math.max(c,_xeUtils.default.toInteger(o))}}return c}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,i=t.parentNode,r=r?r.columnConfig:null,r=r?r.children:o;i&&r&&(r.splice(_xeUtils.default.arrayIndexOf(i.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];){let e=l[r].column;if(!(r=e.parentId))return e}return t}exports.handleFieldOrColumn=handleFieldOrColumn;let lineOffsetSizes={mini:3,small:2,medium:1},countTreeExpand=(e,t)=>{let l=1;if(e){var r=t.$table,o=r.getComputeMaps().computeTreeOpts,o=o.value,{transform:i,mapChildrenField:n}=o,o=o.children||o.childrenField,a=e[i?n:o];if(a&&r.isTreeExpandByRow(e))for(let e=0;e<a.length;e++)l+=countTreeExpand(a[e],t)}return l},getOffsetSize=e=>{e=e.getComputeMaps().computeSize,e=e.value;return e&&lineOffsetSizes[e]||0};function calcTreeLine(e,t){var{$table:l,row:r}=e,o=l.props.showOverflow,i=l.reactData.scrollYLoad,n=l.internalData.fullAllDataRowIdData,{computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:s}=l.getComputeMaps(),a=a.value,u=u.value,s=s.value,n=n[getRowid(l,r)],r=n.resizeHeight||u.height||a.height||n.height||s;let c=1,d=(t&&(c=countTreeExpand(t,e)),r);return(d=i&&!o?n.height||r:d)*c-(t?1:12-getOffsetSize(l))}function mergeBodyMethod(t,l,r){for(let e=0;e<t.length;e++){var{row:o,col:i,rowspan:n,colspan:a}=t[e];if(-1<i&&-1<o&&n&&a){if(o===l&&i===r)return{rowspan:n,colspan:a};if(o<=l&&l<o+n&&i<=r&&r<i+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 e=l.props,t=l.reactData,o=l.internalData,{computeLeftFixedWidth:i,computeRightFixedWidth:n,computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:s}=l.getComputeMaps(),e=e.showOverflow,t=t.scrollYLoad,{elemStore:o,afterFullData:c,fullAllDataRowIdData:d,isResizeCellHeight:f}=o,m=a.value,p=u.value,h=s.value,a=i.value,u=n.value,s=getRefElem(o["main-body-scroll"]),g=getRowid(l,r);if(s){i=s.clientHeight,n=s.scrollTop,o=s.querySelector(`[rowid="${g}"]`);if(o){s=o.offsetParent,s=o.offsetTop+(s?s.offsetTop:0),o=o.clientHeight;if(s<n||n+i<s)return l.scrollTo(null,s);if(i+n<=s+o)return l.scrollTo(null,n+o)}else if(t){if(!(f||p.height||m.height)&&e)return l.scrollTo(null,(l.findRowIndexOf(c,r)-1)*h);let t=0;s=d[g]||{},o=s.resizeHeight||p.height||m.height||s.height||h;for(let e=0;e<c.length;e++){var x=c[e],C=getRowid(l,x);if(x===r||C===g)break;x=d[C]||{};t+=x.resizeHeight||p.height||m.height||x.height||h}return t<n?l.scrollTo(null,t-a-1):l.scrollTo(null,t+o-(i-u-1))}}return Promise.resolve()}function colToVisible(l,r,t){var o=l.reactData,i=l.internalData,{computeLeftFixedWidth:n,computeRightFixedWidth:a}=l.getComputeMaps(),o=o.scrollXLoad,{elemStore:i,visibleColumn:u}=i,n=n.value,a=a.value,i=getRefElem(i["main-body-scroll"]);if(!r.fixed&&i){var s=i.clientWidth,c=i.scrollLeft;let e=null;if(t&&(t=getRowid(l,t),e=i.querySelector(`[rowid="${t}"] .`+r.id)),e=e||i.querySelector("."+r.id)){t=e.offsetParent,i=e.offsetLeft+(t?t.offsetLeft:0),t=e.clientWidth;if(i<c+n)return l.scrollTo(i-n-1);if(s-a<i+t-c)return l.scrollTo(i+t-(s-a-1))}else if(o){let t=0;i=r.renderWidth;for(let e=0;e<u.length;e++){var d=u[e];if(d===r||d.id===r.id)break;t+=d.renderWidth}return t<c?l.scrollTo(t-n-1):l.scrollTo(t+i-(s-a-1))}}return Promise.resolve()}exports.getOffsetSize=getOffsetSize;
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.getColReMaxWidth=getColReMaxWidth,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=void 0,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleRowidOrRow=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.updateDeepRowKey=updateDeepRowKey,exports.updateFastRowKey=updateFastRowKey,exports.watchColumn=watchColumn;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_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.internalData;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 getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var t=e.props,e=e.getComputeMaps().computeRowOpts,e=e.value;return""+(t.rowId||e.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}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let handleFieldOrColumn=(e,t)=>t?_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?e.getColumnByField(""+t):t:null,handleRowidOrRow=(exports.handleFieldOrColumn=handleFieldOrColumn,(e,t)=>t?(t=_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?t:getRowid(e,t),e.getRowById(t)):null);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 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 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 getCellHeight(e){return"unset"!==e&&e||0}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:o}=e,r=t.props,i=t.internalData,t=t.getComputeMaps().computeResizableOpts,t=t.value.minWidth;if(t){e=_xeUtils.default.isFunction(t)?t(e):t;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,a,u,s,t=i.elemStore,e=r.showHeaderOverflow,{showHeaderOverflow:i,minWidth:r}=l,l=_xeUtils.default.isUndefined(i)||_xeUtils.default.isNull(i)?e:i,e="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let d=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(o).fontSize)||14))+(getPaddingLeftRightSize(o)+getPaddingLeftRightSize(queryCellElement(o,"")));if(e&&(i=getPaddingLeftRightSize(queryCellElement(o,">.vxe-cell--drag-handle")),l=getPaddingLeftRightSize(queryCellElement(o,">.vxe-cell--checkbox")),e=getElementMarginWidth(queryCellElement(o,">.vxe-cell--required-icon")),n=getElementMarginWidth(queryCellElement(o,">.vxe-cell--edit-icon")),a=getElementMarginWidth(queryCellElement(o,">.vxe-cell-title-prefix-icon")),u=getElementMarginWidth(queryCellElement(o,">.vxe-cell-title-suffix-icon")),s=getElementMarginWidth(queryCellElement(o,">.vxe-cell--sort")),o=getElementMarginWidth(queryCellElement(o,">.vxe-cell--filter")),d+=i+l+e+n+a+u+o+s),r){i=getRefElem(t["main-body-scroll"]);if(i){if((0,_dom.isScale)(r))return l=(i.clientWidth-1)/100,Math.max(d,Math.floor(_xeUtils.default.toInteger(r)*l));if((0,_dom.isPx)(r))return Math.max(d,_xeUtils.default.toInteger(r))}}return d}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,o){Object.keys(e).forEach(t=>{(0,_vue.watch)(()=>e[t],e=>{o.update(t,e),l&&("filters"===t?(l.setFilter(o,e),l.handleUpdateDataQueue()):["visible","fixed","width","minWidth","maxWidth"].includes(t)&&l.handleRefreshColumnQueue())})})}function assembleColumn(e,t,l,o){var e=e.reactData,r=e.staticColumns,i=t.parentNode,o=o?o.columnConfig:null,o=o?o.children:r;i&&o&&(o.splice(_xeUtils.default.arrayIndexOf(i.children,t),0,l),e.staticColumns=r.slice(0))}function destroyColumn(e,t){var e=e.reactData,l=e.staticColumns,o=_xeUtils.default.findTree(l,e=>e.id===t.id,{children:"children"});o&&o.items.splice(o.index,1),e.staticColumns=l.slice(0)}function getRootColumn(e,t){var e=e.internalData,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}exports.handleRowidOrRow=handleRowidOrRow;let lineOffsetSizes={mini:3,small:2,medium:1},countTreeExpand=(e,t)=>{let l=1;if(e){var o=t.$table,r=o.getComputeMaps().computeTreeOpts,r=r.value,{transform:i,mapChildrenField:n}=r,r=r.children||r.childrenField,a=e[i?n:r];if(a&&o.isTreeExpandByRow(e))for(let e=0;e<a.length;e++)l+=countTreeExpand(a[e],t)}return l},getOffsetSize=e=>{e=e.getComputeMaps().computeSize,e=e.value;return e&&lineOffsetSizes[e]||0};function calcTreeLine(e,t){var{$table:l,row:o}=e,r=l.props.showOverflow,i=l.reactData.scrollYLoad,n=l.internalData.fullAllDataRowIdData,{computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:s}=l.getComputeMaps(),a=a.value,u=u.value,s=s.value,n=n[getRowid(l,o)],o=n.resizeHeight||u.height||a.height||n.height||s;let d=1,c=(t&&(d=countTreeExpand(t,e)),o);return(c=i&&!r?n.height||o:c)*d-(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:a}=t[e];if(-1<i&&-1<r&&n&&a){if(r===l&&i===o)return{rowspan:n,colspan:a};if(r<=l&&l<r+n&&i<=o&&o<i+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,o){var e=l.props,t=l.reactData,r=l.internalData,{computeLeftFixedWidth:i,computeRightFixedWidth:n,computeRowOpts:a,computeCellOpts:u,computeDefaultRowHeight:s}=l.getComputeMaps(),e=e.showOverflow,t=t.scrollYLoad,{elemStore:r,afterFullData:d,fullAllDataRowIdData:c,isResizeCellHeight:f}=r,m=a.value,p=u.value,h=s.value,a=i.value,u=n.value,s=getRefElem(r["main-body-scroll"]),g=getRowid(l,o);if(s){i=s.clientHeight,n=s.scrollTop,r=s.querySelector(`[rowid="${g}"]`);if(r){s=r.offsetParent,s=r.offsetTop+(s?s.offsetTop:0),r=r.clientHeight;if(s<n||n+i<s)return l.scrollTo(null,s);if(i+n<=s+r)return l.scrollTo(null,n+r)}else if(t){if(!(f||p.height||m.height)&&e)return l.scrollTo(null,(l.findRowIndexOf(d,o)-1)*h);let t=0;s=c[g]||{},r=s.resizeHeight||p.height||m.height||s.height||h;for(let e=0;e<d.length;e++){var x=d[e],C=getRowid(l,x);if(x===o||C===g)break;x=c[C]||{};t+=x.resizeHeight||p.height||m.height||x.height||h}return t<n?l.scrollTo(null,t-a-1):l.scrollTo(null,t+r-(i-u-1))}}return Promise.resolve()}function colToVisible(l,o,t){var r=l.reactData,i=l.internalData,{computeLeftFixedWidth:n,computeRightFixedWidth:a}=l.getComputeMaps(),r=r.scrollXLoad,{elemStore:i,visibleColumn:u}=i,n=n.value,a=a.value,i=getRefElem(i["main-body-scroll"]);if(!o.fixed&&i){var s=i.clientWidth,d=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<d+n)return l.scrollTo(i-n-1);if(s-a<i+t-d)return l.scrollTo(i+t-(s-a-1))}else if(r){let t=0;i=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<d?l.scrollTo(t-n-1):l.scrollTo(t+i-(s-a-1))}}return Promise.resolve()}exports.getOffsetSize=getOffsetSize;
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.12.0-beta.7";
16
+ const version = exports.version = "4.12.0-beta.8";
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.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.12.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,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:1,oSize:2},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,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
+ 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.12.0-beta.8",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,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:1,oSize:2},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,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.12.0-beta.7"}`;
11
+ const version = `table v${"4.12.0-beta.8"}`;
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 v4.12.0-beta.7",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 v4.12.0-beta.8",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vxe-table",
3
- "version": "4.12.0-beta.7",
3
+ "version": "4.12.0-beta.8",
4
4
  "description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、拖拽排序,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
5
5
  "scripts": {
6
6
  "update": "npm install --legacy-peer-deps",
@@ -28,7 +28,7 @@
28
28
  "style": "lib/style.css",
29
29
  "typings": "types/index.d.ts",
30
30
  "dependencies": {
31
- "vxe-pc-ui": "^4.4.5"
31
+ "vxe-pc-ui": "^4.4.6"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/resize-observer-browser": "^0.1.11",
@@ -17,7 +17,7 @@ const { getConfig, getI18n, commands, hooks, useFns, createEvent, globalEvents,
17
17
 
18
18
  const tableComponentPropKeys = Object.keys(tableComponentProps as any)
19
19
 
20
- const tableComponentMethodKeys: (keyof VxeTableMethods)[] = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'setRow', 'createData', 'createRow', 'revertData', 'clearData', 'isRemoveByRow', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getFullColumns', 'getData', 'getCheckboxRecords', 'getParentRow', 'getTreeParentRow', 'getRowSeq', 'getRowById', 'getRowid', 'getTableData', 'getFullData', 'setColumnFixed', 'clearColumnFixed', 'setColumnWidth', 'getColumnWidth', 'setRowHeightConf', 'getRowHeightConf', 'setRowHeight', 'getRowHeight', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'setCheckboxRowKey', 'isCheckedByCheckboxRow', 'isCheckedByCheckboxRowKey', 'isIndeterminateByCheckboxRow', 'isIndeterminateByCheckboxRowKey', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'isCheckedByRadioRowKey', 'setRadioRow', 'setRadioRowKey', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'setPendingRow', 'togglePendingRow', 'getPendingRecords', 'clearPendingRow', 'sort', 'setSort', 'clearSort', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'isActiveFilterByColumn', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'isRowExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'getCustomStoreData', 'openTooltip', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect']
20
+ const tableComponentMethodKeys: (keyof VxeTableMethods)[] = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'setRow', 'createData', 'createRow', 'revertData', 'clearData', 'isRemoveByRow', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getFullColumns', 'getData', 'getCheckboxRecords', 'getParentRow', 'getTreeParentRow', 'getRowSeq', 'getRowById', 'getRowid', 'getTableData', 'getFullData', 'setColumnFixed', 'clearColumnFixed', 'setColumnWidth', 'getColumnWidth', 'setRowHeightConf', 'getRowHeightConf', 'setRowHeight', 'getRowHeight', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'setCheckboxRowKey', 'isCheckedByCheckboxRow', 'isCheckedByCheckboxRowKey', 'isIndeterminateByCheckboxRow', 'isIndeterminateByCheckboxRowKey', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'isCheckedByRadioRowKey', 'setRadioRow', 'setRadioRowKey', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'setPendingRow', 'togglePendingRow', 'getPendingRecords', 'clearPendingRow', 'sort', 'setSort', 'clearSort', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'isActiveFilterByColumn', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'isRowExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'getCustomStoreData', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect']
21
21
 
22
22
  const gridComponentEmits: VxeGridEmits = [
23
23
  ...tableComponentEmits,
@@ -835,6 +835,9 @@ export default defineComponent({
835
835
 
836
836
  const gridMethods: GridMethods = {
837
837
  dispatchEvent,
838
+ getEl () {
839
+ return refElem.value
840
+ },
838
841
  /**
839
842
  * 提交指令,支持 code 或 button
840
843
  * @param {String/Object} code 字符串或对象
@@ -9,7 +9,7 @@ import TableHeaderComponent from './header'
9
9
  import TableFooterComponent from './footer'
10
10
  import tableProps from './props'
11
11
  import tableEmits from './emits'
12
- import { getRowUniqueId, clearTableAllStatus, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getRefElem, getColReMinWidth, updateDeepRowKey, updateFastRowKey } from './util'
12
+ import { getRowUniqueId, clearTableAllStatus, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getRefElem, getColReMinWidth, updateDeepRowKey, updateFastRowKey } from './util'
13
13
  import { getSlotVNs } from '../../ui/src/vn'
14
14
  import { warnLog, errLog } from '../../ui/src/log'
15
15
  import TableCustomPanelComponent from '../module/custom/panel'
@@ -2367,6 +2367,7 @@ export default defineComponent({
2367
2367
  const childrenField = treeOpts.children || treeOpts.childrenField
2368
2368
  const checkboxOpts = computeCheckboxOpts.value
2369
2369
  const { checkField, reserve, checkMethod } = checkboxOpts
2370
+ // indeterminateField 仅支持读取
2370
2371
  const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField
2371
2372
  const selectRowMaps: Record<string, any> = {}
2372
2373
  /**
@@ -3589,6 +3590,9 @@ export default defineComponent({
3589
3590
 
3590
3591
  tableMethods = {
3591
3592
  dispatchEvent,
3593
+ getEl () {
3594
+ return refElem.value
3595
+ },
3592
3596
  /**
3593
3597
  * 重置表格的一切数据状态
3594
3598
  */
@@ -4080,18 +4084,20 @@ export default defineComponent({
4080
4084
  },
4081
4085
  /**
4082
4086
  * 检查行或列数据是否发生改变
4083
- * @param {Row} row 行对象
4087
+ * @param {Row} rowOrId 行对象、行主键
4084
4088
  * @param {String} field 字段名
4085
4089
  */
4086
- isUpdateByRow (row, field) {
4090
+ isUpdateByRow (rowOrId, field) {
4087
4091
  const { keepSource } = props
4088
4092
  const { tableFullColumn, fullDataRowIdData, sourceDataRowIdData } = internalData
4089
4093
  if (keepSource) {
4090
- const rowid = getRowid($xeTable, row)
4094
+ const rowid = XEUtils.isString(rowOrId) || XEUtils.isNumber(rowOrId) ? rowOrId : getRowid($xeTable, rowOrId)
4095
+ const rowRest = fullDataRowIdData[rowid]
4091
4096
  // 新增的数据不需要检测
4092
- if (!fullDataRowIdData[rowid]) {
4097
+ if (!rowRest) {
4093
4098
  return false
4094
4099
  }
4100
+ const row = rowRest.row
4095
4101
  const oRow = sourceDataRowIdData[rowid]
4096
4102
  if (oRow) {
4097
4103
  if (arguments.length > 1) {
@@ -4155,6 +4161,92 @@ export default defineComponent({
4155
4161
  tableColumn: reactData.tableColumn.slice(0)
4156
4162
  }
4157
4163
  },
4164
+ /**
4165
+ * 移动列到指定列的位置
4166
+ * @param fieldOrColumn
4167
+ * @param targetFieldOrColumn
4168
+ * @param options
4169
+ */
4170
+ moveColumnTo (fieldOrColumn, targetFieldOrColumn, options) {
4171
+ const { fullColumnIdData, visibleColumn } = internalData
4172
+ const { dragToChild, dragPos, isCrossDrag } = Object.assign({}, options)
4173
+ const dragCol = handleFieldOrColumn($xeTable, fieldOrColumn)
4174
+ let prevDragCol: VxeTableDefines.ColumnInfo | null = null
4175
+ const colRest = dragCol ? fullColumnIdData[dragCol.id] : null
4176
+ let defPos: 'left' | 'right' = 'left'
4177
+ if (XEUtils.isNumber(targetFieldOrColumn)) {
4178
+ if (colRest && targetFieldOrColumn) {
4179
+ let currList = colRest.items
4180
+ let offsetIndex = colRest._index + targetFieldOrColumn
4181
+ if (isCrossDrag) {
4182
+ currList = visibleColumn
4183
+ offsetIndex = colRest._index + targetFieldOrColumn
4184
+ }
4185
+ if (offsetIndex > 0 && offsetIndex < currList.length - 1) {
4186
+ prevDragCol = currList[offsetIndex]
4187
+ }
4188
+ if (targetFieldOrColumn > 0) {
4189
+ defPos = 'right'
4190
+ }
4191
+ }
4192
+ } else {
4193
+ prevDragCol = handleFieldOrColumn($xeTable, targetFieldOrColumn)
4194
+ const targetColRest = prevDragCol ? fullColumnIdData[prevDragCol.id] : null
4195
+ if (colRest && targetColRest) {
4196
+ if (targetColRest._index > colRest._index) {
4197
+ defPos = 'right'
4198
+ }
4199
+ }
4200
+ }
4201
+ return $xeTable.handleColDragSwapEvent(null, true, dragCol, prevDragCol, dragPos || defPos, dragToChild === true)
4202
+ },
4203
+ /**
4204
+ * 移动行到指定行的位置
4205
+ * @param rowidOrRow
4206
+ * @param targetRowidOrRow
4207
+ * @param options
4208
+ */
4209
+ moveRowTo (rowidOrRow, targetRowidOrRow, options) {
4210
+ const { treeConfig } = props
4211
+ const { fullAllDataRowIdData, afterFullData } = internalData
4212
+ const { dragToChild, dragPos, isCrossDrag } = Object.assign({}, options)
4213
+ const treeOpts = computeTreeOpts.value
4214
+ const dragRow = handleRowidOrRow($xeTable, rowidOrRow)
4215
+ let prevDragRow: any = null
4216
+ let defPos: 'top' | 'bottom' = 'top'
4217
+ const rowRest = dragRow ? fullAllDataRowIdData[getRowid($xeTable, dragRow)] : null
4218
+ if (XEUtils.isNumber(targetRowidOrRow)) {
4219
+ if (rowRest && targetRowidOrRow) {
4220
+ let currList = afterFullData
4221
+ let offsetIndex = rowRest._index + targetRowidOrRow
4222
+ if (treeConfig) {
4223
+ currList = rowRest.items
4224
+ if (treeOpts.transform) {
4225
+ offsetIndex = rowRest.treeIndex + targetRowidOrRow
4226
+ if (isCrossDrag) {
4227
+ currList = afterFullData
4228
+ offsetIndex = rowRest._index + targetRowidOrRow
4229
+ }
4230
+ }
4231
+ }
4232
+ if (offsetIndex >= 0 && offsetIndex <= currList.length - 1) {
4233
+ prevDragRow = currList[offsetIndex]
4234
+ }
4235
+ if (targetRowidOrRow > 0) {
4236
+ defPos = 'bottom'
4237
+ }
4238
+ }
4239
+ } else {
4240
+ prevDragRow = handleRowidOrRow($xeTable, targetRowidOrRow)
4241
+ const targetRowRest = prevDragRow ? fullAllDataRowIdData[getRowid($xeTable, prevDragRow)] : null
4242
+ if (rowRest && targetRowRest) {
4243
+ if (targetRowRest._index > rowRest._index) {
4244
+ defPos = 'bottom'
4245
+ }
4246
+ }
4247
+ }
4248
+ return $xeTable.handleRowDragSwapEvent(null, true, dragRow, prevDragRow, dragPos || defPos, dragToChild === true)
4249
+ },
4158
4250
  /**
4159
4251
  * 获取表格的全量列
4160
4252
  */
@@ -4174,6 +4266,7 @@ export default defineComponent({
4174
4266
  */
4175
4267
  getCheckboxRecords (isFull) {
4176
4268
  const { treeConfig } = props
4269
+ const { selectCheckboxMaps } = reactData
4177
4270
  const { tableFullData, afterFullData, afterTreeFullData, tableFullTreeData, fullDataRowIdData, afterFullRowMaps } = internalData
4178
4271
  const treeOpts = computeTreeOpts.value
4179
4272
  const checkboxOpts = computeCheckboxOpts.value
@@ -4181,15 +4274,15 @@ export default defineComponent({
4181
4274
  const { checkField } = checkboxOpts
4182
4275
  const childrenField = treeOpts.children || treeOpts.childrenField
4183
4276
  let rowList: any[] = []
4184
- const currTableData = isFull ? (transform ? tableFullTreeData : tableFullData) : (transform ? afterTreeFullData : afterFullData)
4185
4277
  if (checkField) {
4186
4278
  if (treeConfig) {
4279
+ const currTableData = isFull ? (transform ? tableFullTreeData : tableFullData) : (transform ? afterTreeFullData : afterFullData)
4187
4280
  rowList = XEUtils.filterTree(currTableData, row => XEUtils.get(row, checkField), { children: transform ? mapChildrenField : childrenField })
4188
4281
  } else {
4282
+ const currTableData = isFull ? tableFullData : afterFullData
4189
4283
  rowList = currTableData.filter((row) => XEUtils.get(row, checkField))
4190
4284
  }
4191
4285
  } else {
4192
- const { selectCheckboxMaps } = reactData
4193
4286
  XEUtils.each(selectCheckboxMaps, (row, rowid) => {
4194
4287
  if (isFull) {
4195
4288
  if (fullDataRowIdData[rowid]) {
@@ -4873,6 +4966,7 @@ export default defineComponent({
4873
4966
  const childrenField = treeOpts.children || treeOpts.childrenField
4874
4967
  const checkboxOpts = computeCheckboxOpts.value
4875
4968
  const { checkField, reserve } = checkboxOpts
4969
+ // indeterminateField 仅支持读取
4876
4970
  const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField
4877
4971
  if (checkField) {
4878
4972
  const handleClearChecked = (item: any) => {
@@ -7561,6 +7655,7 @@ export default defineComponent({
7561
7655
  const childrenField = treeOpts.children || treeOpts.childrenField
7562
7656
  const checkboxOpts = computeCheckboxOpts.value
7563
7657
  const { checkField, checkStrictly, checkMethod } = checkboxOpts
7658
+ // indeterminateField 仅支持读取
7564
7659
  const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField
7565
7660
  if (checkField) {
7566
7661
  // 树结构
@@ -8198,6 +8293,9 @@ export default defineComponent({
8198
8293
  const { afterFullData, tableFullData } = internalData
8199
8294
  const dEndMethod = dragEndMethod || (dragConfig ? dragConfig.dragEndMethod : null)
8200
8295
  const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0
8296
+ const errRest = {
8297
+ status: false
8298
+ }
8201
8299
  if (prevDragRow && dragRow) {
8202
8300
  // 判断是否有拖动
8203
8301
  if (prevDragRow !== dragRow) {
@@ -8212,7 +8310,7 @@ export default defineComponent({
8212
8310
  const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild
8213
8311
  return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then((status) => {
8214
8312
  if (!status) {
8215
- return
8313
+ return errRest
8216
8314
  }
8217
8315
 
8218
8316
  let oafIndex = -1
@@ -8243,11 +8341,11 @@ export default defineComponent({
8243
8341
  if (isPeerDrag && !isCrossDrag) {
8244
8342
  if (oldRest.row[parentField] !== newRest.row[parentField]) {
8245
8343
  // 非同级
8246
- return
8344
+ return errRest
8247
8345
  }
8248
8346
  } else {
8249
8347
  if (!isCrossDrag) {
8250
- return
8348
+ return errRest
8251
8349
  }
8252
8350
  if (oldAllMaps[newRowid]) {
8253
8351
  isSelfToChildStatus = true
@@ -8258,7 +8356,7 @@ export default defineComponent({
8258
8356
  content: getI18n('vxe.error.treeDragChild')
8259
8357
  })
8260
8358
  }
8261
- return
8359
+ return errRest
8262
8360
  }
8263
8361
  }
8264
8362
  }
@@ -8266,13 +8364,13 @@ export default defineComponent({
8266
8364
  // 子到根
8267
8365
 
8268
8366
  if (!isCrossDrag) {
8269
- return
8367
+ return errRest
8270
8368
  }
8271
8369
  } else if (newLevel) {
8272
8370
  // 根到子
8273
8371
 
8274
8372
  if (!isCrossDrag) {
8275
- return
8373
+ return errRest
8276
8374
  }
8277
8375
  if (oldAllMaps[newRowid]) {
8278
8376
  isSelfToChildStatus = true
@@ -8283,7 +8381,7 @@ export default defineComponent({
8283
8381
  content: getI18n('vxe.error.treeDragChild')
8284
8382
  })
8285
8383
  }
8286
- return
8384
+ return errRest
8287
8385
  }
8288
8386
  }
8289
8387
  } else {
@@ -8347,28 +8445,36 @@ export default defineComponent({
8347
8445
  if (reactData.scrollYLoad) {
8348
8446
  $xeTable.updateScrollYSpace()
8349
8447
  }
8350
- nextTick().then(() => {
8448
+
8449
+ if (evnt) {
8450
+ dispatchEvent('row-dragend', {
8451
+ oldRow: dragRow,
8452
+ newRow: prevDragRow,
8453
+ dragRow,
8454
+ dragPos: prevDragPos as any,
8455
+ dragToChild: isDragToChildFlag,
8456
+ offsetIndex: dragOffsetIndex,
8457
+ _index: {
8458
+ newIndex: nafIndex,
8459
+ oldIndex: oafIndex
8460
+ }
8461
+ }, evnt)
8462
+ }
8463
+
8464
+ return nextTick().then(() => {
8351
8465
  $xeTable.updateCellAreas()
8352
8466
  $xeTable.recalculate()
8353
- })
8354
-
8355
- dispatchEvent('row-dragend', {
8356
- oldRow: dragRow,
8357
- newRow: prevDragRow,
8358
- dragRow,
8359
- dragPos: prevDragPos as any,
8360
- dragToChild: isDragToChildFlag,
8361
- offsetIndex: dragOffsetIndex,
8362
- _index: {
8363
- newIndex: nafIndex,
8364
- oldIndex: oafIndex
8467
+ }).then(() => {
8468
+ return {
8469
+ status: true
8365
8470
  }
8366
- }, evnt)
8471
+ })
8367
8472
  }).catch(() => {
8473
+ return errRest
8368
8474
  })
8369
8475
  }
8370
8476
  }
8371
- return Promise.resolve()
8477
+ return Promise.resolve(errRest)
8372
8478
  },
8373
8479
  handleRowDragDragendEvent (evnt) {
8374
8480
  const { treeConfig } = props
@@ -8493,6 +8599,9 @@ export default defineComponent({
8493
8599
  const { isPeerDrag, isCrossDrag, isSelfToChildDrag, isToChildDrag, dragEndMethod, dragToChildMethod } = columnDragOpts
8494
8600
  const { collectColumn } = internalData
8495
8601
  const dragOffsetIndex = prevDragPos === 'right' ? 1 : 0
8602
+ const errRest = {
8603
+ status: false
8604
+ }
8496
8605
  if (prevDragCol && dragCol) {
8497
8606
  // 判断是否有拖动
8498
8607
  if (prevDragCol !== dragCol) {
@@ -8509,7 +8618,7 @@ export default defineComponent({
8509
8618
  const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild
8510
8619
  return Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then((status) => {
8511
8620
  if (!status) {
8512
- return
8621
+ return errRest
8513
8622
  }
8514
8623
 
8515
8624
  let oafIndex = -1
@@ -8528,11 +8637,11 @@ export default defineComponent({
8528
8637
  if (isPeerDrag && !isCrossDrag) {
8529
8638
  if (dragColumn.parentId !== newColumn.parentId) {
8530
8639
  // 非同级
8531
- return
8640
+ return errRest
8532
8641
  }
8533
8642
  } else {
8534
8643
  if (!isCrossDrag) {
8535
- return
8644
+ return errRest
8536
8645
  }
8537
8646
 
8538
8647
  if (oldAllMaps[newColumn.id]) {
@@ -8544,7 +8653,7 @@ export default defineComponent({
8544
8653
  content: getI18n('vxe.error.treeDragChild')
8545
8654
  })
8546
8655
  }
8547
- return
8656
+ return errRest
8548
8657
  }
8549
8658
  }
8550
8659
  }
@@ -8552,13 +8661,13 @@ export default defineComponent({
8552
8661
  // 子到根
8553
8662
 
8554
8663
  if (!isCrossDrag) {
8555
- return
8664
+ return errRest
8556
8665
  }
8557
8666
  } else if (newColumn.parentId) {
8558
8667
  // 根到子
8559
8668
 
8560
8669
  if (!isCrossDrag) {
8561
- return
8670
+ return errRest
8562
8671
  }
8563
8672
  if (oldAllMaps[newColumn.id]) {
8564
8673
  isSelfToChildStatus = true
@@ -8569,7 +8678,7 @@ export default defineComponent({
8569
8678
  content: getI18n('vxe.error.treeDragChild')
8570
8679
  })
8571
8680
  }
8572
- return
8681
+ return errRest
8573
8682
  }
8574
8683
  }
8575
8684
  } else {
@@ -8633,27 +8742,34 @@ export default defineComponent({
8633
8742
  }
8634
8743
  }
8635
8744
 
8636
- dispatchEvent('column-dragend', {
8637
- oldColumn: dragColumn,
8638
- newColumn,
8639
- dragColumn,
8640
- dragPos: prevDragPos,
8641
- dragToChild: isDragToChildFlag,
8642
- offsetIndex: dragOffsetIndex,
8643
- _index: {
8644
- newIndex: nafIndex,
8645
- oldIndex: oafIndex
8646
- }
8647
- }, evnt)
8745
+ if (evnt) {
8746
+ dispatchEvent('column-dragend', {
8747
+ oldColumn: dragColumn,
8748
+ newColumn,
8749
+ dragColumn,
8750
+ dragPos: prevDragPos,
8751
+ dragToChild: isDragToChildFlag,
8752
+ offsetIndex: dragOffsetIndex,
8753
+ _index: {
8754
+ newIndex: nafIndex,
8755
+ oldIndex: oafIndex
8756
+ }
8757
+ }, evnt)
8758
+ }
8648
8759
 
8649
8760
  if (isSyncColumn) {
8650
8761
  $xeTable.handleColDragSwapColumn()
8651
8762
  }
8763
+
8764
+ return {
8765
+ status: true
8766
+ }
8652
8767
  }).catch(() => {
8768
+ return errRest
8653
8769
  })
8654
8770
  }
8655
8771
  }
8656
- return Promise.resolve()
8772
+ return Promise.resolve(errRest)
8657
8773
  },
8658
8774
  handleHeaderCellDragDragendEvent (evnt) {
8659
8775
  const { dragCol } = reactData
@@ -146,6 +146,14 @@ export const handleFieldOrColumn = ($xeTable: VxeTableConstructor, fieldOrColumn
146
146
  return null
147
147
  }
148
148
 
149
+ export const handleRowidOrRow = ($xeTable: VxeTableConstructor, rowidOrRow: any) => {
150
+ if (rowidOrRow) {
151
+ const rowid = XEUtils.isString(rowidOrRow) || XEUtils.isNumber(rowidOrRow) ? rowidOrRow : getRowid($xeTable, rowidOrRow)
152
+ return $xeTable.getRowById(rowid)
153
+ }
154
+ return null
155
+ }
156
+
149
157
  function getPaddingLeftRightSize (elem: HTMLElement | null) {
150
158
  if (elem) {
151
159
  const computedStyle = getComputedStyle(elem)