vxe-table 3.14.0-beta.6 → 3.14.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/style.css +1 -1
- package/es/table/src/body.js +11 -6
- package/es/table/src/footer.js +7 -2
- package/es/table/src/methods.js +28 -26
- package/es/table/src/util.js +26 -3
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +74 -37
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/body.js +10 -5
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +7 -2
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/methods.js +29 -25
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/util.js +29 -3
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/src/body.ts +10 -5
- package/packages/table/src/footer.ts +7 -2
- package/packages/table/src/methods.ts +31 -26
- package/packages/table/src/util.ts +29 -3
- /package/es/{iconfont.1741224120026.ttf → iconfont.1741265532675.ttf} +0 -0
- /package/es/{iconfont.1741224120026.woff → iconfont.1741265532675.woff} +0 -0
- /package/es/{iconfont.1741224120026.woff2 → iconfont.1741265532675.woff2} +0 -0
- /package/lib/{iconfont.1741224120026.ttf → iconfont.1741265532675.ttf} +0 -0
- /package/lib/{iconfont.1741224120026.woff → iconfont.1741265532675.woff} +0 -0
- /package/lib/{iconfont.1741224120026.woff2 → iconfont.1741265532675.woff2} +0 -0
package/lib/table/src/util.js
CHANGED
|
@@ -11,6 +11,7 @@ exports.colToVisible = colToVisible;
|
|
|
11
11
|
exports.convertHeaderColumnToRows = void 0;
|
|
12
12
|
exports.createColumn = createColumn;
|
|
13
13
|
exports.destroyColumn = destroyColumn;
|
|
14
|
+
exports.encodeRowid = encodeRowid;
|
|
14
15
|
exports.getCellHeight = getCellHeight;
|
|
15
16
|
exports.getCellValue = getCellValue;
|
|
16
17
|
exports.getColReMinWidth = getColReMinWidth;
|
|
@@ -28,10 +29,13 @@ exports.rowToVisible = rowToVisible;
|
|
|
28
29
|
exports.setCellValue = setCellValue;
|
|
29
30
|
exports.toFilters = toFilters;
|
|
30
31
|
exports.toTreePathSeq = toTreePathSeq;
|
|
32
|
+
exports.updateDeepRowKey = updateDeepRowKey;
|
|
33
|
+
exports.updateFastRowKey = updateFastRowKey;
|
|
31
34
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
32
35
|
var _columnInfo = require("./columnInfo");
|
|
33
36
|
var _dom = require("../../ui/src/dom");
|
|
34
37
|
var _log = require("../../ui/src/log");
|
|
38
|
+
var _utils = require("../../ui/src/utils");
|
|
35
39
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
36
40
|
const getAllConvertColumns = (columns, parentColumn) => {
|
|
37
41
|
const result = [];
|
|
@@ -119,13 +123,35 @@ function getRowUniqueId() {
|
|
|
119
123
|
return _xeUtils.default.uniqueId('row_');
|
|
120
124
|
}
|
|
121
125
|
// 行主键 key
|
|
122
|
-
function getRowkey($
|
|
123
|
-
|
|
126
|
+
function getRowkey($xeTable) {
|
|
127
|
+
const props = $xeTable;
|
|
128
|
+
const rowOpts = $xeTable.computeRowOpts;
|
|
129
|
+
return `${props.rowId || rowOpts.keyField || '_X_ROW_KEY'}`;
|
|
124
130
|
}
|
|
125
131
|
// 行主键 value
|
|
126
132
|
function getRowid($xetable, row) {
|
|
127
133
|
const rowid = _xeUtils.default.get(row, getRowkey($xetable));
|
|
128
|
-
return
|
|
134
|
+
return encodeRowid(rowid);
|
|
135
|
+
}
|
|
136
|
+
// 编码行主键
|
|
137
|
+
function encodeRowid(rowVal) {
|
|
138
|
+
return _xeUtils.default.eqNull(rowVal) ? '' : encodeURIComponent(rowVal);
|
|
139
|
+
}
|
|
140
|
+
function updateDeepRowKey(row, rowkey) {
|
|
141
|
+
let rowid = _xeUtils.default.get(row, rowkey);
|
|
142
|
+
if ((0, _utils.eqEmptyValue)(rowid)) {
|
|
143
|
+
rowid = getRowUniqueId();
|
|
144
|
+
_xeUtils.default.set(row, rowkey, rowid);
|
|
145
|
+
}
|
|
146
|
+
return rowid;
|
|
147
|
+
}
|
|
148
|
+
function updateFastRowKey(row, rowkey) {
|
|
149
|
+
let rowid = row[rowkey];
|
|
150
|
+
if ((0, _utils.eqEmptyValue)(rowid)) {
|
|
151
|
+
rowid = getRowUniqueId();
|
|
152
|
+
row[rowkey] = rowid;
|
|
153
|
+
}
|
|
154
|
+
return rowid;
|
|
129
155
|
}
|
|
130
156
|
function getPaddingLeftRightSize(elem) {
|
|
131
157
|
if (elem) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.calcTreeLine=calcTreeLine,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.destroyColumn=destroyColumn,exports.getCellHeight=getCellHeight,exports.getCellValue=getCellValue,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=getOffsetSize,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=handleFieldOrColumn,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq;var _xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleColumn=assembleColumn,exports.calcTreeLine=calcTreeLine,exports.clearTableAllStatus=clearTableAllStatus,exports.clearTableDefaultStatus=clearTableDefaultStatus,exports.colToVisible=colToVisible,exports.convertHeaderColumnToRows=void 0,exports.createColumn=createColumn,exports.destroyColumn=destroyColumn,exports.encodeRowid=encodeRowid,exports.getCellHeight=getCellHeight,exports.getCellValue=getCellValue,exports.getColReMinWidth=getColReMinWidth,exports.getOffsetSize=getOffsetSize,exports.getRefElem=getRefElem,exports.getRootColumn=getRootColumn,exports.getRowUniqueId=getRowUniqueId,exports.getRowid=getRowid,exports.getRowkey=getRowkey,exports.handleFieldOrColumn=handleFieldOrColumn,exports.isColumnInfo=isColumnInfo,exports.mergeBodyMethod=mergeBodyMethod,exports.restoreScrollLocation=restoreScrollLocation,exports.rowToVisible=rowToVisible,exports.setCellValue=setCellValue,exports.toFilters=toFilters,exports.toTreePathSeq=toTreePathSeq,exports.updateDeepRowKey=updateDeepRowKey,exports.updateFastRowKey=updateFastRowKey;var _xeUtils=_interopRequireDefault(require("xe-utils")),_columnInfo=require("./columnInfo"),_dom=require("../../ui/src/dom"),_log=require("../../ui/src/log"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let getAllConvertColumns=(e,t)=>{let l=[];return e.forEach(e=>{e.parentId=t?t.id:null,e.visible&&(e.children&&e.children.length&&e.children.some(e=>e.visible)?(l.push(e),l.push(...getAllConvertColumns(e.children,e))):l.push(e))}),l},convertHeaderColumnToRows=e=>{let t=1,o=(l,e)=>{if(e&&(l.level=e.level+1,t<l.level)&&(t=l.level),l.children&&l.children.length&&l.children.some(e=>e.visible)){let t=0;l.children.forEach(e=>{e.visible&&(o(e,l),t+=e.colSpan)}),l.colSpan=t}else l.colSpan=1},l=(e.forEach(e=>{e.level=1,o(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getAllConvertColumns(e).forEach(e=>{e.children&&e.children.length&&e.children.some(e=>e.visible)?e.rowSpan=1:e.rowSpan=t-e.level+1,l[e.level-1].push(e)}),l};function restoreScrollLocation(e,t,l){let o=e;return e.clearScroll().then(()=>{if(t||l)return o.lastScrollLeft=0,o.lastScrollTop=0,o.intoRunScroll=!1,o.inVirtualScroll=!1,o.inWheelScroll=!1,o.inHeaderScroll=!1,o.inBodyScroll=!1,o.inFooterScroll=!1,o.scrollRenderType="",e.scrollTo(t,l)})}function toTreePathSeq(e){return e.map((e,t)=>t%2==0?Number(e)+1:".").join("")}function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function getRowkey(e){var t=e.computeRowOpts;return""+(e.rowId||t.keyField||"_X_ROW_KEY")}function getRowid(e,t){return encodeRowid(_xeUtils.default.get(t,getRowkey(e)))}function encodeRowid(e){return _xeUtils.default.eqNull(e)?"":encodeURIComponent(e)}function updateDeepRowKey(e,t){let l=_xeUtils.default.get(e,t);return(0,_utils.eqEmptyValue)(l)&&(l=getRowUniqueId(),_xeUtils.default.set(e,t,l)),l}function updateFastRowKey(e,t){let l=e[t];return(0,_utils.eqEmptyValue)(l)&&(l=getRowUniqueId(),e[t]=l),l}function getPaddingLeftRightSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingLeft)+_xeUtils.default.toNumber(e.paddingRight)):0}function getElementMarginWidth(e){var t,l;return e?(l=getComputedStyle(e),t=_xeUtils.default.toNumber(l.marginLeft),l=_xeUtils.default.toNumber(l.marginRight),e.offsetWidth+t+l):0}function getCellHeight(e){return"unset"!==e&&e||0}function handleFieldOrColumn(e,t){return t?_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t)?e.getColumnByField(""+t):t:null}function assembleColumn(e){var{$el:e,$xetable:t,$xecolumn:l,columnConfig:o}=e,r=l?l.columnConfig:null;r?("vxe-table-column"===l.$options._componentTag?(0,_log.errLog)("vxe.error.groupTag",[`<vxe-table-colgroup title=${l.title} ...>`,`<vxe-table-column title=${l.title} ...>`]):"vxe-column"===l.$options._componentTag&&(0,_log.warnLog)("vxe.error.groupTag",[`<vxe-colgroup title=${l.title} ...>`,`<vxe-column title=${l.title} ...>`]),r.children||(r.children=[]),r.children.splice(_xeUtils.default.arrayIndexOf(l.$el.children,e),0,o)):t.staticColumns.splice(_xeUtils.default.arrayIndexOf(t.$refs.hideColumn.children,e),0,o)}function destroyColumn(e){let{$xetable:t,columnConfig:l}=e;e=_xeUtils.default.findTree(t.staticColumns,e=>e===l);e&&e.items.splice(e.index,1)}function getRootColumn(e,t){var l=e.fullColumnIdData;if(!t)return null;let o=t.parentId;for(;l[o];){let e=l[o].column;if(!(o=e.parentId))return e}return t}function queryCellElement(e,t){return e.querySelector(".vxe-cell"+t)}function toFilters(e){return e&&_xeUtils.default.isArray(e)?e.map(({label:e,value:t,data:l,resetValue:o,checked:r})=>({label:e,value:t,data:l,resetValue:o,checked:!!r,_checked:!!r})):e}function getColReMinWidth(e){var{$table:t,column:l,cell:o}=e,r=t,{showHeaderOverflow:t,resizableOpts:i}=t,i=i.minWidth;if(i){e=_xeUtils.default.isFunction(i)?i(e):i;if("auto"!==e)return Math.max(1,_xeUtils.default.toNumber(e))}var n,u,a,s,i=r.elemStore,{showHeaderOverflow:e,minWidth:r}=l,l=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?t:e,t="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;let c=_xeUtils.default.floor(1.6*(_xeUtils.default.toNumber(getComputedStyle(o).fontSize)||14))+(getPaddingLeftRightSize(o)+getPaddingLeftRightSize(queryCellElement(o,"")));if(t&&(e=getPaddingLeftRightSize(queryCellElement(o,">.vxe-cell--drag-handle")),l=getPaddingLeftRightSize(queryCellElement(o,">.vxe-cell--checkbox")),t=getElementMarginWidth(queryCellElement(o,">.vxe-cell--required-icon")),n=getElementMarginWidth(queryCellElement(o,">.vxe-cell--edit-icon")),u=getElementMarginWidth(queryCellElement(o,">.vxe-cell-title-prefix-icon")),a=getElementMarginWidth(queryCellElement(o,">.vxe-cell-title-suffix-icon")),s=getElementMarginWidth(queryCellElement(o,">.vxe-cell--sort")),o=getElementMarginWidth(queryCellElement(o,">.vxe-cell--filter")),c+=e+l+t+n+u+a+o+s),r){e=getRefElem(i["main-body-scroll"]);if(e){if((0,_dom.isScale)(r))return l=(e.clientWidth-1)/100,Math.max(c,Math.floor(_xeUtils.default.toInteger(r)*l));if((0,_dom.isPx)(r))return Math.max(c,_xeUtils.default.toInteger(r))}}return c}exports.convertHeaderColumnToRows=convertHeaderColumnToRows;let lineOffsetSizes={mini:3,small:2,medium:1};function countTreeExpand(e,t){let l=1;if(e){var o=t.$table,r=o.computeTreeOpts,{transform:i,mapChildrenField:n}=r,r=r.children||r.childrenField,u=e[i?n:r];if(u&&o.isTreeExpandByRow(e))for(let e=0;e<u.length;e++)l+=countTreeExpand(u[e],t)}return l}function getOffsetSize(e){e=e.computeSize;return e&&lineOffsetSizes[e]||0}function calcTreeLine(e,t){var{$table:l,row:o}=e,r=l.showOverflow,i=l.scrollYLoad,n=l.fullAllDataRowIdData,u=l.computeRowOpts,a=l.computeCellOpts,s=l.computeDefaultRowHeight,n=n[getRowid(l,o)],o=n.resizeHeight||a.height||u.height||n.height||s;let c=1,d=(t&&(c=countTreeExpand(t,e)),o);return(d=i&&!r?n.height||o:d)*c-(t?1:12-getOffsetSize(l))}function mergeBodyMethod(t,l,o){for(let e=0;e<t.length;e++){var{row:r,col:i,rowspan:n,colspan:u}=t[e];if(-1<i&&-1<r&&n&&u){if(r===l&&i===o)return{rowspan:n,colspan:u};if(r<=l&&l<r+n&&i<=o&&o<i+u)return{rowspan:0,colspan:0}}}}function getCellValue(e,t){return _xeUtils.default.get(e,t.field)}function setCellValue(e,t,l){return _xeUtils.default.set(e,t.field,l)}function getRefElem(e){return e?e.$el||e:null}function clearTableDefaultStatus(e){return e.initStatus=!1,e.clearSort(),e.clearCurrentRow(),e.clearCurrentColumn(),e.clearRadioRow(),e.clearRadioReserve(),e.clearCheckboxRow(),e.clearCheckboxReserve(),e.clearRowExpand(),e.clearTreeExpand(),e.clearTreeExpandReserve(),e.clearEdit&&e.clearEdit(),e.clearSelected&&(e.keyboardConfig||e.mouseConfig)&&e.clearSelected(),e.clearCellAreas&&e.mouseConfig&&(e.clearCellAreas(),e.clearCopyCellArea()),e.clearScroll()}function clearTableAllStatus(e){return e.clearFilter&&e.clearFilter(),clearTableDefaultStatus(e)}function isColumnInfo(e){return e instanceof _columnInfo.ColumnInfo}function createColumn(e,t,l){return isColumnInfo(t)?t:new _columnInfo.ColumnInfo(e,t,l)}function rowToVisible(l,o){var e=l.showOverflow,t=l.scrollYLoad,{elemStore:r,afterFullData:i,fullAllDataRowIdData:n,isResizeCellHeight:u}=l,a=l.computeRowOpts,s=l.computeCellOpts,c=l.computeDefaultRowHeight,d=l.computeLeftFixedWidth,f=l.computeRightFixedWidth,r=getRefElem(r["main-body-scroll"]),g=getRowid(l,o);if(r){var m=r.clientHeight,h=r.scrollTop,r=r.querySelector(`[rowid="${g}"]`);if(r){var p=r.offsetParent,p=r.offsetTop+(p?p.offsetTop:0),r=r.clientHeight;if(p<h||h+m<p)return l.scrollTo(null,p);if(m+h<=p+r)return l.scrollTo(null,h+r)}else if(t){if(!(u||s.height||a.height)&&e)return l.scrollTo(null,(l.findRowIndexOf(i,o)-1)*c);let t=0;p=n[g],r=p.resizeHeight||s.height||a.height||p.height||c;for(let e=0;e<i.length;e++){var x=i[e],C=getRowid(l,x);if(x===o||C===g)break;x=n[C];t+=x.resizeHeight||s.height||a.height||x.height||c}return t<h?l.scrollTo(null,t-d-1):l.scrollTo(null,t+r-(m-f-1))}}return Promise.resolve()}function colToVisible(l,o,t){var r=l.scrollXLoad,{elemStore:i,visibleColumn:n}=l,u=l.computeLeftFixedWidth,a=l.computeRightFixedWidth,i=getRefElem(i["main-body-scroll"]);if(!o.fixed&&i){var s=i.clientWidth,c=i.scrollLeft;let e=null;if(t&&(t=getRowid(l,t),e=i.querySelector(`[rowid="${t}"] .`+o.id)),e=e||i.querySelector("."+o.id)){t=e.offsetParent,i=e.offsetLeft+(t?t.offsetLeft:0),t=e.clientWidth;if(i<c+u)return l.scrollTo(i-u-1);if(s-a<i+t-c)return l.scrollTo(i+t-(s-a-1))}else if(r){let t=0;i=o.renderWidth;for(let e=0;e<n.length;e++){var d=n[e];if(d===o||d.id===o.id)break;t+=d.renderWidth}return t<c?l.scrollTo(t-u-1):l.scrollTo(t+i-(s-a-1))}}return Promise.resolve()}
|
package/lib/ui/index.js
CHANGED
|
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "VxeUI", {
|
|
|
13
13
|
exports.version = exports.validators = exports.use = exports.t = exports.setup = exports.setTheme = exports.setLanguage = exports.setIcon = exports.setI18n = exports.setConfig = exports.saveFile = exports.renderer = exports.readFile = exports.print = exports.modal = exports.menus = exports.log = exports.interceptor = exports.globalResize = exports.globalEvents = exports.getTheme = exports.getIcon = exports.getI18n = exports.getConfig = exports.formats = exports.default = exports.config = exports.commands = exports.clipboard = exports._t = void 0;
|
|
14
14
|
var _core = require("@vxe-ui/core");
|
|
15
15
|
var _utils = require("./src/utils");
|
|
16
|
-
const version = exports.version = "3.14.0-beta.
|
|
16
|
+
const version = exports.version = "3.14.0-beta.7";
|
|
17
17
|
_core.VxeUI.version = version;
|
|
18
18
|
_core.VxeUI.tableVersion = version;
|
|
19
19
|
_core.VxeUI.setConfig({
|
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.7",iconPrefix=(_core.VxeUI.version=version,_core.VxeUI.tableVersion=version,_core.VxeUI.setConfig({emptyCell:" ",table:{fit:!0,showHeader:!0,animat:!0,delayHover:250,autoResize:!0,padding:!0,minHeight:144,resizeConfig:{},resizableConfig:{dragMode:"auto",showDragTip:!0,isSyncAutoHeight:!0,isSyncAutoWidth:!0,minHeight:18},radioConfig:{strict:!0},rowDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},columnDragConfig:{showIcon:!0,animation:!0,showGuidesStatus:!0,showDragTip:!0},checkboxConfig:{strict:!0},tooltipConfig:{enterable:!0},validConfig:{showMessage:!0,autoClear:!0,autoPos:!0,message:"inline",msgMode:"single",theme:"beautify"},columnConfig:{maxFixedSize:4},cellConfig:{padding:!0},headerCellConfig:{height:"unset"},footerCellConfig:{height:"unset"},customConfig:{allowVisible:!0,allowResizable:!0,allowFixed:!0,allowSort:!0,showFooter:!0,placement:"top-right",modalOptions:{showMaximize:!0,mask:!0,lockView:!0,resize:!0,escClosable:!0},drawerOptions:{mask:!0,lockView:!0,escClosable:!0,resize:!0}},sortConfig:{showIcon:!0,allowClear:!0,allowBtn:!0,iconLayout:"vertical"},filterConfig:{showIcon:!0},treeConfig:{rowField:"id",parentField:"parentId",childrenField:"children",hasChildField:"hasChild",mapChildrenField:"_X_ROW_CHILD",indent:20,showIcon:!0},expandConfig:{showIcon:!0,mode:"fixed"},editConfig:{showIcon:!0,showAsterisk:!0,autoFocus:!0},importConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},exportConfig:{_typeMaps:{csv:1,html:1,xml:1,txt:1}},printConfig:{},mouseConfig:{extension:!0},keyboardConfig:{isEsc:!0},areaConfig:{autoClear:!0,selectCellByHeader:!0,selectCellByBody:!0,extendDirection:{top:!0,left:!0,bottom:!0,right:!0}},clipConfig:{isCopy:!0,isCut:!0,isPaste:!0},fnrConfig:{isFind:!0,isReplace:!0},virtualXConfig:{enabled:!0,gt:60,preSize:0,oSize:1},virtualYConfig:{enabled:!0,gt:100,preSize:1,oSize:2},scrollbarConfig:{}},grid:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showResponseMsg:!0,showActiveMsg:!0,props:{list:null,result:"result",total:"page.total",message:"message"}}},toolbar:{}}),"vxe-table-icon-"),setTheme=(_core.VxeUI.setIcon({TABLE_SORT_ASC:iconPrefix+"caret-up",TABLE_SORT_DESC:iconPrefix+"caret-down",TABLE_FILTER_NONE:iconPrefix+"funnel",TABLE_FILTER_MATCH:iconPrefix+"funnel",TABLE_EDIT:iconPrefix+"edit",TABLE_TITLE_PREFIX:iconPrefix+"question-circle-fill",TABLE_TITLE_SUFFIX:iconPrefix+"question-circle-fill",TABLE_TREE_LOADED:iconPrefix+"spinner roll",TABLE_TREE_OPEN:iconPrefix+"caret-right rotate90",TABLE_TREE_CLOSE:iconPrefix+"caret-right",TABLE_EXPAND_LOADED:iconPrefix+"spinner roll",TABLE_EXPAND_OPEN:iconPrefix+"arrow-right rotate90",TABLE_EXPAND_CLOSE:iconPrefix+"arrow-right",TABLE_CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",TABLE_CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",TABLE_CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",TABLE_RADIO_CHECKED:iconPrefix+"radio-checked-fill",TABLE_RADIO_UNCHECKED:iconPrefix+"radio-unchecked",TABLE_CUSTOM_SORT:iconPrefix+"drag-handle",TABLE_MENU_OPTIONS:iconPrefix+"arrow-right",TABLE_DRAG_ROW:iconPrefix+"drag-handle",TABLE_DRAG_COLUMN:iconPrefix+"drag-handle",TABLE_DRAG_STATUS_ROW:iconPrefix+"sort",TABLE_DRAG_STATUS_SUB_ROW:iconPrefix+"add-sub",TABLE_DRAG_STATUS_COLUMN:iconPrefix+"swap",TABLE_DRAG_DISABLED:iconPrefix+"no-drop",TOOLBAR_TOOLS_REFRESH:iconPrefix+"repeat",TOOLBAR_TOOLS_REFRESH_LOADING:iconPrefix+"repeat roll",TOOLBAR_TOOLS_IMPORT:iconPrefix+"upload",TOOLBAR_TOOLS_EXPORT:iconPrefix+"download",TOOLBAR_TOOLS_PRINT:iconPrefix+"print",TOOLBAR_TOOLS_FULLSCREEN:iconPrefix+"fullscreen",TOOLBAR_TOOLS_MINIMIZE:iconPrefix+"minimize",TOOLBAR_TOOLS_CUSTOM:iconPrefix+"custom-column",TOOLBAR_TOOLS_FIXED_LEFT:iconPrefix+"fixed-left",TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:iconPrefix+"fixed-left-fill",TOOLBAR_TOOLS_FIXED_RIGHT:iconPrefix+"fixed-right",TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:iconPrefix+"fixed-right-fill"}),exports.setTheme=_core.VxeUI.setTheme),getTheme=exports.getTheme=_core.VxeUI.getTheme,setConfig=exports.setConfig=_core.VxeUI.setConfig,getConfig=exports.getConfig=_core.VxeUI.getConfig,setIcon=exports.setIcon=_core.VxeUI.setIcon,getIcon=exports.getIcon=_core.VxeUI.getIcon,setLanguage=exports.setLanguage=_core.VxeUI.setLanguage,setI18n=exports.setI18n=_core.VxeUI.setI18n,getI18n=exports.getI18n=_core.VxeUI.getI18n,globalEvents=exports.globalEvents=_core.VxeUI.globalEvents,globalResize=exports.globalResize=_core.VxeUI.globalResize,renderer=exports.renderer=_core.VxeUI.renderer,validators=exports.validators=_core.VxeUI.validators,menus=exports.menus=_core.VxeUI.menus,formats=exports.formats=_core.VxeUI.formats,commands=exports.commands=_core.VxeUI.commands,interceptor=exports.interceptor=_core.VxeUI.interceptor,clipboard=exports.clipboard=_core.VxeUI.clipboard,log=exports.log=_core.VxeUI.log,use=exports.use=_core.VxeUI.use,setup=e=>_core.VxeUI.setConfig(e),config=(exports.setup=setup,_core.VxeUI.setup=setup,e=>_core.VxeUI.setConfig(e)),t=(exports.config=config,_core.VxeUI.config=config,(e,o)=>_core.VxeUI.getI18n(e,o)),_t=(exports.t=t,_core.VxeUI.t=t,(e,o)=>(0,_utils.getFuncText)(e,o)),VXETable=(exports._t=_t,_core.VxeUI._t=_t,exports.VXETable=_core.VxeUI),saveFile=e=>_core.VxeUI.saveFile(e),readFile=(exports.saveFile=saveFile,e=>_core.VxeUI.readFile(e)),print=(exports.readFile=readFile,e=>_core.VxeUI.print(e)),modal=(exports.print=print,exports.modal={get(e){return _core.VxeUI.modal.get(e)},close(e){return _core.VxeUI.modal.close(e)},open(e){return _core.VxeUI.modal.open(e)},alert(e,o,r){return _core.VxeUI.modal.alert(e,o,r)},confirm(e,o,r){return _core.VxeUI.modal.confirm(e,o,r)},message(e,o){return _core.VxeUI.modal.message(e,o)},notification(e,o,r){return _core.VxeUI.modal.notification(e,o,r)}});var _default=exports.default=_core.VxeUI;
|
package/lib/ui/src/log.js
CHANGED
|
@@ -8,6 +8,6 @@ var _core = require("@vxe-ui/core");
|
|
|
8
8
|
const {
|
|
9
9
|
log
|
|
10
10
|
} = _core.VxeUI;
|
|
11
|
-
const version = `table v${"3.14.0-beta.
|
|
11
|
+
const version = `table v${"3.14.0-beta.7"}`;
|
|
12
12
|
const warnLog = exports.warnLog = log.create('warn', version);
|
|
13
13
|
const errLog = exports.errLog = log.create('error', version);
|
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.7",warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxe-table",
|
|
3
|
-
"version": "3.14.0-beta.
|
|
3
|
+
"version": "3.14.0-beta.7",
|
|
4
4
|
"description": "一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟树、拖拽排序,懒加载、快捷菜单、数据校验、树形结构、打印、导入导出、自定义模板、渲染器、JSON 配置式...",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"update": "npm install --legacy-peer-deps",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"style": "lib/style.css",
|
|
29
29
|
"typings": "types/index.d.ts",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"vxe-pc-ui": "^3.4.
|
|
31
|
+
"vxe-pc-ui": "^3.4.5"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@babel/plugin-transform-modules-commonjs": "^7.25.7",
|
|
@@ -217,6 +217,7 @@ function renderTdColumn (
|
|
|
217
217
|
tdOns.dblclick = (evnt: MouseEvent) => {
|
|
218
218
|
$xeTable.triggerCellDblclickEvent(evnt, cellParams)
|
|
219
219
|
}
|
|
220
|
+
let isMergeCell = false
|
|
220
221
|
// 合并行或列
|
|
221
222
|
if (mergeList.length) {
|
|
222
223
|
const spanRest = mergeBodyMethod(mergeList, _rowIndex, _columnIndex)
|
|
@@ -226,9 +227,11 @@ function renderTdColumn (
|
|
|
226
227
|
return null
|
|
227
228
|
}
|
|
228
229
|
if (rowspan > 1) {
|
|
230
|
+
isMergeCell = true
|
|
229
231
|
tdAttrs.rowspan = rowspan
|
|
230
232
|
}
|
|
231
233
|
if (colspan > 1) {
|
|
234
|
+
isMergeCell = true
|
|
232
235
|
tdAttrs.colspan = colspan
|
|
233
236
|
}
|
|
234
237
|
}
|
|
@@ -263,11 +266,13 @@ function renderTdColumn (
|
|
|
263
266
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto')
|
|
264
267
|
|
|
265
268
|
let isVNPreEmptyStatus = false
|
|
266
|
-
if (!
|
|
267
|
-
if (
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
269
|
+
if (!isMergeCell) {
|
|
270
|
+
if (!dragRow || getRowid($xeTable, dragRow) !== rowid) {
|
|
271
|
+
if (scrollYLoad && (_rowIndex < scrollYStore.visibleStartIndex - scrollYStore.preloadSize || _rowIndex > scrollYStore.visibleEndIndex + scrollYStore.preloadSize)) {
|
|
272
|
+
isVNPreEmptyStatus = true
|
|
273
|
+
} else if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
274
|
+
isVNPreEmptyStatus = true
|
|
275
|
+
}
|
|
271
276
|
}
|
|
272
277
|
}
|
|
273
278
|
|
|
@@ -110,6 +110,7 @@ function renderRows (h: CreateElement, _vm: any, tableColumn: VxeTableDefines.Co
|
|
|
110
110
|
tfOns.dblclick = (evnt: MouseEvent) => {
|
|
111
111
|
$xeTable.dispatchEvent('footer-cell-dblclick', Object.assign({ cell: evnt.currentTarget }, cellParams), evnt)
|
|
112
112
|
}
|
|
113
|
+
let isMergeCell = false
|
|
113
114
|
// 合并行或列
|
|
114
115
|
if (mergeFooterList.length) {
|
|
115
116
|
const spanRest = mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex)
|
|
@@ -119,9 +120,11 @@ function renderRows (h: CreateElement, _vm: any, tableColumn: VxeTableDefines.Co
|
|
|
119
120
|
return null
|
|
120
121
|
}
|
|
121
122
|
if (rowspan > 1) {
|
|
123
|
+
isMergeCell = true
|
|
122
124
|
attrs.rowspan = rowspan
|
|
123
125
|
}
|
|
124
126
|
if (colspan > 1) {
|
|
127
|
+
isMergeCell = true
|
|
125
128
|
attrs.colspan = colspan
|
|
126
129
|
}
|
|
127
130
|
}
|
|
@@ -142,8 +145,10 @@ function renderRows (h: CreateElement, _vm: any, tableColumn: VxeTableDefines.Co
|
|
|
142
145
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto')
|
|
143
146
|
|
|
144
147
|
let isVNPreEmptyStatus = false
|
|
145
|
-
if (
|
|
146
|
-
|
|
148
|
+
if (!isMergeCell) {
|
|
149
|
+
if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
150
|
+
isVNPreEmptyStatus = true
|
|
151
|
+
}
|
|
147
152
|
}
|
|
148
153
|
|
|
149
154
|
const tcStyle: Record<string, string> = {}
|
|
@@ -3,7 +3,7 @@ import { browse, getTpImg, isPx, isScale, hasClass, addClass, removeClass, getEv
|
|
|
3
3
|
import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../ui/src/utils'
|
|
4
4
|
import { VxeUI } from '../../ui'
|
|
5
5
|
import Cell from './cell'
|
|
6
|
-
import { getRowUniqueId, clearTableAllStatus, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getColReMinWidth, getRefElem } from './util'
|
|
6
|
+
import { getRowUniqueId, clearTableAllStatus, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getColReMinWidth, updateDeepRowKey, updateFastRowKey, getRefElem } from './util'
|
|
7
7
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
8
8
|
import { warnLog, errLog } from '../../ui/src/log'
|
|
9
9
|
|
|
@@ -2731,32 +2731,20 @@ const Methods = {
|
|
|
2731
2731
|
const treeOpts = $xeTable.computeTreeOpts
|
|
2732
2732
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
2733
2733
|
const hasChildField = treeOpts.hasChild || treeOpts.hasChildField
|
|
2734
|
+
const { lazy } = treeOpts
|
|
2734
2735
|
const rowkey = getRowkey($xeTable)
|
|
2736
|
+
const isDeepKey = rowkey.indexOf('.') > -1
|
|
2735
2737
|
const fullAllDataRowIdMaps: Record<string, VxeTableDefines.RowCacheItem> = { ...fullAllDataRowIdData } // 存在已删除数据
|
|
2736
2738
|
const fullDataRowIdMaps: Record<string, VxeTableDefines.RowCacheItem> = {}
|
|
2737
2739
|
const treeTempExpandedMaps = { ...treeExpandedMaps }
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
if (eqEmptyValue(rowid)) {
|
|
2743
|
-
rowid = getRowUniqueId()
|
|
2744
|
-
XEUtils.set(row, rowkey, rowid)
|
|
2745
|
-
}
|
|
2746
|
-
if (treeConfig && treeOpts.lazy) {
|
|
2747
|
-
const treeExpRest = treeExpandedMaps[rowid]
|
|
2748
|
-
if (row[hasChildField] && XEUtils.isUndefined(row[childrenField])) {
|
|
2749
|
-
row[childrenField] = null
|
|
2750
|
-
}
|
|
2751
|
-
if (treeExpRest) {
|
|
2752
|
-
if (!row[childrenField] || !row[childrenField].length) {
|
|
2753
|
-
delete treeTempExpandedMaps[rowid]
|
|
2754
|
-
}
|
|
2755
|
-
}
|
|
2756
|
-
}
|
|
2757
|
-
let rowRest = fullAllDataRowIdData[rowid]
|
|
2740
|
+
|
|
2741
|
+
const handleRowId = isDeepKey ? updateDeepRowKey : updateFastRowKey
|
|
2742
|
+
const handleRowCache = (row: any, index: number, items: any, currIndex: number, parentRow: any, rowid: string, level: number, seq: string | number) => {
|
|
2743
|
+
let rowRest = fullAllDataRowIdMaps[rowid]
|
|
2758
2744
|
if (!rowRest) {
|
|
2759
2745
|
rowRest = { row, rowid, seq, index: -1, _index: -1, $index: -1, treeIndex: index, items, parent: parentRow, level, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 }
|
|
2746
|
+
fullDataRowIdMaps[rowid] = rowRest
|
|
2747
|
+
fullAllDataRowIdMaps[rowid] = rowRest
|
|
2760
2748
|
}
|
|
2761
2749
|
rowRest.treeLoaded = false
|
|
2762
2750
|
rowRest.expandLoaded = false
|
|
@@ -2765,15 +2753,32 @@ const Methods = {
|
|
|
2765
2753
|
rowRest.items = items
|
|
2766
2754
|
rowRest.parent = parentRow
|
|
2767
2755
|
rowRest.level = level
|
|
2768
|
-
rowRest.index =
|
|
2769
|
-
|
|
2770
|
-
fullAllDataRowIdMaps[rowid] = rowRest
|
|
2756
|
+
rowRest.index = currIndex
|
|
2757
|
+
rowRest.treeIndex = index
|
|
2771
2758
|
}
|
|
2759
|
+
|
|
2772
2760
|
if (treeConfig) {
|
|
2773
|
-
XEUtils.eachTree(tableFullTreeData,
|
|
2761
|
+
XEUtils.eachTree(tableFullTreeData, (row, index, items, path, parentRow, nodes) => {
|
|
2762
|
+
const rowid = handleRowId(row, rowkey)
|
|
2763
|
+
if (treeConfig && lazy) {
|
|
2764
|
+
const treeExpRest = treeTempExpandedMaps[rowid]
|
|
2765
|
+
if (row[hasChildField] && row[childrenField] === undefined) {
|
|
2766
|
+
row[childrenField] = null
|
|
2767
|
+
}
|
|
2768
|
+
if (treeExpRest) {
|
|
2769
|
+
if (!row[childrenField] || !row[childrenField].length) {
|
|
2770
|
+
delete treeTempExpandedMaps[rowid]
|
|
2771
|
+
}
|
|
2772
|
+
}
|
|
2773
|
+
}
|
|
2774
|
+
handleRowCache(row, index, items, parentRow ? -1 : index, parentRow, rowid, nodes.length - 1, toTreePathSeq(path))
|
|
2775
|
+
}, { children: childrenField })
|
|
2774
2776
|
} else {
|
|
2775
|
-
tableFullData.forEach(
|
|
2777
|
+
tableFullData.forEach((row, index, items) => {
|
|
2778
|
+
handleRowCache(row, index, items, index, null, handleRowId(row, rowkey), 0, index + 1)
|
|
2779
|
+
})
|
|
2776
2780
|
}
|
|
2781
|
+
|
|
2777
2782
|
internalData.fullDataRowIdData = fullDataRowIdMaps
|
|
2778
2783
|
internalData.fullAllDataRowIdData = fullAllDataRowIdMaps
|
|
2779
2784
|
reactData.treeExpandedMaps = treeTempExpandedMaps
|
|
@@ -2,6 +2,7 @@ import XEUtils from 'xe-utils'
|
|
|
2
2
|
import { ColumnInfo } from './columnInfo'
|
|
3
3
|
import { isScale, isPx } from '../../ui/src/dom'
|
|
4
4
|
import { warnLog, errLog } from '../../ui/src/log'
|
|
5
|
+
import { eqEmptyValue } from '../../ui/src/utils'
|
|
5
6
|
|
|
6
7
|
import type { VxeTableDefines, VxeTableConstructor, TableReactData, TableInternalData, VxeTablePrivateMethods } from '../../../types'
|
|
7
8
|
|
|
@@ -102,14 +103,39 @@ export function getRowUniqueId () {
|
|
|
102
103
|
}
|
|
103
104
|
|
|
104
105
|
// 行主键 key
|
|
105
|
-
export function getRowkey ($
|
|
106
|
-
|
|
106
|
+
export function getRowkey ($xeTable: any) {
|
|
107
|
+
const props = $xeTable
|
|
108
|
+
const rowOpts = $xeTable.computeRowOpts
|
|
109
|
+
return `${props.rowId || rowOpts.keyField || '_X_ROW_KEY'}`
|
|
107
110
|
}
|
|
108
111
|
|
|
109
112
|
// 行主键 value
|
|
110
113
|
export function getRowid ($xetable: any, row: any) {
|
|
111
114
|
const rowid = XEUtils.get(row, getRowkey($xetable))
|
|
112
|
-
return
|
|
115
|
+
return encodeRowid(rowid)
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// 编码行主键
|
|
119
|
+
export function encodeRowid (rowVal: string) {
|
|
120
|
+
return XEUtils.eqNull(rowVal) ? '' : encodeURIComponent(rowVal)
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export function updateDeepRowKey (row: any, rowkey: string) {
|
|
124
|
+
let rowid = XEUtils.get(row, rowkey)
|
|
125
|
+
if (eqEmptyValue(rowid)) {
|
|
126
|
+
rowid = getRowUniqueId()
|
|
127
|
+
XEUtils.set(row, rowkey, rowid)
|
|
128
|
+
}
|
|
129
|
+
return rowid
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export function updateFastRowKey (row: any, rowkey: string) {
|
|
133
|
+
let rowid = row[rowkey]
|
|
134
|
+
if (eqEmptyValue(rowid)) {
|
|
135
|
+
rowid = getRowUniqueId()
|
|
136
|
+
row[rowkey] = rowid
|
|
137
|
+
}
|
|
138
|
+
return rowid
|
|
113
139
|
}
|
|
114
140
|
|
|
115
141
|
function getPaddingLeftRightSize (elem: any) {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|