vxe-table 3.14.0-beta.7 → 3.14.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.
- package/es/grid/src/grid.js +4 -0
- package/es/style.css +1 -1
- package/es/table/src/methods.js +185 -53
- package/es/table/src/util.js +9 -2
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +4 -0
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +227 -68
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/methods.js +212 -64
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/util.js +11 -2
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +5 -0
- package/packages/table/src/methods.ts +205 -60
- package/packages/table/src/util.ts +10 -2
- /package/es/{iconfont.1741265532675.ttf → iconfont.1741333630357.ttf} +0 -0
- /package/es/{iconfont.1741265532675.woff → iconfont.1741333630357.woff} +0 -0
- /package/es/{iconfont.1741265532675.woff2 → iconfont.1741333630357.woff2} +0 -0
- /package/lib/{iconfont.1741265532675.ttf → iconfont.1741333630357.ttf} +0 -0
- /package/lib/{iconfont.1741265532675.woff → iconfont.1741333630357.woff} +0 -0
- /package/lib/{iconfont.1741265532675.woff2 → iconfont.1741333630357.woff2} +0 -0
package/lib/table/src/util.js
CHANGED
|
@@ -22,6 +22,7 @@ exports.getRowUniqueId = getRowUniqueId;
|
|
|
22
22
|
exports.getRowid = getRowid;
|
|
23
23
|
exports.getRowkey = getRowkey;
|
|
24
24
|
exports.handleFieldOrColumn = handleFieldOrColumn;
|
|
25
|
+
exports.handleRowidOrRow = void 0;
|
|
25
26
|
exports.isColumnInfo = isColumnInfo;
|
|
26
27
|
exports.mergeBodyMethod = mergeBodyMethod;
|
|
27
28
|
exports.restoreScrollLocation = restoreScrollLocation;
|
|
@@ -177,13 +178,21 @@ function getCellHeight(height) {
|
|
|
177
178
|
}
|
|
178
179
|
return height || 0;
|
|
179
180
|
}
|
|
180
|
-
function handleFieldOrColumn(
|
|
181
|
+
function handleFieldOrColumn($xeTable, fieldOrColumn) {
|
|
181
182
|
if (fieldOrColumn) {
|
|
182
|
-
return _xeUtils.default.isString(fieldOrColumn) || _xeUtils.default.isNumber(fieldOrColumn) ?
|
|
183
|
+
return _xeUtils.default.isString(fieldOrColumn) || _xeUtils.default.isNumber(fieldOrColumn) ? $xeTable.getColumnByField(`${fieldOrColumn}`) : fieldOrColumn;
|
|
183
184
|
}
|
|
184
185
|
return null;
|
|
185
186
|
}
|
|
187
|
+
const handleRowidOrRow = ($xeTable, rowidOrRow) => {
|
|
188
|
+
if (rowidOrRow) {
|
|
189
|
+
const rowid = _xeUtils.default.isString(rowidOrRow) || _xeUtils.default.isNumber(rowidOrRow) ? rowidOrRow : getRowid($xeTable, rowidOrRow);
|
|
190
|
+
return $xeTable.getRowById(rowid);
|
|
191
|
+
}
|
|
192
|
+
return null;
|
|
193
|
+
};
|
|
186
194
|
// 组装列配置
|
|
195
|
+
exports.handleRowidOrRow = handleRowidOrRow;
|
|
187
196
|
function assembleColumn(_vm) {
|
|
188
197
|
const {
|
|
189
198
|
$el,
|
|
@@ -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.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.
|
|
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.handleRowidOrRow=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;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}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let handleRowidOrRow=(e,t)=>t?(t=_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?t:getRowid(e,t),e.getRowById(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.handleRowidOrRow=handleRowidOrRow;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],R=getRowid(l,x);if(x===o||R===g)break;x=n[R];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.
|
|
16
|
+
const version = exports.version = "3.14.0-beta.8";
|
|
17
17
|
_core.VxeUI.version = version;
|
|
18
18
|
_core.VxeUI.tableVersion = version;
|
|
19
19
|
_core.VxeUI.setConfig({
|
package/lib/ui/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.VXETable=void 0,Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.version=exports.validators=exports.use=exports.t=exports.setup=exports.setTheme=exports.setLanguage=exports.setIcon=exports.setI18n=exports.setConfig=exports.saveFile=exports.renderer=exports.readFile=exports.print=exports.modal=exports.menus=exports.log=exports.interceptor=exports.globalResize=exports.globalEvents=exports.getTheme=exports.getIcon=exports.getI18n=exports.getConfig=exports.formats=exports.default=exports.config=exports.commands=exports.clipboard=exports._t=void 0;var _core=require("@vxe-ui/core"),_utils=require("./src/utils");let version=exports.version="3.14.0-beta.
|
|
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.8",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,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.
|
|
11
|
+
const version = `table v${"3.14.0-beta.8"}`;
|
|
12
12
|
const warnLog = exports.warnLog = log.create('warn', version);
|
|
13
13
|
const errLog = exports.errLog = log.create('error', version);
|
package/lib/ui/src/log.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");let log=_core.VxeUI.log,version="table v3.14.0-beta.
|
|
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.8",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxe-table",
|
|
3
|
-
"version": "3.14.0-beta.
|
|
3
|
+
"version": "3.14.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": "^3.4.
|
|
31
|
+
"vxe-pc-ui": "^3.4.6"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@babel/plugin-transform-modules-commonjs": "^7.25.7",
|
|
@@ -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, updateDeepRowKey, updateFastRowKey, getRefElem } from './util'
|
|
6
|
+
import { getRowUniqueId, clearTableAllStatus, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, 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
|
|
|
@@ -848,6 +848,7 @@ function handleCheckedAllCheckboxRow ($xeTable: VxeTableConstructor & VxeTablePr
|
|
|
848
848
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
849
849
|
const checkboxOpts = $xeTable.computeCheckboxOpts
|
|
850
850
|
const { checkField, reserve, checkMethod } = checkboxOpts
|
|
851
|
+
// indeterminateField 仅支持读取
|
|
851
852
|
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField
|
|
852
853
|
const selectRowMaps: Record<string, any> = {}
|
|
853
854
|
/**
|
|
@@ -2362,6 +2363,11 @@ const Methods = {
|
|
|
2362
2363
|
}
|
|
2363
2364
|
return []
|
|
2364
2365
|
},
|
|
2366
|
+
getEl () {
|
|
2367
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
2368
|
+
|
|
2369
|
+
return $xeTable.$refs.refElem as HTMLDivElement
|
|
2370
|
+
},
|
|
2365
2371
|
/**
|
|
2366
2372
|
* 获取父容器元素
|
|
2367
2373
|
*/
|
|
@@ -3312,22 +3318,28 @@ const Methods = {
|
|
|
3312
3318
|
},
|
|
3313
3319
|
/**
|
|
3314
3320
|
* 检查行或列数据是否发生改变
|
|
3315
|
-
* @param {Row}
|
|
3321
|
+
* @param {Row} rowOrId 行对象
|
|
3316
3322
|
* @param {String} field 字段名
|
|
3317
3323
|
*/
|
|
3318
|
-
isUpdateByRow (
|
|
3319
|
-
const
|
|
3324
|
+
isUpdateByRow (rowOrId: any, field?: string | null) {
|
|
3325
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
3326
|
+
const props = $xeTable
|
|
3327
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
3328
|
+
|
|
3329
|
+
const { keepSource } = props
|
|
3330
|
+
const { tableFullColumn, fullDataRowIdData, sourceDataRowIdData } = internalData
|
|
3320
3331
|
if (keepSource) {
|
|
3321
|
-
const rowid = getRowid(
|
|
3332
|
+
const rowid = XEUtils.isString(rowOrId) || XEUtils.isNumber(rowOrId) ? rowOrId : getRowid($xeTable, rowOrId)
|
|
3333
|
+
const rowRest = fullDataRowIdData[rowid]
|
|
3322
3334
|
// 新增的数据不需要检测
|
|
3323
|
-
if (!
|
|
3335
|
+
if (!rowRest) {
|
|
3324
3336
|
return false
|
|
3325
3337
|
}
|
|
3326
|
-
const
|
|
3327
|
-
|
|
3328
|
-
|
|
3338
|
+
const row = rowRest.row
|
|
3339
|
+
const oRow = sourceDataRowIdData[rowid]
|
|
3340
|
+
if (oRow) {
|
|
3329
3341
|
if (arguments.length > 1) {
|
|
3330
|
-
return !eqCellValue(oRow, row, field)
|
|
3342
|
+
return !eqCellValue(oRow, row, field as string)
|
|
3331
3343
|
}
|
|
3332
3344
|
for (let index = 0, len = tableFullColumn.length; index < len; index++) {
|
|
3333
3345
|
const property = tableFullColumn[index].field
|
|
@@ -3387,6 +3399,107 @@ const Methods = {
|
|
|
3387
3399
|
tableColumn: this.tableColumn.slice(0)
|
|
3388
3400
|
}
|
|
3389
3401
|
},
|
|
3402
|
+
/**
|
|
3403
|
+
* 移动列到指定列的位置
|
|
3404
|
+
* @param fieldOrColumn
|
|
3405
|
+
* @param targetFieldOrColumn
|
|
3406
|
+
* @param options
|
|
3407
|
+
*/
|
|
3408
|
+
moveColumnTo (fieldOrColumn: VxeTableDefines.ColumnInfo, targetFieldOrColumn: VxeTableDefines.ColumnInfo, options?: {
|
|
3409
|
+
isCrossDrag?: boolean
|
|
3410
|
+
dragToChild?: boolean;
|
|
3411
|
+
dragPos?: 'left' | 'right' | '' | null;
|
|
3412
|
+
}) {
|
|
3413
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
3414
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
3415
|
+
|
|
3416
|
+
const { fullColumnIdData, visibleColumn } = internalData
|
|
3417
|
+
const { dragToChild, dragPos, isCrossDrag } = Object.assign({}, options)
|
|
3418
|
+
const dragCol = handleFieldOrColumn($xeTable, fieldOrColumn)
|
|
3419
|
+
let prevDragCol: VxeTableDefines.ColumnInfo | null = null
|
|
3420
|
+
const colRest = dragCol ? fullColumnIdData[dragCol.id] : null
|
|
3421
|
+
let defPos: 'left' | 'right' = 'left'
|
|
3422
|
+
if (XEUtils.isNumber(targetFieldOrColumn)) {
|
|
3423
|
+
if (colRest && targetFieldOrColumn) {
|
|
3424
|
+
let currList = colRest.items
|
|
3425
|
+
let offsetIndex = colRest._index + targetFieldOrColumn
|
|
3426
|
+
if (isCrossDrag) {
|
|
3427
|
+
currList = visibleColumn
|
|
3428
|
+
offsetIndex = colRest._index + targetFieldOrColumn
|
|
3429
|
+
}
|
|
3430
|
+
if (offsetIndex > 0 && offsetIndex < currList.length - 1) {
|
|
3431
|
+
prevDragCol = currList[offsetIndex]
|
|
3432
|
+
}
|
|
3433
|
+
if (targetFieldOrColumn > 0) {
|
|
3434
|
+
defPos = 'right'
|
|
3435
|
+
}
|
|
3436
|
+
}
|
|
3437
|
+
} else {
|
|
3438
|
+
prevDragCol = handleFieldOrColumn($xeTable, targetFieldOrColumn)
|
|
3439
|
+
const targetColRest = prevDragCol ? fullColumnIdData[prevDragCol.id] : null
|
|
3440
|
+
if (colRest && targetColRest) {
|
|
3441
|
+
if (targetColRest._index > colRest._index) {
|
|
3442
|
+
defPos = 'right'
|
|
3443
|
+
}
|
|
3444
|
+
}
|
|
3445
|
+
}
|
|
3446
|
+
return $xeTable.handleColDragSwapEvent(null, true, dragCol, prevDragCol, dragPos || defPos, dragToChild === true)
|
|
3447
|
+
},
|
|
3448
|
+
/**
|
|
3449
|
+
* 移动行到指定行的位置
|
|
3450
|
+
* @param rowidOrRow
|
|
3451
|
+
* @param targetRowidOrRow
|
|
3452
|
+
* @param options
|
|
3453
|
+
*/
|
|
3454
|
+
moveRowTo (rowidOrRow: any, targetRowidOrRow: any, options?: {
|
|
3455
|
+
isCrossDrag?: boolean
|
|
3456
|
+
dragToChild?: boolean;
|
|
3457
|
+
dragPos?: 'top' | 'bottom' | '' | null;
|
|
3458
|
+
}) {
|
|
3459
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
3460
|
+
const props = $xeTable
|
|
3461
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
3462
|
+
|
|
3463
|
+
const { treeConfig } = props
|
|
3464
|
+
const { fullAllDataRowIdData, afterFullData } = internalData
|
|
3465
|
+
const { dragToChild, dragPos, isCrossDrag } = Object.assign({}, options)
|
|
3466
|
+
const treeOpts = $xeTable.computeTreeOpts
|
|
3467
|
+
const dragRow = handleRowidOrRow($xeTable, rowidOrRow)
|
|
3468
|
+
let prevDragRow: any = null
|
|
3469
|
+
let defPos: 'top' | 'bottom' = 'top'
|
|
3470
|
+
const rowRest = dragRow ? fullAllDataRowIdData[getRowid($xeTable, dragRow)] : null
|
|
3471
|
+
if (XEUtils.isNumber(targetRowidOrRow)) {
|
|
3472
|
+
if (rowRest && targetRowidOrRow) {
|
|
3473
|
+
let currList = afterFullData
|
|
3474
|
+
let offsetIndex = rowRest._index + targetRowidOrRow
|
|
3475
|
+
if (treeConfig) {
|
|
3476
|
+
currList = rowRest.items
|
|
3477
|
+
if (treeOpts.transform) {
|
|
3478
|
+
offsetIndex = rowRest.treeIndex + targetRowidOrRow
|
|
3479
|
+
if (isCrossDrag) {
|
|
3480
|
+
currList = afterFullData
|
|
3481
|
+
offsetIndex = rowRest._index + targetRowidOrRow
|
|
3482
|
+
}
|
|
3483
|
+
}
|
|
3484
|
+
}
|
|
3485
|
+
if (offsetIndex >= 0 && offsetIndex <= currList.length - 1) {
|
|
3486
|
+
prevDragRow = currList[offsetIndex]
|
|
3487
|
+
}
|
|
3488
|
+
if (targetRowidOrRow > 0) {
|
|
3489
|
+
defPos = 'bottom'
|
|
3490
|
+
}
|
|
3491
|
+
}
|
|
3492
|
+
} else {
|
|
3493
|
+
prevDragRow = handleRowidOrRow($xeTable, targetRowidOrRow)
|
|
3494
|
+
const targetRowRest = prevDragRow ? fullAllDataRowIdData[getRowid($xeTable, prevDragRow)] : null
|
|
3495
|
+
if (rowRest && targetRowRest) {
|
|
3496
|
+
if (targetRowRest._index > rowRest._index) {
|
|
3497
|
+
defPos = 'bottom'
|
|
3498
|
+
}
|
|
3499
|
+
}
|
|
3500
|
+
}
|
|
3501
|
+
return $xeTable.handleRowDragSwapEvent(null, true, dragRow, prevDragRow, dragPos || defPos, dragToChild === true)
|
|
3502
|
+
},
|
|
3390
3503
|
/**
|
|
3391
3504
|
* 获取表格的全量列
|
|
3392
3505
|
*/
|
|
@@ -3407,21 +3520,30 @@ const Methods = {
|
|
|
3407
3520
|
/**
|
|
3408
3521
|
* 用于多选行,获取已选中的数据
|
|
3409
3522
|
*/
|
|
3410
|
-
getCheckboxRecords (isFull:
|
|
3411
|
-
const
|
|
3523
|
+
getCheckboxRecords (isFull: boolean) {
|
|
3524
|
+
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
3525
|
+
const props = $xeTable
|
|
3526
|
+
const reactData = $xeTable as unknown as TableReactData
|
|
3527
|
+
const internalData = $xeTable as unknown as TableInternalData
|
|
3528
|
+
|
|
3529
|
+
const { treeConfig } = props
|
|
3530
|
+
const { selectCheckboxMaps } = reactData
|
|
3531
|
+
const { tableFullData, afterFullData, afterTreeFullData, tableFullTreeData, fullDataRowIdData, afterFullRowMaps } = internalData
|
|
3532
|
+
const treeOpts = $xeTable.computeTreeOpts
|
|
3533
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts
|
|
3412
3534
|
const { transform, mapChildrenField } = treeOpts
|
|
3413
3535
|
const { checkField } = checkboxOpts
|
|
3414
3536
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
3415
|
-
|
|
3416
|
-
let rowList = []
|
|
3537
|
+
let rowList: any[] = []
|
|
3417
3538
|
if (checkField) {
|
|
3418
3539
|
if (treeConfig) {
|
|
3540
|
+
const currTableData = isFull ? (transform ? tableFullTreeData : tableFullData) : (transform ? afterTreeFullData : afterFullData)
|
|
3419
3541
|
rowList = XEUtils.filterTree(currTableData, row => XEUtils.get(row, checkField), { children: transform ? mapChildrenField : childrenField })
|
|
3420
3542
|
} else {
|
|
3421
|
-
|
|
3543
|
+
const currTableData = isFull ? tableFullData : afterFullData
|
|
3544
|
+
rowList = currTableData.filter((row) => XEUtils.get(row, checkField))
|
|
3422
3545
|
}
|
|
3423
3546
|
} else {
|
|
3424
|
-
const { selectCheckboxMaps, fullDataRowIdData } = this
|
|
3425
3547
|
XEUtils.each(selectCheckboxMaps, (row, rowid) => {
|
|
3426
3548
|
if (isFull) {
|
|
3427
3549
|
if (fullDataRowIdData[rowid]) {
|
|
@@ -5562,6 +5684,7 @@ const Methods = {
|
|
|
5562
5684
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
5563
5685
|
const checkboxOpts = $xeTable.computeCheckboxOpts
|
|
5564
5686
|
const { checkField, checkStrictly, checkMethod } = checkboxOpts
|
|
5687
|
+
// indeterminateField 仅支持读取
|
|
5565
5688
|
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField
|
|
5566
5689
|
if (checkField) {
|
|
5567
5690
|
// 树结构
|
|
@@ -6005,6 +6128,7 @@ const Methods = {
|
|
|
6005
6128
|
const { tableFullData, treeConfig, treeOpts, checkboxOpts } = this
|
|
6006
6129
|
const { checkField, reserve } = checkboxOpts
|
|
6007
6130
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
6131
|
+
// indeterminateField 仅支持读取
|
|
6008
6132
|
const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField
|
|
6009
6133
|
if (checkField) {
|
|
6010
6134
|
const handleClearChecked = (item: any) => {
|
|
@@ -6614,7 +6738,7 @@ const Methods = {
|
|
|
6614
6738
|
evnt.dataTransfer.setDragImage(getTpImg(), 0, 0)
|
|
6615
6739
|
}
|
|
6616
6740
|
},
|
|
6617
|
-
handleRowDragSwapEvent (evnt: DragEvent, isSyncRow: boolean | undefined, dragRow: any, prevDragRow: any, prevDragPos: '' | 'top' | 'bottom' | 'left' | 'right' | undefined, prevDragToChild: boolean | undefined) {
|
|
6741
|
+
handleRowDragSwapEvent (evnt: DragEvent | null, isSyncRow: boolean | undefined, dragRow: any, prevDragRow: any, prevDragPos: '' | 'top' | 'bottom' | 'left' | 'right' | undefined, prevDragToChild: boolean | undefined) {
|
|
6618
6742
|
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
6619
6743
|
const props = $xeTable
|
|
6620
6744
|
const reactData = $xeTable as unknown as TableReactData
|
|
@@ -6630,6 +6754,9 @@ const Methods = {
|
|
|
6630
6754
|
const { afterFullData, tableFullData } = internalData
|
|
6631
6755
|
const dEndMethod = dragEndMethod || (dragConfig ? dragConfig.dragEndMethod : null)
|
|
6632
6756
|
const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0
|
|
6757
|
+
const errRest = {
|
|
6758
|
+
status: false
|
|
6759
|
+
}
|
|
6633
6760
|
if (prevDragRow && dragRow) {
|
|
6634
6761
|
// 判断是否有拖动
|
|
6635
6762
|
if (prevDragRow !== dragRow) {
|
|
@@ -6644,7 +6771,7 @@ const Methods = {
|
|
|
6644
6771
|
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild
|
|
6645
6772
|
return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then((status) => {
|
|
6646
6773
|
if (!status) {
|
|
6647
|
-
return
|
|
6774
|
+
return errRest
|
|
6648
6775
|
}
|
|
6649
6776
|
|
|
6650
6777
|
let oafIndex = -1
|
|
@@ -6675,11 +6802,11 @@ const Methods = {
|
|
|
6675
6802
|
if (isPeerDrag && !isCrossDrag) {
|
|
6676
6803
|
if (oldRest.row[parentField] !== newRest.row[parentField]) {
|
|
6677
6804
|
// 非同级
|
|
6678
|
-
return
|
|
6805
|
+
return errRest
|
|
6679
6806
|
}
|
|
6680
6807
|
} else {
|
|
6681
6808
|
if (!isCrossDrag) {
|
|
6682
|
-
return
|
|
6809
|
+
return errRest
|
|
6683
6810
|
}
|
|
6684
6811
|
if (oldAllMaps[newRowid]) {
|
|
6685
6812
|
isSelfToChildStatus = true
|
|
@@ -6690,7 +6817,7 @@ const Methods = {
|
|
|
6690
6817
|
content: getI18n('vxe.error.treeDragChild')
|
|
6691
6818
|
})
|
|
6692
6819
|
}
|
|
6693
|
-
return
|
|
6820
|
+
return errRest
|
|
6694
6821
|
}
|
|
6695
6822
|
}
|
|
6696
6823
|
}
|
|
@@ -6698,13 +6825,13 @@ const Methods = {
|
|
|
6698
6825
|
// 子到根
|
|
6699
6826
|
|
|
6700
6827
|
if (!isCrossDrag) {
|
|
6701
|
-
return
|
|
6828
|
+
return errRest
|
|
6702
6829
|
}
|
|
6703
6830
|
} else if (newLevel) {
|
|
6704
6831
|
// 根到子
|
|
6705
6832
|
|
|
6706
6833
|
if (!isCrossDrag) {
|
|
6707
|
-
return
|
|
6834
|
+
return errRest
|
|
6708
6835
|
}
|
|
6709
6836
|
if (oldAllMaps[newRowid]) {
|
|
6710
6837
|
isSelfToChildStatus = true
|
|
@@ -6715,7 +6842,7 @@ const Methods = {
|
|
|
6715
6842
|
content: getI18n('vxe.error.treeDragChild')
|
|
6716
6843
|
})
|
|
6717
6844
|
}
|
|
6718
|
-
return
|
|
6845
|
+
return errRest
|
|
6719
6846
|
}
|
|
6720
6847
|
}
|
|
6721
6848
|
} else {
|
|
@@ -6779,28 +6906,36 @@ const Methods = {
|
|
|
6779
6906
|
if (reactData.scrollYLoad) {
|
|
6780
6907
|
$xeTable.updateScrollYSpace()
|
|
6781
6908
|
}
|
|
6782
|
-
|
|
6909
|
+
|
|
6910
|
+
if (evnt) {
|
|
6911
|
+
$xeTable.dispatchEvent('row-dragend', {
|
|
6912
|
+
oldRow: dragRow,
|
|
6913
|
+
newRow: prevDragRow,
|
|
6914
|
+
dragRow,
|
|
6915
|
+
dragPos: prevDragPos as any,
|
|
6916
|
+
dragToChild: isDragToChildFlag,
|
|
6917
|
+
offsetIndex: dragOffsetIndex,
|
|
6918
|
+
_index: {
|
|
6919
|
+
newIndex: nafIndex,
|
|
6920
|
+
oldIndex: oafIndex
|
|
6921
|
+
}
|
|
6922
|
+
}, evnt)
|
|
6923
|
+
}
|
|
6924
|
+
|
|
6925
|
+
return $xeTable.$nextTick().then(() => {
|
|
6783
6926
|
$xeTable.updateCellAreas()
|
|
6784
6927
|
$xeTable.recalculate()
|
|
6785
|
-
})
|
|
6786
|
-
|
|
6787
|
-
|
|
6788
|
-
oldRow: dragRow,
|
|
6789
|
-
newRow: prevDragRow,
|
|
6790
|
-
dragRow,
|
|
6791
|
-
dragPos: prevDragPos as any,
|
|
6792
|
-
dragToChild: isDragToChildFlag,
|
|
6793
|
-
offsetIndex: dragOffsetIndex,
|
|
6794
|
-
_index: {
|
|
6795
|
-
newIndex: nafIndex,
|
|
6796
|
-
oldIndex: oafIndex
|
|
6928
|
+
}).then(() => {
|
|
6929
|
+
return {
|
|
6930
|
+
status: true
|
|
6797
6931
|
}
|
|
6798
|
-
}
|
|
6932
|
+
})
|
|
6799
6933
|
}).catch(() => {
|
|
6934
|
+
return errRest
|
|
6800
6935
|
})
|
|
6801
6936
|
}
|
|
6802
6937
|
}
|
|
6803
|
-
return Promise.resolve()
|
|
6938
|
+
return Promise.resolve(errRest)
|
|
6804
6939
|
},
|
|
6805
6940
|
handleRowDragDragendEvent (evnt: DragEvent) {
|
|
6806
6941
|
const $xeTable = this as VxeTableConstructor & VxeTablePrivateMethods
|
|
@@ -6939,7 +7074,7 @@ const Methods = {
|
|
|
6939
7074
|
$xeTable.saveCustomStore('update:sort')
|
|
6940
7075
|
})
|
|
6941
7076
|
},
|
|
6942
|
-
handleColDragSwapEvent (evnt: DragEvent, isSyncColumn: boolean | undefined, dragCol: VxeTableDefines.ColumnInfo | null | undefined, prevDragCol: VxeTableDefines.ColumnInfo | undefined, prevDragPos: '' | 'top' | 'bottom' | 'left' | 'right' | undefined, prevDragToChild: boolean | undefined) {
|
|
7077
|
+
handleColDragSwapEvent (evnt: DragEvent | null, isSyncColumn: boolean | undefined, dragCol: VxeTableDefines.ColumnInfo | null | undefined, prevDragCol: VxeTableDefines.ColumnInfo | undefined, prevDragPos: '' | 'top' | 'bottom' | 'left' | 'right' | undefined, prevDragToChild: boolean | undefined) {
|
|
6943
7078
|
const $xeTable = this
|
|
6944
7079
|
const props = $xeTable
|
|
6945
7080
|
const reactData = $xeTable
|
|
@@ -6950,6 +7085,9 @@ const Methods = {
|
|
|
6950
7085
|
const { isPeerDrag, isCrossDrag, isSelfToChildDrag, isToChildDrag, dragEndMethod, dragToChildMethod } = columnDragOpts
|
|
6951
7086
|
const { collectColumn } = internalData
|
|
6952
7087
|
const dragOffsetIndex = prevDragPos === 'right' ? 1 : 0
|
|
7088
|
+
const errRest = {
|
|
7089
|
+
status: false
|
|
7090
|
+
}
|
|
6953
7091
|
if (prevDragCol && dragCol) {
|
|
6954
7092
|
// 判断是否有拖动
|
|
6955
7093
|
if (prevDragCol !== dragCol) {
|
|
@@ -6966,7 +7104,7 @@ const Methods = {
|
|
|
6966
7104
|
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild
|
|
6967
7105
|
return Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then((status) => {
|
|
6968
7106
|
if (!status) {
|
|
6969
|
-
return
|
|
7107
|
+
return errRest
|
|
6970
7108
|
}
|
|
6971
7109
|
|
|
6972
7110
|
let oafIndex = -1
|
|
@@ -6985,11 +7123,11 @@ const Methods = {
|
|
|
6985
7123
|
if (isPeerDrag && !isCrossDrag) {
|
|
6986
7124
|
if (dragColumn.parentId !== newColumn.parentId) {
|
|
6987
7125
|
// 非同级
|
|
6988
|
-
return
|
|
7126
|
+
return errRest
|
|
6989
7127
|
}
|
|
6990
7128
|
} else {
|
|
6991
7129
|
if (!isCrossDrag) {
|
|
6992
|
-
return
|
|
7130
|
+
return errRest
|
|
6993
7131
|
}
|
|
6994
7132
|
|
|
6995
7133
|
if (oldAllMaps[newColumn.id]) {
|
|
@@ -7001,7 +7139,7 @@ const Methods = {
|
|
|
7001
7139
|
content: getI18n('vxe.error.treeDragChild')
|
|
7002
7140
|
})
|
|
7003
7141
|
}
|
|
7004
|
-
return
|
|
7142
|
+
return errRest
|
|
7005
7143
|
}
|
|
7006
7144
|
}
|
|
7007
7145
|
}
|
|
@@ -7009,13 +7147,13 @@ const Methods = {
|
|
|
7009
7147
|
// 子到根
|
|
7010
7148
|
|
|
7011
7149
|
if (!isCrossDrag) {
|
|
7012
|
-
return
|
|
7150
|
+
return errRest
|
|
7013
7151
|
}
|
|
7014
7152
|
} else if (newColumn.parentId) {
|
|
7015
7153
|
// 根到子
|
|
7016
7154
|
|
|
7017
7155
|
if (!isCrossDrag) {
|
|
7018
|
-
return
|
|
7156
|
+
return errRest
|
|
7019
7157
|
}
|
|
7020
7158
|
if (oldAllMaps[newColumn.id]) {
|
|
7021
7159
|
isSelfToChildStatus = true
|
|
@@ -7026,7 +7164,7 @@ const Methods = {
|
|
|
7026
7164
|
content: getI18n('vxe.error.treeDragChild')
|
|
7027
7165
|
})
|
|
7028
7166
|
}
|
|
7029
|
-
return
|
|
7167
|
+
return errRest
|
|
7030
7168
|
}
|
|
7031
7169
|
}
|
|
7032
7170
|
} else {
|
|
@@ -7090,27 +7228,34 @@ const Methods = {
|
|
|
7090
7228
|
}
|
|
7091
7229
|
}
|
|
7092
7230
|
|
|
7093
|
-
|
|
7094
|
-
|
|
7095
|
-
|
|
7096
|
-
|
|
7097
|
-
|
|
7098
|
-
|
|
7099
|
-
|
|
7100
|
-
|
|
7101
|
-
|
|
7102
|
-
|
|
7103
|
-
|
|
7104
|
-
|
|
7231
|
+
if (evnt) {
|
|
7232
|
+
$xeTable.dispatchEvent('column-dragend', {
|
|
7233
|
+
oldColumn: dragColumn,
|
|
7234
|
+
newColumn,
|
|
7235
|
+
dragColumn,
|
|
7236
|
+
dragPos: prevDragPos,
|
|
7237
|
+
dragToChild: isDragToChildFlag,
|
|
7238
|
+
offsetIndex: dragOffsetIndex,
|
|
7239
|
+
_index: {
|
|
7240
|
+
newIndex: nafIndex,
|
|
7241
|
+
oldIndex: oafIndex
|
|
7242
|
+
}
|
|
7243
|
+
}, evnt)
|
|
7244
|
+
}
|
|
7105
7245
|
|
|
7106
7246
|
if (isSyncColumn) {
|
|
7107
7247
|
$xeTable.handleColDragSwapColumn()
|
|
7108
7248
|
}
|
|
7249
|
+
|
|
7250
|
+
return {
|
|
7251
|
+
status: true
|
|
7252
|
+
}
|
|
7109
7253
|
}).catch(() => {
|
|
7254
|
+
return errRest
|
|
7110
7255
|
})
|
|
7111
7256
|
}
|
|
7112
7257
|
}
|
|
7113
|
-
return Promise.resolve()
|
|
7258
|
+
return Promise.resolve(errRest)
|
|
7114
7259
|
},
|
|
7115
7260
|
handleHeaderCellDragDragendEvent (evnt: DragEvent) {
|
|
7116
7261
|
const $xeTable = this
|