vxe-table 3.12.13 → 3.12.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/edit/mixin.js +36 -21
- package/es/table/module/export/mixin.js +3 -2
- package/es/table/module/validator/mixin.js +18 -1
- package/es/table/render/index.js +104 -43
- package/es/table/src/body.js +1 -0
- package/es/table/src/header.js +4 -2
- package/es/table/src/methods.js +158 -116
- package/es/table/src/table.js +44 -7
- package/es/table/style.css +33 -2
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +33 -2
- package/es/vxe-table/style.min.css +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +434 -248
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/edit/mixin.js +42 -21
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/mixin.js +3 -2
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/module/validator/mixin.js +26 -4
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/render/index.js +109 -41
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +1 -0
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/header.js +4 -2
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +207 -169
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +40 -7
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +33 -2
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +33 -2
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/table/module/edit/mixin.ts +42 -21
- package/packages/table/module/export/mixin.ts +3 -2
- package/packages/table/module/validator/mixin.ts +20 -2
- package/packages/table/render/index.ts +120 -51
- package/packages/table/src/body.ts +1 -0
- package/packages/table/src/header.ts +4 -2
- package/packages/table/src/methods.ts +169 -114
- package/packages/table/src/table.ts +47 -7
- package/styles/components/table.scss +31 -2
- /package/es/{iconfont.1739152166680.ttf → iconfont.1739257460253.ttf} +0 -0
- /package/es/{iconfont.1739152166680.woff → iconfont.1739257460253.woff} +0 -0
- /package/es/{iconfont.1739152166680.woff2 → iconfont.1739257460253.woff2} +0 -0
- /package/lib/{iconfont.1739152166680.ttf → iconfont.1739257460253.ttf} +0 -0
- /package/lib/{iconfont.1739152166680.woff → iconfont.1739257460253.woff} +0 -0
- /package/lib/{iconfont.1739152166680.woff2 → iconfont.1739257460253.woff2} +0 -0
|
@@ -16,6 +16,15 @@ const {
|
|
|
16
16
|
renderer,
|
|
17
17
|
getI18n
|
|
18
18
|
} = _ui.VxeUI;
|
|
19
|
+
function removeCellSelectedClass($xeTable) {
|
|
20
|
+
const el = $xeTable.$refs.refElem;
|
|
21
|
+
if (el) {
|
|
22
|
+
const cell = el.querySelector('.col--selected');
|
|
23
|
+
if (cell) {
|
|
24
|
+
(0, _dom.removeClass)(cell, 'col--selected');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
19
28
|
function insertTreeRow(_vm, newRecords, isAppend) {
|
|
20
29
|
const {
|
|
21
30
|
tableFullTreeData,
|
|
@@ -437,7 +446,7 @@ var _default = exports.default = {
|
|
|
437
446
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
438
447
|
const {
|
|
439
448
|
actived,
|
|
440
|
-
|
|
449
|
+
removeMaps,
|
|
441
450
|
insertMaps
|
|
442
451
|
} = editStore;
|
|
443
452
|
const {
|
|
@@ -452,7 +461,8 @@ var _default = exports.default = {
|
|
|
452
461
|
// 如果是新增,则保存记录
|
|
453
462
|
rows.forEach(row => {
|
|
454
463
|
if (!$xeTable.isInsertByRow(row)) {
|
|
455
|
-
|
|
464
|
+
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
465
|
+
removeMaps[rowid] = row;
|
|
456
466
|
}
|
|
457
467
|
});
|
|
458
468
|
// 如果绑定了多选属性,则更新状态
|
|
@@ -627,7 +637,19 @@ var _default = exports.default = {
|
|
|
627
637
|
* 获取已删除的数据
|
|
628
638
|
*/
|
|
629
639
|
_getRemoveRecords() {
|
|
630
|
-
|
|
640
|
+
const $xeTable = this;
|
|
641
|
+
const reactData = $xeTable;
|
|
642
|
+
const {
|
|
643
|
+
editStore
|
|
644
|
+
} = reactData;
|
|
645
|
+
const {
|
|
646
|
+
removeMaps
|
|
647
|
+
} = editStore;
|
|
648
|
+
const removeRecords = [];
|
|
649
|
+
_xeUtils.default.each(removeMaps, row => {
|
|
650
|
+
removeRecords.push(row);
|
|
651
|
+
});
|
|
652
|
+
return removeRecords;
|
|
631
653
|
},
|
|
632
654
|
/**
|
|
633
655
|
* 获取更新数据
|
|
@@ -869,11 +891,6 @@ var _default = exports.default = {
|
|
|
869
891
|
}
|
|
870
892
|
focused.row = null;
|
|
871
893
|
focused.column = null;
|
|
872
|
-
$xeTable.$nextTick(() => {
|
|
873
|
-
if (mouseConfig && mouseOpts.area && $xeTable.handleRecalculateCellAreas) {
|
|
874
|
-
return $xeTable.handleRecalculateCellAreas();
|
|
875
|
-
}
|
|
876
|
-
});
|
|
877
894
|
if (validOpts.autoClear) {
|
|
878
895
|
if (validOpts.msgMode !== 'full' || getConfig().cellVaildMode === 'obsolete') {
|
|
879
896
|
if ($xeTable.clearValidate) {
|
|
@@ -881,7 +898,11 @@ var _default = exports.default = {
|
|
|
881
898
|
}
|
|
882
899
|
}
|
|
883
900
|
}
|
|
884
|
-
return $xeTable.$nextTick()
|
|
901
|
+
return $xeTable.$nextTick().then(() => {
|
|
902
|
+
if (mouseConfig && mouseOpts.area && $xeTable.handleRecalculateCellAreas) {
|
|
903
|
+
return $xeTable.handleRecalculateCellAreas();
|
|
904
|
+
}
|
|
905
|
+
});
|
|
885
906
|
},
|
|
886
907
|
_getActiveRecord() {
|
|
887
908
|
if (process.env.NODE_ENV === 'development') {
|
|
@@ -1093,7 +1114,7 @@ var _default = exports.default = {
|
|
|
1093
1114
|
selected.row = row;
|
|
1094
1115
|
selected.column = column;
|
|
1095
1116
|
if (isMouseSelected) {
|
|
1096
|
-
this.
|
|
1117
|
+
this.addCellSelectedClass();
|
|
1097
1118
|
}
|
|
1098
1119
|
this.focus();
|
|
1099
1120
|
if (evnt) {
|
|
@@ -1122,13 +1143,14 @@ var _default = exports.default = {
|
|
|
1122
1143
|
* 清除所选中源状态
|
|
1123
1144
|
*/
|
|
1124
1145
|
_clearSelected() {
|
|
1146
|
+
const $xeTable = this;
|
|
1125
1147
|
const {
|
|
1126
1148
|
selected
|
|
1127
1149
|
} = this.editStore;
|
|
1128
1150
|
selected.row = null;
|
|
1129
1151
|
selected.column = null;
|
|
1130
1152
|
this.reColTitleSdCls();
|
|
1131
|
-
|
|
1153
|
+
removeCellSelectedClass($xeTable);
|
|
1132
1154
|
return this.$nextTick();
|
|
1133
1155
|
},
|
|
1134
1156
|
reColTitleSdCls() {
|
|
@@ -1137,23 +1159,22 @@ var _default = exports.default = {
|
|
|
1137
1159
|
_xeUtils.default.arrayEach(headerElem.querySelectorAll('.col--title-selected'), elem => (0, _dom.removeClass)(elem, 'col--title-selected'));
|
|
1138
1160
|
}
|
|
1139
1161
|
},
|
|
1140
|
-
|
|
1141
|
-
const
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
addColSdCls() {
|
|
1162
|
+
addCellSelectedClass() {
|
|
1163
|
+
const $xeTable = this;
|
|
1164
|
+
const reactData = $xeTable;
|
|
1165
|
+
const {
|
|
1166
|
+
editStore
|
|
1167
|
+
} = reactData;
|
|
1147
1168
|
const {
|
|
1148
1169
|
selected
|
|
1149
|
-
} =
|
|
1170
|
+
} = editStore;
|
|
1150
1171
|
const {
|
|
1151
1172
|
row,
|
|
1152
1173
|
column
|
|
1153
1174
|
} = selected;
|
|
1154
|
-
|
|
1175
|
+
removeCellSelectedClass($xeTable);
|
|
1155
1176
|
if (row && column) {
|
|
1156
|
-
const cell =
|
|
1177
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
1157
1178
|
if (cell) {
|
|
1158
1179
|
(0, _dom.addClass)(cell, 'col--selected');
|
|
1159
1180
|
}
|
|
@@ -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;function insertTreeRow(s,e,t){let{tableFullTreeData:n,afterFullData:a,fullDataRowIdData:d,fullAllDataRowIdData:u,treeOpts:l}=s,{rowField:c,parentField:h,mapChildrenField:g}=l,f=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(s,l),i=t?_xeUtils.default.findTree(n,e=>t===e[c],{children:g}):null;if(i){var i=i.item,o=u[(0,_util.getRowid)(s,i)],o=o?o.level:0;let e=i[f],t=i[g];_xeUtils.default.isArray(e)||(e=i[f]=[]),_xeUtils.default.isArray(t)||(t=i[f]=[]),e[w](l),t[w](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};d[r]=i,u[r]=i}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[w](l),n[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:n,parent:null,level:0,height:0,resizeHeight:0,oTop:0};d[r]=o,u[r]=o}})}function handleInsertRowAt(a,t,l,d){let i=a.treeConfig;var{mergeList:e,editStore:r}=a;let{tableFullTreeData:u,afterFullData:o,tableFullData:s,fullDataRowIdData:c,fullAllDataRowIdData:h}=a,g=a.computeTreeOpts,{transform:n,rowField:f,mapChildrenField:w}=g,v=g.children||g.childrenField,m=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(i&&n?{[w]:[],[v]:[]}:{},e))));if(_xeUtils.default.eqNull(l))i&&n?insertTreeRow(a,m,!1):(m.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};c[t]=l,h[t]=l,o.unshift(e),s.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+m.length)}));else if(-1===l)i&&n?insertTreeRow(a,m,!0):(m.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};c[t]=l,h[t]=l,o.push(e),s.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>o.length&&(e.rowspan=l+m.length)}));else if(i&&n){let n=_xeUtils.default.findTree(u,e=>l[f]===e[f],{children:w});if(n){let i=n.parent,o=i?i[w]:u;t=h[(0,_util.getRowid)(a,i)];let s=t?t.level:0;if(m.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=n.index+t;d&&(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:s+1,height:0,resizeHeight:0,oTop:0};c[l]=t,h[l]=t}),i){t=_xeUtils.default.findTree(u,e=>l[f]===e[f],{children:v});if(t){var p=t.items;let e=t.index;d&&(e+=1),p.splice(e,0,...m)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,m,!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=d?Math.min(o.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));o.splice(r,0,...m);t=a.findRowIndexOf(s,l);-1<t?s.splice(t+(d?1:0),0,...m):s.push(...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+m.length:t+l>r&&(e.rowspan=l+m.length)})}let _=r.insertMaps;return m.forEach(e=>{var t=(0,_util.getRowid)(a,e);_[t]=e}),a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(i&&n),i&&n||a.updateAfterDataIndex(),a.updateFooter(),a.checkSelectionStatus(),a.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))}function handleInsertChildRowAt(e,t,l,r,i){var o=e.treeConfig;let{transform:s,rowField:n,parentField:a}=e.computeTreeOpts;return o&&s?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[n]})),r,i):((0,_log.errLog)("vxe.error.errProp",["tree-config.treeConfig=false","tree-config.treeConfig=true"]),Promise.resolve({row:null,rows:[]}))}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 t=this;var l=t,r=t,i=t,l=l.treeConfig;let{mergeList:o,editStore:s,selectCheckboxMaps:n}=r,{tableFullTreeData:a,afterFullData:d,tableFullData:u}=i;var i=t.computeCheckboxOpts,c=t.computeTreeOpts;let{transform:h,mapChildrenField:g}=c,f=c.children||c.childrenField,{actived:w,removeList:v,insertMaps:m}=s;c=i.checkField;let p=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(e=>{t.isInsertByRow(e)||v.push(e)}),!c){let t=Object.assign({},n);e.forEach(e=>{e=(0,_util.getRowid)(this,e);t[e]&&delete t[e]}),this.selectCheckboxMaps=t}return u===e?(e=p=u.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):l&&h?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(this,e),{children:g}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(this,e),{children:f})),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(u,e);-1<t&&(t=u.splice(t,1),p.push(t[0]));let r=this.findRowIndexOf(d,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)}),d.splice(r,1))}),w.row&&-1<t.findRowIndexOf(e,w.row)&&t.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(t,e);m[e]&&delete m[e]}),t.updateFooter(),t.cacheRowMap(!1),t.handleTableData(l&&h),l&&h||t.updateAfterDataIndex(),t.checkSelectionStatus(),r.scrollYLoad&&t.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},_getInsertRecords(){var e=this.editStore;let l=this.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){return this.editStore.removeList},_getUpdateRecords(){let{keepSource:e,tableFullData:t,isUpdateByRow:l,treeConfig:r,treeOpts:i,editStore:o}=this;var s,n;return e?(s=o.actived,{row:s,column:n}=s,(s||n)&&this._syncActivedCell(),r?_xeUtils.default.filterTree(t,e=>l(e),i):t.filter(e=>l(e))):[]},handleEdit(l,r){var{editStore:i,editOpts:o,tableColumn:s,editConfig:e,mouseConfig:n}=this,a=o.mode,{actived:i,focused:t}=i;let{row:d,column:u}=l;var c=u.editRender,h=l.cell=l.cell||this.getCellElement(d,u),g=o.beforeEditMethod||o.activeMethod;if(h&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(c)&&!this.hasPendingByRow(d)){if(i.row!==d||"cell"===a&&i.column!==u){let t="edit-disabled";if(!g||g(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))){n&&(this.clearSelected(r),this.clearCellAreas(r),this.clearCopyCellArea(r)),this.closeTooltip(),i.column&&this.handleClearEdit(r),t="edit-activated",u.renderHeight=h.offsetHeight,i.args=l,i.row=d,i.column=u,"row"===a?s.forEach(e=>this._getColumnModel(d,e)):this._getColumnModel(d,u);let e=o.afterEditMethod;this.$nextTick(()=>{this.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))})}this.emitEvent(t,l,r),"edit-activated"===t&&this.emitEvent("edit-actived",l,r)}else{e=i.column;n&&(this.clearSelected(r),this.clearCellAreas(r),this.clearCopyCellArea(r)),e!==u&&(c=e.model,c.update&&(0,_util.setCellValue)(d,e,c.value),this.clearValidate()),u.renderHeight=h.offsetHeight,i.args=l,i.column=u,setTimeout(()=>{this.handleFocus(l,r)})}t.column=null,t.row=null,this.focus()}return this.$nextTick()},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},_setColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},_syncActivedCell(){var{tableColumn:e,editStore:t,editOpts:l}=this,t=t.actived;let{row:r,column:i}=t;(r||i)&&("row"===l.mode?e.forEach(e=>this._setColumnModel(r,e)):this._setColumnModel(r,i))},_clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return this.handleClearEdit(null,e)},handleClearEdit(e,t){let l=this;var r=l,i=l;let o=r.mouseConfig;var r=i.editStore,{actived:i,focused:r}=r,{row:s,column:n}=i,a=l.validOpts;let d=l.computeMouseOpts;if(s||n){if(t&&(0,_util.getRowid)(l,t)!==(0,_util.getRowid)(l,s))return l.$nextTick();l._syncActivedCell(),i.args=null,i.row=null,i.column=null,l.updateFooter(),l.emitEvent("edit-closed",{row:s,rowIndex:l.getRowIndex(s),$rowIndex:l.getVMRowIndex(s),column:n,columnIndex:l.getColumnIndex(n),$columnIndex:l.getVMColumnIndex(n)},e)}return r.row=null,r.column=null,l.$nextTick(()=>{if(o&&d.area&&l.handleRecalculateCellAreas)return l.handleRecalculateCellAreas()}),a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&l.clearValidate?l.clearValidate():l.$nextTick()},_getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},_getEditRecord(){var{$el:e,editStore:t,afterFullData:l}=this,t=t.actived,{args:t,row:r}=t;return t&&-1<this.findRowIndexOf(l,r)&&e.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},t):null},_isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){return this.editStore.actived.row===e},handleFocus(r){var i=this.editOpts,{row:o,column:s,cell:n}=r,a=s.editRender;if((0,_utils.isEnableConf)(a)){var d=renderer.get(a.name);let e=a.autofocus||a.autoFocus,t=a.autoSelect||a.autoselect,l;i.autoFocus&&(!e&&d&&(e=d.tableAutoFocus||d.tableAutofocus||d.autoFocus||d.autofocus),!t&&d&&(t=d.tableAutoSelect||d.autoSelect||d.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():_dom.browse.msie&&((a=l.createTextRange()).collapse(!1),a.select()):i.autoPos&&!s.fixed&&this.scrollToRow(o,s)}},_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));return t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),this.setEditCell(e,l)},_setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(t,e){var l=this.editConfig;let r=_xeUtils.default.isString(e)?this.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?this.scrollToRow(t,!0).then(()=>{var e=this.getCellElement(t,r);e&&(this.handleEdit({row:t,rowIndex:this.getRowIndex(t),column:r,columnIndex:this.getColumnIndex(r),cell:e,$table:this}),this.lastCallTime=Date.now())}):this.$nextTick()},_setSelectCell(e,t){var{tableData:l,editOpts:r,visibleColumn:i}=this,t=_xeUtils.default.isString(t)?this.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=this.findRowIndexOf(l,e))&&(l=this.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:i.indexOf(t),cell:l},this.handleSelected(e,{})),this.$nextTick()},handleSelected(e,t){let{mouseConfig:l,mouseOpts:r,editOpts:i,editStore:o}=this,{actived:s,selected:n}=o,{row:a,column:d}=e,u=l&&r.selected;return!u||n.row===a&&n.column===d||(s.row!==a||"cell"===i.mode&&s.column!==d)&&(this.handleClearEdit(t),this.clearSelected(t),this.clearCellAreas(t),this.clearCopyCellArea(t),n.args=e,n.row=a,n.column=d,u&&this.addColSdCls(),this.focus(),t)&&this.emitEvent("cell-selected",e,t),this.$nextTick()},_getSelectedCell(){var{args:e,column:t}=this.editStore.selected;return e&&t?Object.assign({},e):null},_clearSelected(){var e=this.editStore.selected;return e.row=null,e.column=null,this.reColTitleSdCls(),this.reColSdCls(),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"))},reColSdCls(){var e=this.$el.querySelector(".col--selected");e&&(0,_dom.removeClass)(e,"col--selected")},addColSdCls(){var e=this.editStore.selected,{row:e,column:t}=e;this.reColSdCls(),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;function removeCellSelectedClass(e){var e=e.$refs.refElem;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}function insertTreeRow(s,e,t){let{tableFullTreeData:n,afterFullData:a,fullDataRowIdData:d,fullAllDataRowIdData:c,treeOpts:l}=s,{rowField:u,parentField:h,mapChildrenField:f}=l,g=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(s,l),i=t?_xeUtils.default.findTree(n,e=>t===e[u],{children:f}):null;if(i){var i=i.item,o=c[(0,_util.getRowid)(s,i)],o=o?o.level:0;let e=i[g],t=i[f];_xeUtils.default.isArray(e)||(e=i[g]=[]),_xeUtils.default.isArray(t)||(t=i[g]=[]),e[w](l),t[w](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};d[r]=i,c[r]=i}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[w](l),n[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:n,parent:null,level:0,height:0,resizeHeight:0,oTop:0};d[r]=o,c[r]=o}})}function handleInsertRowAt(a,t,l,d){let i=a.treeConfig;var{mergeList:e,editStore:r}=a;let{tableFullTreeData:c,afterFullData:o,tableFullData:s,fullDataRowIdData:u,fullAllDataRowIdData:h}=a,f=a.computeTreeOpts,{transform:n,rowField:g,mapChildrenField:w}=f,v=f.children||f.childrenField,m=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(i&&n?{[w]:[],[v]:[]}:{},e))));if(_xeUtils.default.eqNull(l))i&&n?insertTreeRow(a,m,!1):(m.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};u[t]=l,h[t]=l,o.unshift(e),s.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+m.length)}));else if(-1===l)i&&n?insertTreeRow(a,m,!0):(m.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};u[t]=l,h[t]=l,o.push(e),s.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>o.length&&(e.rowspan=l+m.length)}));else if(i&&n){let n=_xeUtils.default.findTree(c,e=>l[g]===e[g],{children:w});if(n){let i=n.parent,o=i?i[w]:c;t=h[(0,_util.getRowid)(a,i)];let s=t?t.level:0;if(m.forEach((e,t)=>{var l=(0,_util.getRowid)(a,e);"development"===process.env.NODE_ENV&&e[f.parentField]&&i&&e[f.parentField]!==i[g]&&(0,_log.errLog)("vxe.error.errProp",[f.parentField+"="+e[f.parentField],f.parentField+"="+i[g]]),i&&(e[f.parentField]=i[g]);let r=n.index+t;d&&(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:s+1,height:0,resizeHeight:0,oTop:0};u[l]=t,h[l]=t}),i){t=_xeUtils.default.findTree(c,e=>l[g]===e[g],{children:v});if(t){var p=t.items;let e=t.index;d&&(e+=1),p.splice(e,0,...m)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,m,!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=d?Math.min(o.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));o.splice(r,0,...m);t=a.findRowIndexOf(s,l);-1<t?s.splice(t+(d?1:0),0,...m):s.push(...m),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+m.length:t+l>r&&(e.rowspan=l+m.length)})}let _=r.insertMaps;return m.forEach(e=>{var t=(0,_util.getRowid)(a,e);_[t]=e}),a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(i&&n),i&&n||a.updateAfterDataIndex(),a.updateFooter(),a.checkSelectionStatus(),a.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate())).then(()=>({row:m.length?m[m.length-1]:null,rows:m}))}function handleInsertChildRowAt(e,t,l,r,i){var o=e.treeConfig;let{transform:s,rowField:n,parentField:a}=e.computeTreeOpts;return o&&s?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[n]})),r,i):((0,_log.errLog)("vxe.error.errProp",["tree-config.treeConfig=false","tree-config.treeConfig=true"]),Promise.resolve({row:null,rows:[]}))}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:s,selectCheckboxMaps:n}=r,{tableFullTreeData:a,afterFullData:d,tableFullData:c}=i;var i=l.computeCheckboxOpts,u=l.computeTreeOpts;let{transform:h,mapChildrenField:f}=u,g=u.children||u.childrenField,{actived:w,removeMaps:v,insertMaps:m}=s;u=i.checkField;let p=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=c,e.forEach(e=>{var t;l.isInsertByRow(e)||(t=(0,_util.getRowid)(l,e),v[t]=e)}),!u){let t=Object.assign({},n);e.forEach(e=>{e=(0,_util.getRowid)(this,e);t[e]&&delete t[e]}),this.selectCheckboxMaps=t}return c===e?(e=p=c.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&h?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(this,e),{children:f}),l=(l&&(l=l.items.splice(l.index,1),p.push(l[0])),_xeUtils.default.findTree(a,e=>t===(0,_util.getRowid)(this,e),{children:g})),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(c,e);-1<t&&(t=c.splice(t,1),p.push(t[0]));let r=this.findRowIndexOf(d,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)}),d.splice(r,1))}),w.row&&-1<l.findRowIndexOf(e,w.row)&&l.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(l,e);m[e]&&delete m[e]}),l.updateFooter(),l.cacheRowMap(!1),l.handleTableData(t&&h),t&&h||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},_getInsertRecords(){var e=this.editStore;let l=this.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){var e=this.editStore,e=e.removeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},_getUpdateRecords(){let{keepSource:e,tableFullData:t,isUpdateByRow:l,treeConfig:r,treeOpts:i,editStore:o}=this;var s,n;return e?(s=o.actived,{row:s,column:n}=s,(s||n)&&this._syncActivedCell(),r?_xeUtils.default.filterTree(t,e=>l(e),i):t.filter(e=>l(e))):[]},handleEdit(l,r){var{editStore:i,editOpts:o,tableColumn:s,editConfig:e,mouseConfig:n}=this,a=o.mode,{actived:i,focused:t}=i;let{row:d,column:c}=l;var u=c.editRender,h=l.cell=l.cell||this.getCellElement(d,c),f=o.beforeEditMethod||o.activeMethod;if(h&&(0,_utils.isEnableConf)(e)&&(0,_utils.isEnableConf)(u)&&!this.hasPendingByRow(d)){if(i.row!==d||"cell"===a&&i.column!==c){let t="edit-disabled";if(!f||f(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))){n&&(this.clearSelected(r),this.clearCellAreas(r),this.clearCopyCellArea(r)),this.closeTooltip(),i.column&&this.handleClearEdit(r),t="edit-activated",c.renderHeight=h.offsetHeight,i.args=l,i.row=d,i.column=c,"row"===a?s.forEach(e=>this._getColumnModel(d,e)):this._getColumnModel(d,c);let e=o.afterEditMethod;this.$nextTick(()=>{this.handleFocus(l,r),e&&e(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))})}this.emitEvent(t,l,r),"edit-activated"===t&&this.emitEvent("edit-actived",l,r)}else{e=i.column;n&&(this.clearSelected(r),this.clearCellAreas(r),this.clearCopyCellArea(r)),e!==c&&(u=e.model,u.update&&(0,_util.setCellValue)(d,e,u.value),this.clearValidate()),c.renderHeight=h.offsetHeight,i.args=l,i.column=c,setTimeout(()=>{this.handleFocus(l,r)})}t.column=null,t.row=null,this.focus()}return this.$nextTick()},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},_setColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)},_syncActivedCell(){var{tableColumn:e,editStore:t,editOpts:l}=this,t=t.actived;let{row:r,column:i}=t;(r||i)&&("row"===l.mode?e.forEach(e=>this._setColumnModel(r,e)):this._setColumnModel(r,i))},_clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return this.handleClearEdit(null,e)},handleClearEdit(e,t){let l=this;var r=l,i=l;let o=r.mouseConfig;var r=i.editStore,{actived:i,focused:r}=r,{row:s,column:n}=i,a=l.validOpts;let d=l.computeMouseOpts;if(s||n){if(t&&(0,_util.getRowid)(l,t)!==(0,_util.getRowid)(l,s))return l.$nextTick();l._syncActivedCell(),i.args=null,i.row=null,i.column=null,l.updateFooter(),l.emitEvent("edit-closed",{row:s,rowIndex:l.getRowIndex(s),$rowIndex:l.getVMRowIndex(s),column:n,columnIndex:l.getColumnIndex(n),$columnIndex:l.getVMColumnIndex(n)},e)}return r.row=null,r.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===getConfig().cellVaildMode)&&l.clearValidate?l.clearValidate():l.$nextTick().then(()=>{if(o&&d.area&&l.handleRecalculateCellAreas)return l.handleRecalculateCellAreas()})},_getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},_getEditRecord(){var{$el:e,editStore:t,afterFullData:l}=this,t=t.actived,{args:t,row:r}=t;return t&&-1<this.findRowIndexOf(l,r)&&e.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},t):null},_isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){return this.editStore.actived.row===e},handleFocus(r){var i=this.editOpts,{row:o,column:s,cell:n}=r,a=s.editRender;if((0,_utils.isEnableConf)(a)){var d=renderer.get(a.name);let e=a.autofocus||a.autoFocus,t=a.autoSelect||a.autoselect,l;i.autoFocus&&(!e&&d&&(e=d.tableAutoFocus||d.tableAutofocus||d.autoFocus||d.autofocus),!t&&d&&(t=d.tableAutoSelect||d.autoSelect||d.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():_dom.browse.msie&&((a=l.createTextRange()).collapse(!1),a.select()):i.autoPos&&!s.fixed&&this.scrollToRow(o,s)}},_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));return t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),this.setEditCell(e,l)},_setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(t,e){var l=this.editConfig;let r=_xeUtils.default.isString(e)?this.getColumnByField(e):e;return t&&r&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(r.editRender)?this.scrollToRow(t,!0).then(()=>{var e=this.getCellElement(t,r);e&&(this.handleEdit({row:t,rowIndex:this.getRowIndex(t),column:r,columnIndex:this.getColumnIndex(r),cell:e,$table:this}),this.lastCallTime=Date.now())}):this.$nextTick()},_setSelectCell(e,t){var{tableData:l,editOpts:r,visibleColumn:i}=this,t=_xeUtils.default.isString(t)?this.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=this.findRowIndexOf(l,e))&&(l=this.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:i.indexOf(t),cell:l},this.handleSelected(e,{})),this.$nextTick()},handleSelected(e,t){let{mouseConfig:l,mouseOpts:r,editOpts:i,editStore:o}=this,{actived:s,selected:n}=o,{row:a,column:d}=e,c=l&&r.selected;return!c||n.row===a&&n.column===d||(s.row!==a||"cell"===i.mode&&s.column!==d)&&(this.handleClearEdit(t),this.clearSelected(t),this.clearCellAreas(t),this.clearCopyCellArea(t),n.args=e,n.row=a,n.column=d,c&&this.addCellSelectedClass(),this.focus(),t)&&this.emitEvent("cell-selected",e,t),this.$nextTick()},_getSelectedCell(){var{args:e,column:t}=this.editStore.selected;return e&&t?Object.assign({},e):null},_clearSelected(){var e=this.editStore.selected;return e.row=null,e.column=null,this.reColTitleSdCls(),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")}}};
|
|
@@ -10,6 +10,7 @@ var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
|
10
10
|
var _ui = require("../../../ui");
|
|
11
11
|
var _util = require("../../src/util");
|
|
12
12
|
var _utils = require("../../../ui/src/utils");
|
|
13
|
+
var _dom = require("../../../ui/src/dom");
|
|
13
14
|
var _util2 = require("./util");
|
|
14
15
|
var _log = require("../../../ui/src/log");
|
|
15
16
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -145,7 +146,7 @@ function getBodyLabelData($xeTable, opts, columns, datas) {
|
|
|
145
146
|
cellValue = htmlCellElem.innerText.trim();
|
|
146
147
|
} else {
|
|
147
148
|
const cell = $xeTable.getCellElement(row, column);
|
|
148
|
-
if (cell) {
|
|
149
|
+
if (cell && !(0, _dom.hasClass)(cell, 'is--progress')) {
|
|
149
150
|
cellValue = cell.innerText.trim();
|
|
150
151
|
}
|
|
151
152
|
}
|
|
@@ -215,7 +216,7 @@ function getBodyLabelData($xeTable, opts, columns, datas) {
|
|
|
215
216
|
cellValue = htmlCellElem.innerText.trim();
|
|
216
217
|
} else {
|
|
217
218
|
const cell = $xeTable.getCellElement(row, column);
|
|
218
|
-
if (cell) {
|
|
219
|
+
if (cell && !(0, _dom.hasClass)(cell, 'is--progress')) {
|
|
219
220
|
cellValue = cell.innerText.trim();
|
|
220
221
|
}
|
|
221
222
|
}
|
|
@@ -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"),_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,p,u,e){let{isAllExpand:a,mode:h}=p;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)};u.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:p});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:p.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))&&(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 u.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:p});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:p.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))&&(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.columnOpts,o=l.headerExportMethod||o.headerExportMethod;return o?o({column:l,options:t,$table:e}):(t.original?l.field:l.getTitle())||""}function getFooterCellValue(e,t,l,o){var r=e.columnOpts,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){let r=csvBOM;return o.isHeader&&(r+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join(",")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join(",")+enterSymbol})),r}function toTxt(l,o,e,t){let r="";return o.isHeader&&(r+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join("\t")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join("\t")+enterSymbol})),r}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;return r=e.scrollXLoad||e.scrollYLoad?r||!0:r}function toHtml(d,n,e,t){let{id:c,border:l,treeConfig:o,treeOpts:i,isAllSelected:s,isIndeterminate:r,headerAlign:p,align:u,footerAlign:a,showOverflow:h,showHeaderOverflow:m,mergeList:f}=d,{print:x,isHeader:g,isFooter:v,isColgroup:b,isMerge:_,colgroups:y,original:$}=n,E="check-all";let w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(w.push("<thead>"),b&&!$?y.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||p||u,l=hasEllipsis(d,t,"showHeaderOverflow",m)?["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="${E}" ${s?"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>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||p||u,l=hasEllipsis(d,e,"showHeaderOverflow",m)?["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="${E}" ${s?"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>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),o?t.forEach(r=>{w.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",h)?["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*i.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*i.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*i.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=>{w.push("<tr>"+e.map(e=>{var t=e.align||u,l=hasEllipsis(d,e,"showOverflow",h)?["col--ellipsis"]:[],o=s[e.id];let r=1,i=1;if(_&&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>")}),w.push("</tbody>")),v&&(t=d.footerTableData,(t=getFooterData(n,t)).length)&&(w.push("<tfoot>"),t.forEach(r=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||u,l=hasEllipsis(d,e,"showOverflow",h)?["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>`)}),w.push("</tfoot>"));t=!s&&r?`<script>(function(){var a=document.querySelector(".${E}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(n,w.join(""))}function toXML(l,o,e,t){let r=['<?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&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,o,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,o,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</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&&("development"!==process.env.NODE_ENV||_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:p}=a;c.some(e=>n[e]||s[e])?l.createData(p).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&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[p.length]),status:"success"})),t.then(()=>{r&&r({status:!0})})}):!1!==o.message&&("development"!==process.env.NODE_ENV||_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(r,i,a){var e=r.importOpts;let{importMethod:n,afterImportMethod:t}=a,{type:s,filename:d}=(0,_utils.parseFile)(i);return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),s)?new Promise((t,l)=>{let e=e=>{t(e),r._importResolve=null,r._importReject=null},o=e=>{l(e),r._importResolve=null,r._importReject=null};if(r._importResolve=e,r._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},a,{type:s,filename:d});t.remote?n?Promise.resolve(n({file:i,options:t,$table:r})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):r.preventEvent(null,"event.import",{file:i,options:t,columns:r.tableFullColumn},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[s]),o({status:!1})},e.onload=e=>{handleImport(r,e.target.result,t)},e.readAsText(i,t.encoding||"UTF-8")})}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:a,$table:r})}).catch(e=>(t&&t({status:!1,options:a,$table:r}),Promise.reject(e))):(!1!==a.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[s]),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&&("development"!==process.env.NODE_ENV||_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:p,exportStore:u,exportParams:h}=e,m=e.collectColumn,f=e.computeExportOpts,x=e.computeCustomOpts,g=e.getCheckboxRecords(),v=o?o.computeProxyOpts:{},p=!!p.length,s=!(!s.length&&!d.length);let b=Object.assign({message:!0,isHeader:i,isFooter:a,isColgroup:c,isMerge:s,useStyle:!0,current:"current",modes:["current","selected"].concat(v.ajax&&v.ajax.queryAll?["all"]:[])},t);d=b.types||_xeUtils.default.keys(f._typeMaps),i=b.modes||[];let _=x.checkMethod;a=m.slice(0);let{columns:y,excludeFields:$,includeFields:E}=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):$||E?handleFilterFields(b,e,E,$):e.visible&&(i||defaultFilterExportColumn(e)),e.checked=a,e.halfChecked=!1,e.disabled=r&&r.disabled||!!_&&!_({column:e})}),Object.assign(u,{columns:a,typeList:v,modeList:t,hasFooter:p,hasMerge:s,hasTree:r,isPrint:l,hasColgroup:c,visible:!0}),Object.assign(h,{mode:g.length?"selected":"current"},b);let{filename:w,sheetName:C,mode:T,type:F}=h;return w&&(_xeUtils.default.isFunction(w)?h.filename=w({options:b,$table:e,$grid:o}):h.filename=""+w),C&&(_xeUtils.default.isFunction(C)?h.sheetName=C({options:b,$table:e,$grid:o}):h.sheetName=""+C),t.some(e=>e.value===T)||(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(n){let s=this,d=s.$xeGrid,{isGroup:e,tableGroupColumn:t,tableFullColumn:i,afterFullData:l,treeConfig:o,treeOpts:r,exportOpts:a}=this;n=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,isMerge:!1,isAllExpand:!1,download:!0,type:"csv",mode:"current"},a,{print:!1},n);let{filename:c,sheetName:p,type:u,mode:h,columns:m,original:f,columnFilterMethod:x,beforeExportMethod:g,includeFields:v,excludeFields:b}=n,_=[];var y=m&&m.length?m:null;let $=Object.assign({},n,{filename:"",sheetName:""}),E=(y||x||($.columnFilterMethod=({column:e})=>(!b||!_xeUtils.default.includes(b,e.field))&&(v?!!_xeUtils.default.includes(v,e.field):f?e.field:defaultFilterExportColumn(e))),_=y?($._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(y,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)&&(!x||x({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(e?t:i,(e,t)=>e.visible&&(!x||x({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(_,e=>{e.children&&e.children.length||E.push(e)},{children:"childNodes"}),$.columns=E,$.colgroups=convertToRows(_),c&&(_xeUtils.default.isFunction(c)?$.filename=c({options:n,$table:s,$grid:d}):$.filename=""+c),$.filename||($.filename=getI18n($.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),p&&(_xeUtils.default.isFunction(p)?$.sheetName=p({options:n,$table:s,$grid:d}):$.sheetName=""+p),$.sheetName||($.sheetName=document.title||""),!$.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(a._typeMaps),u))return(0,_log.errLog)("vxe.error.notType",[u]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(u)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if($.print||g&&g({options:$,$table:s,$grid:d}),!$.data)if($.data=[],"selected"===h){let t=s.getCheckboxRecords();-1<["html","pdf"].indexOf(u)&&o?$.data=_xeUtils.default.searchTree(s.getTableData().fullData,e=>-1<s.findRowIndexOf(t,e),Object.assign({},r,{data:"_row"})):$.data=t}else if("all"===h){if("development"!==process.env.NODE_ENV||d||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),d&&!$.remote){var y=d,n=d.computeProxyOpts,w=y.sortData;let{beforeQueryAll:e,afterQueryAll:o,ajax:t={}}=n,r=n.response||n.props||{};n=t.queryAll;let i=t.queryAllSuccess,a=t.queryAllError;if("development"!==process.env.NODE_ENV||n||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),n){let l={$table:s,$grid:d,sort:w.length?w[0]:{},sorts:w,filters:y.filterData,form:y.formData,options:$};return Promise.resolve((e||n)(l)).then(e=>{var t=r.list;return $.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(s,$)}).catch(e=>{a&&a(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===h&&($.data=l);return handleExport(s,$)},_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"development"!==process.env.NODE_ENV||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"development"!==process.env.NODE_ENV||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,p,u,e){let{isAllExpand:a,mode:m}=p;var t=c.treeConfig;let h=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)};u.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:p});else switch(e.type){case"seq":var i=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===m?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=h.labelField?_xeUtils.default.get(d,h.labelField):"",a._radioDisabled=h.checkMethod&&!h.checkMethod({row:d});break;default:p.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 u.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:p});else switch(e.type){case"seq":var i=n+1;l="all"===m?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=h.labelField?_xeUtils.default.get(a,h.labelField):"",s._radioDisabled=h.checkMethod&&!h.checkMethod({row:a});break;default:p.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.columnOpts,o=l.headerExportMethod||o.headerExportMethod;return o?o({column:l,options:t,$table:e}):(t.original?l.field:l.getTitle())||""}function getFooterCellValue(e,t,l,o){var r=e.columnOpts,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){let r=csvBOM;return o.isHeader&&(r+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join(",")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join(",")+enterSymbol})),r}function toTxt(l,o,e,t){let r="";return o.isHeader&&(r+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,o,e))).join("\t")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,o,t,e))).join("\t")+enterSymbol})),r}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;return r=e.scrollXLoad||e.scrollYLoad?r||!0:r}function toHtml(d,n,e,t){let{id:c,border:l,treeConfig:o,treeOpts:i,isAllSelected:s,isIndeterminate:r,headerAlign:p,align:u,footerAlign:a,showOverflow:m,showHeaderOverflow:h,mergeList:f}=d,{print:x,isHeader:g,isFooter:v,isColgroup:b,isMerge:_,colgroups:y,original:$}=n,C="check-all";let E=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(E.push("<thead>"),b&&!$?y.forEach(e=>{E.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||p||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="${C}" ${s?"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>`)}):E.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||p||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="${C}" ${s?"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>`),E.push("</thead>")),t.length&&(E.push("<tbody>"),o?t.forEach(r=>{E.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",m)?["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*i.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*i.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*i.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=>{E.push("<tr>"+e.map(e=>{var t=e.align||u,l=hasEllipsis(d,e,"showOverflow",m)?["col--ellipsis"]:[],o=s[e.id];let r=1,i=1;if(_&&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>")}),E.push("</tbody>")),v&&(t=d.footerTableData,(t=getFooterData(n,t)).length)&&(E.push("<tfoot>"),t.forEach(r=>{E.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||u,l=hasEllipsis(d,e,"showOverflow",m)?["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>`)}),E.push("</tfoot>"));t=!s&&r?`<script>(function(){var a=document.querySelector(".${C}");if(a){a.indeterminate=true}})()</script>`:"";return E.push("</table>",t),x?E.join(""):(0,_util2.createHtmlPage)(n,E.join(""))}function toXML(l,o,e,t){let r=['<?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&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,o,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),o.isFooter&&(t=l.footerTableData,getFooterData(o,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,o,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</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&&("development"!==process.env.NODE_ENV||_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:p}=a;c.some(e=>n[e]||s[e])?l.createData(p).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&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[p.length]),status:"success"})),t.then(()=>{r&&r({status:!0})})}):!1!==o.message&&("development"!==process.env.NODE_ENV||_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(r,i,a){var e=r.importOpts;let{importMethod:n,afterImportMethod:t}=a,{type:s,filename:d}=(0,_utils.parseFile)(i);return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),s)?new Promise((t,l)=>{let e=e=>{t(e),r._importResolve=null,r._importReject=null},o=e=>{l(e),r._importResolve=null,r._importReject=null};if(r._importResolve=e,r._importReject=o,window.FileReader){let t=Object.assign({mode:"insertTop"},a,{type:s,filename:d});t.remote?n?Promise.resolve(n({file:i,options:t,$table:r})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):r.preventEvent(null,"event.import",{file:i,options:t,columns:r.tableFullColumn},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[s]),o({status:!1})},e.onload=e=>{handleImport(r,e.target.result,t)},e.readAsText(i,t.encoding||"UTF-8")})}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:a,$table:r})}).catch(e=>(t&&t({status:!1,options:a,$table:r}),Promise.reject(e))):(!1!==a.message&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[s]),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&&("development"!==process.env.NODE_ENV||_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:p,exportStore:u,exportParams:m}=e,h=e.collectColumn,f=e.computeExportOpts,x=e.computeCustomOpts,g=e.getCheckboxRecords(),v=o?o.computeProxyOpts:{},p=!!p.length,s=!(!s.length&&!d.length);let b=Object.assign({message:!0,isHeader:i,isFooter:a,isColgroup:c,isMerge:s,useStyle:!0,current:"current",modes:["current","selected"].concat(v.ajax&&v.ajax.queryAll?["all"]:[])},t);d=b.types||_xeUtils.default.keys(f._typeMaps),i=b.modes||[];let _=x.checkMethod;a=h.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(u,{columns:a,typeList:v,modeList:t,hasFooter:p,hasMerge:s,hasTree:r,isPrint:l,hasColgroup:c,visible:!0}),Object.assign(m,{mode:g.length?"selected":"current"},b);let{filename:E,sheetName:w,mode:T,type:F}=m;return E&&(_xeUtils.default.isFunction(E)?m.filename=E({options:b,$table:e,$grid:o}):m.filename=""+E),w&&(_xeUtils.default.isFunction(w)?m.sheetName=w({options:b,$table:e,$grid:o}):m.sheetName=""+w),t.some(e=>e.value===T)||(m.mode=t[0].value),v.some(e=>e.value===F)||(m.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,d=s.$xeGrid,{isGroup:e,tableGroupColumn:t,tableFullColumn:i,afterFullData:l,treeConfig:o,treeOpts:r,exportOpts:a}=this;n=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,isMerge:!1,isAllExpand:!1,download:!0,type:"csv",mode:"current"},a,{print:!1},n);let{filename:c,sheetName:p,type:u,mode:m,columns:h,original:f,columnFilterMethod:x,beforeExportMethod:g,includeFields:v,excludeFields:b}=n,_=[];var y=h&&h.length?h:null;let $=Object.assign({},n,{filename:"",sheetName:""}),C=(y||x||($.columnFilterMethod=({column:e})=>(!b||!_xeUtils.default.includes(b,e.field))&&(v?!!_xeUtils.default.includes(v,e.field):f?e.field:defaultFilterExportColumn(e))),_=y?($._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(y,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)&&(!x||x({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(e?t:i,(e,t)=>e.visible&&(!x||x({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(_,e=>{e.children&&e.children.length||C.push(e)},{children:"childNodes"}),$.columns=C,$.colgroups=convertToRows(_),c&&(_xeUtils.default.isFunction(c)?$.filename=c({options:n,$table:s,$grid:d}):$.filename=""+c),$.filename||($.filename=getI18n($.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),p&&(_xeUtils.default.isFunction(p)?$.sheetName=p({options:n,$table:s,$grid:d}):$.sheetName=""+p),$.sheetName||($.sheetName=document.title||""),!$.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(a._typeMaps),u))return(0,_log.errLog)("vxe.error.notType",[u]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(u)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if($.print||g&&g({options:$,$table:s,$grid:d}),!$.data)if($.data=[],"selected"===m){let t=s.getCheckboxRecords();-1<["html","pdf"].indexOf(u)&&o?$.data=_xeUtils.default.searchTree(s.getTableData().fullData,e=>-1<s.findRowIndexOf(t,e),Object.assign({},r,{data:"_row"})):$.data=t}else if("all"===m){if("development"!==process.env.NODE_ENV||d||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),d&&!$.remote){var y=d,n=d.computeProxyOpts,E=y.sortData;let{beforeQueryAll:e,afterQueryAll:o,ajax:t={}}=n,r=n.response||n.props||{};n=t.queryAll;let i=t.queryAllSuccess,a=t.queryAllError;if("development"!==process.env.NODE_ENV||n||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),n){let l={$table:s,$grid:d,sort:E.length?E[0]:{},sorts:E,filters:y.filterData,form:y.formData,options:$};return Promise.resolve((e||n)(l)).then(e=>{var t=r.list;return $.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(s,$)}).catch(e=>{a&&a(Object.assign(Object.assign({},l),{response:e}))})}}}else"current"===m&&($.data=l);return handleExport(s,$)},_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"development"!==process.env.NODE_ENV||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"development"!==process.env.NODE_ENV||this.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),handleExportAndPrint(this,Object.assign({},t,e),!0)}}};
|
|
@@ -168,13 +168,26 @@ var _default = exports.default = {
|
|
|
168
168
|
* 返回 Promise 对象,或者使用回调方式
|
|
169
169
|
*/
|
|
170
170
|
beginValidate(rows, cols, cb, isFull) {
|
|
171
|
+
const $xeTable = this;
|
|
172
|
+
const props = $xeTable;
|
|
173
|
+
const reactData = $xeTable;
|
|
174
|
+
const internalData = $xeTable;
|
|
171
175
|
const validRest = {};
|
|
172
176
|
const {
|
|
173
177
|
editRules,
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
+
treeConfig
|
|
179
|
+
} = props;
|
|
180
|
+
const {
|
|
181
|
+
editStore,
|
|
182
|
+
pendingRowMaps
|
|
183
|
+
} = reactData;
|
|
184
|
+
const {
|
|
185
|
+
afterFullData
|
|
186
|
+
} = internalData;
|
|
187
|
+
const {
|
|
188
|
+
removeMaps
|
|
189
|
+
} = editStore;
|
|
190
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
178
191
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
179
192
|
let validList;
|
|
180
193
|
if (rows === true) {
|
|
@@ -197,6 +210,15 @@ var _default = exports.default = {
|
|
|
197
210
|
if (editRules) {
|
|
198
211
|
const columns = cols && cols.length ? cols : this.getColumns();
|
|
199
212
|
const handleVaild = row => {
|
|
213
|
+
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
214
|
+
// 是否删除
|
|
215
|
+
if (removeMaps[rowid]) {
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
// 是否标记删除
|
|
219
|
+
if (pendingRowMaps[rowid]) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
200
222
|
if (isFull || !this.validRuleErr) {
|
|
201
223
|
const colVailds = [];
|
|
202
224
|
columns.forEach(column => {
|
|
@@ -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"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators}=_ui.VxeUI;class Rule{constructor(e){Object.defineProperty(this,"$options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validErrorRuleValue(e,t){var{type:e,min:l,max:i,pattern:r}=e,e="number"===e,s=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(l)&&s<_xeUtils.default.toNumber(l)||!_xeUtils.default.eqNull(i)&&s>_xeUtils.default.toNumber(i)||!(!r||(_xeUtils.default.isRegExp(r)?r:new RegExp(r)).test(t))}var _default=exports.default={methods:{_fullValidate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),this.beginValidate(e,null,t,!0)},_validate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["validate(rows, callback)","validate(rows)"]),this.beginValidate(e,null,t)},_fullValidateField(e,t){t=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e));return t.length?this.beginValidate(e,t,null,!0):this.$nextTick()},_validateField(e,t){t=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e));return t.length?this.beginValidate(e,t,null):this.$nextTick()},handleValidError(t){let l=this.validOpts;return new Promise(e=>{!1===l.autoPos?(this.emitEvent("valid-error",t),e()):this.handleEdit(t,{type:"valid-error",trigger:"call"}).then(()=>{setTimeout(()=>{e(this.showValidTooltip(t))},10)})})},handleErrMsgMode(e){var t,l=this.validOpts;return"single"===l.msgMode?(l={},(t=Object.keys(e)).length&&(l[t=t[0]]=e[t]),l):e},beginValidate(e,l,a,s){let o={},{editRules:
|
|
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"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators}=_ui.VxeUI;class Rule{constructor(e){Object.defineProperty(this,"$options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validErrorRuleValue(e,t){var{type:e,min:l,max:i,pattern:r}=e,e="number"===e,s=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(l)&&s<_xeUtils.default.toNumber(l)||!_xeUtils.default.eqNull(i)&&s>_xeUtils.default.toNumber(i)||!(!r||(_xeUtils.default.isRegExp(r)?r:new RegExp(r)).test(t))}var _default=exports.default={methods:{_fullValidate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),this.beginValidate(e,null,t,!0)},_validate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["validate(rows, callback)","validate(rows)"]),this.beginValidate(e,null,t)},_fullValidateField(e,t){t=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e));return t.length?this.beginValidate(e,t,null,!0):this.$nextTick()},_validateField(e,t){t=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e));return t.length?this.beginValidate(e,t,null):this.$nextTick()},handleValidError(t){let l=this.validOpts;return new Promise(e=>{!1===l.autoPos?(this.emitEvent("valid-error",t),e()):this.handleEdit(t,{type:"valid-error",trigger:"call"}).then(()=>{setTimeout(()=>{e(this.showValidTooltip(t))},10)})})},handleErrMsgMode(e){var t,l=this.validOpts;return"single"===l.msgMode?(l={},(t=Object.keys(e)).length&&(l[t=t[0]]=e[t]),l):e},beginValidate(e,l,a,s){let i=this;var t=i,r=i,o=i;let u={},{editRules:n,treeConfig:d}=t,{editStore:h,pendingRowMaps:c}=r;t=o.afterFullData;let g=h.removeMaps;r=i.computeTreeOpts,o=r.children||r.childrenField;let p,f=(!0===e?p=t:e&&(_xeUtils.default.isFunction(e)?a=e:p=_xeUtils.default.isArray(e)?e:[e]),p=p||this.getInsertRecords().concat(this.getUpdateRecords()),[]),v=(this.lastCallTime=Date.now(),this.validRuleErr=!1,this.clearValidate(),{});if(n){let t=l&&l.length?l:this.getColumns();r=r=>{var e=(0,_util.getRowid)(i,r);if(!g[e]&&!c[e]&&(s||!this.validRuleErr)){let e=[];t.forEach(l=>{let i=_xeUtils.default.isString(l)?l:l.field;!s&&this.validRuleErr||!_xeUtils.default.has(n,i)||e.push(this.validCellRules("all",r,l).catch(({rule:e,rules:t})=>{t={rule:e,rules:t,rowIndex:this.getRowIndex(r),row:r,columnIndex:this.getColumnIndex(l),column:l,field:i,$table:this};if(u[i]||(u[i]=[]),v[(0,_util.getRowid)(this,r)+":"+l.id]={column:l,row:r,rule:e,content:e.content},u[i].push(t),!s)return this.validRuleErr=!0,Promise.reject(t)}))}),f.push(Promise.all(e))}};return d?_xeUtils.default.eachTree(p,r,{children:o}):p.forEach(r),Promise.all(f).then(()=>{let e=Object.keys(u);return this.validErrorMaps=this.handleErrMsgMode(v),this.$nextTick().then(()=>{if(e.length)return Promise.reject(u[e[0]][0]);a&&a()})}).catch(s=>new Promise((e,t)=>{let l=()=>{this.$nextTick(()=>{a?(a(u),e()):("obsolete"===getConfig().validToReject?t:e)(u)})};var i,r=()=>{s.cell=this.getCellElement(s.row,s.column),(0,_dom.scrollToView)(s.cell),this.handleValidError(s).then(l)};!1===this.validOpts.autoPos?l():(i=s.row,this.scrollToRow(i,s.column).then(r))}))}return this.validErrorMaps={},this.$nextTick().then(()=>{a&&a()})},hasCellRules(t,e,l){var i=this.editRules,l=l.property;return!(!l||!i)&&(i=_xeUtils.default.get(i,l))&&_xeUtils.default.find(i,e=>"all"===t||!e.trigger||t===e.trigger)},validCellRules(e,d,h,t){var l=this.editRules,i=h.property;let c=[],g=[];if(i&&l){let n=_xeUtils.default.get(l,i);if(n){let u=_xeUtils.default.isUndefined(t)?_xeUtils.default.get(d,i):t;n.forEach(t=>{let{type:l,trigger:i,required:r,validator:s}=t;if("all"===e||!i||e===i)if(s){var a={cellValue:u,rule:t,rules:n,row:d,rowIndex:this.getRowIndex(d),column:h,columnIndex:this.getColumnIndex(h),field:h.property,$table:this};let e;_xeUtils.default.isString(s)?(o=validators.get(s))?(o=o.tableCellValidatorMethod||o.cellValidatorMethod)?e=o(a):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[s]):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notValidators",[s]):e=s(a),e&&(_xeUtils.default.isError(e)?(this.validRuleErr=!0,c.push(new Rule({type:"custom",trigger:i,content:e.message,rule:new Rule(t)}))):e.catch&&g.push(e.catch(e=>{this.validRuleErr=!0,c.push(new Rule({type:"custom",trigger:i,content:e&&e.message?e.message:t.content||t.message,rule:new Rule(t)}))})))}else{var o="array"===l,a=_xeUtils.default.isArray(u);let e=!0;e=o||a?!a||!u.length:_xeUtils.default.isString(u)?(0,_utils.eqEmptyValue)(u.trim()):(0,_utils.eqEmptyValue)(u),(r?e||validErrorRuleValue(t,u):!e&&validErrorRuleValue(t,u))&&(this.validRuleErr=!0,c.push(new Rule(t)))}})}}return Promise.all(g).then(()=>{var e;if(c.length)return e={rules:c,rule:c[0]},Promise.reject(e)})},_clearValidate(e,t){var{validOpts:l,validErrorMaps:i}=this,r=this.$refs.refValidTooltip,e=_xeUtils.default.isArray(e)?e:e?[e]:[];let s=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e)),a={};if(r&&r.visible&&r.close(),"single"===l.msgMode)this.validErrorMaps={};else{if(e.length&&s.length)a=Object.assign({},i),e.forEach(t=>{s.forEach(e=>{e=(0,_util.getRowid)(this,t)+":"+e.id;a[e]&&delete a[e]})});else if(e.length){let l=e.map(e=>""+(0,_util.getRowid)(this,e));_xeUtils.default.each(i,(e,t)=>{-1<l.indexOf(t.split(":")[0])&&(a[t]=e)})}else if(s.length){let l=s.map(e=>""+e.id);_xeUtils.default.each(i,(e,t)=>{-1<l.indexOf(t.split(":")[1])&&(a[t]=e)})}this.validErrorMaps=a}return this.$nextTick()},triggerValidate(r){let{editConfig:e,editStore:t,editRules:l,editOpts:s,validOpts:i}=this;var a=t.actived;if(l&&"single"===i.msgMode&&(this.validErrorMaps={}),e&&l&&a.row){let{row:t,column:l,cell:i}=a.args;if(this.hasCellRules(r,t,l))return this.validCellRules(r,t,l).then(()=>{"row"===s.mode&&this.clearValidate(t,l)}).catch(({rule:e})=>e.trigger&&r!==e.trigger?Promise.resolve():(e={rule:e,row:t,column:l,cell:i},this.showValidTooltip(e),Promise.reject(e)))}return Promise.resolve()},showValidTooltip(e){var{$refs:t,height:l,validStore:i,validErrorMaps:r,tableData:s,validOpts:a}=this,{rule:o,row:u,column:n,cell:d}=e,t=t.refValidTooltip,h=o.content;return i.visible=!0,"single"===a.msgMode?this.validErrorMaps={[(0,_util.getRowid)(this,u)+":"+n.id]:{column:n,row:u,rule:o,content:h}}:this.validErrorMaps=Object.assign({},r,{[(0,_util.getRowid)(this,u)+":"+n.id]:{column:n,row:u,rule:o,content:h}}),this.emitEvent("valid-error",e,null),t&&("tooltip"===a.message||"default"===a.message&&!l&&s.length<2)?t.open(d,h):this.$nextTick()}}};
|