vxe-table 3.19.3 → 3.19.5
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/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/mixin.js +13 -11
- package/es/table/src/body.js +30 -14
- package/es/table/src/methods.js +122 -4
- package/es/table/src/table.js +9 -5
- package/es/table/src/util.js +0 -61
- package/es/table/style.css +4 -3
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +3 -2
- package/es/ui/src/dom.js +17 -0
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +4 -3
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +209 -116
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/mixin.js +13 -11
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/src/body.js +28 -15
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/methods.js +139 -3
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +8 -5
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +0 -81
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +4 -3
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +3 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +18 -0
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +4 -3
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/table/module/edit/mixin.ts +13 -11
- package/packages/table/src/body.ts +29 -14
- package/packages/table/src/methods.ts +127 -4
- package/packages/table/src/table.ts +9 -5
- package/packages/table/src/util.ts +0 -66
- package/packages/ui/index.ts +2 -1
- package/packages/ui/src/dom.ts +18 -0
- package/styles/components/table.scss +34 -3
- /package/es/{iconfont.1761545705692.ttf → iconfont.1761784799557.ttf} +0 -0
- /package/es/{iconfont.1761545705692.woff → iconfont.1761784799557.woff} +0 -0
- /package/es/{iconfont.1761545705692.woff2 → iconfont.1761784799557.woff2} +0 -0
- /package/lib/{iconfont.1761545705692.ttf → iconfont.1761784799557.ttf} +0 -0
- /package/lib/{iconfont.1761545705692.woff → iconfont.1761784799557.woff} +0 -0
- /package/lib/{iconfont.1761545705692.woff2 → iconfont.1761784799557.woff2} +0 -0
|
@@ -97,16 +97,16 @@ function insertTreeRow($xeTable, newRecords, isAppend) {
|
|
|
97
97
|
} = matchObj;
|
|
98
98
|
const parentRest = fullAllDataRowIdData[(0, _util.getRowid)($xeTable, parentRow)];
|
|
99
99
|
const parentLevel = parentRest ? parentRest.level : 0;
|
|
100
|
-
let
|
|
101
|
-
let
|
|
102
|
-
if (!_xeUtils.default.isArray(
|
|
103
|
-
|
|
100
|
+
let pChilds = parentRow[childrenField];
|
|
101
|
+
let pMapChilds = parentRow[mapChildrenField];
|
|
102
|
+
if (!_xeUtils.default.isArray(pChilds)) {
|
|
103
|
+
pChilds = parentRow[childrenField] = [];
|
|
104
104
|
}
|
|
105
|
-
if (!_xeUtils.default.isArray(
|
|
106
|
-
|
|
105
|
+
if (!_xeUtils.default.isArray(pMapChilds)) {
|
|
106
|
+
pMapChilds = parentRow[mapChildrenField] = [];
|
|
107
107
|
}
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
pChilds[funcName](item);
|
|
109
|
+
pMapChilds[funcName](item);
|
|
110
110
|
const rest = {
|
|
111
111
|
row: item,
|
|
112
112
|
rowid,
|
|
@@ -116,7 +116,7 @@ function insertTreeRow($xeTable, newRecords, isAppend) {
|
|
|
116
116
|
$index: -1,
|
|
117
117
|
treeIndex: -1,
|
|
118
118
|
_tIndex: -1,
|
|
119
|
-
items:
|
|
119
|
+
items: pChilds,
|
|
120
120
|
parent: parentRow,
|
|
121
121
|
level: parentLevel + 1,
|
|
122
122
|
height: 0,
|
|
@@ -299,13 +299,15 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
299
299
|
treeRecords.forEach((row, i) => {
|
|
300
300
|
if (parentRow) {
|
|
301
301
|
if (row[parentField] !== parentRow[rowField]) {
|
|
302
|
-
row[parentField] = parentRow[rowField];
|
|
303
302
|
(0, _log.errLog)('vxe.error.errProp', [`${parentField}=${row[parentField]}`, `${parentField}=${parentRow[rowField]}`]);
|
|
303
|
+
row[parentField] = parentRow[rowField];
|
|
304
304
|
}
|
|
305
305
|
} else {
|
|
306
306
|
if (row[parentField] !== null) {
|
|
307
|
+
if (!_xeUtils.default.eqNull(row[parentField])) {
|
|
308
|
+
(0, _log.errLog)('vxe.error.errProp', [`${parentField}=${row[parentField]}`, 'null']);
|
|
309
|
+
}
|
|
307
310
|
row[parentField] = null;
|
|
308
|
-
(0, _log.errLog)('vxe.error.errProp', [`${parentField}=${row[parentField]}`, 'null']);
|
|
309
311
|
}
|
|
310
312
|
}
|
|
311
313
|
let targetIndex = matchMapObj.index + i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,browseObj=_xeUtils.default.browse();function getEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)}function setEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)}function removeCellSelectedClass(e){var e=e.$refs.refElem;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}function syncActivedCell(e){var{editStore:t,tableColumn:l}=e,e=e.computeEditOpts,t=t.actived;let{row:r,column:o}=t;(r||o)&&("row"===e.mode?l.forEach(e=>setEditColumnModel(r,e)):setEditColumnModel(r,o))}function insertTreeRow(n,e,t){let{tableFullTreeData:d,afterFullData:a,fullDataRowIdData:s,fullAllDataRowIdData:u}=n;var l=n.computeTreeOpts;let{rowField:c,parentField:h,mapChildrenField:g}=l,w=l.children||l.childrenField,f=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(n,l),o=t?_xeUtils.default.findTree(d,e=>t===e[c],{children:g}):null;if(o){var o=o.item,i=u[(0,_util.getRowid)(n,o)],i=i?i.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[w]=[]),e[f](l),t[f](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:e,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=o,u[r]=o}else{t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[f](l),d[f](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:d,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=i,u[r]=i}})}function handleInsertRowAt(d,t,l,a){var e=d;let o=d.treeConfig;var r=e.isRowGroupStatus;let{tableFullTreeData:s,afterFullData:i,mergeBodyList:n,tableFullData:u,fullDataRowIdData:c,fullAllDataRowIdData:h,insertRowMaps:g,removeRowMaps:w}=d;var f=d.computeTreeOpts;let{transform:x,parentField:m,rowField:v,mapChildrenField:p}=f,R=f.children||f.childrenField,_=(_xeUtils.default.isArray(t)||(t=[t]),d.defineField(t.map(e=>Object.assign(o&&x?{[p]:[],[R]:[]}:{},e)))),C=[];if(o&&x&&(C=_xeUtils.default.toArrayTree(_,{key:v,parentKey:m,children:R})),_xeUtils.default.eqNull(l))if(o&&x)insertTreeRow(d,_,!1);else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else _.forEach(e=>{var t=(0,_util.getRowid)(d,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};c[t]=l,h[t]=l,i.unshift(e),u.unshift(e)}),n.forEach(e=>{var t=e.row;0<=t&&(e.row=t+_.length)});else if(-1===l)if(o&&x)insertTreeRow(d,_,!0);else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else _.forEach(e=>{var t=(0,_util.getRowid)(d,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};c[t]=l,h[t]=l,i.push(e),u.push(e)});else if(o&&x){let n=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:p});if(n){let r=n.parent,o=r?r[p]:s;f=h[(0,_util.getRowid)(d,r)];let i=f?f.level:0;if(C.forEach((e,t)=>{r?e[m]!==r[v]&&(e[m]=r[v],(0,_log.errLog)("vxe.error.errProp",[m+"="+e[m],m+"="+r[v]])):null!==e[m]&&(e[m]=null,_log.errLog)("vxe.error.errProp",[m+"="+e[m],"null"]);let l=n.index+t;a&&(l+=1),o.splice(l,0,e)}),_xeUtils.default.eachTree(C,e=>{var t=(0,_util.getRowid)(d,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:r,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};e[R]&&(e[p]=e[R]),c[t]=l,h[t]=l},{children:R}),r){t=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:R});if(t){f=t.items;let e=t.index;a&&(e+=1),f.splice(e,0,...C)}}}else(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(d,_,!0)}else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=d.findRowIndexOf(i,l),-1===(r=a?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,..._);t=d.findRowIndexOf(u,l);-1<t?u.splice(t+(a?1:0),0,..._):u.push(..._),n.forEach(e=>{var{row:t,rowspan:l}=e;t>=r?e.row=t+_.length:(a?t+l>=r:t+l>r)&&(e.rowspan=l+_.length)})}f=e=>{var t=(0,_util.getRowid)(d,e);w[t]?(delete w[t],g[t]&&delete g[t]):g[t]=e};return o&&x?_xeUtils.default.eachTree(C,f,{children:p}):_.forEach(f),e.removeRowFlag++,e.insertRowFlag++,d.cacheRowMap(!1),d.updateScrollYStatus(),d.handleTableData(o&&x),o&&x||d.updateAfterDataIndex(),d.updateFooter(),d.handleUpdateBodyMerge(),d.checkSelectionStatus(),e.scrollYLoad&&d.updateScrollYSpace(),d.$nextTick().then(()=>(d.updateCellAreas(),d.recalculate(!0))).then(()=>({row:_.length?_[_.length-1]:null,rows:_}))}function handleInsertChildRowAt(e,t,l,r,o){var i=e.treeConfig;let{transform:n,rowField:d,parentField:a}=e.computeTreeOpts;return i&&n?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[d]})),r,o):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))}function handleClearEdit(e,t,l){var r=e.editStore,{actived:r,focused:o}=r,{row:i,column:n}=r,d=e.computeValidOpts;if(i||n){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,i))return e.$nextTick();syncActivedCell(e),r.args=null,r.row=null,r.column=null,e.updateFooter(),e.dispatchEvent("edit-closed",{row:i,rowIndex:e.getRowIndex(i),$rowIndex:e.getVMRowIndex(i),column:n,columnIndex:e.getColumnIndex(n),$columnIndex:e.getVMColumnIndex(n)},t||null)}return o.row=null,o.column=null,d.autoClear&&("full"!==d.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>e.updateCellAreas())}function handleEditActive(l,r,o,i,e){let n=l.$xeGrid;var{editConfig:t,mouseConfig:d}=l,{editStore:a,tableColumn:s}=l,u=l.computeEditOpts,c=u.mode,{actived:a,focused:h}=a;let{row:g,column:w}=r;var f=w.editRender,x=r.cell||l.getCellElement(g,w),m=u.beforeEditMethod||u.activeMethod;if((r.cell=x)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(f)&&!l.isPendingByRow(g)&&!l.isAggregateRecord(g)){if(a.row!==g||"cell"===c&&a.column!==w){let t="edit-disabled";if(!m||m(Object.assign(Object.assign({},r),{$table:l,$grid:n}))){d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),a.column&&handleClearEdit(l,o),t="edit-activated",w.renderHeight=x.offsetHeight,a.args=r,a.row=g,a.column=w,"row"===c?s.forEach(e=>getEditColumnModel(g,e)):getEditColumnModel(g,w);let e=u.afterEditMethod;l.$nextTick(()=>{i&&l.handleFocus(r,o),e&&e(Object.assign(Object.assign({},r),{$table:l,$grid:n}))})}l.dispatchEvent(t,{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:w,columnIndex:l.getColumnIndex(w),$columnIndex:l.getVMColumnIndex(w)},o),"edit-activated"===t&&l.dispatchEvent("edit-actived",{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:w,columnIndex:l.getColumnIndex(w),$columnIndex:l.getVMColumnIndex(w)},o)}else{t=a.column;d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),t!==w&&(f=t.model,f.update&&(0,_util.setCellValue)(g,t,f.value),l.clearValidate)&&l.clearValidate(g,w),w.renderHeight=x.offsetHeight,a.args=r,a.column=w,e&&setTimeout(()=>{l.handleFocus(r,o)})}h.column=null,h.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let o=t;var i=t.editConfig;let n=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&n&&(0,_utils.isEnableConf)(i)&&(0,_utils.isEnableConf)(n.editRender)&&!t.isAggregateRecord(l)?Promise.resolve(r?t.scrollToRow(l,n):null).then(()=>{var e=t.getCellElement(l,n);return e&&(handleEditActive(t,{row:l,rowIndex:t.getRowIndex(l),column:n,columnIndex:t.getColumnIndex(n),cell:e,$table:t},null,r,r),o._lastCallTime=Date.now()),t.$nextTick()}):t.$nextTick()}var _default=exports.default={methods:{_insert(e){return handleInsertRowAt(this,e,null)},_insertAt(e,t){return handleInsertRowAt(this,e,t)},_insertNextAt(e,t){return handleInsertRowAt(this,e,t,!0)},_insertChild(e,t){return handleInsertChildRowAt(this,e,t,null)},_insertChildAt(e,t,l){return handleInsertChildRowAt(this,e,t,l)},_insertChildNextAt(e,t,l){return handleInsertChildRowAt(this,e,t,l,!0)},_remove(e){let l=this;var t=l,r=l,t=t.treeConfig,{editStore:o,isRowGroupStatus:i}=r;let{tableFullTreeData:n,selectCheckboxMaps:d,afterFullData:a,mergeBodyList:s,tableFullData:u,pendingRowMaps:c,insertRowMaps:h,removeRowMaps:g}=l;var w=l.computeCheckboxOpts,f=l.computeTreeOpts;let{transform:x,mapChildrenField:m}=f,v=f.children||f.childrenField;f=o.actived,o=w.checkField;let p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(e=>{var t;l.isInsertByRow(e)||(t=(0,_util.getRowid)(l,e),g[t]=e)}),o||(e.forEach(e=>{e=(0,_util.getRowid)(this,e);d[e]&&delete d[e]}),r.updateCheckboxFlag++),u===e?(e=p=u.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&x?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(this,e),{children:m}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(this,e),{children:v})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):i?(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"])):e.forEach(e=>{var t=this.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),p.push(t[0]));let r=this.findRowIndexOf(a,e);-1<r&&(s.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),f.row&&-1<l.findRowIndexOf(e,f.row)&&l.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(l,e);h[e]&&delete h[e],c[e]&&delete c[e]}),r.removeRowFlag++,r.insertRowFlag++,r.pendingRowFlag++,l.cacheRowMap(!1),l.handleTableData(t&&x),l.updateFooter(),l.handleUpdateBodyMerge(),t&&x||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate(!0))).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},_getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=this,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){var e=this.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},_getUpdateRecords(){let t=this;var{keepSource:e,treeConfig:l}=t,r=t.tableFullData,o=t.computeTreeOpts;return e?(syncActivedCell(t),l?_xeUtils.default.filterTree(r,e=>t.isUpdateByRow(e),o):r.filter(e=>t.isUpdateByRow(e))):[]},handleEdit(e,t){return handleEditActive(this,e,t,!0,!0)},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){getEditColumnModel(e,t)},_setColumnModel(e,t){setEditColumnModel(e,t)},_syncActivedCell(){syncActivedCell(this)},_clearActived(e){return(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return handleClearEdit(this,null,e)},handleClearEdit(e,t){return handleClearEdit(this,e,t)},_getActiveRecord(){var e=((0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditCell"]),this).editStore,t=this.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(this,l)]?Object.assign({},e,{row:l}):null},_getEditRecord(){var e=((0,_log.warnLog)("vxe.error.delFunc",["getEditRecord","getEditCell"]),this).editStore,t=this.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(this,l)]?Object.assign({},e,{row:l}):null},_getEditCell(){var e=this.editStore,{row:e,column:t}=e.actived;return t&&e?{row:e,rowIndex:this.getRowIndex(e),column:t,columnIndex:this.getColumnIndex(t)}:null},_isActiveByRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){var t=this.editStore;return t.actived.row===e},handleFocus(r){var{row:o,column:i,cell:n}=r,d=i.editRender,a=this.computeEditOpts;if((0,_utils.isEnableConf)(d)){var s=renderer.get(d.name);let e=d.autofocus||d.autoFocus,t=d.autoSelect||d.autoselect,l;a.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autoFocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?n.querySelector("input,textarea"):n.querySelector(e))&&l.focus()),l?t?l.select():browseObj.msie&&((d=l.createTextRange()).collapse(!1),d.select()):a.autoPos&&!i.fixed&&this.scrollToRow(o,i)}},_setActiveRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t){let l=_xeUtils.default.find(this.visibleColumn,e=>(0,_utils.isEnableConf)(e.editRender)),r=!1;return t&&(r=!0)!==t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),handleEditCell(this,e,l,r)},_setActiveCell(e,t){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(e,t){return handleEditCell(this,e,t,!0)},_setSelectCell(e,t){var l=this,r=l.tableData,o=l.computeEditOpts,t=_xeUtils.default.isString(t)?l.getColumnByField(t):t;return e&&t&&"manual"!==o.trigger&&-1<(o=l.findRowIndexOf(r,e))&&(r=l.getCellElement(e,t),e={row:e,rowIndex:o,column:t,columnIndex:l.getColumnIndex(t),cell:r},l.handleSelected(e,{})),l.$nextTick()},handleSelected(e,t){let l=this;var r=l.mouseConfig,o=l.editStore,i=l.computeMouseOpts;let n=l.computeEditOpts,{actived:d,selected:a}=o,{row:s,column:u}=e,c=r&&i.selected;return!c||a.row===s&&a.column===u||(d.row!==s||"cell"===n.mode&&d.column!==u)&&(handleClearEdit(l,t),l.clearSelected(),l.clearCellAreas&&(l.clearCellAreas(),l.clearCopyCellArea()),a.args=e,a.row=s,a.column=u,c&&this.addCellSelectedClass(),l.focus(),t)&&l.dispatchEvent("cell-selected",e,t),l.$nextTick()},_getSelectedCell(){var e=this.editStore,{row:e,column:t}=e.selected;return e&&t?{row:e,column:t}:null},_clearSelected(){var e=this.editStore,e=e.selected;return e.row=null,e.column=null,removeCellSelectedClass(this),this.$nextTick()},reColTitleSdCls(){var e=this.elemStore["main-header-list"];e&&_xeUtils.default.arrayEach(e.querySelectorAll(".col--title-selected"),e=>(0,_dom.removeClass)(e,"col--title-selected"))},addCellSelectedClass(){var e=this.editStore,e=e.selected,{row:e,column:t}=e;removeCellSelectedClass(this),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,browseObj=_xeUtils.default.browse();function getEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)}function setEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)}function removeCellSelectedClass(e){var e=e.$refs.refElem;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}function syncActivedCell(e){var{editStore:t,tableColumn:l}=e,e=e.computeEditOpts,t=t.actived;let{row:r,column:o}=t;(r||o)&&("row"===e.mode?l.forEach(e=>setEditColumnModel(r,e)):setEditColumnModel(r,o))}function insertTreeRow(n,e,t){let{tableFullTreeData:d,afterFullData:a,fullDataRowIdData:s,fullAllDataRowIdData:u}=n;var l=n.computeTreeOpts;let{rowField:c,parentField:h,mapChildrenField:g}=l,w=l.children||l.childrenField,f=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(n,l),o=t?_xeUtils.default.findTree(d,e=>t===e[c],{children:g}):null;if(o){var o=o.item,i=u[(0,_util.getRowid)(n,o)],i=i?i.level:0;let e=o[w],t=o[g];_xeUtils.default.isArray(e)||(e=o[w]=[]),_xeUtils.default.isArray(t)||(t=o[g]=[]),e[f](l),t[f](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:e,parent:o,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=o,u[r]=o}else{t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[f](l),d[f](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:d,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=i,u[r]=i}})}function handleInsertRowAt(d,t,l,a){var e=d;let o=d.treeConfig;var r=e.isRowGroupStatus;let{tableFullTreeData:s,afterFullData:i,mergeBodyList:n,tableFullData:u,fullDataRowIdData:c,fullAllDataRowIdData:h,insertRowMaps:g,removeRowMaps:w}=d;var f=d.computeTreeOpts;let{transform:x,parentField:m,rowField:v,mapChildrenField:p}=f,R=f.children||f.childrenField,_=(_xeUtils.default.isArray(t)||(t=[t]),d.defineField(t.map(e=>Object.assign(o&&x?{[p]:[],[R]:[]}:{},e)))),C=[];if(o&&x&&(C=_xeUtils.default.toArrayTree(_,{key:v,parentKey:m,children:R})),_xeUtils.default.eqNull(l))if(o&&x)insertTreeRow(d,_,!1);else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else _.forEach(e=>{var t=(0,_util.getRowid)(d,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};c[t]=l,h[t]=l,i.unshift(e),u.unshift(e)}),n.forEach(e=>{var t=e.row;0<=t&&(e.row=t+_.length)});else if(-1===l)if(o&&x)insertTreeRow(d,_,!0);else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else _.forEach(e=>{var t=(0,_util.getRowid)(d,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:i,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};c[t]=l,h[t]=l,i.push(e),u.push(e)});else if(o&&x){let n=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:p});if(n){let r=n.parent,o=r?r[p]:s;f=h[(0,_util.getRowid)(d,r)];let i=f?f.level:0;if(C.forEach((e,t)=>{r?e[m]!==r[v]&&((0,_log.errLog)("vxe.error.errProp",[m+"="+e[m],m+"="+r[v]]),e[m]=r[v]):null!==e[m]&&(_xeUtils.default.eqNull(e[m])||(0,_log.errLog)("vxe.error.errProp",[m+"="+e[m],"null"]),e[m]=null);let l=n.index+t;a&&(l+=1),o.splice(l,0,e)}),_xeUtils.default.eachTree(C,e=>{var t=(0,_util.getRowid)(d,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,_tIndex:-1,items:o,parent:r,level:i+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};e[R]&&(e[p]=e[R]),c[t]=l,h[t]=l},{children:R}),r){t=_xeUtils.default.findTree(s,e=>l[v]===e[v],{children:R});if(t){f=t.items;let e=t.index;a&&(e+=1),f.splice(e,0,...C)}}}else(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(d,_,!0)}else if(r){if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"]))}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<i.length&&(r=l):r=d.findRowIndexOf(i,l),-1===(r=a?Math.min(i.length,r+1):r))throw new Error(getI18n("vxe.error.unableInsert"));i.splice(r,0,..._);t=d.findRowIndexOf(u,l);-1<t?u.splice(t+(a?1:0),0,..._):u.push(..._),n.forEach(e=>{var{row:t,rowspan:l}=e;t>=r?e.row=t+_.length:(a?t+l>=r:t+l>r)&&(e.rowspan=l+_.length)})}f=e=>{var t=(0,_util.getRowid)(d,e);w[t]?(delete w[t],g[t]&&delete g[t]):g[t]=e};return o&&x?_xeUtils.default.eachTree(C,f,{children:p}):_.forEach(f),e.removeRowFlag++,e.insertRowFlag++,d.cacheRowMap(!1),d.updateScrollYStatus(),d.handleTableData(o&&x),o&&x||d.updateAfterDataIndex(),d.updateFooter(),d.handleUpdateBodyMerge(),d.checkSelectionStatus(),e.scrollYLoad&&d.updateScrollYSpace(),d.$nextTick().then(()=>(d.updateCellAreas(),d.recalculate(!0))).then(()=>({row:_.length?_[_.length-1]:null,rows:_}))}function handleInsertChildRowAt(e,t,l,r,o){var i=e.treeConfig;let{transform:n,rowField:d,parentField:a}=e.computeTreeOpts;return i&&n?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[d]})),r,o):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))}function handleClearEdit(e,t,l){var r=e.editStore,{actived:r,focused:o}=r,{row:i,column:n}=r,d=e.computeValidOpts;if(i||n){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,i))return e.$nextTick();syncActivedCell(e),r.args=null,r.row=null,r.column=null,e.updateFooter(),e.dispatchEvent("edit-closed",{row:i,rowIndex:e.getRowIndex(i),$rowIndex:e.getVMRowIndex(i),column:n,columnIndex:e.getColumnIndex(n),$columnIndex:e.getVMColumnIndex(n)},t||null)}return o.row=null,o.column=null,d.autoClear&&("full"!==d.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>e.updateCellAreas())}function handleEditActive(l,r,o,i,e){let n=l.$xeGrid;var{editConfig:t,mouseConfig:d}=l,{editStore:a,tableColumn:s}=l,u=l.computeEditOpts,c=u.mode,{actived:a,focused:h}=a;let{row:g,column:w}=r;var f=w.editRender,x=r.cell||l.getCellElement(g,w),m=u.beforeEditMethod||u.activeMethod;if((r.cell=x)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(f)&&!l.isPendingByRow(g)&&!l.isAggregateRecord(g)){if(a.row!==g||"cell"===c&&a.column!==w){let t="edit-disabled";if(!m||m(Object.assign(Object.assign({},r),{$table:l,$grid:n}))){d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),a.column&&handleClearEdit(l,o),t="edit-activated",w.renderHeight=x.offsetHeight,a.args=r,a.row=g,a.column=w,"row"===c?s.forEach(e=>getEditColumnModel(g,e)):getEditColumnModel(g,w);let e=u.afterEditMethod;l.$nextTick(()=>{i&&l.handleFocus(r,o),e&&e(Object.assign(Object.assign({},r),{$table:l,$grid:n}))})}l.dispatchEvent(t,{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:w,columnIndex:l.getColumnIndex(w),$columnIndex:l.getVMColumnIndex(w)},o),"edit-activated"===t&&l.dispatchEvent("edit-actived",{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:w,columnIndex:l.getColumnIndex(w),$columnIndex:l.getVMColumnIndex(w)},o)}else{t=a.column;d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),t!==w&&(f=t.model,f.update&&(0,_util.setCellValue)(g,t,f.value),l.clearValidate)&&l.clearValidate(g,w),w.renderHeight=x.offsetHeight,a.args=r,a.column=w,e&&setTimeout(()=>{l.handleFocus(r,o)})}h.column=null,h.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let o=t;var i=t.editConfig;let n=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&n&&(0,_utils.isEnableConf)(i)&&(0,_utils.isEnableConf)(n.editRender)&&!t.isAggregateRecord(l)?Promise.resolve(r?t.scrollToRow(l,n):null).then(()=>{var e=t.getCellElement(l,n);return e&&(handleEditActive(t,{row:l,rowIndex:t.getRowIndex(l),column:n,columnIndex:t.getColumnIndex(n),cell:e,$table:t},null,r,r),o._lastCallTime=Date.now()),t.$nextTick()}):t.$nextTick()}var _default=exports.default={methods:{_insert(e){return handleInsertRowAt(this,e,null)},_insertAt(e,t){return handleInsertRowAt(this,e,t)},_insertNextAt(e,t){return handleInsertRowAt(this,e,t,!0)},_insertChild(e,t){return handleInsertChildRowAt(this,e,t,null)},_insertChildAt(e,t,l){return handleInsertChildRowAt(this,e,t,l)},_insertChildNextAt(e,t,l){return handleInsertChildRowAt(this,e,t,l,!0)},_remove(e){let l=this;var t=l,r=l,t=t.treeConfig,{editStore:o,isRowGroupStatus:i}=r;let{tableFullTreeData:n,selectCheckboxMaps:d,afterFullData:a,mergeBodyList:s,tableFullData:u,pendingRowMaps:c,insertRowMaps:h,removeRowMaps:g}=l;var w=l.computeCheckboxOpts,f=l.computeTreeOpts;let{transform:x,mapChildrenField:m}=f,v=f.children||f.childrenField;f=o.actived,o=w.checkField;let p=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(e=>{var t;l.isInsertByRow(e)||(t=(0,_util.getRowid)(l,e),g[t]=e)}),o||(e.forEach(e=>{e=(0,_util.getRowid)(this,e);d[e]&&delete d[e]}),r.updateCheckboxFlag++),u===e?(e=p=u.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&x?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(this,e),{children:m}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(n,e=>t===(0,_util.getRowid)(this,e),{children:v})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(a,e));-1<l&&a.splice(l,1)}):i?(0,_log.warnLog)(getI18n("vxe.error.noGroup",["remove"])):e.forEach(e=>{var t=this.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),p.push(t[0]));let r=this.findRowIndexOf(a,e);-1<r&&(s.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),a.splice(r,1))}),f.row&&-1<l.findRowIndexOf(e,f.row)&&l.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(l,e);h[e]&&delete h[e],c[e]&&delete c[e]}),r.removeRowFlag++,r.insertRowFlag++,r.pendingRowFlag++,l.cacheRowMap(!1),l.handleTableData(t&&x),l.updateFooter(),l.handleUpdateBodyMerge(),t&&x||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate(!0))).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},_getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=this,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){var e=this.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},_getUpdateRecords(){let t=this;var{keepSource:e,treeConfig:l}=t,r=t.tableFullData,o=t.computeTreeOpts;return e?(syncActivedCell(t),l?_xeUtils.default.filterTree(r,e=>t.isUpdateByRow(e),o):r.filter(e=>t.isUpdateByRow(e))):[]},handleEdit(e,t){return handleEditActive(this,e,t,!0,!0)},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){getEditColumnModel(e,t)},_setColumnModel(e,t){setEditColumnModel(e,t)},_syncActivedCell(){syncActivedCell(this)},_clearActived(e){return(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return handleClearEdit(this,null,e)},handleClearEdit(e,t){return handleClearEdit(this,e,t)},_getActiveRecord(){var e=((0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditCell"]),this).editStore,t=this.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(this,l)]?Object.assign({},e,{row:l}):null},_getEditRecord(){var e=((0,_log.warnLog)("vxe.error.delFunc",["getEditRecord","getEditCell"]),this).editStore,t=this.fullAllDataRowIdData,{args:e,row:l}=e.actived;return e&&l&&t[(0,_util.getRowid)(this,l)]?Object.assign({},e,{row:l}):null},_getEditCell(){var e=this.editStore,{row:e,column:t}=e.actived;return t&&e?{row:e,rowIndex:this.getRowIndex(e),column:t,columnIndex:this.getColumnIndex(t)}:null},_isActiveByRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){var t=this.editStore;return t.actived.row===e},handleFocus(r){var{row:o,column:i,cell:n}=r,d=i.editRender,a=this.computeEditOpts;if((0,_utils.isEnableConf)(d)){var s=renderer.get(d.name);let e=d.autofocus||d.autoFocus,t=d.autoSelect||d.autoselect,l;a.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autoFocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?n.querySelector("input,textarea"):n.querySelector(e))&&l.focus()),l?t?l.select():browseObj.msie&&((d=l.createTextRange()).collapse(!1),d.select()):a.autoPos&&!i.fixed&&this.scrollToRow(o,i)}},_setActiveRow(e){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t){let l=_xeUtils.default.find(this.visibleColumn,e=>(0,_utils.isEnableConf)(e.editRender)),r=!1;return t&&(r=!0)!==t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),handleEditCell(this,e,l,r)},_setActiveCell(e,t){return(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(e,t){return handleEditCell(this,e,t,!0)},_setSelectCell(e,t){var l=this,r=l.tableData,o=l.computeEditOpts,t=_xeUtils.default.isString(t)?l.getColumnByField(t):t;return e&&t&&"manual"!==o.trigger&&-1<(o=l.findRowIndexOf(r,e))&&(r=l.getCellElement(e,t),e={row:e,rowIndex:o,column:t,columnIndex:l.getColumnIndex(t),cell:r},l.handleSelected(e,{})),l.$nextTick()},handleSelected(e,t){let l=this;var r=l.mouseConfig,o=l.editStore,i=l.computeMouseOpts;let n=l.computeEditOpts,{actived:d,selected:a}=o,{row:s,column:u}=e,c=r&&i.selected;return!c||a.row===s&&a.column===u||(d.row!==s||"cell"===n.mode&&d.column!==u)&&(handleClearEdit(l,t),l.clearSelected(),l.clearCellAreas&&(l.clearCellAreas(),l.clearCopyCellArea()),a.args=e,a.row=s,a.column=u,c&&this.addCellSelectedClass(),l.focus(),t)&&l.dispatchEvent("cell-selected",e,t),l.$nextTick()},_getSelectedCell(){var e=this.editStore,{row:e,column:t}=e.selected;return e&&t?{row:e,column:t}:null},_clearSelected(){var e=this.editStore,e=e.selected;return e.row=null,e.column=null,removeCellSelectedClass(this),this.$nextTick()},reColTitleSdCls(){var e=this.elemStore["main-header-list"];e&&_xeUtils.default.arrayEach(e.querySelectorAll(".col--title-selected"),e=>(0,_dom.removeClass)(e,"col--title-selected"))},addCellSelectedClass(){var e=this.editStore,e=e.selected,{row:e,column:t}=e;removeCellSelectedClass(this),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};
|
package/lib/table/src/body.js
CHANGED
|
@@ -37,12 +37,12 @@ function renderLine(h, $xeTable, rowid, params, cellHeight) {
|
|
|
37
37
|
const {
|
|
38
38
|
column
|
|
39
39
|
} = params;
|
|
40
|
-
const {
|
|
41
|
-
afterFullData
|
|
42
|
-
} = tableInternalData;
|
|
43
40
|
const {
|
|
44
41
|
treeConfig
|
|
45
42
|
} = tableProps;
|
|
43
|
+
const cellOpts = $xeTable.computeCellOpts;
|
|
44
|
+
const rowOpts = $xeTable.computeRowOpts;
|
|
45
|
+
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
46
46
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
47
47
|
const {
|
|
48
48
|
slots,
|
|
@@ -51,26 +51,39 @@ function renderLine(h, $xeTable, rowid, params, cellHeight) {
|
|
|
51
51
|
const {
|
|
52
52
|
fullAllDataRowIdData
|
|
53
53
|
} = tableInternalData;
|
|
54
|
-
if (slots && slots.line) {
|
|
55
|
-
return $xeTable.callSlot(slots.line, params, h);
|
|
56
|
-
}
|
|
57
|
-
const rowRest = fullAllDataRowIdData[rowid];
|
|
58
|
-
let rLevel = 0;
|
|
59
|
-
let prevRow = null;
|
|
60
|
-
if (rowRest) {
|
|
61
|
-
rLevel = rowRest.level;
|
|
62
|
-
prevRow = rowRest.items[rowRest.treeIndex - 1];
|
|
63
|
-
}
|
|
64
54
|
if (treeConfig && treeNode && (treeOpts.showLine || treeOpts.line)) {
|
|
55
|
+
if (slots && slots.line) {
|
|
56
|
+
return $xeTable.callSlot(slots.line, params, h);
|
|
57
|
+
}
|
|
58
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
59
|
+
let rLevel = 0;
|
|
60
|
+
let prevRow = null;
|
|
61
|
+
let parentRow = null;
|
|
62
|
+
let lineHeight = '';
|
|
63
|
+
if (rowRest) {
|
|
64
|
+
rLevel = rowRest.level;
|
|
65
|
+
prevRow = rowRest.items[rowRest.treeIndex - 1];
|
|
66
|
+
parentRow = rowRest.parent;
|
|
67
|
+
}
|
|
68
|
+
if (!rLevel && !treeOpts.showRootLine) {
|
|
69
|
+
return [];
|
|
70
|
+
}
|
|
71
|
+
if (prevRow) {
|
|
72
|
+
const prevRowRest = fullAllDataRowIdData[(0, _util.getRowid)($xeTable, prevRow)] || {};
|
|
73
|
+
lineHeight = `${prevRowRest.lineHeight || 0}px`;
|
|
74
|
+
} else if (rLevel && parentRow) {
|
|
75
|
+
const parentRowRest = fullAllDataRowIdData[(0, _util.getRowid)($xeTable, parentRow)] || {};
|
|
76
|
+
lineHeight = `calc(-1em + ${Math.floor(cellHeight / 2 + (0, _util.getCellRestHeight)(parentRowRest, cellOpts, rowOpts, defaultRowHeight) / 2)}px)`;
|
|
77
|
+
}
|
|
65
78
|
return [h('div', {
|
|
66
79
|
key: 'tl',
|
|
67
80
|
class: 'vxe-tree--line-wrapper'
|
|
68
81
|
}, [h('div', {
|
|
69
82
|
class: 'vxe-tree--line',
|
|
70
83
|
style: {
|
|
71
|
-
height:
|
|
84
|
+
height: lineHeight,
|
|
72
85
|
bottom: `-${Math.floor(cellHeight / 2)}px`,
|
|
73
|
-
left:
|
|
86
|
+
left: `calc(${rLevel * treeOpts.indent}px + 1em)`
|
|
74
87
|
}
|
|
75
88
|
})])];
|
|
76
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(e,l,t,r,a){var o=r.column,i=l.afterFullData,s=l.treeConfig,d=l.computeTreeOpts,{slots:o,treeNode:n}=o,c=l.fullAllDataRowIdData;if(o&&o.line)return l.callSlot(o.line,r,e);o=c[t];let p=0,u=null;return o&&(p=o.level,u=o.items[o.treeIndex-1]),s&&n&&(d.showLine||d.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${(0,_util.getRowid)(l,i[0])===t?1:(0,_util.calcTreeLine)(r,u)}px`,bottom:`-${Math.floor(a/2)}px`,left:p*d.indent+(p?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,l,A,t,r,H,q,a,F,L,o,i,N,U,V){var s=l.$xeGrid,d=l.$xeGantt,{columnKey:G,resizable:n,showOverflow:c,border:W,height:p,treeConfig:X,cellClassName:Y,cellStyle:j,align:u,spanMethod:P,mouseConfig:K,editConfig:J,editRules:g,tooltipConfig:x,padding:Q}=l,{tableData:Z,tableColumn:ee,dragRow:le,overflowX:te,overflowY:re,currentColumn:ae,scrollXLoad:oe,scrollYLoad:ie,mergeBodyFlag:se,calcCellHeightFlag:v,resizeHeightFlag:m,resizeWidthFlag:de,editStore:ne,isAllOverflow:ce,validErrorMaps:pe}=l,{fullAllDataRowIdData:ue,fullColumnIdData:w,mergeBodyCellMaps:ge,visibleColumn:xe,afterFullData:ve,mergeBodyList:me,scrollXStore:we,scrollYStore:fe}=l,f=l.computeCellOpts,h=l.computeValidOpts,y=l.computeCheckboxOpts,he=l.computeEditOpts,b=l.computeTooltipOpts,ye=l.computeVirtualXOpts,be=l.computeVirtualYOpts,{isAllColumnDrag:Ce,isAllRowDrag:_e}=l.resizableOpts,C=l.computeRowOpts,_=l.computeRowDragOpts,Ee=l.computeDefaultRowHeight,v=v?f.height||C.height:0,{disabledMethod:E,isCrossDrag:Re,isPeerDrag:Se}=_,$e=l.computeColumnOpts,De=l.computeMouseOpts,Oe=l.computeCellOffsetWidth,Ie=l.computeAreaOpts.selectCellToRow,{type:Te,cellRender:ke,editRender:Be,align:Me,showOverflow:R,className:ze,treeNode:Ae,rowResize:He,padding:S,verticalAlign:$,slots:qe}=i,Fe=f.verticalAlign,ne=ne.actived,Le=ue[t]||{},D=i.id,w=w[D]||{},O=Be||ke,O=O?renderer.get(O.name):null,Ne=O?O.tableCellClassName||O.cellClassName:null,Ue=O?O.tableCellStyle||O.cellStyle:"";let Ve=b.showAll;var Ge=w.index,b=w._index,w=(0,_utils.isEnableConf)(Be),m=m?Le.resizeHeight:0;let I=te&&(r?i.fixed!==r:!!i.fixed);Q=_xeUtils.default.eqNull(S)?null===Q?f.padding:Q:S,S=_xeUtils.default.eqNull(R)?c:R,c="ellipsis"===S;let T="title"===S,k=!0===S||"tooltip"===S;R=ce||T||k||c,S=_xeUtils.default.isBoolean(i.resizable)?i.resizable:$e.resizable||n,n=!!v,v=0<m;let We;m={},Me=Me||(O?O.tableCellAlign:"")||u,O=_xeUtils.default.eqNull($)?Fe:$,u=pe[t+":"+D],Fe=g&&h.showMessage&&("default"===h.message?p||1<Z.length:"inline"===h.message),$={colid:D};let B={$table:l,$grid:s,$gantt:d,isEdit:!1,seq:A,rowid:t,row:a,rowIndex:F,$rowIndex:L,_rowIndex:o,column:i,columnIndex:Ge,$columnIndex:N,_columnIndex:b,fixed:r,source:sourceType,type:renderType,isHidden:!!I,level:q,visibleData:ve,data:Z,items:V},M=!1,Xe=!1,z=((M=C.drag?"row"===_.trigger||i.dragSort&&"cell"===_.trigger:M)&&(Xe=!(!E||!E(B))),(T||k||Ve||x)&&(m.mouseover=e=>{isVMScrollProcess(l)||(T?(0,_dom.updateCellTitle)(e.currentTarget,i):(k||Ve)&&l.triggerBodyTooltipEvent(e,B)),l.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},B),e)}),(k||Ve||x)&&(m.mouseleave=e=>{isVMScrollProcess(l)||(k||Ve)&&l.handleTargetLeaveEvent(e),l.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},B),e)}),(M||y.range||K)&&(m.mousedown=e=>{l.triggerCellMousedownEvent(e,B)}),M&&(m.mouseup=l.triggerCellMouseupEvent),m.click=e=>{l.triggerCellClickEvent(e,B)},!(m.dblclick=e=>{l.triggerCellDblclickEvent(e,B)})),Ye=1,je=1;if(se&&me.length){pe=ge[o+":"+b];if(pe){var{rowspan:g,colspan:p}=pe;if(!g||!p)return renderEmptyElement(l);1<g&&(z=!0,je=g,$.rowspan=g),1<p&&(z=!0,Ye=p,$.colspan=p)}}else if(P){var{rowspan:s=1,colspan:d=1}=P(B)||{};if(!s||!d)return renderEmptyElement(l);1<s&&(z=!0,je=s,$.rowspan=s),1<d&&(z=!0,Ye=d,$.colspan=d)}!(I=I&&z&&(1<$.colspan||1<$.rowspan)?!1:I)&&J&&(Be||ke)&&(he.showStatus||he.showUpdateStatus)&&(We=l.isUpdateByRow(a,i.field));A=!R&&(ie||oe);let Pe=(0,_util.getCellRestHeight)(Le,f,C,Ee);F=N===U.length-1,L=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Ke=!1;z||le&&(0,_util.getRowid)(l,le)===t||(re&&ie&&!X&&16<Z.length&&!be.immediate&&(o<fe.visibleStartIndex-fe.preloadSize||o>fe.visibleEndIndex+fe.preloadSize)||te&&oe&&10<ee.length&&!ye.immediate&&!i.fixed&&(b<we.visibleStartIndex-we.preloadSize||b>we.visibleEndIndex+we.preloadSize))&&(Ke=!0),1<je&&(V=ve[o+je-1])&&(_=ue[(0,_util.getRowid)(l,V)])&&(Pe+=_.oTop+(0,_util.getCellRestHeight)(_,f,C,Ee)-Le.oTop-(0,_util.getCellRestHeight)(Le,f,C,Ee));E={};if(R&&de){let l=0;if(1<Ye)for(let e=1;e<Ye;e++){var Je=xe[Ge+e];Je&&(l+=Je.renderWidth)}E.width=i.renderWidth+l-Oe+"px"}ie||oe||R||n||v?E.height=Pe+"px":E.minHeight=Pe+"px";x=[];I&&ce?x.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":c}],style:E})):(X&&x.push(...renderLine(e,l,t,B,Pe)),x.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":c}],style:E,attrs:{title:T?l.getCellLabel(a,i):null}},Ke?[]:[e("div",{attrs:{colid:D,rowid:t},class:"vxe-cell--wrapper vxe-body-cell--wrapper"},i.renderCell(e,B))])),Fe&&u&&(y=u.rule,se=qe?qe.valid:null,me=Object.assign(Object.assign(Object.assign({},B),u),{rule:u}),x.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(h.className,u)],style:y&&y.maxWidth?{width:y.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(h.theme||"normal")},[se?l.callSlot(se,me,e):[e("span",{class:"vxe-cell--valid-error-msg"},u.content)]])]))));let Qe=!1;return K&&De.area&&!b&&Ie&&(Qe=!0),!I&&S&&Ce&&x.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>l.handleColResizeMousedownEvent(e,r,B),dblclick:e=>l.handleColResizeDblclickEvent(e,B)}})),(He||_e)&&C.resizable&&x.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>l.handleRowResizeMousedownEvent(e,B),dblclick:e=>l.handleRowResizeDblclickEvent(e,B)}})),e("td",{class:["vxe-table--column vxe-body--column",D,O?"col--vertical-"+O:"",Me?"col--"+Me:"",Te?"col--"+Te:"",{"col--last":F,"col--tree-node":Ae,"col--edit":w,"col--ellipsis":R,"col--cs-height":n,"col--rs-height":v,"col--to-row":Qe,"col--auto-height":A,"fixed--width":!L,"fixed--hidden":I,"is--padding":Q,"is--progress":I&&ce||Ke,"is--drag-cell":M&&(Re||Se||!q),"is--drag-disabled":Xe,"col--dirty":We,"col--active":J&&w&&ne.row===a&&(ne.column===i||"row"===he.mode),"col--valid-error":!!u,"col--current":ae===i},(0,_utils.getClass)(Ne,B),(0,_utils.getClass)(ze,B),(0,_utils.getClass)(Y,B)],key:G||oe||ie||$e.useKey||C.useKey||$e.drag?i.id:N,attrs:$,style:Object.assign({},_xeUtils.default.isFunction(Ue)?Ue(B):Ue,_xeUtils.default.isFunction(j)?j(B):j),on:m},H&&I?[]:x)}function renderRows(m,w,f,h,y,b){let C=w.$parent;var e=C,l=C,t=C;let _=C.$xeGrid,E=C.$xeGantt,{stripe:R,rowKey:S,highlightHoverRow:$,rowClassName:D,rowStyle:O,editConfig:I,treeConfig:T}=e,{hasFixedColumn:k,treeExpandedFlag:B,scrollXLoad:M,scrollYLoad:z,isAllOverflow:A,rowExpandedFlag:H,expandColumn:q,selectRadioRow:F,pendingRowFlag:L,rowExpandHeightFlag:N,isRowGroupStatus:U}=l,{fullAllDataRowIdData:P,fullColumnIdData:K,treeExpandedMaps:J,pendingRowMaps:Q,rowExpandedMaps:Z}=t,ee=C.computeCheckboxOpts,le=C.computeRadioOpts,V=C.computeTreeOpts,G=C.computeEditOpts,W=C.computeRowOpts,te=C.computeColumnOpts,{transform:X,seqMode:Y}=V,re=V.children||V.childrenField,j=[],ae=(0,_util.createHandleGetRowId)(C).handleGetRowId,oe=T||U;return y.forEach((r,a)=>{var o={};let i=ae(r);var s=P[i]||{};let d=a,n=0,c=-1,p=-1;var u=U&&r.isAggregate,g=((W.isHover||$)&&(o.mouseover=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:r,rowIndex:d})},o.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),s&&(d=s.index,p=s._index,n=s.level,c=s.seq,u||T&&X&&"increasing"===Y?c=s._index+1:T&&"fixed"===Y&&(c=s._tIndex+1)),{$table:C,seq:c,rowid:i,fixed:f,type:renderType,level:n,row:r,rowIndex:d,$rowIndex:a,_rowIndex:p}),x=q&&!!H&&!!Z[i];let e=!1,l=[],t=!1;I&&(t=C.isInsertByRow(r)),!T||z||X||(l=r[re],e=!!B&&l&&0<l.length&&!!J[i]),!W.drag||U||T&&!X||(o.dragstart=C.handleRowDragDragstartEvent,o.dragend=C.handleRowDragDragendEvent,o.dragover=C.handleRowDragDragoverEvent);var u=["vxe-body--row",oe?"row--level-"+n:"",{"row--stripe":R&&(p+1)%2==0,"is--new":t,"is--expand-row":x,"is--expand-tree":e,"row--new":t&&(G.showStatus||G.showInsertStatus),"row--radio":le.highlight&&F===r,"row--checked":ee.highlight&&C.isCheckedByCheckboxRow(r),"row--pending":!!L&&!!Q[i],"row--group":u},D?_xeUtils.default.isFunction(D)?D(g):D:""],v=b.map((e,l)=>renderTdColumn(m,C,c,i,f,h,n,r,d,a,p,e,l,b,y));if(j.push(m("tr",{class:u,attrs:{rowid:i},style:O?_xeUtils.default.isFunction(O)?O(g):O:void 0,key:S||M||z||W.useKey||W.drag||te.drag||U||T?i:a,on:o},v)),x){var{height:u,padding:g,mode:o}=C.computeExpandOpts;if("fixed"===o)j.push(m("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+i,attrs:{rowid:i}},[m("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${N?s.expandHeight||u:0}px`}})]));else{v={},x=(u&&(v.height=u+"px"),T&&(v.paddingLeft=n*V.indent+30+"px"),q||{}).showOverflow,o=q.id,s=K[o]||{},o=_xeUtils.default.eqNull(x)?A:x;let e=-1,l=-1,t=-1;s&&(e=s.index,l=s.$index,t=s._index);x={$grid:_,$table:C,$gantt:E,seq:c,column:q,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:f,source:sourceType,type:renderType,level:n,row:r,rowid:i,rowIndex:d,$rowIndex:a,_rowIndex:p,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};j.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":g}],key:"expand_"+i},[m("td",{class:["vxe-body--expanded-column",{"fixed--hidden":f&&!k,"col--ellipsis":o}],attrs:{colspan:b.length}},[m("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":u}],style:v},[q.renderData(m,x)])])]))}}e&&j.push(...renderRows(m,w,f,h,l,b))}),j}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,a=l,o=l.$xeGrid,i=l.$xeGantt,s=l.$scopedSlots,d=l.xID;let{fixedColumn:n,fixedType:c,tableColumn:p}=this;var{spanMethod:u,footerSpanMethod:g,mouseConfig:x}=e,{isGroup:r,tableData:v,isColLoading:m,overflowX:w,scrollXLoad:f,scrollYLoad:h,isAllOverflow:y,expandColumn:b,dragRow:C,dragCol:_}=r,{visibleColumn:a,fullAllDataRowIdData:E,fullColumnIdData:R}=a,S=l.computeEmptyOpts,$=l.computeMouseOpts,D=l.computeExpandOpts;let O=v,I=p,T=!1;!(f||h||y)||b&&"fixed"!==D.mode||u||g||(T=!0),m||!c&&w||(I=a),c&&T&&(I=n||[]),h&&C&&2<O.length&&(v=E[(0,_util.getRowid)(l,C)])&&(y=v._index,b=O[0],D=O[O.length-1],u=E[(0,_util.getRowid)(l,b)],g=E[(0,_util.getRowid)(l,D)],u)&&g&&(m=u._index,w=g._index,y<m?O=[C].concat(O):w<y&&(O=O.concat([C]))),c||r||f&&_&&2<I.length&&(a=R[_.id])&&(h=a._index,v=I[0],b=I[I.length-1],E=R[v.id],D=R[b.id],E)&&D&&(u=E._index,g=D._index,h<u?I=[_].concat(I):g<h&&(I=I.concat([_])));let k;m=s?s.empty:null,w={$table:l,$grid:o,$gantt:i},k=m?m.call(l,w):(C=(y=S.name?renderer.get(S.name):null)?y.renderTableEmpty||y.renderTableEmptyView||y.renderEmpty:null)?(0,_vn.getSlotVNs)(C.call(l,t,S,w)):e.emptyText||getI18n("vxe.table.emptyText"),r={scroll(e){l.triggerBodyScrollEvent(e,c)}};return t("div",{ref:"refElem",class:["vxe-table--body-wrapper",c?`fixed-${c}--wrapper`:"body--wrapper"],attrs:{xid:d}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:r},[c?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:d,cellspacing:0,cellpadding:0,border:0,xvm:T?"1":null}},[t("colgroup",{ref:"refBodyColgroup"},I.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),t("tbody",{ref:"refBodyTBody"},renderRows(t,this,c,T,O,I))]),t("div",{class:"vxe-table--checkbox-range"}),x&&$.area?t("div",{class:"vxe-table--cell-area",attrs:{xid:d}},[t("span",{class:"vxe-table--cell-main-area"},$.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:c,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-clip-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),c?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},k)])])])}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_util=require("./util"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer,renderEmptyElement}=_ui.VxeUI,sourceType="table",renderType="body",isVMScrollProcess=e=>{var l=e.delayHover,{lastScrollTime:e,isDragResize:t}=e;return!!(t||e&&Date.now()<e+l)};function renderLine(o,a,i,s,d){var n=s.column,c=a.treeConfig,p=a.computeCellOpts,u=a.computeRowOpts,g=a.computeDefaultRowHeight,x=a.computeTreeOpts,{slots:n,treeNode:m}=n,v=a.fullAllDataRowIdData;if(c&&m&&(x.showLine||x.line)){if(n&&n.line)return a.callSlot(n.line,s,o);c=v[i];let e=0,l=null,t=null,r="";return(c&&(e=c.level,l=c.items[c.treeIndex-1],t=c.parent),e||x.showRootLine)?(l?(m=v[(0,_util.getRowid)(a,l)]||{},r=`${m.lineHeight||0}px`):e&&t&&(n=v[(0,_util.getRowid)(a,t)]||{},r=`calc(-1em + ${Math.floor(d/2+(0,_util.getCellRestHeight)(n,p,u,g)/2)}px)`),[o("div",{key:"tl",class:"vxe-tree--line-wrapper"},[o("div",{class:"vxe-tree--line",style:{height:r,bottom:`-${Math.floor(d/2)}px`,left:`calc(${e*x.indent}px + 1em)`}})])]):[]}return[]}function renderTdColumn(e,l,H,t,r,A,q,o,F,L,a,i,N,U,V){var s=l.$xeGrid,d=l.$xeGantt,{columnKey:G,resizable:n,showOverflow:c,border:W,height:p,treeConfig:X,cellClassName:Y,cellStyle:j,align:u,spanMethod:P,mouseConfig:K,editConfig:J,editRules:g,tooltipConfig:x,padding:Q}=l,{tableData:Z,tableColumn:ee,dragRow:le,overflowX:te,overflowY:re,currentColumn:oe,scrollXLoad:ae,scrollYLoad:ie,mergeBodyFlag:se,calcCellHeightFlag:m,resizeHeightFlag:v,resizeWidthFlag:de,editStore:ne,isAllOverflow:ce,validErrorMaps:pe}=l,{fullAllDataRowIdData:ue,fullColumnIdData:w,mergeBodyCellMaps:ge,visibleColumn:xe,afterFullData:me,mergeBodyList:ve,scrollXStore:we,scrollYStore:he}=l,h=l.computeCellOpts,f=l.computeValidOpts,y=l.computeCheckboxOpts,fe=l.computeEditOpts,b=l.computeTooltipOpts,ye=l.computeVirtualXOpts,be=l.computeVirtualYOpts,{isAllColumnDrag:Ce,isAllRowDrag:_e}=l.resizableOpts,C=l.computeRowOpts,_=l.computeRowDragOpts,Re=l.computeDefaultRowHeight,m=m?h.height||C.height:0,{disabledMethod:R,isCrossDrag:Ee,isPeerDrag:Se}=_,$e=l.computeColumnOpts,Oe=l.computeMouseOpts,De=l.computeCellOffsetWidth,Ie=l.computeAreaOpts.selectCellToRow,{type:Te,cellRender:ke,editRender:Be,align:Me,showOverflow:E,className:ze,treeNode:He,rowResize:Ae,padding:S,verticalAlign:$,slots:qe}=i,Fe=h.verticalAlign,ne=ne.actived,Le=ue[t]||{},O=i.id,w=w[O]||{},D=Be||ke,D=D?renderer.get(D.name):null,Ne=D?D.tableCellClassName||D.cellClassName:null,Ue=D?D.tableCellStyle||D.cellStyle:"";let Ve=b.showAll;var Ge=w.index,b=w._index,w=(0,_utils.isEnableConf)(Be),v=v?Le.resizeHeight:0;let I=te&&(r?i.fixed!==r:!!i.fixed);Q=_xeUtils.default.eqNull(S)?null===Q?h.padding:Q:S,S=_xeUtils.default.eqNull(E)?c:E,c="ellipsis"===S;let T="title"===S,k=!0===S||"tooltip"===S;E=ce||T||k||c,S=_xeUtils.default.isBoolean(i.resizable)?i.resizable:$e.resizable||n,n=!!m,m=0<v;let We;v={},Me=Me||(D?D.tableCellAlign:"")||u,D=_xeUtils.default.eqNull($)?Fe:$,u=pe[t+":"+O],Fe=g&&f.showMessage&&("default"===f.message?p||1<Z.length:"inline"===f.message),$={colid:O};let B={$table:l,$grid:s,$gantt:d,isEdit:!1,seq:H,rowid:t,row:o,rowIndex:F,$rowIndex:L,_rowIndex:a,column:i,columnIndex:Ge,$columnIndex:N,_columnIndex:b,fixed:r,source:sourceType,type:renderType,isHidden:!!I,level:q,visibleData:me,data:Z,items:V},M=!1,Xe=!1,z=((M=C.drag?"row"===_.trigger||i.dragSort&&"cell"===_.trigger:M)&&(Xe=!(!R||!R(B))),(T||k||Ve||x)&&(v.mouseover=e=>{isVMScrollProcess(l)||(T?(0,_dom.updateCellTitle)(e.currentTarget,i):(k||Ve)&&l.triggerBodyTooltipEvent(e,B)),l.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},B),e)}),(k||Ve||x)&&(v.mouseleave=e=>{isVMScrollProcess(l)||(k||Ve)&&l.handleTargetLeaveEvent(e),l.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},B),e)}),(M||y.range||K)&&(v.mousedown=e=>{l.triggerCellMousedownEvent(e,B)}),M&&(v.mouseup=l.triggerCellMouseupEvent),v.click=e=>{l.triggerCellClickEvent(e,B)},!(v.dblclick=e=>{l.triggerCellDblclickEvent(e,B)})),Ye=1,je=1;if(se&&ve.length){pe=ge[a+":"+b];if(pe){var{rowspan:g,colspan:p}=pe;if(!g||!p)return renderEmptyElement(l);1<g&&(z=!0,je=g,$.rowspan=g),1<p&&(z=!0,Ye=p,$.colspan=p)}}else if(P){var{rowspan:s=1,colspan:d=1}=P(B)||{};if(!s||!d)return renderEmptyElement(l);1<s&&(z=!0,je=s,$.rowspan=s),1<d&&(z=!0,Ye=d,$.colspan=d)}!(I=I&&z&&(1<$.colspan||1<$.rowspan)?!1:I)&&J&&(Be||ke)&&(fe.showStatus||fe.showUpdateStatus)&&(We=l.isUpdateByRow(o,i.field));H=!E&&(ie||ae);let Pe=(0,_util.getCellRestHeight)(Le,h,C,Re);F=N===U.length-1,L=!i.resizeWidth&&("auto"===i.minWidth||"auto"===i.width);let Ke=!1;z||le&&(0,_util.getRowid)(l,le)===t||(re&&ie&&!X&&16<Z.length&&!be.immediate&&(a<he.visibleStartIndex-he.preloadSize||a>he.visibleEndIndex+he.preloadSize)||te&&ae&&10<ee.length&&!ye.immediate&&!i.fixed&&(b<we.visibleStartIndex-we.preloadSize||b>we.visibleEndIndex+we.preloadSize))&&(Ke=!0),1<je&&(V=me[a+je-1])&&(_=ue[(0,_util.getRowid)(l,V)])&&(Pe+=_.oTop+(0,_util.getCellRestHeight)(_,h,C,Re)-Le.oTop-(0,_util.getCellRestHeight)(Le,h,C,Re));R={};if(E&&de){let l=0;if(1<Ye)for(let e=1;e<Ye;e++){var Je=xe[Ge+e];Je&&(l+=Je.renderWidth)}R.width=i.renderWidth+l-De+"px"}ie||ae||E||n||m?R.height=Pe+"px":R.minHeight=Pe+"px";x=[];I&&ce?x.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":c}],style:R})):(X&&x.push(...renderLine(e,l,t,B,Pe)),x.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":T,"c--tooltip":k,"c--ellipsis":c}],style:R,attrs:{title:T?l.getCellLabel(o,i):null}},Ke?[]:[e("div",{attrs:{colid:O,rowid:t},class:"vxe-cell--wrapper vxe-body-cell--wrapper"},i.renderCell(e,B))])),Fe&&u&&(y=u.rule,se=qe?qe.valid:null,ve=Object.assign(Object.assign(Object.assign({},B),u),{rule:u}),x.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(f.className,u)],style:y&&y.maxWidth?{width:y.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(f.theme||"normal")},[se?l.callSlot(se,ve,e):[e("span",{class:"vxe-cell--valid-error-msg"},u.content)]])]))));let Qe=!1;return K&&Oe.area&&!b&&Ie&&(Qe=!0),!I&&S&&Ce&&x.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>l.handleColResizeMousedownEvent(e,r,B),dblclick:e=>l.handleColResizeDblclickEvent(e,B)}})),(Ae||_e)&&C.resizable&&x.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>l.handleRowResizeMousedownEvent(e,B),dblclick:e=>l.handleRowResizeDblclickEvent(e,B)}})),e("td",{class:["vxe-table--column vxe-body--column",O,D?"col--vertical-"+D:"",Me?"col--"+Me:"",Te?"col--"+Te:"",{"col--last":F,"col--tree-node":He,"col--edit":w,"col--ellipsis":E,"col--cs-height":n,"col--rs-height":m,"col--to-row":Qe,"col--auto-height":H,"fixed--width":!L,"fixed--hidden":I,"is--padding":Q,"is--progress":I&&ce||Ke,"is--drag-cell":M&&(Ee||Se||!q),"is--drag-disabled":Xe,"col--dirty":We,"col--active":J&&w&&ne.row===o&&(ne.column===i||"row"===fe.mode),"col--valid-error":!!u,"col--current":oe===i},(0,_utils.getClass)(Ne,B),(0,_utils.getClass)(ze,B),(0,_utils.getClass)(Y,B)],key:G||ae||ie||$e.useKey||C.useKey||$e.drag?i.id:N,attrs:$,style:Object.assign({},_xeUtils.default.isFunction(Ue)?Ue(B):Ue,_xeUtils.default.isFunction(j)?j(B):j),on:v},A&&I?[]:x)}function renderRows(v,w,h,f,y,b){let C=w.$parent;var e=C,l=C,t=C;let _=C.$xeGrid,R=C.$xeGantt,{stripe:E,rowKey:S,highlightHoverRow:$,rowClassName:O,rowStyle:D,editConfig:I,treeConfig:T}=e,{hasFixedColumn:k,treeExpandedFlag:B,scrollXLoad:M,scrollYLoad:z,isAllOverflow:H,rowExpandedFlag:A,expandColumn:q,selectRadioRow:F,pendingRowFlag:L,rowExpandHeightFlag:N,isRowGroupStatus:U}=l,{fullAllDataRowIdData:P,fullColumnIdData:K,treeExpandedMaps:J,pendingRowMaps:Q,rowExpandedMaps:Z}=t,ee=C.computeCheckboxOpts,le=C.computeRadioOpts,V=C.computeTreeOpts,G=C.computeEditOpts,W=C.computeRowOpts,te=C.computeColumnOpts,{transform:X,seqMode:Y}=V,re=V.children||V.childrenField,j=[],oe=(0,_util.createHandleGetRowId)(C).handleGetRowId,ae=T||U;return y.forEach((r,o)=>{var a={};let i=oe(r);var s=P[i]||{};let d=o,n=0,c=-1,p=-1;var u=U&&r.isAggregate,g=((W.isHover||$)&&(a.mouseover=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:r,rowIndex:d})},a.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),s&&(d=s.index,p=s._index,n=s.level,c=s.seq,u||T&&X&&"increasing"===Y?c=s._index+1:T&&"fixed"===Y&&(c=s._tIndex+1)),{$table:C,seq:c,rowid:i,fixed:h,type:renderType,level:n,row:r,rowIndex:d,$rowIndex:o,_rowIndex:p}),x=q&&!!A&&!!Z[i];let e=!1,l=[],t=!1;I&&(t=C.isInsertByRow(r)),!T||z||X||(l=r[re],e=!!B&&l&&0<l.length&&!!J[i]),!W.drag||U||T&&!X||(a.dragstart=C.handleRowDragDragstartEvent,a.dragend=C.handleRowDragDragendEvent,a.dragover=C.handleRowDragDragoverEvent);var u=["vxe-body--row",ae?"row--level-"+n:"",{"row--stripe":E&&(p+1)%2==0,"is--new":t,"is--expand-row":x,"is--expand-tree":e,"row--new":t&&(G.showStatus||G.showInsertStatus),"row--radio":le.highlight&&F===r,"row--checked":ee.highlight&&C.isCheckedByCheckboxRow(r),"row--pending":!!L&&!!Q[i],"row--group":u},O?_xeUtils.default.isFunction(O)?O(g):O:""],m=b.map((e,l)=>renderTdColumn(v,C,c,i,h,f,n,r,d,o,p,e,l,b,y));if(j.push(v("tr",{class:u,attrs:{rowid:i},style:D?_xeUtils.default.isFunction(D)?D(g):D:void 0,key:S||M||z||W.useKey||W.drag||te.drag||U||T?i:o,on:a},m)),x){var{height:u,padding:g,mode:a}=C.computeExpandOpts;if("fixed"===a)j.push(v("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+i,attrs:{rowid:i}},[v("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${N?s.expandHeight||u:0}px`}})]));else{m={},x=(u&&(m.height=u+"px"),T&&(m.paddingLeft=n*V.indent+30+"px"),q||{}).showOverflow,a=q.id,s=K[a]||{},a=_xeUtils.default.eqNull(x)?H:x;let e=-1,l=-1,t=-1;s&&(e=s.index,l=s.$index,t=s._index);x={$grid:_,$table:C,$gantt:R,seq:c,column:q,columnIndex:e,$columnIndex:l,_columnIndex:t,fixed:h,source:sourceType,type:renderType,level:n,row:r,rowid:i,rowIndex:d,$rowIndex:o,_rowIndex:p,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};j.push(v("tr",{class:["vxe-body--expanded-row",{"is--padding":g}],key:"expand_"+i},[v("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!k,"col--ellipsis":a}],attrs:{colspan:b.length}},[v("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":u}],style:m},[q.renderData(v,x)])])]))}}e&&j.push(...renderRows(v,w,h,f,l,b))}),j}var _default=exports.default={name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},mounted(){var e=this,l=e.fixedType,t=e.$parent.elemStore,l=`${l||"main"}-body-`;t[l+"wrapper"]=e.$refs.refElem,t[l+"scroll"]=e.$refs.refBodyScroll,t[l+"table"]=e.$refs.refBodyTable,t[l+"colgroup"]=e.$refs.refBodyColgroup,t[l+"list"]=e.$refs.refBodyTBody,t[l+"xSpace"]=e.$refs.refBodyXSpace,t[l+"ySpace"]=e.$refs.refBodyYSpace,t[l+"emptyBlock"]=e.$refs.refBodyEmptyBlock},destroyed(){var e=this.fixedType,l=this.$parent.elemStore,e=`${e||"main"}-body-`;l[e+"wrapper"]=null,l[e+"scroll"]=null,l[e+"table"]=null,l[e+"colgroup"]=null,l[e+"list"]=null,l[e+"xSpace"]=null,l[e+"ySpace"]=null,l[e+"emptyBlock"]=null},render(t){let l=this.$parent;var e=l,r=l,o=l,a=l.$xeGrid,i=l.$xeGantt,s=l.$scopedSlots,d=l.xID;let{fixedColumn:n,fixedType:c,tableColumn:p}=this;var{spanMethod:u,footerSpanMethod:g,mouseConfig:x}=e,{isGroup:r,tableData:m,isColLoading:v,overflowX:w,scrollXLoad:h,scrollYLoad:f,isAllOverflow:y,expandColumn:b,dragRow:C,dragCol:_}=r,{visibleColumn:o,fullAllDataRowIdData:R,fullColumnIdData:E}=o,S=l.computeEmptyOpts,$=l.computeMouseOpts,O=l.computeExpandOpts;let D=m,I=p,T=!1;!(h||f||y)||b&&"fixed"!==O.mode||u||g||(T=!0),v||!c&&w||(I=o),c&&T&&(I=n||[]),f&&C&&2<D.length&&(m=R[(0,_util.getRowid)(l,C)])&&(y=m._index,b=D[0],O=D[D.length-1],u=R[(0,_util.getRowid)(l,b)],g=R[(0,_util.getRowid)(l,O)],u)&&g&&(v=u._index,w=g._index,y<v?D=[C].concat(D):w<y&&(D=D.concat([C]))),c||r||h&&_&&2<I.length&&(o=E[_.id])&&(f=o._index,m=I[0],b=I[I.length-1],R=E[m.id],O=E[b.id],R)&&O&&(u=R._index,g=O._index,f<u?I=[_].concat(I):g<f&&(I=I.concat([_])));let k;v=s?s.empty:null,w={$table:l,$grid:a,$gantt:i},k=v?v.call(l,w):(C=(y=S.name?renderer.get(S.name):null)?y.renderTableEmpty||y.renderTableEmptyView||y.renderEmpty:null)?(0,_vn.getSlotVNs)(C.call(l,t,S,w)):e.emptyText||getI18n("vxe.table.emptyText"),r={scroll(e){l.triggerBodyScrollEvent(e,c)}};return t("div",{ref:"refElem",class:["vxe-table--body-wrapper",c?`fixed-${c}--wrapper`:"body--wrapper"],attrs:{xid:d}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:r},[c?renderEmptyElement(l):t("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),t("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),t("table",{ref:"refBodyTable",class:"vxe-table--body",attrs:{xid:d,cellspacing:0,cellpadding:0,border:0,xvm:T?"1":null}},[t("colgroup",{ref:"refBodyColgroup"},I.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),t("tbody",{ref:"refBodyTBody"},renderRows(t,this,c,T,D,I))]),t("div",{class:"vxe-table--checkbox-range"}),x&&$.area?t("div",{class:"vxe-table--cell-area",attrs:{xid:d}},[t("span",{class:"vxe-table--cell-main-area"},$.extension?[t("span",{class:"vxe-table--cell-main-area-btn",on:{mousedown(e){l.triggerCellAreaExtendMousedownEvent&&l.triggerCellAreaExtendMousedownEvent(e,{$table:l,fixed:c,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-clip-area"}),t("span",{class:"vxe-table--cell-extend-area"}),t("span",{class:"vxe-table--cell-multi-area"}),t("span",{class:"vxe-table--cell-active-area"}),t("span",{class:"vxe-table--cell-row-status-area"})]):renderEmptyElement(l),c?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},k)])])])}};
|
package/lib/table/src/methods.js
CHANGED
|
@@ -2945,6 +2945,9 @@ function autoCellWidth($xeTable) {
|
|
|
2945
2945
|
updateColumnOffsetLeft($xeTable);
|
|
2946
2946
|
updateHeight($xeTable);
|
|
2947
2947
|
}
|
|
2948
|
+
/**
|
|
2949
|
+
* 计算自适应行高
|
|
2950
|
+
*/
|
|
2948
2951
|
const calcCellAutoHeight = (rowRest, wrapperEl) => {
|
|
2949
2952
|
const cellElemList = wrapperEl.querySelectorAll(`.vxe-cell--wrapper[rowid="${rowRest.rowid}"]`);
|
|
2950
2953
|
let colHeight = rowRest.height;
|
|
@@ -2962,9 +2965,16 @@ const calcCellAutoHeight = (rowRest, wrapperEl) => {
|
|
|
2962
2965
|
}
|
|
2963
2966
|
return colHeight;
|
|
2964
2967
|
};
|
|
2968
|
+
/**
|
|
2969
|
+
* 自适应行高
|
|
2970
|
+
*/
|
|
2965
2971
|
const calcCellHeight = $xeTable => {
|
|
2972
|
+
const props = $xeTable;
|
|
2966
2973
|
const reactData = $xeTable;
|
|
2967
2974
|
const internalData = $xeTable;
|
|
2975
|
+
const {
|
|
2976
|
+
treeConfig
|
|
2977
|
+
} = props;
|
|
2968
2978
|
const {
|
|
2969
2979
|
tableData,
|
|
2970
2980
|
isAllOverflow,
|
|
@@ -2974,9 +2984,10 @@ const calcCellHeight = $xeTable => {
|
|
|
2974
2984
|
const {
|
|
2975
2985
|
fullAllDataRowIdData
|
|
2976
2986
|
} = internalData;
|
|
2987
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
2977
2988
|
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
2978
2989
|
const el = $xeTable.$refs.refElem;
|
|
2979
|
-
if (!isAllOverflow && (scrollYLoad || scrollXLoad) && el) {
|
|
2990
|
+
if (!isAllOverflow && (scrollYLoad || scrollXLoad || treeConfig && treeOpts.showLine) && el) {
|
|
2980
2991
|
const {
|
|
2981
2992
|
handleGetRowId
|
|
2982
2993
|
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
@@ -3900,6 +3911,7 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
3900
3911
|
}
|
|
3901
3912
|
reactData.isRowLoading = false;
|
|
3902
3913
|
handleRecalculateStyle($xeTable, false, false, false);
|
|
3914
|
+
updateTreeLineStyle($xeTable);
|
|
3903
3915
|
// 如果是自动行高,特殊情况需调用 recalculate 手动刷新
|
|
3904
3916
|
if (!props.showOverflow) {
|
|
3905
3917
|
setTimeout(() => {
|
|
@@ -3912,6 +3924,7 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
3912
3924
|
(0, _util.restoreScrollLocation)($xeTable, targetScrollLeft, targetScrollTop).then(() => {
|
|
3913
3925
|
handleRecalculateStyle($xeTable, false, true, true);
|
|
3914
3926
|
updateRowOffsetTop($xeTable);
|
|
3927
|
+
updateTreeLineStyle($xeTable);
|
|
3915
3928
|
resolve();
|
|
3916
3929
|
});
|
|
3917
3930
|
} else {
|
|
@@ -3919,6 +3932,7 @@ function loadTableData($xeTable, datas, isReset) {
|
|
|
3919
3932
|
(0, _util.restoreScrollLocation)($xeTable, targetScrollLeft, targetScrollTop).then(() => {
|
|
3920
3933
|
handleRecalculateStyle($xeTable, false, true, true);
|
|
3921
3934
|
updateRowOffsetTop($xeTable);
|
|
3935
|
+
updateTreeLineStyle($xeTable);
|
|
3922
3936
|
resolve();
|
|
3923
3937
|
});
|
|
3924
3938
|
});
|
|
@@ -4484,6 +4498,9 @@ function updateHeight($xeTable) {
|
|
|
4484
4498
|
internalData.customHeight = 300;
|
|
4485
4499
|
}
|
|
4486
4500
|
}
|
|
4501
|
+
/**
|
|
4502
|
+
* 计算自适应列宽
|
|
4503
|
+
*/
|
|
4487
4504
|
function calcColumnAutoWidth($xeTable, column, wrapperEl) {
|
|
4488
4505
|
const columnOpts = $xeTable.computeColumnOpts;
|
|
4489
4506
|
const {
|
|
@@ -4518,6 +4535,9 @@ function calcColumnAutoWidth($xeTable, column, wrapperEl) {
|
|
|
4518
4535
|
}
|
|
4519
4536
|
return colWidth + leftRightPadding;
|
|
4520
4537
|
}
|
|
4538
|
+
/**
|
|
4539
|
+
* 自适应列宽
|
|
4540
|
+
*/
|
|
4521
4541
|
function calcCellWidth($xeTable) {
|
|
4522
4542
|
const internalData = $xeTable;
|
|
4523
4543
|
const autoWidthColumnList = $xeTable.computeAutoWidthColumnList;
|
|
@@ -4679,9 +4699,109 @@ function updateRowExpandStyle($xeTable) {
|
|
|
4679
4699
|
/**
|
|
4680
4700
|
* 更新树连接线样式
|
|
4681
4701
|
*/
|
|
4682
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4683
4702
|
function updateTreeLineStyle($xeTable) {
|
|
4684
|
-
|
|
4703
|
+
const props = $xeTable;
|
|
4704
|
+
const reactData = $xeTable;
|
|
4705
|
+
const internalData = $xeTable;
|
|
4706
|
+
const {
|
|
4707
|
+
treeConfig
|
|
4708
|
+
} = props;
|
|
4709
|
+
if (!treeConfig) {
|
|
4710
|
+
return;
|
|
4711
|
+
}
|
|
4712
|
+
const {
|
|
4713
|
+
tableData
|
|
4714
|
+
} = reactData;
|
|
4715
|
+
const {
|
|
4716
|
+
fullAllDataRowIdData,
|
|
4717
|
+
treeExpandedMaps
|
|
4718
|
+
} = internalData;
|
|
4719
|
+
const cellOpts = $xeTable.computeCellOpts;
|
|
4720
|
+
const rowOpts = $xeTable.computeRowOpts;
|
|
4721
|
+
const defaultRowHeight = $xeTable.computeDefaultRowHeight;
|
|
4722
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
4723
|
+
const {
|
|
4724
|
+
transform,
|
|
4725
|
+
mapChildrenField
|
|
4726
|
+
} = treeOpts;
|
|
4727
|
+
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
4728
|
+
const {
|
|
4729
|
+
handleGetRowId
|
|
4730
|
+
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
4731
|
+
const expParentList = [];
|
|
4732
|
+
const handleNodeRow = (row, rIndex, rows) => {
|
|
4733
|
+
const rowid = handleGetRowId(row);
|
|
4734
|
+
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
4735
|
+
const childList = row[transform ? mapChildrenField : childrenField];
|
|
4736
|
+
const prevRow = rows[rIndex - 1] || null;
|
|
4737
|
+
const nextRow = rows[rIndex + 1] || null;
|
|
4738
|
+
if (childList && childList.length && treeExpandedMaps[rowid]) {
|
|
4739
|
+
expParentList.push({
|
|
4740
|
+
row,
|
|
4741
|
+
prevRow,
|
|
4742
|
+
nextRow
|
|
4743
|
+
});
|
|
4744
|
+
childList.forEach((childRow, crIndex) => {
|
|
4745
|
+
const childRowid = handleGetRowId(childRow);
|
|
4746
|
+
if (treeExpandedMaps[childRowid]) {
|
|
4747
|
+
handleNodeRow(childRow, crIndex, childList);
|
|
4748
|
+
}
|
|
4749
|
+
});
|
|
4750
|
+
} else {
|
|
4751
|
+
if (nextRow) {
|
|
4752
|
+
const nextRowid = handleGetRowId(nextRow);
|
|
4753
|
+
const nextRowRest = fullAllDataRowIdData[nextRowid] || {};
|
|
4754
|
+
const currCellHeight = (0, _util.getCellRestHeight)(rowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
4755
|
+
const nextCellHeight = (0, _util.getCellRestHeight)(nextRowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
4756
|
+
rowRest.oHeight = currCellHeight;
|
|
4757
|
+
rowRest.lineHeight = Math.floor(currCellHeight / 2 + nextCellHeight / 2);
|
|
4758
|
+
} else {
|
|
4759
|
+
rowRest.oHeight = 0;
|
|
4760
|
+
rowRest.lineHeight = 0;
|
|
4761
|
+
}
|
|
4762
|
+
}
|
|
4763
|
+
};
|
|
4764
|
+
tableData.forEach((row, rIndex) => {
|
|
4765
|
+
handleNodeRow(row, rIndex, tableData);
|
|
4766
|
+
});
|
|
4767
|
+
_xeUtils.default.lastArrayEach(expParentList, ({
|
|
4768
|
+
row,
|
|
4769
|
+
nextRow
|
|
4770
|
+
}) => {
|
|
4771
|
+
const rowid = handleGetRowId(row);
|
|
4772
|
+
const childList = row[transform ? mapChildrenField : childrenField];
|
|
4773
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
4774
|
+
if (rowRest) {
|
|
4775
|
+
const currCellHeight = (0, _util.getCellRestHeight)(rowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
4776
|
+
let countOffsetHeight = currCellHeight;
|
|
4777
|
+
let countLineHeight = 0;
|
|
4778
|
+
childList.forEach(childRow => {
|
|
4779
|
+
const childRowid = handleGetRowId(childRow);
|
|
4780
|
+
const childRowRest = fullAllDataRowIdData[childRowid] || {};
|
|
4781
|
+
const childList = childRow[transform ? mapChildrenField : childrenField];
|
|
4782
|
+
if (treeExpandedMaps[childRowid] && childList && childList.length) {
|
|
4783
|
+
countOffsetHeight += childRowRest.oHeight || 0;
|
|
4784
|
+
countLineHeight += childRowRest.oHeight || 0;
|
|
4785
|
+
} else {
|
|
4786
|
+
const cellHeight = (0, _util.getCellRestHeight)(childRowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
4787
|
+
childRowRest.oHeight = cellHeight;
|
|
4788
|
+
childRowRest.lineHeight = cellHeight;
|
|
4789
|
+
countOffsetHeight += cellHeight;
|
|
4790
|
+
countLineHeight += cellHeight;
|
|
4791
|
+
}
|
|
4792
|
+
});
|
|
4793
|
+
if (nextRow) {
|
|
4794
|
+
const nextRowid = handleGetRowId(nextRow);
|
|
4795
|
+
const nextRowRest = fullAllDataRowIdData[nextRowid] || {};
|
|
4796
|
+
const currCellHeight = (0, _util.getCellRestHeight)(rowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
4797
|
+
const nextCellHeight = (0, _util.getCellRestHeight)(nextRowRest, cellOpts, rowOpts, defaultRowHeight);
|
|
4798
|
+
countOffsetHeight += currCellHeight;
|
|
4799
|
+
countLineHeight += Math.floor(currCellHeight / 2 + nextCellHeight / 2);
|
|
4800
|
+
}
|
|
4801
|
+
rowRest.lineHeight = countLineHeight;
|
|
4802
|
+
rowRest.oHeight = countOffsetHeight;
|
|
4803
|
+
}
|
|
4804
|
+
});
|
|
4685
4805
|
}
|
|
4686
4806
|
function handleRowExpandScroll($xeTable) {
|
|
4687
4807
|
const internalData = $xeTable;
|
|
@@ -12650,6 +12770,7 @@ const Methods = {
|
|
|
12650
12770
|
},
|
|
12651
12771
|
triggerBodyWheelEvent(evnt) {
|
|
12652
12772
|
const $xeTable = this;
|
|
12773
|
+
const $xeParentTable = $xeTable.$xeParentTable;
|
|
12653
12774
|
const tableProps = $xeTable;
|
|
12654
12775
|
const reactData = $xeTable;
|
|
12655
12776
|
const internalData = $xeTable;
|
|
@@ -12723,6 +12844,21 @@ const Methods = {
|
|
|
12723
12844
|
return;
|
|
12724
12845
|
}
|
|
12725
12846
|
}
|
|
12847
|
+
// 展开行处理,如果展开行嵌入表格中
|
|
12848
|
+
if ($xeParentTable) {
|
|
12849
|
+
if (isRollY) {
|
|
12850
|
+
if ((0, _dom.checkTargetElement)(evnt.target, [leftScrollElem, bodyScrollElem, rightScrollElem], evnt.currentTarget)) {
|
|
12851
|
+
evnt.stopPropagation();
|
|
12852
|
+
return;
|
|
12853
|
+
}
|
|
12854
|
+
}
|
|
12855
|
+
if (isRollX) {
|
|
12856
|
+
if ((0, _dom.checkTargetElement)(evnt.target, [headerScrollElem, bodyScrollElem, footerScrollElem], evnt.currentTarget)) {
|
|
12857
|
+
evnt.stopPropagation();
|
|
12858
|
+
return;
|
|
12859
|
+
}
|
|
12860
|
+
}
|
|
12861
|
+
}
|
|
12726
12862
|
if (!(leftFixedWidth || rightFixedWidth || expandColumn)) {
|
|
12727
12863
|
return;
|
|
12728
12864
|
}
|