vxe-table 3.14.5 → 3.15.0-beta.0
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/module/edit/mixin.js +10 -9
- package/es/table/module/export/mixin.js +14 -11
- package/es/table/src/body.js +11 -13
- package/es/table/src/footer.js +3 -16
- package/es/table/src/methods.js +202 -67
- package/es/table/src/table.js +40 -23
- package/es/table/src/util.js +0 -13
- package/es/ui/index.js +2 -2
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +318 -183
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/mixin.js +9 -9
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/mixin.js +15 -11
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/src/body.js +14 -15
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +4 -27
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/methods.js +231 -71
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +42 -23
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +0 -25
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +2 -2
- 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/module/edit/mixin.ts +10 -9
- package/packages/table/module/export/mixin.ts +14 -11
- package/packages/table/src/body.ts +11 -13
- package/packages/table/src/footer.ts +3 -17
- package/packages/table/src/methods.ts +218 -78
- package/packages/table/src/table.ts +40 -23
- package/packages/table/src/util.ts +0 -14
- package/packages/ui/index.ts +1 -1
- /package/es/{iconfont.1743479120369.ttf → iconfont.1743578536739.ttf} +0 -0
- /package/es/{iconfont.1743479120369.woff → iconfont.1743578536739.woff} +0 -0
- /package/es/{iconfont.1743479120369.woff2 → iconfont.1743578536739.woff2} +0 -0
- /package/lib/{iconfont.1743479120369.ttf → iconfont.1743578536739.ttf} +0 -0
- /package/lib/{iconfont.1743479120369.woff → iconfont.1743578536739.woff} +0 -0
- /package/lib/{iconfont.1743479120369.woff2 → iconfont.1743578536739.woff2} +0 -0
|
@@ -161,12 +161,10 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
161
161
|
const {
|
|
162
162
|
treeConfig
|
|
163
163
|
} = props;
|
|
164
|
-
const {
|
|
165
|
-
mergeList
|
|
166
|
-
} = reactData;
|
|
167
164
|
const {
|
|
168
165
|
tableFullTreeData,
|
|
169
166
|
afterFullData,
|
|
167
|
+
mergeBodyList,
|
|
170
168
|
tableFullData,
|
|
171
169
|
fullDataRowIdData,
|
|
172
170
|
fullAllDataRowIdData,
|
|
@@ -215,7 +213,7 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
215
213
|
tableFullData.unshift(item);
|
|
216
214
|
});
|
|
217
215
|
// 刷新单元格合并
|
|
218
|
-
|
|
216
|
+
mergeBodyList.forEach(mergeItem => {
|
|
219
217
|
const {
|
|
220
218
|
row: mergeRowIndex
|
|
221
219
|
} = mergeItem;
|
|
@@ -254,7 +252,7 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
254
252
|
tableFullData.push(item);
|
|
255
253
|
});
|
|
256
254
|
// 刷新单元格合并
|
|
257
|
-
|
|
255
|
+
mergeBodyList.forEach(mergeItem => {
|
|
258
256
|
const {
|
|
259
257
|
row: mergeRowIndex,
|
|
260
258
|
rowspan: mergeRowspan
|
|
@@ -361,7 +359,7 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
361
359
|
tableFullData.push(...newRecords);
|
|
362
360
|
}
|
|
363
361
|
// 刷新单元格合并
|
|
364
|
-
|
|
362
|
+
mergeBodyList.forEach(mergeItem => {
|
|
365
363
|
const {
|
|
366
364
|
row: mergeRowIndex,
|
|
367
365
|
rowspan: mergeRowspan
|
|
@@ -387,6 +385,7 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
387
385
|
$xeTable.updateAfterDataIndex();
|
|
388
386
|
}
|
|
389
387
|
$xeTable.updateFooter();
|
|
388
|
+
$xeTable.handleUpdateBodyMerge();
|
|
390
389
|
$xeTable.checkSelectionStatus();
|
|
391
390
|
if (reactData.scrollYLoad) {
|
|
392
391
|
$xeTable.updateScrollYSpace();
|
|
@@ -676,13 +675,13 @@ var _default = exports.default = {
|
|
|
676
675
|
treeConfig
|
|
677
676
|
} = props;
|
|
678
677
|
const {
|
|
679
|
-
mergeList,
|
|
680
678
|
editStore
|
|
681
679
|
} = reactData;
|
|
682
680
|
const {
|
|
683
681
|
tableFullTreeData,
|
|
684
682
|
selectCheckboxMaps,
|
|
685
683
|
afterFullData,
|
|
684
|
+
mergeBodyList,
|
|
686
685
|
tableFullData,
|
|
687
686
|
pendingRowMaps,
|
|
688
687
|
insertRowMaps,
|
|
@@ -763,7 +762,7 @@ var _default = exports.default = {
|
|
|
763
762
|
const afIndex = this.findRowIndexOf(afterFullData, row);
|
|
764
763
|
if (afIndex > -1) {
|
|
765
764
|
// 刷新单元格合并
|
|
766
|
-
|
|
765
|
+
mergeBodyList.forEach(mergeItem => {
|
|
767
766
|
const {
|
|
768
767
|
row: mergeRowIndex,
|
|
769
768
|
rowspan: mergeRowspan
|
|
@@ -796,9 +795,10 @@ var _default = exports.default = {
|
|
|
796
795
|
reactData.removeRowFlag++;
|
|
797
796
|
reactData.insertRowFlag++;
|
|
798
797
|
reactData.pendingRowFlag++;
|
|
799
|
-
$xeTable.updateFooter();
|
|
800
798
|
$xeTable.cacheRowMap(false);
|
|
801
799
|
$xeTable.handleTableData(treeConfig && transform);
|
|
800
|
+
$xeTable.updateFooter();
|
|
801
|
+
$xeTable.handleUpdateBodyMerge();
|
|
802
802
|
if (!(treeConfig && transform)) {
|
|
803
803
|
$xeTable.updateAfterDataIndex();
|
|
804
804
|
}
|
|
@@ -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:i}=t;(r||i)&&("row"===e.mode?l.forEach(e=>setEditColumnModel(r,e)):setEditColumnModel(r,i))}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),i=t?_xeUtils.default.findTree(d,e=>t===e[c],{children:g}):null;if(i){var i=i.item,o=u[(0,_util.getRowid)(n,i)],o=o?o.level:0;let e=i[w],t=i[g];_xeUtils.default.isArray(e)||(e=i[w]=[]),_xeUtils.default.isArray(t)||(t=i[w]=[]),e[f](l),t[f](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:i,level:o+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=i,u[r]=i}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[f](l),d[f](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:d,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=o,u[r]=o}})}function handleInsertRowAt(a,t,l,s){var e=a;let i=a.treeConfig;var o=e.mergeList;let{tableFullTreeData:r,afterFullData:n,tableFullData:d,fullDataRowIdData:u,fullAllDataRowIdData:c,insertRowMaps:h}=a,g=a.computeTreeOpts,{transform:w,rowField:f,mapChildrenField:m}=g,p=g.children||g.childrenField,v=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(i&&w?{[m]:[],[p]:[]}:{},e))));if(_xeUtils.default.eqNull(l))i&&w?insertTreeRow(a,v,!1):(v.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:n,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,n.unshift(e),d.unshift(e)}),o.forEach(e=>{var t=e.row;0<t&&(e.row=t+v.length)}));else if(-1===l)i&&w?insertTreeRow(a,v,!0):(v.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:n,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,n.push(e),d.push(e)}),o.forEach(e=>{var{row:t,rowspan:l}=e;t+l>n.length&&(e.rowspan=l+v.length)}));else if(i&&w){let d=_xeUtils.default.findTree(r,e=>l[f]===e[f],{children:m});if(d){let i=d.parent,o=i?i[m]:r;t=c[(0,_util.getRowid)(a,i)];let n=t?t.level:0;if(v.forEach((e,t)=>{var l=(0,_util.getRowid)(a,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&i&&e[g.parentField]!==i[f]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+i[f]]),i&&(e[g.parentField]=i[f]);let r=d.index+t;s&&(r+=1),o.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:i,level:n+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,c[l]=t}),i){t=_xeUtils.default.findTree(r,e=>l[f]===e[f],{children:p});if(t){var x=t.items;let e=t.index;s&&(e+=1),x.splice(e,0,...v)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,v,!0)}else{if(i)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<n.length&&(r=l):r=a.findRowIndexOf(n,l),-1===(r=s?Math.min(n.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));n.splice(r,0,...v);t=a.findRowIndexOf(d,l);-1<t?d.splice(t+(s?1:0),0,...v):d.push(...v),o.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+v.length:t+l>r&&(e.rowspan=l+v.length)})}return v.forEach(e=>{var t=(0,_util.getRowid)(a,e);h[t]=e}),e.insertRowFlag++,a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(i&&w),i&&w||a.updateAfterDataIndex(),a.updateFooter(),a.checkSelectionStatus(),e.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate())).then(()=>({row:v.length?v[v.length-1]:null,rows:v}))}function handleInsertChildRowAt(e,t,l,r,i){var o=e.treeConfig;let{transform:n,rowField:d,parentField:a}=e.computeTreeOpts;return o&&n?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[d]})),r,i):((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:i}=r,{row:o,column:n}=r,d=e.computeValidOpts;if(o||n){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,o))return e.$nextTick();syncActivedCell(e),r.args=null,r.row=null,r.column=null,e.updateFooter(),e.dispatchEvent("edit-closed",{row:o,rowIndex:e.getRowIndex(o),$rowIndex:e.getVMRowIndex(o),column:n,columnIndex:e.getColumnIndex(n),$columnIndex:e.getVMColumnIndex(n)},t||null)}return i.row=null,i.column=null,d.autoClear&&("full"!==d.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>e.updateCellAreas())}function handleEditActive(l,r,i,o,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,m=r.cell||l.getCellElement(g,w),p=u.beforeEditMethod||u.activeMethod;if((r.cell=m)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(f)&&!l.isPendingByRow(g)){if(a.row!==g||"cell"===c&&a.column!==w){let t="edit-disabled";if(!p||p(Object.assign(Object.assign({},r),{$table:l,$grid:n}))){d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),a.column&&handleClearEdit(l,i),t="edit-activated",w.renderHeight=m.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(()=>{o&&l.handleFocus(r,i),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)},i),"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)},i)}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=m.offsetHeight,a.args=r,a.column=w,e&&setTimeout(()=>{l.handleFocus(r,i)})}h.column=null,h.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let i=t;var o=t.editConfig;let n=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&n&&(0,_utils.isEnableConf)(o)&&(0,_utils.isEnableConf)(n.editRender)?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),i._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,i=l,t=t.treeConfig;let{mergeList:o,editStore:n}=r,{tableFullTreeData:d,selectCheckboxMaps:a,afterFullData:s,tableFullData:u,pendingRowMaps:c,insertRowMaps:h,removeRowMaps:g}=i;var i=l.computeCheckboxOpts,w=l.computeTreeOpts;let{transform:f,mapChildrenField:m}=w,p=w.children||w.childrenField;w=n.actived,i=i.checkField;let v=[];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)}),i||(e.forEach(e=>{e=(0,_util.getRowid)(this,e);a[e]&&delete a[e]}),r.updateCheckboxFlag++),u===e?(e=v=u.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&f?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(d,e=>t===(0,_util.getRowid)(this,e),{children:m}),l=(l&&(l=l.items.splice(l.index,1),v.push(l[0])),_xeUtils.default.findTree(d,e=>t===(0,_util.getRowid)(this,e),{children:p})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(s,e));-1<l&&s.splice(l,1)}):e.forEach(e=>{var t=this.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),v.push(t[0]));let r=this.findRowIndexOf(s,e);-1<r&&(o.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),s.splice(r,1))}),w.row&&-1<l.findRowIndexOf(e,w.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.updateFooter(),l.cacheRowMap(!1),l.handleTableData(t&&f),t&&f||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:v.length?v[v.length-1]:null,rows:v}))},_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,i=t.computeTreeOpts;return e?(syncActivedCell(t),l?_xeUtils.default.filterTree(r,e=>t.isUpdateByRow(e),i):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"development"===process.env.NODE_ENV&&(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(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},_getEditRecord(){var e=this.editStore,t=this.afterFullData,l=this.$refs.refElem,{args:e,row:r}=e.actived;return e&&-1<this.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},_isActiveByRow(e){return"development"===process.env.NODE_ENV&&(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:i,column:o,cell:n}=r,d=o.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&&!o.fixed&&this.scrollToRow(i,o)}},_setActiveRow(e){return"development"===process.env.NODE_ENV&&(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"development"===process.env.NODE_ENV&&(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,i=l.computeEditOpts,t=_xeUtils.default.isString(t)?l.getColumnByField(t):t;return e&&t&&"manual"!==i.trigger&&-1<(i=l.findRowIndexOf(r,e))&&(r=l.getCellElement(e,t),e={row:e,rowIndex:i,column:t,columnIndex:l.getColumnIndex(t),cell:r},l.handleSelected(e,{})),l.$nextTick()},handleSelected(e,t){let l=this;var r=l.mouseConfig,i=l.editStore,o=l.computeMouseOpts;let n=l.computeEditOpts,{actived:d,selected:a}=i,{row:s,column:u}=e,c=r&&o.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,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):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:i}=t;(r||i)&&("row"===e.mode?l.forEach(e=>setEditColumnModel(r,e)):setEditColumnModel(r,i))}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),i=t?_xeUtils.default.findTree(d,e=>t===e[c],{children:g}):null;if(i){var i=i.item,o=u[(0,_util.getRowid)(n,i)],o=o?o.level:0;let e=i[w],t=i[g];_xeUtils.default.isArray(e)||(e=i[w]=[]),_xeUtils.default.isArray(t)||(t=i[w]=[]),e[f](l),t[f](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:i,level:o+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=i,u[r]=i}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[f](l),d[f](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:d,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=o,u[r]=o}})}function handleInsertRowAt(a,t,l,s){var e=a;let i=a.treeConfig,{tableFullTreeData:r,afterFullData:o,mergeBodyList:n,tableFullData:d,fullDataRowIdData:u,fullAllDataRowIdData:c,insertRowMaps:h}=a,g=a.computeTreeOpts,{transform:w,rowField:f,mapChildrenField:m}=g,p=g.children||g.childrenField,v=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(i&&w?{[m]:[],[p]:[]}:{},e))));if(_xeUtils.default.eqNull(l))i&&w?insertTreeRow(a,v,!1):(v.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,o.unshift(e),d.unshift(e)}),n.forEach(e=>{var t=e.row;0<t&&(e.row=t+v.length)}));else if(-1===l)i&&w?insertTreeRow(a,v,!0):(v.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,o.push(e),d.push(e)}),n.forEach(e=>{var{row:t,rowspan:l}=e;t+l>o.length&&(e.rowspan=l+v.length)}));else if(i&&w){let d=_xeUtils.default.findTree(r,e=>l[f]===e[f],{children:m});if(d){let i=d.parent,o=i?i[m]:r;t=c[(0,_util.getRowid)(a,i)];let n=t?t.level:0;if(v.forEach((e,t)=>{var l=(0,_util.getRowid)(a,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&i&&e[g.parentField]!==i[f]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+i[f]]),i&&(e[g.parentField]=i[f]);let r=d.index+t;s&&(r+=1),o.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:i,level:n+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,c[l]=t}),i){t=_xeUtils.default.findTree(r,e=>l[f]===e[f],{children:p});if(t){var x=t.items;let e=t.index;s&&(e+=1),x.splice(e,0,...v)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,v,!0)}else{if(i)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<o.length&&(r=l):r=a.findRowIndexOf(o,l),-1===(r=s?Math.min(o.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));o.splice(r,0,...v);t=a.findRowIndexOf(d,l);-1<t?d.splice(t+(s?1:0),0,...v):d.push(...v),n.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+v.length:t+l>r&&(e.rowspan=l+v.length)})}return v.forEach(e=>{var t=(0,_util.getRowid)(a,e);h[t]=e}),e.insertRowFlag++,a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(i&&w),i&&w||a.updateAfterDataIndex(),a.updateFooter(),a.handleUpdateBodyMerge(),a.checkSelectionStatus(),e.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate())).then(()=>({row:v.length?v[v.length-1]:null,rows:v}))}function handleInsertChildRowAt(e,t,l,r,i){var o=e.treeConfig;let{transform:n,rowField:d,parentField:a}=e.computeTreeOpts;return o&&n?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[d]})),r,i):((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:i}=r,{row:o,column:n}=r,d=e.computeValidOpts;if(o||n){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,o))return e.$nextTick();syncActivedCell(e),r.args=null,r.row=null,r.column=null,e.updateFooter(),e.dispatchEvent("edit-closed",{row:o,rowIndex:e.getRowIndex(o),$rowIndex:e.getVMRowIndex(o),column:n,columnIndex:e.getColumnIndex(n),$columnIndex:e.getVMColumnIndex(n)},t||null)}return i.row=null,i.column=null,d.autoClear&&("full"!==d.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>e.updateCellAreas())}function handleEditActive(l,r,i,o,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,m=r.cell||l.getCellElement(g,w),p=u.beforeEditMethod||u.activeMethod;if((r.cell=m)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(f)&&!l.isPendingByRow(g)){if(a.row!==g||"cell"===c&&a.column!==w){let t="edit-disabled";if(!p||p(Object.assign(Object.assign({},r),{$table:l,$grid:n}))){d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),a.column&&handleClearEdit(l,i),t="edit-activated",w.renderHeight=m.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(()=>{o&&l.handleFocus(r,i),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)},i),"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)},i)}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=m.offsetHeight,a.args=r,a.column=w,e&&setTimeout(()=>{l.handleFocus(r,i)})}h.column=null,h.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let i=t;var o=t.editConfig;let n=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&n&&(0,_utils.isEnableConf)(o)&&(0,_utils.isEnableConf)(n.editRender)?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),i._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,i=r.editStore;let{tableFullTreeData:o,selectCheckboxMaps:n,afterFullData:d,mergeBodyList:a,tableFullData:s,pendingRowMaps:u,insertRowMaps:c,removeRowMaps:h}=l;var g=l.computeCheckboxOpts,w=l.computeTreeOpts;let{transform:f,mapChildrenField:m}=w,p=w.children||w.childrenField;w=i.actived,i=g.checkField;let v=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=s,e.forEach(e=>{var t;l.isInsertByRow(e)||(t=(0,_util.getRowid)(l,e),h[t]=e)}),i||(e.forEach(e=>{e=(0,_util.getRowid)(this,e);n[e]&&delete n[e]}),r.updateCheckboxFlag++),s===e?(e=v=s.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&f?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(this,e),{children:m}),l=(l&&(l=l.items.splice(l.index,1),v.push(l[0])),_xeUtils.default.findTree(o,e=>t===(0,_util.getRowid)(this,e),{children:p})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(d,e));-1<l&&d.splice(l,1)}):e.forEach(e=>{var t=this.findRowIndexOf(s,e);-1<t&&(t=s.splice(t,1),v.push(t[0]));let r=this.findRowIndexOf(d,e);-1<r&&(a.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),d.splice(r,1))}),w.row&&-1<l.findRowIndexOf(e,w.row)&&l.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(l,e);c[e]&&delete c[e],u[e]&&delete u[e]}),r.removeRowFlag++,r.insertRowFlag++,r.pendingRowFlag++,l.cacheRowMap(!1),l.handleTableData(t&&f),l.updateFooter(),l.handleUpdateBodyMerge(),t&&f||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:v.length?v[v.length-1]:null,rows:v}))},_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,i=t.computeTreeOpts;return e?(syncActivedCell(t),l?_xeUtils.default.filterTree(r,e=>t.isUpdateByRow(e),i):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"development"===process.env.NODE_ENV&&(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(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},_getEditRecord(){var e=this.editStore,t=this.afterFullData,l=this.$refs.refElem,{args:e,row:r}=e.actived;return e&&-1<this.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},_isActiveByRow(e){return"development"===process.env.NODE_ENV&&(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:i,column:o,cell:n}=r,d=o.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&&!o.fixed&&this.scrollToRow(i,o)}},_setActiveRow(e){return"development"===process.env.NODE_ENV&&(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"development"===process.env.NODE_ENV&&(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,i=l.computeEditOpts,t=_xeUtils.default.isString(t)?l.getColumnByField(t):t;return e&&t&&"manual"!==i.trigger&&-1<(i=l.findRowIndexOf(r,e))&&(r=l.getCellElement(e,t),e={row:e,rowIndex:i,column:t,columnIndex:l.getColumnIndex(t),cell:r},l.handleSelected(e,{})),l.$nextTick()},handleSelected(e,t){let l=this;var r=l.mouseConfig,i=l.editStore,o=l.computeMouseOpts;let n=l.computeEditOpts,{actived:d,selected:a}=i,{row:s,column:u}=e,c=r&&o.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,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):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")}}};
|
|
@@ -383,6 +383,7 @@ function hasEllipsis($xeTable, column, property, allColumnOverflow) {
|
|
|
383
383
|
function toHtml($xeTable, opts, columns, datas) {
|
|
384
384
|
const props = $xeTable;
|
|
385
385
|
const reactData = $xeTable;
|
|
386
|
+
const internalData = $xeTable;
|
|
386
387
|
const {
|
|
387
388
|
id,
|
|
388
389
|
border,
|
|
@@ -395,9 +396,11 @@ function toHtml($xeTable, opts, columns, datas) {
|
|
|
395
396
|
} = props;
|
|
396
397
|
const {
|
|
397
398
|
isAllSelected,
|
|
398
|
-
isIndeterminate
|
|
399
|
-
mergeList
|
|
399
|
+
isIndeterminate
|
|
400
400
|
} = reactData;
|
|
401
|
+
const {
|
|
402
|
+
mergeBodyCellMaps
|
|
403
|
+
} = internalData;
|
|
401
404
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
402
405
|
const {
|
|
403
406
|
print: isPrint,
|
|
@@ -490,15 +493,16 @@ function toHtml($xeTable, opts, columns, datas) {
|
|
|
490
493
|
} else {
|
|
491
494
|
datas.forEach(item => {
|
|
492
495
|
tables.push('<tr>' + columns.map(column => {
|
|
496
|
+
const colid = column.id;
|
|
493
497
|
const cellAlign = column.align || allAlign;
|
|
494
498
|
const classNames = hasEllipsis($xeTable, column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : [];
|
|
495
|
-
const cellValue = item[
|
|
499
|
+
const cellValue = item[colid];
|
|
496
500
|
let rowSpan = 1;
|
|
497
501
|
let colSpan = 1;
|
|
498
|
-
if (isMerge
|
|
502
|
+
if (isMerge) {
|
|
499
503
|
const _rowIndex = $xeTable.getVTRowIndex(item._row);
|
|
500
504
|
const _columnIndex = $xeTable.getVTColumnIndex(column);
|
|
501
|
-
const spanRest =
|
|
505
|
+
const spanRest = mergeBodyCellMaps[`${_rowIndex}:${_columnIndex}`];
|
|
502
506
|
if (spanRest) {
|
|
503
507
|
const {
|
|
504
508
|
rowspan,
|
|
@@ -1198,15 +1202,15 @@ function handleExportAndPrint($xeTable, options, isPrint) {
|
|
|
1198
1202
|
} = props;
|
|
1199
1203
|
const {
|
|
1200
1204
|
initStore,
|
|
1201
|
-
mergeList,
|
|
1202
|
-
mergeFooterList,
|
|
1203
1205
|
isGroup,
|
|
1204
1206
|
footerTableData,
|
|
1205
1207
|
exportStore,
|
|
1206
1208
|
exportParams
|
|
1207
1209
|
} = reactData;
|
|
1208
1210
|
const {
|
|
1209
|
-
collectColumn
|
|
1211
|
+
collectColumn,
|
|
1212
|
+
mergeBodyList,
|
|
1213
|
+
mergeFooterList
|
|
1210
1214
|
} = internalData;
|
|
1211
1215
|
const exportOpts = $xeTable.computeExportOpts;
|
|
1212
1216
|
const hasTree = treeConfig;
|
|
@@ -1214,7 +1218,7 @@ function handleExportAndPrint($xeTable, options, isPrint) {
|
|
|
1214
1218
|
const selectRecords = $xeTable.getCheckboxRecords();
|
|
1215
1219
|
const proxyOpts = $xeGrid ? $xeGrid.computeProxyOpts : {};
|
|
1216
1220
|
const hasFooter = !!footerTableData.length;
|
|
1217
|
-
const hasMerge = !!(
|
|
1221
|
+
const hasMerge = !!(mergeBodyList.length || mergeFooterList.length);
|
|
1218
1222
|
const defOpts = Object.assign({
|
|
1219
1223
|
message: true,
|
|
1220
1224
|
isHeader: showHeader,
|
|
@@ -1395,19 +1399,19 @@ var _default = exports.default = {
|
|
|
1395
1399
|
showFooter
|
|
1396
1400
|
} = props;
|
|
1397
1401
|
const {
|
|
1398
|
-
mergeList,
|
|
1399
1402
|
mergeFooterList,
|
|
1400
1403
|
isGroup
|
|
1401
1404
|
} = reactData;
|
|
1402
1405
|
const {
|
|
1403
1406
|
tableFullColumn,
|
|
1404
1407
|
afterFullData,
|
|
1408
|
+
mergeBodyList,
|
|
1405
1409
|
collectColumn
|
|
1406
1410
|
} = internalData;
|
|
1407
1411
|
const exportOpts = $xeTable.computeExportOpts;
|
|
1408
1412
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
1409
1413
|
const proxyOpts = $xeGrid ? $xeGrid.computeProxyOpts : {};
|
|
1410
|
-
const hasMerge = !!(
|
|
1414
|
+
const hasMerge = !!(mergeBodyList.length || mergeFooterList.length);
|
|
1411
1415
|
const opts = Object.assign({
|
|
1412
1416
|
message: true,
|
|
1413
1417
|
isHeader: showHeader,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.readLocalFile=readLocalFile,exports.saveLocalFile=saveLocalFile;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,htmlCellElem,fileForm,fileInput,csvBOM="\ufeff",enterSymbol="\r\n";function hasTreeChildren(e,t){e=e.computeTreeOpts,e=e.children||e.childrenField;return t[e]&&t[e].length}function getSeq(e,t,l,o,r,i){var a=e.computeSeqOpts.seqMethod||r.seqMethod;return a?a({row:l,rowIndex:e.getRowIndex(l),$rowIndex:o,column:r,columnIndex:e.getColumnIndex(r),$columnIndex:i}):t}function defaultFilterExportColumn(e){return e.field||-1<["seq","checkbox","radio"].indexOf(e.type)}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(c,u,p,e){let{isAllExpand:a,mode:h}=u;var t=c.treeConfig;let m=c.computeRadioOpts,f=c.computeCheckboxOpts;var l=c.computeTreeOpts;let g=c.computeColumnOpts;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let r=[],i=new Map;return _xeUtils.default.eachTree(e,(e,n,t,s,l,o)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(a||!e||i.has(e)&&c.isTreeExpandByRow(e)){l=hasTreeChildren(c,d);let a={_row:d,_level:o.length-1,_hasChild:l,_expand:l&&c.isTreeExpandByRow(d)};p.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||g.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||g.exportMethod)l=r({$table:c,row:d,column:e,options:u});else switch(e.type){case"seq":var i=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===h?i:getSeq(c,i,d,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(d)),a._checkboxLabel=f.labelField?_xeUtils.default.get(d,f.labelField):"",a._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:d});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(d)),a._radioLabel=m.labelField?_xeUtils.default.get(d,m.labelField):"",a._radioDisabled=m.checkMethod&&!m.checkMethod({row:d});break;default:u.original?l=(0,_util.getCellValue)(d,e):(l=c.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(i=c.getCellElement(d,e))&&!(0,_dom.hasClass)(i,"is--progress")&&(l=i.innerText.trim()))}a[e.id]=toStringValue(l)}),i.set(d,1),r.push(Object.assign(a,d))}},{children:t}),r}return e.map((a,n)=>{let s={_row:a};return p.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||g.exportMethod;if(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)l=r({$table:c,row:a,column:e,options:u});else switch(e.type){case"seq":var i=n+1;l="all"===h?i:getSeq(c,i,a,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(a)),s._checkboxLabel=f.labelField?_xeUtils.default.get(a,f.labelField):"",s._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:a});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(a)),s._radioLabel=m.labelField?_xeUtils.default.get(a,m.labelField):"",s._radioDisabled=m.checkMethod&&!m.checkMethod({row:a});break;default:u.original?l=(0,_util.getCellValue)(a,e):(l=c.getCellLabel(a,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(i=c.getCellElement(a,e))&&!(0,_dom.hasClass)(i,"is--progress")&&(l=i.innerText.trim()))}s[e.id]=toStringValue(l)}),s})}function getExportData(e,t){let{columns:l,dataFilterMethod:o}=t,r=t.data;return getBodyLabelData(e,t,l,r=o?r.filter((e,t)=>o({row:e,$rowIndex:t})):r)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var o=e.computeColumnOpts,o=l.headerExportMethod||o.headerExportMethod;return o?o({column:l,options:t,$table:e}):(t.isTitle?l.getTitle():l.field)||""}function getFooterCellValue(e,t,l,o){var r=e.computeColumnOpts,i=o.editRender||o.cellRender;let a=o.footerExportMethod;a=(a=!a&&i&&i.name&&(i=renderer.get(i.name))?i.tableFooterExportMethod||i.footerExportMethod||i.footerCellExportMethod:a)||r.footerExportMethod;i=e.getVTColumnIndex(o);return a?a({$table:e,items:l,itemIndex:i,row:l,_columnIndex:i,column:o,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[i]):_xeUtils.default.get(l,o.field)}function getFooterData(e,t){let l=e.footerFilterMethod;return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function toCsv(l,o,e,t){var r=l;let i=csvBOM;return o.isHeader&&(i+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join(",")+enterSymbol),t.forEach(t=>{i+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(o,t).forEach(t=>{i+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join(",")+enterSymbol})),i}function toTxt(l,o,e,t){var r=l;let i="";return o.isHeader&&(i+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join("\t")+enterSymbol),t.forEach(t=>{i+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(o,t).forEach(t=>{i+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join("\t")+enterSymbol})),i}function hasEllipsis(e,t,l,o){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?o:t;let r="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;var{scrollXLoad:o,scrollYLoad:t}=e;return r=o||t?r||!0:r}function toHtml(d,n,e,t){var l=d;let{id:c,border:o,treeConfig:r,headerAlign:s,align:u,footerAlign:i,showOverflow:p,showHeaderOverflow:h}=d,{isAllSelected:m,isIndeterminate:a,mergeList:f}=l,g=d.computeTreeOpts,{print:x,isHeader:v,isFooter:b,isColgroup:_,isMerge:y,colgroups:$,original:C}=n,w="check-all",T=[`<table class="${["vxe-table","border--"+toTableBorder(o),x?"is--print":"",v?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];v&&(T.push("<thead>"),_&&!C?$.forEach(e=>{T.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||s||u,l=hasEllipsis(d,t,"showHeaderOverflow",h)?["col--ellipsis"]:[],o=getHeaderTitle(d,n,t);let r=0,i=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||i++,r+=e.renderWidth},{children:"childNodes"});var a=r-i;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${a}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${x?"":`style="width: ${a}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):T.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||s||u,l=hasEllipsis(d,e,"showHeaderOverflow",h)?["col--ellipsis"]:[],o=getHeaderTitle(d,n,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),T.push("</thead>")),t.length&&(T.push("<tbody>"),r?t.forEach(r=>{T.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",p)?["col--ellipsis"]:[],o=r[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return r._hasChild&&(e=`<i class="${r._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*g.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*g.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*g.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${o}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${c}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{T.push("<tr>"+e.map(e=>{var t=e.align||u,l=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],o=s[e.id];let r=1,i=1;if(y&&f.length){var a=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),a=(0,_util.mergeBodyMethod)(f,a,n);if(a){var{rowspan:n,colspan:a}=a;if(!n||!a)return"";1<n&&(r=n),1<a&&(i=a)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${i}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${r}" colspan="${i}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${r}" colspan="${i}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}),T.push("</tbody>")),b&&(t=l.footerTableData,(l=getFooterData(n,t)).length)&&(T.push("<tfoot>"),l.forEach(r=>{T.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||i||u,l=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],o=getFooterCellValue(d,n,r,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${o}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),T.push("</tfoot>"));t=!m&&a?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return T.push("</table>",t),x?T.join(""):(0,_util2.createHtmlPage)(n,T.join(""))}function toXML(l,o,e,t){var r=l;let i=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${o.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return o.isHeader&&(i+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,o,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{i+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),o.isFooter&&(t=r.footerTableData,getFooterData(o,t).forEach(t=>{i+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,o,t,e)}</Data></Cell>`).join("")}</Row>`})),i+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,o){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,o);case"txt":return toTxt(e,t,l,o);case"html":return toHtml(e,t,l,o);case"xml":return toXML(e,t,l,o)}return""}function saveLocalFile(e){var{filename:l,type:o,content:t}=e,l=l+"."+o;if(window.Blob){o=t instanceof Blob?t:(0,_util2.getExportBlobByContent)(_xeUtils.default.toValueString(t),e);if(navigator.msSaveBlob)navigator.msSaveBlob(o,l);else{let e=URL.createObjectURL(o),t=document.createElement("a");t.target="_blank",t.download=l,t.href=e,document.body.appendChild(t),t.click(),document.body.removeChild(t),requestAnimationFrame(()=>{t.parentNode&&t.parentNode.removeChild(t),URL.revokeObjectURL(e)})}return Promise.resolve()}return Promise.reject(new Error(getI18n("vxe.error.notExp")))}function downloadFile(e,t,l){var{filename:o,type:r,download:i}=t;if(!i)return i=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:r,content:l,blob:i});saveLocalFile({filename:o,type:r,content:l}).then(()=>{!1!==t.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"}))})}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function handleExport(l,o){let r=l.$xeGrid,{remote:i,columns:a,colgroups:n,exportMethod:s,afterExportMethod:t}=o;return new Promise(t=>{if(i){var e={options:o,$table:l,$grid:r};t(s?s(e):e)}else{let e=getExportData(l,o);t(l.preventEvent(null,"event.export",{options:o,columns:a,colgroups:n,datas:e},()=>downloadFile(l,o,getContent(l,o,a,e))))}}).then(e=>(clearColumnConvert(a),o.print||t&&t({status:!0,options:o,$table:l,$grid:r}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(a),o.print||t&&t({status:!1,options:o,$table:l,$grid:r});return Promise.reject({status:!1})})}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,i){e=e.split(enterSymbol);let a=[],n=[];if(e.length){let o={},r=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=replaceTxtCell(t,o),l})).split(i);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e.trim(),o))}),a.push(l)):n=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),o)))}})}return{fields:n,rows:a}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let o=[],r=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{r.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{r[t]&&(l[r[t]]=e.textContent||"")}),o.push(l)}),{fields:r,rows:o}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let o=[],r=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{r.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{r[t]&&(l[r[t]]=e.textContent)}),o.push(l)}})),{fields:r,rows:o}}function handleImport(l,e,o){let{tableFullColumn:t,_importResolve:r,_importReject:i}=l,a={fields:[],rows:[]},n={},s={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(n[t]=e),l&&(s[e.getTitle()]=e)});var d={fieldMaps:n,titleMaps:s};switch(o.type){case"csv":a=parseCsv(d,e);break;case"txt":a=parseTxt(d,e);break;case"html":a=parseHTML(d,e);break;case"xml":a=parseXML(d,e)}let{fields:c,rows:u}=a;c.some(e=>n[e]||s[e])?l.createData(u).then(e=>{let t;return"insert"!==o.mode&&"insertBottom"!==o.mode||(t=l.insertAt(e,-1)),t="insertTop"===o.mode?l.insert(e):l.reloadData(e),!1!==o.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[u.length]),status:"success"})),t.then(()=>{r&&r({status:!0})})}):!1!==o.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),i)&&i({status:!1})}function handleFileImport(i,a,n){let s=i;var e=i.computeImportOpts;let{importMethod:d,afterImportMethod:t}=n,{type:c,filename:u}=(0,_utils.parseFile)(a);return d||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),c)?new Promise((t,l)=>{let e=e=>{t(e),i._importResolve=null,i._importReject=null},o=e=>{l(e),i._importResolve=null,i._importReject=null};if(i._importResolve=e,i._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},n,{type:c,filename:u});var r;t.remote?d?Promise.resolve(d({file:a,options:t,$table:i})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=s.tableFullColumn,i.preventEvent(null,"event.import",{file:a,options:t,columns:r},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[c]),o({status:!1})},e.onload=e=>{handleImport(i,e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:n,$table:i})}).catch(e=>(t&&t({status:!1,options:n,$table:i}),Promise.reject(e))):(!1!==n.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function readLocalFile(s={}){return fileForm||(fileForm=document.createElement("form"),fileInput=document.createElement("input"),fileForm.className="vxe-table--file-form",fileInput.name="file",fileInput.type="file",fileForm.appendChild(fileInput),document.body.appendChild(fileForm)),new Promise((r,i)=>{let a=s.types||[],n=!a.length||a.some(e=>"*"===e);fileInput.multiple=!!s.multiple,fileInput.accept=n?"":"."+a.join(", ."),fileInput.onchange=e=>{var t=e.target.files,e=t[0];let l;if(!n)for(let e=0;e<t.length;e++){var o=(0,_utils.parseFile)(t[e]).type;if(!_xeUtils.default.includes(a,o)){l=o;break}}l?(!1!==s.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[l]),status:"error"})),i({status:!1,files:t,file:e})):r({status:!0,files:t,file:e})},fileForm.reset(),fileInput.click()})}function handleFilterColumns(e,o,t){return t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?o.id===e.id:_xeUtils.default.isString(e)?o.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?o.id===t:e&&l?o.field===e&&o.type===l:e?o.field===e:!!l&&o.type===l)})}function handleFilterFields(e,t,l,o){return(!o||!_xeUtils.default.includes(o,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?t.field:defaultFilterExportColumn(t))}function handleExportAndPrint(e,t,l){var o=e.$xeGrid,{treeConfig:r,showHeader:i,showFooter:a}=e,{initStore:n,mergeList:s,mergeFooterList:d,isGroup:c,footerTableData:u,exportStore:p,exportParams:h}=e,m=e.collectColumn,f=e.computeExportOpts,g=e.computeCustomOpts,x=e.getCheckboxRecords(),v=o?o.computeProxyOpts:{},u=!!u.length,s=!(!s.length&&!d.length);let b=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:a,isColgroup:c,isMerge:s,useStyle:!0,current:"current",modes:(v.ajax&&v.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},t);d=b.types||_xeUtils.default.keys(f._typeMaps),i=b.modes||[];let _=g.checkMethod;a=m.slice(0);let{columns:y,excludeFields:$,includeFields:C}=b;v=d.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),t=i.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});_xeUtils.default.eachTree(a,(e,t,l,o,r)=>{var i=e.children&&e.children.length;let a=!1;a=y&&y.length?handleFilterColumns(b,e,y):$||C?handleFilterFields(b,e,C,$):e.visible&&(i||defaultFilterExportColumn(e)),e.checked=a,e.halfChecked=!1,e.disabled=r&&r.disabled||!!_&&!_({column:e})}),Object.assign(p,{columns:a,typeList:v,modeList:t,hasFooter:u,hasMerge:s,hasTree:r,isPrint:l,hasColgroup:c,visible:!0}),Object.assign(h,{mode:x.length?"selected":"current"},b);let{filename:w,sheetName:T,mode:E,type:F}=h;return w&&(_xeUtils.default.isFunction(w)?h.filename=w({options:b,$table:e,$grid:o}):h.filename=""+w),T&&(_xeUtils.default.isFunction(T)?h.sheetName=T({options:b,$table:e,$grid:o}):h.sheetName=""+T),t.some(e=>e.value===E)||(h.mode=t[0].value),v.some(e=>e.value===F)||(h.type=v[0].value),n.export=!0,e.$nextTick()}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,o=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{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 getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};var _default=exports.default={methods:{_exportData(e){let n=this;var t=n,s=n,l=n;let d=n.$xeGrid;var{treeConfig:t,showHeader:c,showFooter:u}=t,{mergeList:s,mergeFooterList:o,isGroup:r}=s;let{tableFullColumn:i,afterFullData:a,collectColumn:p}=l;var l=n.computeExportOpts,h=n.computeTreeOpts;let m=d?d.computeProxyOpts:{};s=!(!s.length&&!o.length);let f=Object.assign({message:!0,isHeader:c,isTitle:c,isFooter:u,isColgroup:r,isMerge:s,useStyle:!0,current:"current",modes:(m.ajax&&m.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},l,e),{filename:g,sheetName:x,type:v,mode:b,columns:_,original:y,columnFilterMethod:$,beforeExportMethod:C,includeFields:w,excludeFields:T}=f,E=[],F=n.getCheckboxRecords();b=b||(F.length?"selected":"current");o=_&&_.length?_:_xeUtils.default.searchTree(p,e=>{var t=e.children&&e.children.length;let l=!1;return l=_&&_.length?handleFilterColumns(f,e,_):T||w?handleFilterFields(f,e,w,T):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let M=Object.assign({},f,{filename:"",sheetName:""}),k=(o||$||(M.columnFilterMethod=({column:e})=>(!T||!_xeUtils.default.includes(T,e.field))&&(w?!!_xeUtils.default.includes(w,e.field):y?e.field:defaultFilterExportColumn(e))),E=o?(M._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(o,e=>{let o;if(e){if((0,_util.isColumnInfo)(e))o=e;else if(_xeUtils.default.isString(e))o=n.getColumnByField(e);else{var r=e.id||e.colId;let t=e.type,l=e.field;r?o=n.getColumnById(r):l&&t?o=i.find(e=>e.field===l&&e.type===t):l?o=n.getColumnByField(l):t&&(o=i.find(e=>e.type===t))}return o||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!$||$({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(r?p:i,(e,t)=>e.visible&&(!$||$({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(E,e=>{e.children&&e.children.length||k.push(e)},{children:"childNodes"}),M.columns=k,M.colgroups=convertToRows(E),g&&(_xeUtils.default.isFunction(g)?M.filename=g({options:f,$table:n,$grid:d}):M.filename=""+g),M.filename||(M.filename=getI18n(M.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),x&&(_xeUtils.default.isFunction(x)?M.sheetName=x({options:f,$table:n,$grid:d}):M.sheetName=""+x),M.sheetName||(M.sheetName=document.title||""),!M.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(l._typeMaps),v))return(0,_log.errLog)("vxe.error.notType",[v]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(v)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(M.print||C&&C({options:M,$table:n,$grid:d}),!M.data)if(M.data=[],"selected"===b)-1<["html","pdf"].indexOf(v)&&t?M.data=_xeUtils.default.searchTree(n.getTableData().fullData,e=>-1<n.findRowIndexOf(F,e),Object.assign({},h,{data:"_row"})):M.data=F;else if("all"===b){if("development"!==process.env.NODE_ENV||d||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),d&&!M.remote){c=d;let e=d.computeProxyOpts;u=c.sortData;let{beforeQueryAll:t,afterQueryAll:o,ajax:l={}}=e,r=e.response||e.props||{};s=l.queryAll;let i=l.queryAllSuccess,a=l.queryAllError;if("development"!==process.env.NODE_ENV||s||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),s){let l={$table:n,$grid:d,sort:u.length?u[0]:{},sorts:u,filters:c.filterData,form:c.formData,options:M};return Promise.resolve((t||s)(l)).then(e=>{var t=r.list;return M.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:d}):_xeUtils.default.get(e,t):e)||[],o&&o(l),i&&i(Object.assign(Object.assign({},l),{response:e})),handleExport(n,M)}).catch(e=>{a&&a(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===b&&(M.data=a);return handleExport(n,M)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){var t=this.importOpts;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:o,afterImportMethod:r}=l;return o&&o({options:l,$table:this}),readLocalFile(l).catch(e=>(r&&r({status:!1,options:l,$table:this}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(this,e,l)})},_saveFile(e){return saveLocalFile(e)},_readFile(e){return readLocalFile(e)},_print(e){let l=this;var t=l.$xeGrid;let o=Object.assign({original:!1},this.printOpts,e,{type:"html",download:!1,remote:!1,print:!0});e=o.sheetName;let r="",i=(r=(r=e?_xeUtils.default.isFunction(e)?e({options:o,$table:l,$grid:t}):""+e:r)||document.title||"",o.beforePrintMethod),a=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?a?e(_ui.VxeUI.print({title:r,html:a,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:l}):void 0})):e(l.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:r,html:e,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:l}):void 0}))):t({status:!1})})},_getPrintHtml(e){var t=this.computePrintOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.exportData(t).then(({content:e})=>({html:e}))},_closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},_openImport(e){var t=this.importOpts,e=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(t._typeMaps),modes:["insertTop","covering"]},e,t),t=e.types||[],l=e.modes||[];!this.getTreeStatus()?(this.importConfig||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=t.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=l.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(this.importStore,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(this.importParams,e),l.some(e=>e.value===this.importParams.mode)||(this.importParams.mode=l[0].value),this.initStore.import=!0):e.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.exportOpts;return this.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,Object.assign({},t,e))},_closePrint:handleCloseExport,_openPrint(e){var t=this.printOpts;return this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,Object.assign({},t,e),!0)}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.readLocalFile=readLocalFile,exports.saveLocalFile=saveLocalFile;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,renderer}=_ui.VxeUI,htmlCellElem,fileForm,fileInput,csvBOM="\ufeff",enterSymbol="\r\n";function hasTreeChildren(e,t){e=e.computeTreeOpts,e=e.children||e.childrenField;return t[e]&&t[e].length}function getSeq(e,t,l,o,r,i){var a=e.computeSeqOpts.seqMethod||r.seqMethod;return a?a({row:l,rowIndex:e.getRowIndex(l),$rowIndex:o,column:r,columnIndex:e.getColumnIndex(r),$columnIndex:i}):t}function defaultFilterExportColumn(e){return e.field||-1<["seq","checkbox","radio"].indexOf(e.type)}function toTableBorder(e){return!0===e?"full":e||"default"}function toBooleanValue(e){return _xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e}let toStringValue=e=>(0,_utils.eqEmptyValue)(e)?"":""+e;function getBodyLabelData(c,u,p,e){let{isAllExpand:a,mode:h}=u;var t=c.treeConfig;let m=c.computeRadioOpts,f=c.computeCheckboxOpts;var l=c.computeTreeOpts;let x=c.computeColumnOpts;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let r=[],i=new Map;return _xeUtils.default.eachTree(e,(e,n,t,s,l,o)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(a||!e||i.has(e)&&c.isTreeExpandByRow(e)){l=hasTreeChildren(c,d);let a={_row:d,_level:o.length-1,_hasChild:l,_expand:l&&c.isTreeExpandByRow(d)};p.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||x.exportMethod;if(r=(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)||x.exportMethod)l=r({$table:c,row:d,column:e,options:u});else switch(e.type){case"seq":var i=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===h?i:getSeq(c,i,d,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(d)),a._checkboxLabel=f.labelField?_xeUtils.default.get(d,f.labelField):"",a._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:d});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(d)),a._radioLabel=m.labelField?_xeUtils.default.get(d,m.labelField):"",a._radioDisabled=m.checkMethod&&!m.checkMethod({row:d});break;default:u.original?l=(0,_util.getCellValue)(d,e):(l=c.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(i=c.getCellElement(d,e))&&!(0,_dom.hasClass)(i,"is--progress")&&(l=i.innerText.trim()))}a[e.id]=toStringValue(l)}),i.set(d,1),r.push(Object.assign(a,d))}},{children:t}),r}return e.map((a,n)=>{let s={_row:a};return p.forEach((e,t)=>{let l="";var o=e.editRender||e.cellRender;let r=e.exportMethod||x.exportMethod;if(r=!r&&o&&o.name&&(o=renderer.get(o.name))?o.tableExportMethod||o.exportMethod:r)l=r({$table:c,row:a,column:e,options:u});else switch(e.type){case"seq":var i=n+1;l="all"===h?i:getSeq(c,i,a,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(a)),s._checkboxLabel=f.labelField?_xeUtils.default.get(a,f.labelField):"",s._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:a});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(a)),s._radioLabel=m.labelField?_xeUtils.default.get(a,m.labelField):"",s._radioDisabled=m.checkMethod&&!m.checkMethod({row:a});break;default:u.original?l=(0,_util.getCellValue)(a,e):(l=c.getCellLabel(a,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(i=c.getCellElement(a,e))&&!(0,_dom.hasClass)(i,"is--progress")&&(l=i.innerText.trim()))}s[e.id]=toStringValue(l)}),s})}function getExportData(e,t){let{columns:l,dataFilterMethod:o}=t,r=t.data;return getBodyLabelData(e,t,l,r=o?r.filter((e,t)=>o({row:e,$rowIndex:t})):r)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var o=e.computeColumnOpts,o=l.headerExportMethod||o.headerExportMethod;return o?o({column:l,options:t,$table:e}):(t.isTitle?l.getTitle():l.field)||""}function getFooterCellValue(e,t,l,o){var r=e.computeColumnOpts,i=o.editRender||o.cellRender;let a=o.footerExportMethod;a=(a=!a&&i&&i.name&&(i=renderer.get(i.name))?i.tableFooterExportMethod||i.footerExportMethod||i.footerCellExportMethod:a)||r.footerExportMethod;i=e.getVTColumnIndex(o);return a?a({$table:e,items:l,itemIndex:i,row:l,_columnIndex:i,column:o,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[i]):_xeUtils.default.get(l,o.field)}function getFooterData(e,t){let l=e.footerFilterMethod;return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function toCsv(l,o,e,t){var r=l;let i=csvBOM;return o.isHeader&&(i+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join(",")+enterSymbol),t.forEach(t=>{i+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(o,t).forEach(t=>{i+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join(",")+enterSymbol})),i}function toTxt(l,o,e,t){var r=l;let i="";return o.isHeader&&(i+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join("\t")+enterSymbol),t.forEach(t=>{i+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),o.isFooter&&(t=r.footerTableData,getFooterData(o,t).forEach(t=>{i+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join("\t")+enterSymbol})),i}function hasEllipsis(e,t,l,o){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?o:t;let r="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;var{scrollXLoad:o,scrollYLoad:t}=e;return r=o||t?r||!0:r}function toHtml(d,n,e,t){var l=d;let{id:c,border:o,treeConfig:r,headerAlign:s,align:u,footerAlign:i,showOverflow:p,showHeaderOverflow:h}=d,{isAllSelected:m,isIndeterminate:a}=l,f=d.mergeBodyCellMaps,x=d.computeTreeOpts,{print:g,isHeader:v,isFooter:b,isColgroup:_,isMerge:y,colgroups:$,original:C}=n,w="check-all",T=[`<table class="${["vxe-table","border--"+toTableBorder(o),g?"is--print":"",v?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];v&&(T.push("<thead>"),_&&!C?$.forEach(e=>{T.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||s||u,l=hasEllipsis(d,t,"showHeaderOverflow",h)?["col--ellipsis"]:[],o=getHeaderTitle(d,n,t);let r=0,i=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||i++,r+=e.renderWidth},{children:"childNodes"});var a=r-i;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${g?"":`style="width: ${a}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${o}"><div ${g?"":`style="width: ${a}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`)}):T.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||s||u,l=hasEllipsis(d,e,"showHeaderOverflow",h)?["col--ellipsis"]:[],o=getHeaderTitle(d,n,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${m?"checked":""}><span>${o}</span></div></th>`:`<th class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(o,!0)}</span></div></th>`}).join("")}</tr>`),T.push("</thead>")),t.length&&(T.push("<tbody>"),r?t.forEach(r=>{T.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",p)?["col--ellipsis"]:[],o=r[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return r._hasChild&&(e=`<i class="${r._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${r._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${o}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${c}" ${r._radioDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${g?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${r._checkboxDisabled?"disabled ":""}${getBooleanValue(o)?"checked":""}><span>${r._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{T.push("<tr>"+e.map(e=>{var t=e.id,l=e.align||u,o=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],t=s[t];let r=1,i=1;if(y){var a=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),a=f[a+":"+n];if(a){var{rowspan:n,colspan:a}=a;if(!n||!a)return"";1<n&&(r=n),1<a&&(i=a)}}return l&&o.push("col--"+l),"radio"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${i}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${o.join(" ")}" rowspan="${r}" colspan="${i}"><div ${g?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(t)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${o.join(" ")}" rowspan="${r}" colspan="${i}" title="${t}"><div ${g?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(t,!0)}</div></td>`}).join("")+"</tr>")}),T.push("</tbody>")),b&&(t=l.footerTableData,(l=getFooterData(n,t)).length)&&(T.push("<tfoot>"),l.forEach(r=>{T.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||i||u,l=hasEllipsis(d,e,"showOverflow",p)?["col--ellipsis"]:[],o=getFooterCellValue(d,n,r,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${o}"><div ${g?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(o,!0)}</div></td>`}).join("")}</tr>`)}),T.push("</tfoot>"));t=!m&&a?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return T.push("</table>",t),g?T.join(""):(0,_util2.createHtmlPage)(n,T.join(""))}function toXML(l,o,e,t){var r=l;let i=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${o.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return o.isHeader&&(i+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,o,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{i+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),o.isFooter&&(t=r.footerTableData,getFooterData(o,t).forEach(t=>{i+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,o,t,e)}</Data></Cell>`).join("")}</Row>`})),i+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,o){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,o);case"txt":return toTxt(e,t,l,o);case"html":return toHtml(e,t,l,o);case"xml":return toXML(e,t,l,o)}return""}function saveLocalFile(e){var{filename:l,type:o,content:t}=e,l=l+"."+o;if(window.Blob){o=t instanceof Blob?t:(0,_util2.getExportBlobByContent)(_xeUtils.default.toValueString(t),e);if(navigator.msSaveBlob)navigator.msSaveBlob(o,l);else{let e=URL.createObjectURL(o),t=document.createElement("a");t.target="_blank",t.download=l,t.href=e,document.body.appendChild(t),t.click(),document.body.removeChild(t),requestAnimationFrame(()=>{t.parentNode&&t.parentNode.removeChild(t),URL.revokeObjectURL(e)})}return Promise.resolve()}return Promise.reject(new Error(getI18n("vxe.error.notExp")))}function downloadFile(e,t,l){var{filename:o,type:r,download:i}=t;if(!i)return i=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:r,content:l,blob:i});saveLocalFile({filename:o,type:r,content:l}).then(()=>{!1!==t.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"}))})}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}function handleExport(l,o){let r=l.$xeGrid,{remote:i,columns:a,colgroups:n,exportMethod:s,afterExportMethod:t}=o;return new Promise(t=>{if(i){var e={options:o,$table:l,$grid:r};t(s?s(e):e)}else{let e=getExportData(l,o);t(l.preventEvent(null,"event.export",{options:o,columns:a,colgroups:n,datas:e},()=>downloadFile(l,o,getContent(l,o,a,e))))}}).then(e=>(clearColumnConvert(a),o.print||t&&t({status:!0,options:o,$table:l,$grid:r}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(a),o.print||t&&t({status:!1,options:o,$table:l,$grid:r});return Promise.reject({status:!1})})}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,i){e=e.split(enterSymbol);let a=[],n=[];if(e.length){let o={},r=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(r);return o[l]=replaceTxtCell(t,o),l})).split(i);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e.trim(),o))}),a.push(l)):n=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),o)))}})}return{fields:n,rows:a}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let o=[],r=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{r.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{r[t]&&(l[r[t]]=e.textContent||"")}),o.push(l)}),{fields:r,rows:o}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let o=[],r=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{r.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{r[t]&&(l[r[t]]=e.textContent)}),o.push(l)}})),{fields:r,rows:o}}function handleImport(l,e,o){let{tableFullColumn:t,_importResolve:r,_importReject:i}=l,a={fields:[],rows:[]},n={},s={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(n[t]=e),l&&(s[e.getTitle()]=e)});var d={fieldMaps:n,titleMaps:s};switch(o.type){case"csv":a=parseCsv(d,e);break;case"txt":a=parseTxt(d,e);break;case"html":a=parseHTML(d,e);break;case"xml":a=parseXML(d,e)}let{fields:c,rows:u}=a;c.some(e=>n[e]||s[e])?l.createData(u).then(e=>{let t;return"insert"!==o.mode&&"insertBottom"!==o.mode||(t=l.insertAt(e,-1)),t="insertTop"===o.mode?l.insert(e):l.reloadData(e),!1!==o.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[u.length]),status:"success"})),t.then(()=>{r&&r({status:!0})})}):!1!==o.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),i)&&i({status:!1})}function handleFileImport(i,a,n){let s=i;var e=i.computeImportOpts;let{importMethod:d,afterImportMethod:t}=n,{type:c,filename:u}=(0,_utils.parseFile)(a);return d||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),c)?new Promise((t,l)=>{let e=e=>{t(e),i._importResolve=null,i._importReject=null},o=e=>{l(e),i._importResolve=null,i._importReject=null};if(i._importResolve=e,i._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},n,{type:c,filename:u});var r;t.remote?d?Promise.resolve(d({file:a,options:t,$table:i})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(r=s.tableFullColumn,i.preventEvent(null,"event.import",{file:a,options:t,columns:r},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[c]),o({status:!1})},e.onload=e=>{handleImport(i,e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:n,$table:i})}).catch(e=>(t&&t({status:!1,options:n,$table:i}),Promise.reject(e))):(!1!==n.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[c]),status:"error"})),Promise.reject({status:!1}))}function handleCloseExport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve()}function readLocalFile(s={}){return fileForm||(fileForm=document.createElement("form"),fileInput=document.createElement("input"),fileForm.className="vxe-table--file-form",fileInput.name="file",fileInput.type="file",fileForm.appendChild(fileInput),document.body.appendChild(fileForm)),new Promise((r,i)=>{let a=s.types||[],n=!a.length||a.some(e=>"*"===e);fileInput.multiple=!!s.multiple,fileInput.accept=n?"":"."+a.join(", ."),fileInput.onchange=e=>{var t=e.target.files,e=t[0];let l;if(!n)for(let e=0;e<t.length;e++){var o=(0,_utils.parseFile)(t[e]).type;if(!_xeUtils.default.includes(a,o)){l=o;break}}l?(!1!==s.message&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[l]),status:"error"})),i({status:!1,files:t,file:e})):r({status:!0,files:t,file:e})},fileForm.reset(),fileInput.click()})}function handleFilterColumns(e,o,t){return t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?o.id===e.id:_xeUtils.default.isString(e)?o.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?o.id===t:e&&l?o.field===e&&o.type===l:e?o.field===e:!!l&&o.type===l)})}function handleFilterFields(e,t,l,o){return(!o||!_xeUtils.default.includes(o,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?t.field:defaultFilterExportColumn(t))}function handleExportAndPrint(e,t,l){var o=e.$xeGrid,{treeConfig:r,showHeader:i,showFooter:a}=e,{initStore:n,isGroup:s,footerTableData:d,exportStore:c,exportParams:u}=e,{collectColumn:p,mergeBodyList:h,mergeFooterList:m}=e,f=e.computeExportOpts,x=e.computeCustomOpts,g=e.getCheckboxRecords(),v=o?o.computeProxyOpts:{},d=!!d.length,h=!(!h.length&&!m.length);let b=Object.assign({message:!0,isHeader:i,isTitle:i,isFooter:a,isColgroup:s,isMerge:h,useStyle:!0,current:"current",modes:(v.ajax&&v.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},t);m=b.types||_xeUtils.default.keys(f._typeMaps),i=b.modes||[];let _=x.checkMethod;a=p.slice(0);let{columns:y,excludeFields:$,includeFields:C}=b;v=m.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),t=i.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});_xeUtils.default.eachTree(a,(e,t,l,o,r)=>{var i=e.children&&e.children.length;let a=!1;a=y&&y.length?handleFilterColumns(b,e,y):$||C?handleFilterFields(b,e,C,$):e.visible&&(i||defaultFilterExportColumn(e)),e.checked=a,e.halfChecked=!1,e.disabled=r&&r.disabled||!!_&&!_({column:e})}),Object.assign(c,{columns:a,typeList:v,modeList:t,hasFooter:d,hasMerge:h,hasTree:r,isPrint:l,hasColgroup:s,visible:!0}),Object.assign(u,{mode:g.length?"selected":"current"},b);let{filename:w,sheetName:T,mode:E,type:F}=u;return w&&(_xeUtils.default.isFunction(w)?u.filename=w({options:b,$table:e,$grid:o}):u.filename=""+w),T&&(_xeUtils.default.isFunction(T)?u.sheetName=T({options:b,$table:e,$grid:o}):u.sheetName=""+T),t.some(e=>e.value===E)||(u.mode=t[0].value),v.some(e=>e.value===F)||(u.type=v[0].value),n.export=!0,e.$nextTick()}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,o=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{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 getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};var _default=exports.default={methods:{_exportData(n){let s=this;var e=s,d=s,t=s;let c=s.$xeGrid;var{treeConfig:e,showHeader:l,showFooter:u}=e,{mergeFooterList:d,isGroup:o}=d;let{tableFullColumn:i,afterFullData:r,mergeBodyList:a,collectColumn:p}=t;var t=s.computeExportOpts,h=s.computeTreeOpts;let m=c?c.computeProxyOpts:{};d=!(!a.length&&!d.length);let f=Object.assign({message:!0,isHeader:l,isTitle:l,isFooter:u,isColgroup:o,isMerge:d,useStyle:!0,current:"current",modes:(m.ajax&&m.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},t,n),{filename:x,sheetName:g,type:v,mode:b,columns:_,original:y,columnFilterMethod:$,beforeExportMethod:C,includeFields:w,excludeFields:T}=f,E=[],F=s.getCheckboxRecords();b=b||(F.length?"selected":"current");l=_&&_.length?_:_xeUtils.default.searchTree(p,e=>{var t=e.children&&e.children.length;let l=!1;return l=_&&_.length?handleFilterColumns(f,e,_):T||w?handleFilterFields(f,e,w,T):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let M=Object.assign({},f,{filename:"",sheetName:""}),k=(l||$||(M.columnFilterMethod=({column:e})=>(!T||!_xeUtils.default.includes(T,e.field))&&(w?!!_xeUtils.default.includes(w,e.field):y?e.field:defaultFilterExportColumn(e))),E=l?(M._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(l,e=>{let o;if(e){if((0,_util.isColumnInfo)(e))o=e;else if(_xeUtils.default.isString(e))o=s.getColumnByField(e);else{var r=e.id||e.colId;let t=e.type,l=e.field;r?o=s.getColumnById(r):l&&t?o=i.find(e=>e.field===l&&e.type===t):l?o=s.getColumnByField(l):t&&(o=i.find(e=>e.type===t))}return o||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!$||$({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(o?p:i,(e,t)=>e.visible&&(!$||$({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(E,e=>{e.children&&e.children.length||k.push(e)},{children:"childNodes"}),M.columns=k,M.colgroups=convertToRows(E),x&&(_xeUtils.default.isFunction(x)?M.filename=x({options:f,$table:s,$grid:c}):M.filename=""+x),M.filename||(M.filename=getI18n(M.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),g&&(_xeUtils.default.isFunction(g)?M.sheetName=g({options:f,$table:s,$grid:c}):M.sheetName=""+g),M.sheetName||(M.sheetName=document.title||""),!M.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(t._typeMaps),v))return(0,_log.errLog)("vxe.error.notType",[v]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(v)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(M.print||C&&C({options:M,$table:s,$grid:c}),!M.data)if(M.data=[],"selected"===b)-1<["html","pdf"].indexOf(v)&&e?M.data=_xeUtils.default.searchTree(s.getTableData().fullData,e=>-1<s.findRowIndexOf(F,e),Object.assign({},h,{data:"_row"})):M.data=F;else if("all"===b){if("development"!==process.env.NODE_ENV||c||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),c&&!M.remote){u=c;let e=c.computeProxyOpts;d=u.sortData;let{beforeQueryAll:t,afterQueryAll:o,ajax:l={}}=e,r=e.response||e.props||{};n=l.queryAll;let i=l.queryAllSuccess,a=l.queryAllError;if("development"!==process.env.NODE_ENV||n||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),n){let l={$table:s,$grid:c,sort:d.length?d[0]:{},sorts:d,filters:u.filterData,form:u.formData,options:M};return Promise.resolve((t||n)(l)).then(e=>{var t=r.list;return M.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:c}):_xeUtils.default.get(e,t):e)||[],o&&o(l),i&&i(Object.assign(Object.assign({},l),{response:e})),handleExport(s,M)}).catch(e=>{a&&a(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===b&&(M.data=r);return handleExport(s,M)},_importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:this}),handleFileImport(this,e,t)},_importData(e){var t=this.importOpts;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:o,afterImportMethod:r}=l;return o&&o({options:l,$table:this}),readLocalFile(l).catch(e=>(r&&r({status:!1,options:l,$table:this}),Promise.reject(e))).then(e=>{e=e.file;return handleFileImport(this,e,l)})},_saveFile(e){return saveLocalFile(e)},_readFile(e){return readLocalFile(e)},_print(e){let l=this;var t=l.$xeGrid;let o=Object.assign({original:!1},this.printOpts,e,{type:"html",download:!1,remote:!1,print:!0});e=o.sheetName;let r="",i=(r=(r=e?_xeUtils.default.isFunction(e)?e({options:o,$table:l,$grid:t}):""+e:r)||document.title||"",o.beforePrintMethod),a=o.html||o.content;return new Promise((e,t)=>{_ui.VxeUI.print?a?e(_ui.VxeUI.print({title:r,html:a,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:l}):void 0})):e(l.exportData(o).then(({content:e})=>_ui.VxeUI.print({title:r,html:e,customStyle:o.style,beforeMethod:i?({html:e})=>i({html:e,content:e,options:o,$table:l}):void 0}))):t({status:!1})})},_getPrintHtml(e){var t=this.computePrintOpts,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return this.exportData(t).then(({content:e})=>({html:e}))},_closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},_openImport(e){var t=this.importOpts,e=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(t._typeMaps),modes:["insertTop","covering"]},e,t),t=e.types||[],l=e.modes||[];!this.getTreeStatus()?(this.importConfig||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=t.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=l.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(this.importStore,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(this.importParams,e),l.some(e=>e.value===this.importParams.mode)||(this.importParams.mode=l[0].value),this.initStore.import=!0):e.message&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},_closeExport:handleCloseExport,_openExport(e){var t=this.exportOpts;return this.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),handleExportAndPrint(this,Object.assign({},t,e))},_closePrint:handleCloseExport,_openPrint(e){var t=this.printOpts;return this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,Object.assign({},t,e),!0)}}};
|
package/lib/table/src/body.js
CHANGED
|
@@ -55,14 +55,13 @@ function renderLine(h, _vm, rowid, params, cellHeight) {
|
|
|
55
55
|
if (slots && slots.line) {
|
|
56
56
|
return $xeTable.callSlot(slots.line, params, h);
|
|
57
57
|
}
|
|
58
|
-
const
|
|
58
|
+
const rowRest = fullAllDataRowIdData[rowid];
|
|
59
59
|
let rLevel = 0;
|
|
60
60
|
let prevRow = null;
|
|
61
|
-
if (
|
|
62
|
-
rLevel =
|
|
63
|
-
prevRow =
|
|
61
|
+
if (rowRest) {
|
|
62
|
+
rLevel = rowRest.level;
|
|
63
|
+
prevRow = rowRest.items[rowRest.treeIndex - 1];
|
|
64
64
|
}
|
|
65
|
-
const isFirstRow = $xeTable.eqRow(afterFullData[0], row);
|
|
66
65
|
if (treeConfig && treeNode && (treeOpts.showLine || treeOpts.line)) {
|
|
67
66
|
return [h('div', {
|
|
68
67
|
key: 'tl',
|
|
@@ -70,7 +69,7 @@ function renderLine(h, _vm, rowid, params, cellHeight) {
|
|
|
70
69
|
}, [h('div', {
|
|
71
70
|
class: 'vxe-tree--line',
|
|
72
71
|
style: {
|
|
73
|
-
height: `${
|
|
72
|
+
height: `${$xeTable.eqRow(afterFullData[0], row) ? 1 : (0, _util.calcTreeLine)(params, prevRow)}px`,
|
|
74
73
|
bottom: `-${Math.floor(cellHeight / 2)}px`,
|
|
75
74
|
left: `${rLevel * treeOpts.indent + (rLevel ? 2 - (0, _util.getOffsetSize)($xeTable) : 0) + 16}px`
|
|
76
75
|
}
|
|
@@ -87,11 +86,6 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
|
|
|
87
86
|
const tableReactData = $xeTable;
|
|
88
87
|
const tableInternalData = $xeTable;
|
|
89
88
|
const $xeGrid = $xeTable.$xeGrid;
|
|
90
|
-
const {
|
|
91
|
-
fullAllDataRowIdData,
|
|
92
|
-
fullColumnIdData,
|
|
93
|
-
visibleColumn
|
|
94
|
-
} = tableInternalData;
|
|
95
89
|
const {
|
|
96
90
|
columnKey,
|
|
97
91
|
resizable: allResizable,
|
|
@@ -115,16 +109,21 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
|
|
|
115
109
|
currentColumn,
|
|
116
110
|
scrollXLoad,
|
|
117
111
|
scrollYLoad,
|
|
112
|
+
mergeBodyFlag,
|
|
118
113
|
calcCellHeightFlag,
|
|
119
114
|
resizeHeightFlag,
|
|
120
115
|
resizeWidthFlag,
|
|
121
|
-
mergeList,
|
|
122
116
|
editStore,
|
|
123
117
|
isAllOverflow,
|
|
124
118
|
validErrorMaps
|
|
125
119
|
} = tableReactData;
|
|
126
120
|
const {
|
|
121
|
+
fullAllDataRowIdData,
|
|
122
|
+
fullColumnIdData,
|
|
123
|
+
mergeBodyCellMaps,
|
|
124
|
+
visibleColumn,
|
|
127
125
|
afterFullData,
|
|
126
|
+
mergeBodyList,
|
|
128
127
|
scrollXStore,
|
|
129
128
|
scrollYStore
|
|
130
129
|
} = tableInternalData;
|
|
@@ -284,8 +283,8 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
|
|
|
284
283
|
};
|
|
285
284
|
let isMergeCell = false;
|
|
286
285
|
// 合并行或列
|
|
287
|
-
if (
|
|
288
|
-
const spanRest =
|
|
286
|
+
if (mergeBodyFlag && mergeBodyList.length) {
|
|
287
|
+
const spanRest = mergeBodyCellMaps[`${_rowIndex}:${_columnIndex}`];
|
|
289
288
|
if (spanRest) {
|
|
290
289
|
const {
|
|
291
290
|
rowspan,
|
|
@@ -320,7 +319,7 @@ function renderTdColumn(h, _vm, seq, rowid, fixedType, isOptimizeMode, rowLevel,
|
|
|
320
319
|
}
|
|
321
320
|
}
|
|
322
321
|
// 如果被合并不可隐藏
|
|
323
|
-
if (fixedHiddenColumn &&
|
|
322
|
+
if (fixedHiddenColumn && isMergeCell) {
|
|
324
323
|
if (tdAttrs.colspan > 1 || tdAttrs.rowspan > 1) {
|
|
325
324
|
fixedHiddenColumn = false;
|
|
326
325
|
}
|
|
@@ -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,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 l=l.$parent,{row:o,column:s}=r,i=l.afterFullData,d=l.treeConfig,n=l.computeTreeOpts,{slots:s,treeNode:c}=s,p=l.fullAllDataRowIdData;if(s&&s.line)return l.callSlot(s.line,r,e);s=p[t];let u=0,g=null;s&&(u=s.level,g=s.items[s.treeIndex-1]);p=l.eqRow(i[0],o);return d&&c&&(n.showLine||n.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${p?1:(0,_util.calcTreeLine)(r,g)}px`,bottom:`-${Math.floor(a/2)}px`,left:u*n.indent+(u?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,A,q,l,t,L,F,r,a,U,o,s,H,N,i){let d=A.$parent;var V=d,n=d,c=d,p=d.$xeGrid,{fullAllDataRowIdData:u,fullColumnIdData:g,visibleColumn:W}=c,{columnKey:V,resizable:x,showOverflow:v,border:X,height:m,cellClassName:j,cellStyle:P,align:K,spanMethod:Y,mouseConfig:G,editConfig:J,editRules:w,tooltipConfig:Q,padding:h}=V,{tableData:n,dragRow:Z,overflowX:ee,currentColumn:le,scrollXLoad:te,scrollYLoad:re,calcCellHeightFlag:f,resizeHeightFlag:y,resizeWidthFlag:ae,mergeList:oe,editStore:se,isAllOverflow:ie,validErrorMaps:de}=n,{afterFullData:c,scrollXStore:ne,scrollYStore:ce}=c,pe=d.computeCellOpts,b=d.computeValidOpts,ue=d.computeCheckboxOpts,ge=d.computeEditOpts,C=d.computeTooltipOpts,{isAllColumnDrag:xe,isAllRowDrag:ve}=d.resizableOpts,_=d.computeRowOpts,R=d.computeRowDragOpts,me=d.computeDefaultRowHeight,f=f?pe.height||_.height:0,{disabledMethod:E,isCrossDrag:we,isPeerDrag:he}=R,fe=d.computeColumnOpts,ye=d.computeMouseOpts,be=d.computeAreaOpts,Ce=d.computeCellOffsetWidth,be=be.selectCellToRow,{type:_e,cellRender:Re,editRender:Ee,align:Se,showOverflow:De,className:Oe,treeNode:$e,rowResize:Te,padding:S,verticalAlign:D,slots:Ie}=s,O=pe.verticalAlign,se=se.actived,u=u[l]||{},$=s.id,g=g[$]||{},T=Ee||Re,T=T?renderer.get(T.name):null,ke=T?T.tableCellClassName||T.cellClassName:null,Be=T?T.tableCellStyle||T.cellStyle:"";let Me=C.showAll;var ze=g.index,C=g._index,g=(0,_utils.isEnableConf)(Ee),y=y?u.resizeHeight:0;let I=t?s.fixed!==t:s.fixed&ⅇee=_xeUtils.default.eqNull(S)?null===h?pe.padding:h:S,h=_xeUtils.default.eqNull(De)?v:De,S="ellipsis"===h;let k="title"===h,B=!0===h||"tooltip"===h;v=ie||k||B||S,De=_xeUtils.default.isBoolean(s.resizable)?s.resizable:fe.resizable||x,h=!!f,x=0<y;let Ae;f={},y=Se||(T?T.tableCellAlign:"")||K,Se=_xeUtils.default.eqNull(D)?O:D,T=de[l+":"+$],K=w&&b.showMessage&&("default"===b.message?m||1<n.length:"inline"===b.message),O={colid:$};let M={$table:d,$grid:p,isEdit:!1,seq:q,rowid:l,row:r,rowIndex:a,$rowIndex:U,_rowIndex:o,column:s,columnIndex:ze,$columnIndex:H,_columnIndex:C,fixed:t,type:renderType,isHidden:!!I,level:F,visibleData:c,data:n,items:i},z=!1,qe=!1,Le=((z=_.drag?"row"===R.trigger||s.dragSort&&"cell"===R.trigger:z)&&(qe=!(!E||!E(M))),(k||B||Me||Q)&&(f.mouseenter=e=>{isVMScrollProcess(d)||(k?(0,_dom.updateCellTitle)(e.currentTarget,s):(B||Me)&&d.triggerBodyTooltipEvent(e,M),d.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(B||Me||Q)&&(f.mouseleave=e=>{isVMScrollProcess(d)||((B||Me)&&d.handleTargetLeaveEvent(e),d.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(z||ue.range||G)&&(f.mousedown=e=>{d.triggerCellMousedownEvent(e,M)}),z&&(f.mouseup=d.triggerCellMouseupEvent),f.click=e=>{d.triggerCellClickEvent(e,M)},!(f.dblclick=e=>{d.triggerCellDblclickEvent(e,M)}));if(oe.length){D=(0,_util.mergeBodyMethod)(oe,o,C);if(D){var{rowspan:de,colspan:w}=D;if(!de||!w)return null;1<de&&(Le=!0,O.rowspan=de),1<w&&(Le=!0,O.colspan=w)}}else if(Y){var{rowspan:m=1,colspan:p=1}=Y(M)||{};if(!m||!p)return null;1<m&&(O.rowspan=m),1<p&&(O.colspan=p)}!(I=I&&oe&&(1<O.colspan||1<O.rowspan)?!1:I)&&J&&(Ee||Re)&&(ge.showStatus||ge.showUpdateStatus)&&(Ae=d.isUpdateByRow(r,s.field));q=re&&!v,a=u.resizeHeight||pe.height||_.height||u.height||me,U=H===N.length-1,c=!s.resizeWidth&&("auto"===s.minWidth||"auto"===s.width);let Fe=!1;Le||Z&&(0,_util.getRowid)(d,Z)===l||(re&&(o<ce.visibleStartIndex-ce.preloadSize||o>ce.visibleEndIndex+ce.preloadSize)||te&&!s.fixed&&(C<ne.visibleStartIndex-ne.preloadSize||C>ne.visibleEndIndex+ne.preloadSize))&&(Fe=!0);n={};if(v&&ae){let l=O.colspan||0;if(1<l)for(let e=1;e<l;e++){var Ue=W[ze+e];Ue&&(l+=Ue.renderWidth)}n.width=s.renderWidth-Ce*l+"px"}re||v||h||x?n.height=a+"px":n.minHeight=a+"px";i=[];I&&ie?i.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:n})):(i.push(...renderLine(e,A,l,M,a),e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:n,attrs:{title:k?d.getCellLabel(r,s):null}},Fe?[]:[e("div",{attrs:{colid:$,rowid:l},class:"vxe-cell--wrapper"},s.renderCell(e,M))])),K&&T&&(R=T.rule,E=Ie?Ie.valid:null,Q=Object.assign(Object.assign(Object.assign({},M),T),{rule:T}),i.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(b.className,T)],style:R&&R.maxWidth?{width:R.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[E?d.callSlot(E,Q,e):[e("span",{class:"vxe-cell--valid-error-msg"},T.content)]])]))));let He=!1;return G&&ye.area&&be&&((C||!0!==be)&&be!==s.field||(He=!0)),!I&&De&&xe&&i.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!X||"none"===X}],on:{mousedown:e=>d.handleColResizeMousedownEvent(e,t,M),dblclick:e=>d.handleColResizeDblclickEvent(e,M)}})),(Te||ve)&&_.resizable&&i.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>d.handleRowResizeMousedownEvent(e,M),dblclick:e=>d.handleRowResizeDblclickEvent(e,M)}})),e("td",{class:["vxe-body--column",$,Se?"col--vertical-"+Se:"",y?"col--"+y:"",_e?"col--"+_e:"",{"col--last":U,"col--tree-node":$e,"col--edit":g,"col--ellipsis":v,"col--cs-height":h,"col--rs-height":x,"col--to-row":He,"col--auto-height":q,"fixed--width":!c,"fixed--hidden":I,"is--padding":ee,"is--progress":I&&ie||Fe,"is--drag-cell":z&&(we||he||!F),"is--drag-disabled":qe,"col--dirty":Ae,"col--active":J&&g&&se.row===r&&(se.column===s||"row"===ge.mode),"col--valid-error":!!T,"col--current":le===s},(0,_utils.getClass)(ke,M),(0,_utils.getClass)(Oe,M),(0,_utils.getClass)(j,M)],key:V||te||re||fe.useKey||_.useKey||fe.drag?s.id:H,attrs:O,style:Object.assign({},_xeUtils.default.isFunction(Be)?Be(M):Be,_xeUtils.default.isFunction(P)?P(M):P),on:f},L&&I?[]:i)}function renderRows(m,w,h,f,y,b){let C=w.$parent;var e=C,l=C,t=C;let{stripe:_,rowKey:R,highlightHoverRow:E,rowClassName:S,rowStyle:D,editConfig:O,treeConfig:$}=e,{hasFixedColumn:T,treeExpandedFlag:I,isColLoading:k,scrollXLoad:B,scrollYLoad:M,isAllOverflow:z,rowExpandedFlag:A,expandColumn:q,selectRadioRow:L,pendingRowFlag:F,isDragColMove:U,rowExpandHeightFlag:H}=l,{fullAllDataRowIdData:N,treeExpandedMaps:Y,pendingRowMaps:G,rowExpandedMaps:J}=t,Q=C.computeCheckboxOpts,Z=C.computeRadioOpts,V=C.computeTreeOpts,W=C.computeEditOpts,X=C.computeRowOpts,j=C.computeColumnOpts,ee=C.computeColumnDragOpts,{transform:P,seqMode:le}=V,te=V.children||V.childrenField,K=[],re=(0,_util.createHandleGetRowId)(C).handleGetRowId;return y.forEach((t,r)=>{var e={};let a=re(t);var l=N[a]||{};let o=r,s=0,i=-1,d=-1;(X.isHover||E)&&(e.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),l&&(s=l.level,i=$&&P&&"increasing"===le?l._index+1:l.seq,o=l.index,d=l._index);var n={$table:C,seq:i,rowid:a,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},c=q&&!!A&&!!J[a];let p=!1,u=[],g=!1;O&&(g=C.isInsertByRow(t)),!$||M||P||(u=t[te],p=!!I&&u&&0<u.length&&!!Y[a]),!X.drag||$&&!P||(e.dragstart=C.handleRowDragDragstartEvent,e.dragend=C.handleRowDragDragendEvent,e.dragover=C.handleRowDragDragoverEvent);var x=["vxe-body--row",$?"row--level-"+s:"",{"row--stripe":_&&(d+1)%2==0,"is--new":g,"is--expand-row":c,"is--expand-tree":p,"row--new":g&&(W.showStatus||W.showInsertStatus),"row--radio":Z.highlight&&L===t,"row--checked":Q.highlight&&C.isCheckedByCheckboxRow(t),"row--pending":!!F&&!!G[a]},S?_xeUtils.default.isFunction(S)?S(n):S:""],v=b.map((e,l)=>renderTdColumn(m,w,i,a,h,f,s,t,o,r,d,e,l,b,y));K.push(!k&&j.drag&&ee.animation?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(U?"":"-disabled")},class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||X.useKey||X.drag||j.drag||$?a:r,nativeOn:e},v):m("tr",{class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||X.useKey||X.drag||j.drag||$?a:r,on:e},v)),c&&({height:x,padding:n,mode:e}=C.computeExpandOpts,"fixed"===e?K.push(m("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+a,attrs:{rowid:a}},[m("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${H?l.expandHeight||x:0}px`}})])):(v={},c=(x&&(v.height=x+"px"),$&&(v.paddingLeft=s*V.indent+30+"px"),q).showOverflow,e=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?z:c,l={$table:C,seq:i,column:q,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},K.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":n}],key:"expand_"+a},[m("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!T,"col--ellipsis":e}],attrs:{colspan:b.length}},[m("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":x}],style:v},[q.renderData(m,l)])])])))),p&&K.push(...renderRows(m,w,h,f,u,b))}),K}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,{xID:s,$scopedSlots:i}=l;let{fixedColumn:d,fixedType:n,tableColumn:c}=this;var{spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:x,isRowLoading:v,isColLoading:m,overflowX:w,scrollXLoad:h,scrollYLoad:f,isAllOverflow:y,isDragRowMove:b,expandColumn:C,dragRow:_,dragCol:R}=r,{visibleColumn:a,fullAllDataRowIdData:E,fullColumnIdData:S}=a,D=l.computeRowOpts,O=l.computeEmptyOpts,$=l.computeMouseOpts,T=l.computeRowDragOpts,I=l.computeExpandOpts;let k=x,B=c,M=!1;!(h||f||y)||C&&"fixed"!==I.mode||p||u||(M=!0),m||!n&&w||(B=a),n&&M&&(B=d||[]),f&&_&&2<k.length&&(x=E[(0,_util.getRowid)(l,_)])&&(y=x._index,C=k[0],I=k[k.length-1],p=E[(0,_util.getRowid)(l,C)],u=E[(0,_util.getRowid)(l,I)],p)&&u&&(w=p._index,a=u._index,y<w?k=[_].concat(k):a<y&&(k=k.concat([_]))),n||r||h&&R&&2<B.length&&(f=S[R.id])&&(x=f._index,C=B[0],E=B[B.length-1],I=S[C.id],p=S[E.id],I)&&p&&(u=I._index,w=p._index,x<u?B=[R].concat(B):w<x&&(B=B.concat([R])));let z;return z=i.empty?i.empty.call(this,{$table:l,$grid:o}):(y=(a=O.name?renderer.get(O.name):null)?a.renderTableEmpty||a.renderTableEmptyView||a.renderEmpty:null)?(0,_vn.getSlotVNs)(y.call(this,t,O,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText"),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:{scroll(e){l.triggerBodyScrollEvent(e,n)}}},[n?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:s,cellspacing:0,cellpadding:0,border:0}},[t("colgroup",{ref:"refBodyColgroup"},B.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),!v&&!m&&D.drag&&T.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(b?"":"-disabled")}},renderRows(t,this,n,M,k,B)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,n,M,k,B))]),t("div",{class:"vxe-table--checkbox-range"}),g&&$.area?t("div",{class:"vxe-table--cell-area"},[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:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-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),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},z)])])])}};
|
|
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,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 l=l.$parent,{row:o,column:s}=r,i=l.afterFullData,d=l.treeConfig,n=l.computeTreeOpts,{slots:s,treeNode:c}=s,p=l.fullAllDataRowIdData;if(s&&s.line)return l.callSlot(s.line,r,e);s=p[t];let u=0,g=null;return s&&(u=s.level,g=s.items[s.treeIndex-1]),d&&c&&(n.showLine||n.line)?[e("div",{key:"tl",class:"vxe-tree--line-wrapper"},[e("div",{class:"vxe-tree--line",style:{height:`${l.eqRow(i[0],o)?1:(0,_util.calcTreeLine)(r,g)}px`,bottom:`-${Math.floor(a/2)}px`,left:u*n.indent+(u?2-(0,_util.getOffsetSize)(l):0)+16+"px"}})])]:[]}function renderTdColumn(e,A,q,l,t,F,L,r,a,U,o,s,H,N,i){let d=A.$parent;var V=d,n=d,c=d,p=d.$xeGrid,{columnKey:V,resizable:u,showOverflow:g,border:W,height:x,cellClassName:X,cellStyle:j,align:P,spanMethod:K,mouseConfig:Y,editConfig:G,editRules:v,tooltipConfig:m,padding:w}=V,{tableData:n,dragRow:J,overflowX:Q,currentColumn:Z,scrollXLoad:ee,scrollYLoad:le,mergeBodyFlag:te,calcCellHeightFlag:h,resizeHeightFlag:f,resizeWidthFlag:re,editStore:ae,isAllOverflow:oe,validErrorMaps:se}=n,{fullAllDataRowIdData:c,fullColumnIdData:y,mergeBodyCellMaps:ie,visibleColumn:de,afterFullData:ne,mergeBodyList:ce,scrollXStore:pe,scrollYStore:ue}=c,ge=d.computeCellOpts,b=d.computeValidOpts,xe=d.computeCheckboxOpts,ve=d.computeEditOpts,C=d.computeTooltipOpts,{isAllColumnDrag:me,isAllRowDrag:we}=d.resizableOpts,_=d.computeRowOpts,R=d.computeRowDragOpts,he=d.computeDefaultRowHeight,h=h?ge.height||_.height:0,{disabledMethod:E,isCrossDrag:fe,isPeerDrag:ye}=R,be=d.computeColumnOpts,Ce=d.computeMouseOpts,_e=d.computeAreaOpts,Re=d.computeCellOffsetWidth,_e=_e.selectCellToRow,{type:Ee,cellRender:Se,editRender:De,align:Oe,showOverflow:$e,className:Te,treeNode:Ie,rowResize:ke,padding:S,verticalAlign:D,slots:Be}=s,O=ge.verticalAlign,ae=ae.actived,c=c[l]||{},$=s.id,y=y[$]||{},T=De||Se,T=T?renderer.get(T.name):null,Me=T?T.tableCellClassName||T.cellClassName:null,ze=T?T.tableCellStyle||T.cellStyle:"";let Ae=C.showAll;var qe=y.index,C=y._index,y=(0,_utils.isEnableConf)(De),f=f?c.resizeHeight:0;let I=t?s.fixed!==t:s.fixed&&Q;Q=_xeUtils.default.eqNull(S)?null===w?ge.padding:w:S,w=_xeUtils.default.eqNull($e)?g:$e,S="ellipsis"===w;let k="title"===w,B=!0===w||"tooltip"===w;g=oe||k||B||S,$e=_xeUtils.default.isBoolean(s.resizable)?s.resizable:be.resizable||u,w=!!h,u=0<f;let Fe;h={},f=Oe||(T?T.tableCellAlign:"")||P,Oe=_xeUtils.default.eqNull(D)?O:D,T=se[l+":"+$],P=v&&b.showMessage&&("default"===b.message?x||1<n.length:"inline"===b.message),O={colid:$};let M={$table:d,$grid:p,isEdit:!1,seq:q,rowid:l,row:r,rowIndex:a,$rowIndex:U,_rowIndex:o,column:s,columnIndex:qe,$columnIndex:H,_columnIndex:C,fixed:t,type:renderType,isHidden:!!I,level:L,visibleData:ne,data:n,items:i},z=!1,Le=!1,Ue=((z=_.drag?"row"===R.trigger||s.dragSort&&"cell"===R.trigger:z)&&(Le=!(!E||!E(M))),(k||B||Ae||m)&&(h.mouseenter=e=>{isVMScrollProcess(d)||(k?(0,_dom.updateCellTitle)(e.currentTarget,s):(B||Ae)&&d.triggerBodyTooltipEvent(e,M),d.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},M),e))}),(B||Ae||m)&&(h.mouseleave=e=>{isVMScrollProcess(d)||((B||Ae)&&d.handleTargetLeaveEvent(e),d.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},M),e))}),(z||xe.range||Y)&&(h.mousedown=e=>{d.triggerCellMousedownEvent(e,M)}),z&&(h.mouseup=d.triggerCellMouseupEvent),h.click=e=>{d.triggerCellClickEvent(e,M)},!(h.dblclick=e=>{d.triggerCellDblclickEvent(e,M)}));if(te&&ce.length){D=ie[o+":"+C];if(D){var{rowspan:se,colspan:v}=D;if(!se||!v)return null;1<se&&(Ue=!0,O.rowspan=se),1<v&&(Ue=!0,O.colspan=v)}}else if(K){var{rowspan:x=1,colspan:p=1}=K(M)||{};if(!x||!p)return null;1<x&&(O.rowspan=x),1<p&&(O.colspan=p)}!(I=I&&Ue&&(1<O.colspan||1<O.rowspan)?!1:I)&&G&&(De||Se)&&(ve.showStatus||ve.showUpdateStatus)&&(Fe=d.isUpdateByRow(r,s.field));q=le&&!g,a=c.resizeHeight||ge.height||_.height||c.height||he,U=H===N.length-1,ne=!s.resizeWidth&&("auto"===s.minWidth||"auto"===s.width);let He=!1;Ue||J&&(0,_util.getRowid)(d,J)===l||(le&&(o<ue.visibleStartIndex-ue.preloadSize||o>ue.visibleEndIndex+ue.preloadSize)||ee&&!s.fixed&&(C<pe.visibleStartIndex-pe.preloadSize||C>pe.visibleEndIndex+pe.preloadSize))&&(He=!0);n={};if(g&&re){let l=O.colspan||0;if(1<l)for(let e=1;e<l;e++){var Ne=de[qe+e];Ne&&(l+=Ne.renderWidth)}n.width=s.renderWidth-Re*l+"px"}le||g||w||u?n.height=a+"px":n.minHeight=a+"px";i=[];I&&oe?i.push(e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:n})):(i.push(...renderLine(e,A,l,M,a),e("div",{key:"tc",class:["vxe-cell",{"c--title":k,"c--tooltip":B,"c--ellipsis":S}],style:n,attrs:{title:k?d.getCellLabel(r,s):null}},He?[]:[e("div",{attrs:{colid:$,rowid:l},class:"vxe-cell--wrapper"},s.renderCell(e,M))])),P&&T&&(R=T.rule,E=Be?Be.valid:null,m=Object.assign(Object.assign(Object.assign({},M),T),{rule:T}),i.push(e("div",{key:"tcv",class:["vxe-cell--valid-error-tip",(0,_utils.getClass)(b.className,T)],style:R&&R.maxWidth?{width:R.maxWidth+"px"}:void 0},[e("div",{class:"vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-"+(b.theme||"normal")},[E?d.callSlot(E,m,e):[e("span",{class:"vxe-cell--valid-error-msg"},T.content)]])]))));let Ve=!1;return Y&&Ce.area&&_e&&((C||!0!==_e)&&_e!==s.field||(Ve=!0)),!I&&$e&&me&&i.push(e("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!W||"none"===W}],on:{mousedown:e=>d.handleColResizeMousedownEvent(e,t,M),dblclick:e=>d.handleColResizeDblclickEvent(e,M)}})),(ke||we)&&_.resizable&&i.push(e("div",{key:"tcr",class:"vxe-cell--row-resizable",on:{mousedown:e=>d.handleRowResizeMousedownEvent(e,M),dblclick:e=>d.handleRowResizeDblclickEvent(e,M)}})),e("td",{class:["vxe-body--column",$,Oe?"col--vertical-"+Oe:"",f?"col--"+f:"",Ee?"col--"+Ee:"",{"col--last":U,"col--tree-node":Ie,"col--edit":y,"col--ellipsis":g,"col--cs-height":w,"col--rs-height":u,"col--to-row":Ve,"col--auto-height":q,"fixed--width":!ne,"fixed--hidden":I,"is--padding":Q,"is--progress":I&&oe||He,"is--drag-cell":z&&(fe||ye||!L),"is--drag-disabled":Le,"col--dirty":Fe,"col--active":G&&y&&ae.row===r&&(ae.column===s||"row"===ve.mode),"col--valid-error":!!T,"col--current":Z===s},(0,_utils.getClass)(Me,M),(0,_utils.getClass)(Te,M),(0,_utils.getClass)(X,M)],key:V||ee||le||be.useKey||_.useKey||be.drag?s.id:H,attrs:O,style:Object.assign({},_xeUtils.default.isFunction(ze)?ze(M):ze,_xeUtils.default.isFunction(j)?j(M):j),on:h},F&&I?[]:i)}function renderRows(m,w,h,f,y,b){let C=w.$parent;var e=C,l=C,t=C;let{stripe:_,rowKey:R,highlightHoverRow:E,rowClassName:S,rowStyle:D,editConfig:O,treeConfig:$}=e,{hasFixedColumn:T,treeExpandedFlag:I,isColLoading:k,scrollXLoad:B,scrollYLoad:M,isAllOverflow:z,rowExpandedFlag:A,expandColumn:q,selectRadioRow:F,pendingRowFlag:L,isDragColMove:U,rowExpandHeightFlag:H}=l,{fullAllDataRowIdData:N,treeExpandedMaps:Y,pendingRowMaps:G,rowExpandedMaps:J}=t,Q=C.computeCheckboxOpts,Z=C.computeRadioOpts,V=C.computeTreeOpts,W=C.computeEditOpts,X=C.computeRowOpts,j=C.computeColumnOpts,ee=C.computeColumnDragOpts,{transform:P,seqMode:le}=V,te=V.children||V.childrenField,K=[],re=(0,_util.createHandleGetRowId)(C).handleGetRowId;return y.forEach((t,r)=>{var e={};let a=re(t);var l=N[a]||{};let o=r,s=0,i=-1,d=-1;(X.isHover||E)&&(e.mouseenter=e=>{isVMScrollProcess(C)||C.triggerHoverEvent(e,{row:t,rowIndex:o})},e.mouseleave=()=>{isVMScrollProcess(C)||C.clearHoverRow()}),l&&(s=l.level,i=$&&P&&"increasing"===le?l._index+1:l.seq,o=l.index,d=l._index);var n={$table:C,seq:i,rowid:a,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},c=q&&!!A&&!!J[a];let p=!1,u=[],g=!1;O&&(g=C.isInsertByRow(t)),!$||M||P||(u=t[te],p=!!I&&u&&0<u.length&&!!Y[a]),!X.drag||$&&!P||(e.dragstart=C.handleRowDragDragstartEvent,e.dragend=C.handleRowDragDragendEvent,e.dragover=C.handleRowDragDragoverEvent);var x=["vxe-body--row",$?"row--level-"+s:"",{"row--stripe":_&&(d+1)%2==0,"is--new":g,"is--expand-row":c,"is--expand-tree":p,"row--new":g&&(W.showStatus||W.showInsertStatus),"row--radio":Z.highlight&&F===t,"row--checked":Q.highlight&&C.isCheckedByCheckboxRow(t),"row--pending":!!L&&!!G[a]},S?_xeUtils.default.isFunction(S)?S(n):S:""],v=b.map((e,l)=>renderTdColumn(m,w,i,a,h,f,s,t,o,r,d,e,l,b,y));K.push(!k&&j.drag&&ee.animation?m("transition-group",{props:{tag:"tr",name:"vxe-header--col-list"+(U?"":"-disabled")},class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||X.useKey||X.drag||j.drag||$?a:r,nativeOn:e},v):m("tr",{class:x,attrs:{rowid:a},style:D?_xeUtils.default.isFunction(D)?D(n):D:void 0,key:R||B||M||X.useKey||X.drag||j.drag||$?a:r,on:e},v)),c&&({height:x,padding:n,mode:e}=C.computeExpandOpts,"fixed"===e?K.push(m("tr",{class:"vxe-body--row-expanded-place",key:"expand_"+a,attrs:{rowid:a}},[m("td",{class:"vxe-body--row-expanded-place-column",attrs:{colspan:b.length},style:{height:`${H?l.expandHeight||x:0}px`}})])):(v={},c=(x&&(v.height=x+"px"),$&&(v.paddingLeft=s*V.indent+30+"px"),q).showOverflow,e=_xeUtils.default.isUndefined(c)||_xeUtils.default.isNull(c)?z:c,l={$table:C,seq:i,column:q,fixed:h,type:renderType,level:s,row:t,rowIndex:o,$rowIndex:r,_rowIndex:d},K.push(m("tr",{class:["vxe-body--expanded-row",{"is--padding":n}],key:"expand_"+a},[m("td",{class:["vxe-body--expanded-column",{"fixed--hidden":h&&!T,"col--ellipsis":e}],attrs:{colspan:b.length}},[m("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":x}],style:v},[q.renderData(m,l)])])])))),p&&K.push(...renderRows(m,w,h,f,u,b))}),K}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,{xID:s,$scopedSlots:i}=l;let{fixedColumn:d,fixedType:n,tableColumn:c}=this;var{spanMethod:p,footerSpanMethod:u,mouseConfig:g}=e,{isGroup:r,tableData:x,isRowLoading:v,isColLoading:m,overflowX:w,scrollXLoad:h,scrollYLoad:f,isAllOverflow:y,isDragRowMove:b,expandColumn:C,dragRow:_,dragCol:R}=r,{visibleColumn:a,fullAllDataRowIdData:E,fullColumnIdData:S}=a,D=l.computeRowOpts,O=l.computeEmptyOpts,$=l.computeMouseOpts,T=l.computeRowDragOpts,I=l.computeExpandOpts;let k=x,B=c,M=!1;!(h||f||y)||C&&"fixed"!==I.mode||p||u||(M=!0),m||!n&&w||(B=a),n&&M&&(B=d||[]),f&&_&&2<k.length&&(x=E[(0,_util.getRowid)(l,_)])&&(y=x._index,C=k[0],I=k[k.length-1],p=E[(0,_util.getRowid)(l,C)],u=E[(0,_util.getRowid)(l,I)],p)&&u&&(w=p._index,a=u._index,y<w?k=[_].concat(k):a<y&&(k=k.concat([_]))),n||r||h&&R&&2<B.length&&(f=S[R.id])&&(x=f._index,C=B[0],E=B[B.length-1],I=S[C.id],p=S[E.id],I)&&p&&(u=I._index,w=p._index,x<u?B=[R].concat(B):w<x&&(B=B.concat([R])));let z;return z=i.empty?i.empty.call(this,{$table:l,$grid:o}):(y=(a=O.name?renderer.get(O.name):null)?a.renderTableEmpty||a.renderTableEmptyView||a.renderEmpty:null)?(0,_vn.getSlotVNs)(y.call(this,t,O,{$table:l})):e.emptyText||getI18n("vxe.table.emptyText"),t("div",{ref:"refElem",class:["vxe-table--body-wrapper",n?`fixed-${n}--wrapper`:"body--wrapper"],attrs:{xid:s}},[t("div",{ref:"refBodyScroll",class:"vxe-table--body-inner-wrapper",on:{scroll(e){l.triggerBodyScrollEvent(e,n)}}},[n?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:s,cellspacing:0,cellpadding:0,border:0}},[t("colgroup",{ref:"refBodyColgroup"},B.map((e,l)=>t("col",{attrs:{name:e.id},key:l,style:{width:e.renderWidth+"px"}}))),!v&&!m&&D.drag&&T.animation?t("transition-group",{ref:"refBodyTBody",props:{tag:"tbody",name:"vxe-body--row-list"+(b?"":"-disabled")}},renderRows(t,this,n,M,k,B)):t("tbody",{ref:"refBodyTBody"},renderRows(t,this,n,M,k,B))]),t("div",{class:"vxe-table--checkbox-range"}),g&&$.area?t("div",{class:"vxe-table--cell-area"},[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:n,type:renderType})}}})]:null),t("span",{class:"vxe-table--cell-copy-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),n?renderEmptyElement(l):t("div",{class:"vxe-table--empty-block",ref:"emptyBlock"},[t("div",{class:"vxe-table--empty-content"},z)])])])}};
|