vxe-table 3.11.35 → 3.11.37
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 +57 -33
- package/es/table/module/export/mixin.js +23 -20
- package/es/table/src/body.js +4 -4
- package/es/table/src/footer.js +4 -2
- package/es/table/src/header.js +4 -2
- package/es/table/src/methods.js +2 -2
- package/es/table/src/table.js +6 -3
- package/es/table/style.css +3 -25
- 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 +3 -25
- 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 +110 -64
- 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 +67 -33
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/export/mixin.js +22 -19
- package/lib/table/module/export/mixin.min.js +1 -1
- package/lib/table/src/body.js +4 -3
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +4 -1
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +4 -1
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/methods.js +2 -2
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +5 -3
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +3 -25
- 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 +3 -25
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/table/module/edit/mixin.ts +58 -33
- package/packages/table/module/export/mixin.ts +24 -20
- package/packages/table/src/body.ts +4 -3
- package/packages/table/src/footer.ts +4 -2
- package/packages/table/src/header.ts +4 -2
- package/packages/table/src/methods.ts +2 -2
- package/packages/table/src/table.ts +6 -3
- package/styles/components/table.scss +3 -22
- /package/es/{iconfont.1734517179309.ttf → iconfont.1734680280915.ttf} +0 -0
- /package/es/{iconfont.1734517179309.woff → iconfont.1734680280915.woff} +0 -0
- /package/es/{iconfont.1734517179309.woff2 → iconfont.1734680280915.woff2} +0 -0
- /package/lib/{iconfont.1734517179309.ttf → iconfont.1734680280915.ttf} +0 -0
- /package/lib/{iconfont.1734517179309.woff → iconfont.1734680280915.woff} +0 -0
- /package/lib/{iconfont.1734517179309.woff2 → iconfont.1734680280915.woff2} +0 -0
|
@@ -92,8 +92,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
|
|
|
92
92
|
}
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
|
-
function handleInsertRowAt(
|
|
96
|
-
const $xeTable = _vm;
|
|
95
|
+
function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
97
96
|
const props = $xeTable;
|
|
98
97
|
const reactData = $xeTable;
|
|
99
98
|
const internalData = $xeTable;
|
|
@@ -121,14 +120,14 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
|
|
|
121
120
|
if (!_xeUtils.default.isArray(records)) {
|
|
122
121
|
records = [records];
|
|
123
122
|
}
|
|
124
|
-
const newRecords =
|
|
123
|
+
const newRecords = $xeTable.defineField(records.map(record => Object.assign(treeConfig && transform ? {
|
|
125
124
|
[mapChildrenField]: [],
|
|
126
125
|
[childrenField]: []
|
|
127
126
|
} : {}, record)));
|
|
128
|
-
if (_xeUtils.default.eqNull(
|
|
127
|
+
if (_xeUtils.default.eqNull(targetRow)) {
|
|
129
128
|
// 如果为虚拟树
|
|
130
129
|
if (treeConfig && transform) {
|
|
131
|
-
insertTreeRow(
|
|
130
|
+
insertTreeRow($xeTable, newRecords, false);
|
|
132
131
|
} else {
|
|
133
132
|
newRecords.forEach(item => {
|
|
134
133
|
const rowid = (0, _util.getRowid)($xeTable, item);
|
|
@@ -160,10 +159,10 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
|
|
|
160
159
|
});
|
|
161
160
|
}
|
|
162
161
|
} else {
|
|
163
|
-
if (
|
|
162
|
+
if (targetRow === -1) {
|
|
164
163
|
// 如果为虚拟树
|
|
165
164
|
if (treeConfig && transform) {
|
|
166
|
-
insertTreeRow(
|
|
165
|
+
insertTreeRow($xeTable, newRecords, true);
|
|
167
166
|
} else {
|
|
168
167
|
newRecords.forEach(item => {
|
|
169
168
|
const rowid = (0, _util.getRowid)($xeTable, item);
|
|
@@ -198,7 +197,7 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
|
|
|
198
197
|
} else {
|
|
199
198
|
// 如果为虚拟树
|
|
200
199
|
if (treeConfig && transform) {
|
|
201
|
-
const matchMapObj = _xeUtils.default.findTree(tableFullTreeData, item =>
|
|
200
|
+
const matchMapObj = _xeUtils.default.findTree(tableFullTreeData, item => targetRow[rowField] === item[rowField], {
|
|
202
201
|
children: mapChildrenField
|
|
203
202
|
});
|
|
204
203
|
if (matchMapObj) {
|
|
@@ -206,10 +205,10 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
|
|
|
206
205
|
parent: parentRow
|
|
207
206
|
} = matchMapObj;
|
|
208
207
|
const parentMapChilds = parentRow ? parentRow[mapChildrenField] : tableFullTreeData;
|
|
209
|
-
const parentRest = fullAllDataRowIdData[(0, _util.getRowid)(
|
|
208
|
+
const parentRest = fullAllDataRowIdData[(0, _util.getRowid)($xeTable, parentRow)];
|
|
210
209
|
const parentLevel = parentRest ? parentRest.level : 0;
|
|
211
210
|
newRecords.forEach((item, i) => {
|
|
212
|
-
const rowid = (0, _util.getRowid)(
|
|
211
|
+
const rowid = (0, _util.getRowid)($xeTable, item);
|
|
213
212
|
if (process.env.NODE_ENV === 'development') {
|
|
214
213
|
if (item[treeOpts.parentField]) {
|
|
215
214
|
if (parentRow && item[treeOpts.parentField] !== parentRow[rowField]) {
|
|
@@ -242,7 +241,7 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
|
|
|
242
241
|
});
|
|
243
242
|
// 源
|
|
244
243
|
if (parentRow) {
|
|
245
|
-
const matchObj = _xeUtils.default.findTree(tableFullTreeData, item =>
|
|
244
|
+
const matchObj = _xeUtils.default.findTree(tableFullTreeData, item => targetRow[rowField] === item[rowField], {
|
|
246
245
|
children: childrenField
|
|
247
246
|
});
|
|
248
247
|
if (matchObj) {
|
|
@@ -258,7 +257,7 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
|
|
|
258
257
|
if (process.env.NODE_ENV === 'development') {
|
|
259
258
|
(0, _log.warnLog)('vxe.error.unableInsert');
|
|
260
259
|
}
|
|
261
|
-
insertTreeRow(
|
|
260
|
+
insertTreeRow($xeTable, newRecords, true);
|
|
262
261
|
}
|
|
263
262
|
} else {
|
|
264
263
|
if (treeConfig) {
|
|
@@ -266,12 +265,12 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
|
|
|
266
265
|
}
|
|
267
266
|
let afIndex = -1;
|
|
268
267
|
// 如果是可视索引
|
|
269
|
-
if (_xeUtils.default.isNumber(
|
|
270
|
-
if (
|
|
271
|
-
afIndex =
|
|
268
|
+
if (_xeUtils.default.isNumber(targetRow)) {
|
|
269
|
+
if (targetRow < afterFullData.length) {
|
|
270
|
+
afIndex = targetRow;
|
|
272
271
|
}
|
|
273
272
|
} else {
|
|
274
|
-
afIndex =
|
|
273
|
+
afIndex = $xeTable.findRowIndexOf(afterFullData, targetRow);
|
|
275
274
|
}
|
|
276
275
|
// 如果是插入指定行的下一行
|
|
277
276
|
if (isInsertNextRow) {
|
|
@@ -281,7 +280,7 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
|
|
|
281
280
|
throw new Error((0, _log.errLog)('vxe.error.unableInsert'));
|
|
282
281
|
}
|
|
283
282
|
afterFullData.splice(afIndex, 0, ...newRecords);
|
|
284
|
-
tableFullData.splice(
|
|
283
|
+
tableFullData.splice($xeTable.findRowIndexOf(tableFullData, targetRow), 0, ...newRecords);
|
|
285
284
|
// 刷新单元格合并
|
|
286
285
|
mergeList.forEach(mergeItem => {
|
|
287
286
|
const {
|
|
@@ -304,20 +303,20 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
|
|
|
304
303
|
const rowid = (0, _util.getRowid)($xeTable, newRow);
|
|
305
304
|
insertMaps[rowid] = newRow;
|
|
306
305
|
});
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
306
|
+
$xeTable.cacheRowMap();
|
|
307
|
+
$xeTable.updateScrollYStatus();
|
|
308
|
+
$xeTable.handleTableData(treeConfig && transform);
|
|
310
309
|
if (!(treeConfig && transform)) {
|
|
311
|
-
|
|
310
|
+
$xeTable.updateAfterDataIndex();
|
|
312
311
|
}
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
if (
|
|
316
|
-
|
|
312
|
+
$xeTable.updateFooter();
|
|
313
|
+
$xeTable.checkSelectionStatus();
|
|
314
|
+
if ($xeTable.scrollYLoad) {
|
|
315
|
+
$xeTable.updateScrollYSpace();
|
|
317
316
|
}
|
|
318
|
-
return
|
|
319
|
-
|
|
320
|
-
return
|
|
317
|
+
return $xeTable.$nextTick().then(() => {
|
|
318
|
+
$xeTable.updateCellAreas();
|
|
319
|
+
return $xeTable.recalculate();
|
|
321
320
|
}).then(() => {
|
|
322
321
|
return {
|
|
323
322
|
row: newRecords.length ? newRecords[newRecords.length - 1] : null,
|
|
@@ -325,6 +324,32 @@ function handleInsertRowAt(_vm, records, row, isInsertNextRow) {
|
|
|
325
324
|
};
|
|
326
325
|
});
|
|
327
326
|
}
|
|
327
|
+
function handleInsertChildRowAt($xeTable, records, parentRow, targetRow, isInsertNextRow) {
|
|
328
|
+
const props = $xeTable;
|
|
329
|
+
const {
|
|
330
|
+
treeConfig
|
|
331
|
+
} = props;
|
|
332
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
333
|
+
const {
|
|
334
|
+
transform,
|
|
335
|
+
rowField,
|
|
336
|
+
parentField
|
|
337
|
+
} = treeOpts;
|
|
338
|
+
if (treeConfig && transform) {
|
|
339
|
+
if (!_xeUtils.default.isArray(records)) {
|
|
340
|
+
records = [records];
|
|
341
|
+
}
|
|
342
|
+
return handleInsertRowAt($xeTable, records.map(item => Object.assign({}, item, {
|
|
343
|
+
[parentField]: parentRow[rowField]
|
|
344
|
+
})), targetRow, isInsertNextRow);
|
|
345
|
+
} else {
|
|
346
|
+
(0, _log.errLog)('vxe.error.errProp', ['tree-config.treeConfig=false', 'tree-config.treeConfig=true']);
|
|
347
|
+
}
|
|
348
|
+
return Promise.resolve({
|
|
349
|
+
row: null,
|
|
350
|
+
rows: []
|
|
351
|
+
});
|
|
352
|
+
}
|
|
328
353
|
var _default = exports.default = {
|
|
329
354
|
methods: {
|
|
330
355
|
/**
|
|
@@ -341,14 +366,23 @@ var _default = exports.default = {
|
|
|
341
366
|
* 如果 row 为 -1 则从插入到底部
|
|
342
367
|
* 如果 row 为有效行则插入到该行的位置
|
|
343
368
|
* @param {Object/Array} records 新的数据
|
|
344
|
-
* @param {Row}
|
|
369
|
+
* @param {Row} targetRow 指定行
|
|
345
370
|
* @returns
|
|
346
371
|
*/
|
|
347
|
-
_insertAt(records,
|
|
348
|
-
return handleInsertRowAt(this, records,
|
|
372
|
+
_insertAt(records, targetRow) {
|
|
373
|
+
return handleInsertRowAt(this, records, targetRow);
|
|
374
|
+
},
|
|
375
|
+
_insertNextAt(records, targetRow) {
|
|
376
|
+
return handleInsertRowAt(this, records, targetRow, true);
|
|
377
|
+
},
|
|
378
|
+
_insertChild(records, parentRow) {
|
|
379
|
+
return handleInsertChildRowAt(this, records, parentRow, null);
|
|
380
|
+
},
|
|
381
|
+
_insertChildAt(records, parentRow, targetRow) {
|
|
382
|
+
return handleInsertChildRowAt(this, records, parentRow, targetRow);
|
|
349
383
|
},
|
|
350
|
-
|
|
351
|
-
return
|
|
384
|
+
_insertChildNextAt(records, parentRow, targetRow) {
|
|
385
|
+
return handleInsertChildRowAt(this, records, parentRow, targetRow, true);
|
|
352
386
|
},
|
|
353
387
|
/**
|
|
354
388
|
* 删除指定行数据
|
|
@@ -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:a,afterFullData:n,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 i=(0,_util.getRowid)(s,l),r=t?_xeUtils.default.findTree(a,e=>t===e[u],{children:f}):null;if(r){var r=r.item,o=c[(0,_util.getRowid)(s,r)],o=o?o.level:0;let e=r[g],t=r[f];_xeUtils.default.isArray(e)||(e=r[g]=[]),_xeUtils.default.isArray(t)||(t=r[g]=[]),e[w](l),t[w](l);r={row:l,rowid:i,seq:-1,index:-1,_index:-1,$index:-1,items:e,parent:r,level:o+1,height:0};d[i]=r,c[i]=r}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),n[w](l),a[w](l);o={row:l,rowid:i,seq:-1,index:-1,_index:-1,$index:-1,items:a,parent:null,level:0,height:0};d[i]=o,c[i]=o}})}function handleInsertRowAt(n,t,l,d){let i=n;var e=i,r=i,c=i;let o=e.treeConfig;var{mergeList:e,editStore:r}=r;let{tableFullTreeData:u,afterFullData:s,tableFullData:a,fullDataRowIdData:h,fullAllDataRowIdData:f}=c,g=i.computeTreeOpts,{transform:w,rowField:v,mapChildrenField:m}=g,_=g.children||g.childrenField,p=(_xeUtils.default.isArray(t)||(t=[t]),n.defineField(t.map(e=>Object.assign(o&&w?{[m]:[],[_]:[]}:{},e))));if(_xeUtils.default.eqNull(l))o&&w?insertTreeRow(n,p,!1):(p.forEach(e=>{var t=(0,_util.getRowid)(i,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,items:s,parent:null,level:0,height:0};h[t]=l,f[t]=l,s.unshift(e),a.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+p.length)}));else if(-1===l)o&&w?insertTreeRow(n,p,!0):(p.forEach(e=>{var t=(0,_util.getRowid)(i,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,items:s,parent:null,level:0,height:0};h[t]=l,f[t]=l,s.push(e),a.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>s.length&&(e.rowspan=l+p.length)}));else if(o&&w){let a=_xeUtils.default.findTree(u,e=>l[v]===e[v],{children:m});if(a){let r=a.parent,o=r?r[m]:u;c=f[(0,_util.getRowid)(n,r)];let s=c?c.level:0;if(p.forEach((e,t)=>{var l=(0,_util.getRowid)(n,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&r&&e[g.parentField]!==r[v]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+r[v]]),r&&(e[g.parentField]=r[v]);let i=a.index+t;d&&(i+=1),o.splice(i,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,items:o,parent:r,level:s+1,height:0};h[l]=t,f[l]=t}),r){t=_xeUtils.default.findTree(u,e=>l[v]===e[v],{children:_});if(t){c=t.items;let e=t.index;d&&(e+=1),c.splice(e,0,...p)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(n,p,!0)}else{if(o)throw new Error(getI18n("vxe.error.noTree",["insert"]));let i=-1;if(_xeUtils.default.isNumber(l)?l<s.length&&(i=l):i=n.findRowIndexOf(s,l),-1===(i=d?Math.min(s.length,i+1):i))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));s.splice(i,0,...p),a.splice(n.findRowIndexOf(a,l),0,...p),e.forEach(e=>{var{row:t,rowspan:l}=e;t>i?e.row=t+p.length:t+l>i&&(e.rowspan=l+p.length)})}let x=r.insertMaps;return p.forEach(e=>{var t=(0,_util.getRowid)(i,e);x[t]=e}),n.cacheRowMap(),n.updateScrollYStatus(),n.handleTableData(o&&w),o&&w||n.updateAfterDataIndex(),n.updateFooter(),n.checkSelectionStatus(),n.scrollYLoad&&n.updateScrollYSpace(),n.$nextTick().then(()=>(n.updateCellAreas(),n.recalculate())).then(()=>({row:p.length?p[p.length-1]:null,rows:p}))}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)},_remove(e){let t=this;var l=t,i=t,r=t,l=l.treeConfig;let{mergeList:o,editStore:s,selectCheckboxMaps:a}=i,{tableFullTreeData:n,afterFullData:d,tableFullData:c}=r;var r=t.computeCheckboxOpts,u=t.computeTreeOpts;let{transform:h,mapChildrenField:f}=u,g=u.children||u.childrenField,{actived:w,removeList:v,insertMaps:m}=s;u=r.checkField;let _=[];if(e?_xeUtils.default.isArray(e)||(e=[e]):e=c,e.forEach(e=>{t.isInsertByRow(e)||v.push(e)}),!u){let t=Object.assign({},a);e.forEach(e=>{e=(0,_util.getRowid)(this,e);t[e]&&delete t[e]}),this.selectCheckboxMaps=t}return c===e?(e=_=c.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(n,e=>t===(0,_util.getRowid)(this,e),{children:f}),l=(l&&(l=l.items.splice(l.index,1),_.push(l[0])),_xeUtils.default.findTree(n,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),_.push(t[0]));let i=this.findRowIndexOf(d,e);-1<i&&(o.forEach(e=>{var{row:t,rowspan:l}=e;t>i?e.row=t-1:t+l>i&&(e.rowspan=l-1)}),d.splice(i,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(),t.handleTableData(l&&h),l&&h||t.updateAfterDataIndex(),t.checkSelectionStatus(),i.scrollYLoad&&t.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:_.length?_[_.length-1]:null,rows:_}))},_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 i=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:i,pendingRecords:t}},_getInsertRecords(){var e=this.editStore;let l=this.fullAllDataRowIdData;e=e.insertMaps;let i=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&i.push(e)}),i},_getRemoveRecords(){return this.editStore.removeList},_getUpdateRecords(){let{keepSource:e,tableFullData:t,isUpdateByRow:l,treeConfig:i,treeOpts:r,editStore:o}=this;var s,a;return e?(s=o.actived,{row:s,column:a}=s,(s||a)&&this._syncActivedCell(),i?_xeUtils.default.filterTree(t,e=>l(e),r):t.filter(e=>l(e))):[]},handleEdit(l,i){var{editStore:r,editOpts:o,tableColumn:s,editConfig:e,mouseConfig:a}=this,n=o.mode,{actived:r,focused:t}=r;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(r.row!==d||"cell"===n&&r.column!==c){let t="edit-disabled";if(!f||f(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))){a&&(this.clearSelected(i),this.clearCellAreas(i),this.clearCopyCellArea(i)),this.closeTooltip(),r.column&&this.handleClearEdit(i),t="edit-activated",c.renderHeight=h.offsetHeight,r.args=l,r.row=d,r.column=c,"row"===n?s.forEach(e=>this._getColumnModel(d,e)):this._getColumnModel(d,c);let e=o.afterEditMethod;this.$nextTick(()=>{this.handleFocus(l,i),e&&e(Object.assign(Object.assign({},l),{$table:this,$grid:this.$xegrid}))})}this.emitEvent(t,l,i),"edit-activated"===t&&this.emitEvent("edit-actived",l,i)}else{e=r.column;a&&(this.clearSelected(i),this.clearCellAreas(i),this.clearCopyCellArea(i)),e!==c&&(u=e.model,u.update&&(0,_util.setCellValue)(d,e,u.value),this.clearValidate()),c.renderHeight=h.offsetHeight,r.args=l,r.column=c,setTimeout(()=>{this.handleFocus(l,i)})}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:i}=t;i&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)},_setColumnModel(e,t){var{model:l,editRender:i}=t;i&&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:i,column:r}=t;(i||r)&&("row"===l.mode?e.forEach(e=>this._setColumnModel(i,e)):this._setColumnModel(i,r))},_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 i=l,r=l;let o=i.mouseConfig;var i=r.editStore,{actived:r,focused:i}=i,{row:s,column:a}=r,n=l.validOpts;let d=l.computeMouseOpts;if(s||a){if(t&&(0,_util.getRowid)(l,t)!==(0,_util.getRowid)(l,s))return l.$nextTick();l._syncActivedCell(),r.args=null,r.row=null,r.column=null,l.updateFooter(),l.emitEvent("edit-closed",{row:s,rowIndex:l.getRowIndex(s),$rowIndex:l.getVMRowIndex(s),column:a,columnIndex:l.getColumnIndex(a),$columnIndex:l.getVMColumnIndex(a)},e)}return i.row=null,i.column=null,l.$nextTick(()=>{if(o&&d.area&&l.handleRecalculateCellAreas)return l.handleRecalculateCellAreas()}),n.autoClear&&("full"!==n.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:i}=t;return t&&-1<this.findRowIndexOf(l,i)&&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(i){var r=this.editOpts,{row:o,column:s,cell:a}=i,n=s.editRender;if((0,_utils.isEnableConf)(n)){var d=renderer.get(n.name);let e=n.autofocus||n.autoFocus,t=n.autoSelect||n.autoselect,l;r.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,i):e&&(l=!0===e?a.querySelector("input,textarea"):a.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((n=l.createTextRange()).collapse(!1),n.select()):r.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 i=_xeUtils.default.isString(e)?this.getColumnByField(e):e;return t&&i&&(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(i.editRender)?this.scrollToRow(t,!0).then(()=>{var e=this.getCellElement(t,i);e&&(this.handleEdit({row:t,rowIndex:this.getRowIndex(t),column:i,columnIndex:this.getColumnIndex(i),cell:e,$table:this}),this.lastCallTime=Date.now())}):this.$nextTick()},_setSelectCell(e,t){var{tableData:l,editOpts:i,visibleColumn:r}=this,t=_xeUtils.default.isString(t)?this.getColumnByField(t):t;return e&&t&&"manual"!==i.trigger&&-1<(i=this.findRowIndexOf(l,e))&&(l=this.getCellElement(e,t),e={row:e,rowIndex:i,column:t,columnIndex:r.indexOf(t),cell:l},this.handleSelected(e,{})),this.$nextTick()},handleSelected(e,t){let{mouseConfig:l,mouseOpts:i,editOpts:r,editStore:o}=this,{actived:s,selected:a}=o,{row:n,column:d}=e,c=l&&i.selected;return!c||a.row===n&&a.column===d||(s.row!==n||"cell"===r.mode&&s.column!==d)&&(this.handleClearEdit(t),this.clearSelected(t),this.clearCellAreas(t),this.clearCopyCellArea(t),a.args=e,a.row=n,a.column=d,c&&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 insertTreeRow(s,e,t){let{tableFullTreeData:n,afterFullData:a,fullDataRowIdData:d,fullAllDataRowIdData:u,treeOpts:l}=s,{rowField:c,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[c],{children:f}):null;if(i){var i=i.item,o=u[(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,items:e,parent:i,level:o+1,height: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,items:n,parent:null,level:0,height: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,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,items:o,parent:null,level:0,height: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,items:o,parent:null,level:0,height: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[g]===e[g],{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[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,items:o,parent:i,level:s+1,height:0};c[l]=t,h[l]=t}),i){t=_xeUtils.default.findTree(u,e=>l[g]===e[g],{children:v});if(t){var _=t.items;let e=t.index;d&&(e+=1),_.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),s.splice(a.findRowIndexOf(s,l),0,...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 p=r.insertMaps;return m.forEach(e=>{var t=(0,_util.getRowid)(a,e);p[t]=e}),a.cacheRowMap(),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:f}=c,g=c.children||c.childrenField,{actived:w,removeList:v,insertMaps:m}=s;c=i.checkField;let _=[];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=_=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:f}),l=(l&&(l=l.items.splice(l.index,1),_.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(u,e);-1<t&&(t=u.splice(t,1),_.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(),t.handleTableData(l&&h),l&&h||t.updateAfterDataIndex(),t.checkSelectionStatus(),r.scrollYLoad&&t.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:_.length?_[_.length-1]:null,rows:_}))},_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),f=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(!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",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")}}};
|
|
@@ -67,7 +67,10 @@ function toTableBorder(border) {
|
|
|
67
67
|
function toBooleanValue(cellValue) {
|
|
68
68
|
return _xeUtils.default.isBoolean(cellValue) ? cellValue ? 'TRUE' : 'FALSE' : cellValue;
|
|
69
69
|
}
|
|
70
|
-
|
|
70
|
+
const toStringValue = cellValue => {
|
|
71
|
+
return (0, _utils.eqEmptyValue)(cellValue) ? '' : `${cellValue}`;
|
|
72
|
+
};
|
|
73
|
+
function getBodyLabelData($xeTable, opts, columns, datas) {
|
|
71
74
|
const {
|
|
72
75
|
isAllExpand,
|
|
73
76
|
mode
|
|
@@ -78,7 +81,7 @@ function getBodyLabelData($xetable, opts, columns, datas) {
|
|
|
78
81
|
radioOpts,
|
|
79
82
|
checkboxOpts,
|
|
80
83
|
columnOpts
|
|
81
|
-
} = $
|
|
84
|
+
} = $xeTable;
|
|
82
85
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
83
86
|
if (!htmlCellElem) {
|
|
84
87
|
htmlCellElem = document.createElement('div');
|
|
@@ -90,13 +93,13 @@ function getBodyLabelData($xetable, opts, columns, datas) {
|
|
|
90
93
|
_xeUtils.default.eachTree(datas, (item, $rowIndex, items, path, parent, nodes) => {
|
|
91
94
|
const row = item._row || item;
|
|
92
95
|
const parentRow = parent && parent._row ? parent._row : parent;
|
|
93
|
-
if (isAllExpand || !parentRow || expandMaps.has(parentRow) && $
|
|
94
|
-
const hasRowChild = hasTreeChildren($
|
|
96
|
+
if (isAllExpand || !parentRow || expandMaps.has(parentRow) && $xeTable.isTreeExpandByRow(parentRow)) {
|
|
97
|
+
const hasRowChild = hasTreeChildren($xeTable, row);
|
|
95
98
|
const item = {
|
|
96
99
|
_row: row,
|
|
97
100
|
_level: nodes.length - 1,
|
|
98
101
|
_hasChild: hasRowChild,
|
|
99
|
-
_expand: hasRowChild && $
|
|
102
|
+
_expand: hasRowChild && $xeTable.isTreeExpandByRow(row)
|
|
100
103
|
};
|
|
101
104
|
columns.forEach((column, $columnIndex) => {
|
|
102
105
|
let cellValue = '';
|
|
@@ -113,7 +116,7 @@ function getBodyLabelData($xetable, opts, columns, datas) {
|
|
|
113
116
|
}
|
|
114
117
|
if (bodyExportMethod) {
|
|
115
118
|
cellValue = bodyExportMethod({
|
|
116
|
-
$table: $
|
|
119
|
+
$table: $xeTable,
|
|
117
120
|
row,
|
|
118
121
|
column,
|
|
119
122
|
options: opts
|
|
@@ -123,18 +126,18 @@ function getBodyLabelData($xetable, opts, columns, datas) {
|
|
|
123
126
|
case 'seq':
|
|
124
127
|
{
|
|
125
128
|
const seqValue = path.map((num, i) => i % 2 === 0 ? Number(num) + 1 : '.').join('');
|
|
126
|
-
cellValue = mode === 'all' ? seqValue : getSeq($
|
|
129
|
+
cellValue = mode === 'all' ? seqValue : getSeq($xeTable, seqValue, row, $rowIndex, column, $columnIndex);
|
|
127
130
|
break;
|
|
128
131
|
}
|
|
129
132
|
case 'checkbox':
|
|
130
|
-
cellValue = toBooleanValue($
|
|
133
|
+
cellValue = toBooleanValue($xeTable.isCheckedByCheckboxRow(row));
|
|
131
134
|
item._checkboxLabel = checkboxOpts.labelField ? _xeUtils.default.get(row, checkboxOpts.labelField) : '';
|
|
132
135
|
item._checkboxDisabled = checkboxOpts.checkMethod && !checkboxOpts.checkMethod({
|
|
133
136
|
row
|
|
134
137
|
});
|
|
135
138
|
break;
|
|
136
139
|
case 'radio':
|
|
137
|
-
cellValue = toBooleanValue($
|
|
140
|
+
cellValue = toBooleanValue($xeTable.isCheckedByRadioRow(row));
|
|
138
141
|
item._radioLabel = radioOpts.labelField ? _xeUtils.default.get(row, radioOpts.labelField) : '';
|
|
139
142
|
item._radioDisabled = radioOpts.checkMethod && !radioOpts.checkMethod({
|
|
140
143
|
row
|
|
@@ -144,12 +147,12 @@ function getBodyLabelData($xetable, opts, columns, datas) {
|
|
|
144
147
|
if (opts.original) {
|
|
145
148
|
cellValue = (0, _util.getCellValue)(row, column);
|
|
146
149
|
} else {
|
|
147
|
-
cellValue = $
|
|
150
|
+
cellValue = $xeTable.getCellLabel(row, column);
|
|
148
151
|
if (column.type === 'html') {
|
|
149
152
|
htmlCellElem.innerHTML = cellValue;
|
|
150
153
|
cellValue = htmlCellElem.innerText.trim();
|
|
151
154
|
} else {
|
|
152
|
-
const cell = $
|
|
155
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
153
156
|
if (cell) {
|
|
154
157
|
cellValue = cell.innerText.trim();
|
|
155
158
|
}
|
|
@@ -157,7 +160,7 @@ function getBodyLabelData($xetable, opts, columns, datas) {
|
|
|
157
160
|
}
|
|
158
161
|
}
|
|
159
162
|
}
|
|
160
|
-
item[column.id] =
|
|
163
|
+
item[column.id] = toStringValue(cellValue);
|
|
161
164
|
});
|
|
162
165
|
expandMaps.set(row, 1);
|
|
163
166
|
rest.push(Object.assign(item, row));
|
|
@@ -186,7 +189,7 @@ function getBodyLabelData($xetable, opts, columns, datas) {
|
|
|
186
189
|
}
|
|
187
190
|
if (bodyExportMethod) {
|
|
188
191
|
cellValue = bodyExportMethod({
|
|
189
|
-
$table: $
|
|
192
|
+
$table: $xeTable,
|
|
190
193
|
row,
|
|
191
194
|
column,
|
|
192
195
|
options: opts
|
|
@@ -196,18 +199,18 @@ function getBodyLabelData($xetable, opts, columns, datas) {
|
|
|
196
199
|
case 'seq':
|
|
197
200
|
{
|
|
198
201
|
const seqValue = $rowIndex + 1;
|
|
199
|
-
cellValue = mode === 'all' ? seqValue : getSeq($
|
|
202
|
+
cellValue = mode === 'all' ? seqValue : getSeq($xeTable, seqValue, row, $rowIndex, column, $columnIndex);
|
|
200
203
|
break;
|
|
201
204
|
}
|
|
202
205
|
case 'checkbox':
|
|
203
|
-
cellValue = toBooleanValue($
|
|
206
|
+
cellValue = toBooleanValue($xeTable.isCheckedByCheckboxRow(row));
|
|
204
207
|
item._checkboxLabel = checkboxOpts.labelField ? _xeUtils.default.get(row, checkboxOpts.labelField) : '';
|
|
205
208
|
item._checkboxDisabled = checkboxOpts.checkMethod && !checkboxOpts.checkMethod({
|
|
206
209
|
row
|
|
207
210
|
});
|
|
208
211
|
break;
|
|
209
212
|
case 'radio':
|
|
210
|
-
cellValue = toBooleanValue($
|
|
213
|
+
cellValue = toBooleanValue($xeTable.isCheckedByRadioRow(row));
|
|
211
214
|
item._radioLabel = radioOpts.labelField ? _xeUtils.default.get(row, radioOpts.labelField) : '';
|
|
212
215
|
item._radioDisabled = radioOpts.checkMethod && !radioOpts.checkMethod({
|
|
213
216
|
row
|
|
@@ -217,12 +220,12 @@ function getBodyLabelData($xetable, opts, columns, datas) {
|
|
|
217
220
|
if (opts.original) {
|
|
218
221
|
cellValue = (0, _util.getCellValue)(row, column);
|
|
219
222
|
} else {
|
|
220
|
-
cellValue = $
|
|
223
|
+
cellValue = $xeTable.getCellLabel(row, column);
|
|
221
224
|
if (column.type === 'html') {
|
|
222
225
|
htmlCellElem.innerHTML = cellValue;
|
|
223
226
|
cellValue = htmlCellElem.innerText.trim();
|
|
224
227
|
} else {
|
|
225
|
-
const cell = $
|
|
228
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
226
229
|
if (cell) {
|
|
227
230
|
cellValue = cell.innerText.trim();
|
|
228
231
|
}
|
|
@@ -230,7 +233,7 @@ function getBodyLabelData($xetable, opts, columns, datas) {
|
|
|
230
233
|
}
|
|
231
234
|
}
|
|
232
235
|
}
|
|
233
|
-
item[column.id] =
|
|
236
|
+
item[column.id] = toStringValue(cellValue);
|
|
234
237
|
});
|
|
235
238
|
return item;
|
|
236
239
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.handlePrint=handlePrint,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,printFrame,csvBOM="\ufeff",enterSymbol="\r\n";function createFrame(){var e=document.createElement("iframe");return e.className="vxe-table--print-frame",e}function hasTreeChildren(e,t){e=e.treeOpts,e=e.children||e.childrenField;return t[e]&&0<t[e].length}function getSeq(e,t,l,r,o,a){var i=e.seqOpts.seqMethod||o.seqMethod;return i?i({row:l,rowIndex:e.getRowIndex(l),$rowIndex:r,column:o,columnIndex:e.getColumnIndex(o),$columnIndex:a}):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}function getBodyLabelData(c,p,u,e){let{isAllExpand:i,mode:m}=p,{treeConfig:t,treeOpts:l,radioOpts:h,checkboxOpts:f,columnOpts:x}=c;var r=l.children||l.childrenField;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){let o=[],a=new Map;return _xeUtils.default.eachTree(e,(e,n,t,s,l,r)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(i||!e||a.has(e)&&c.isTreeExpandByRow(e)){l=hasTreeChildren(c,d);let i={_row:d,_level:r.length-1,_hasChild:l,_expand:l&&c.isTreeExpandByRow(d)};u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod||r.cellExportMethod:o)||x.exportMethod)l=o({$table:c,row:d,column:e,options:p});else switch(e.type){case"seq":var a=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===m?a:getSeq(c,a,d,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(d)),i._checkboxLabel=f.labelField?_xeUtils.default.get(d,f.labelField):"",i._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:d});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(d)),i._radioLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",i._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()):(a=c.getCellElement(d,e))&&(l=a.innerText.trim()))}i[e.id]=_xeUtils.default.toValueString(l)}),a.set(d,1),o.push(Object.assign(i,d))}},{children:r}),o}return e.map((i,n)=>{let s={_row:i};return u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod||r.cellExportMethod:o)||x.exportMethod)l=o({$table:c,row:i,column:e,options:p});else switch(e.type){case"seq":var a=n+1;l="all"===m?a:getSeq(c,a,i,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(i)),s._checkboxLabel=f.labelField?_xeUtils.default.get(i,f.labelField):"",s._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:i});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(i)),s._radioLabel=h.labelField?_xeUtils.default.get(i,h.labelField):"",s._radioDisabled=h.checkMethod&&!h.checkMethod({row:i});break;default:p.original?l=(0,_util.getCellValue)(i,e):(l=c.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=c.getCellElement(i,e))&&(l=a.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(l)}),s})}function getExportData(e,t){let{columns:l,dataFilterMethod:r}=t,o=t.data;return getBodyLabelData(e,t,l,o=r?o.filter((e,t)=>r({row:e,$rowIndex:t})):o)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var r=e.columnOpts,r=l.headerExportMethod||r.headerExportMethod;return r?r({column:l,options:t,$table:e}):(t.original?l.field:l.getTitle())||""}function getFooterCellValue(e,t,l,r){var o=e.columnOpts,a=r.editRender||r.cellRender;let i=r.footerExportMethod;i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||o.footerExportMethod;a=e.getVTColumnIndex(r);return i?i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:r,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[a]):_xeUtils.default.get(l,r.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,r,e,t){let o=csvBOM;return r.isHeader&&(o+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join(",")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join(",")+enterSymbol})),o}function toTxt(l,r,e,t){let o="";return r.isHeader&&(o+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join("\t")+enterSymbol})),o}function hasEllipsis(e,t,l,r){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?r:t;let o="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;return o=e.scrollXLoad||e.scrollYLoad?o||!0:o}function toHtml(d,n,e,t){let{id:c,border:l,treeConfig:r,treeOpts:a,isAllSelected:s,isIndeterminate:o,headerAlign:p,align:u,footerAlign:i,showOverflow:m,showHeaderOverflow:h,mergeList:f}=d,{print:x,isHeader:g,isFooter:v,isColgroup:b,isMerge:_,colgroups:y,original:$}=n,w="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"]:[],r=getHeaderTitle(d,n,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${i}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${x?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!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"]:[],r=getHeaderTitle(d,n,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),E.push("</thead>")),t.length&&(E.push("<tbody>"),r?t.forEach(o=>{E.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",m)?["col--ellipsis"]:[],r=o[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._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="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${r}</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}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!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"]:[],r=s[e.id];let o=1,a=1;if(_&&f.length){var i=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),i=(0,_util.mergeBodyMethod)(f,i,n);if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(o=n),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),E.push("</tbody>")),v&&(t=d.footerTableData,(t=getFooterData(n,t)).length)&&(E.push("<tfoot>"),t.forEach(o=>{E.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||i||u,l=hasEllipsis(d,e,"showOverflow",m)?["col--ellipsis"]:[],r=getFooterCellValue(d,n,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),E.push("</tfoot>"));t=!s&&o?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return E.push("</table>",t),x?E.join(""):(0,_util2.createHtmlPage)(n,E.join(""))}function toXML(l,r,e,t){let o=['<?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="${r.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return r.isHeader&&(o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,r,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{o+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,r,t,e)}</Data></Cell>`).join("")}</Row>`})),o+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,r){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,r);case"txt":return toTxt(e,t,l,r);case"html":return toHtml(e,t,l,r);case"xml":return toXML(e,t,l,r)}return""}function saveLocalFile(e){var{filename:l,type:r,content:t}=e,l=l+"."+r;if(window.Blob){r=t instanceof Blob?t:(0,_util2.getExportBlobByContent)(_xeUtils.default.toValueString(t),e);if(navigator.msSaveBlob)navigator.msSaveBlob(r,l);else{let e=URL.createObjectURL(r),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:r,type:o,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:o,content:l,blob:a});saveLocalFile({filename:r,type:o,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,r){let{remote:o,columns:a,colgroups:i,exportMethod:n,afterExportMethod:t}=r;return new Promise(t=>{if(o){var e={options:r,$table:l,$grid:l.$xegrid};t(n?n(e):e)}else{let e=getExportData(l,r);t(l.preventEvent(null,"event.export",{options:r,columns:a,colgroups:i,datas:e},()=>downloadFile(l,r,getContent(l,r,a,e))))}}).then(e=>(clearColumnConvert(a),r.print||t&&t({status:!0,options:r,$table:l,$grid:l.$xegrid}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(a),r.print||t&&t({status:!1,options:r,$table:l,$grid:l.$xegrid});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 parseCsvAndTxt(e,t,a){t=t.split(enterSymbol);let i=[],n=[];if(t.length){let r={},o=Date.now();t.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e,r))}),i.push(l)):n=e.map(e=>getTxtCellValue(e.trim(),r))}})}return{fields:n,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");let r=[],o=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");let r=[],o=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{o.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function checkImportData(e,t){let l=[];return e.forEach(e=>{e=e.field;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}function handleImport(l,e,r){let{tableFullColumn:t,_importResolve:o,_importReject:a}=l,i={fields:[],rows:[]};switch(r.type){case"csv":i=parseCsv(t,e);break;case"txt":i=parseTxt(t,e);break;case"html":i=parseHTML(t,e);break;case"xml":i=parseXML(t,e)}let{fields:n,rows:s}=i;checkImportData(t,n)?l.createData(s).then(e=>{let t;return"insert"!==r.mode&&"insertBottom"!==r.mode||(t=l.insertAt(e,-1)),t="insertTop"===r.mode?l.insert(e):l.reloadData(e),!1!==r.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",[s.length]),status:"success"})),t.then(()=>{o&&o({status:!0})})}):!1!==r.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"}),a)&&a({status:!1})}function handleFileImport(o,a,i){var e=o.importOpts;let{importMethod:n,afterImportMethod:t}=i,{type:s,filename:d}=(0,_utils.parseFile)(a);return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),s)?new Promise((t,l)=>{let e=e=>{t(e),o._importResolve=null,o._importReject=null},r=e=>{l(e),o._importResolve=null,o._importReject=null};if(o._importResolve=e,o._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:s,filename:d});t.remote?n?Promise.resolve(n({file:a,options:t,$table:o})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):o.preventEvent(null,"event.import",{file:a,options:t,columns:o.tableFullColumn},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[s]),r({status:!1})},e.onload=e=>{handleImport(o,e.target.result,t)},e.readAsText(a,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:i,$table:o})}).catch(e=>(t&&t({status:!1,options:i,$table:o}),Promise.reject(e))):(!1!==i.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((o,a)=>{let i=s.types||[],n=!i.length||i.some(e=>"*"===e);fileInput.multiple=!!s.multiple,fileInput.accept=n?"":"."+i.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 r=(0,_utils.parseFile)(t[e]).type;if(!_xeUtils.default.includes(i,r)){l=r;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"})),a({status:!1,files:t,file:e})):o({status:!0,files:t,file:e})},fileForm.reset(),fileInput.click()})}function removePrintFrame(){if(printFrame){if(printFrame.parentNode){try{printFrame.contentDocument.write("")}catch(e){}printFrame.parentNode.removeChild(printFrame)}printFrame=null}}function appendPrintFrame(){printFrame.parentNode||document.body.appendChild(printFrame)}function afterPrintEvent(){requestAnimationFrame(removePrintFrame)}function handlePrint(e,t,l){var r=t.beforePrintMethod,r=(r&&(l=r({content:l,options:t,$table:e})||""),l=(0,_util2.createHtmlPage)(t,l),(0,_util2.getExportBlobByContent)(l,t));_dom.browse.msie?(removePrintFrame(),printFrame=createFrame(),appendPrintFrame(),printFrame.contentDocument.write(l),printFrame.contentDocument.execCommand("print")):(printFrame||((printFrame=createFrame()).onload=e=>{e.target.src&&(e.target.contentWindow.onafterprint=afterPrintEvent,e.target.contentWindow.print())}),appendPrintFrame(),printFrame.src=URL.createObjectURL(r))}function handleExportAndPrint(e,t,l){let{$xegrid:r,initStore:o,customOpts:a,collectColumn:i,footerTableData:n,treeConfig:s,mergeList:d,isGroup:c,exportParams:p,exportOpts:u}=e;var m=r?r.proxyOpts:{},h=e.getCheckboxRecords(),f=!!n.length,x=s,g=!x&&d.length,m=Object.assign({message:!0,isHeader:!0,current:"current",modes:["current","selected"].concat(m.ajax&&m.ajax.queryAll?["all"]:[])},t),t=m.types||_xeUtils.default.keys(u._typeMaps),v=m.modes||[];let b=a.checkMethod;var _=i.slice(0);let y=m.columns;t=t.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),v=v.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});return _xeUtils.default.eachTree(_,(r,e,t,l,o)=>{(r.children&&r.children.length||defaultFilterExportColumn(r))&&(r.checked=y?y.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r===e:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)}):r.visible,r.halfChecked=!1,r.disabled=o&&o.disabled||!!b&&!b({column:r}))}),Object.assign(e.exportStore,{columns:_,typeList:t,modeList:v,hasFooter:f,hasMerge:g,hasTree:x,isPrint:l,hasColgroup:c,visible:!0}),Object.assign(p,{mode:h.length?"selected":"current"},m),v.some(e=>e.value===p.mode)||(p.mode=v[0].value),t.some(e=>e.value===p.type)||(p.type=t[0].value),o.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,r=(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=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(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(i){let{$xegrid:n,isGroup:e,tableGroupColumn:t,tableFullColumn:a,afterFullData:l,treeConfig:r,treeOpts:o,exportOpts:s}=this,d=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,isMerge:!1,isAllExpand:!1,download:!0,type:"csv",mode:"current"},s,{print:!1},i),{type:c,mode:p,columns:u,original:m,beforeExportMethod:h,excludeFields:f,includeFields:x}=d,g=[];i=u&&u.length?u:null;let v=d.columnFilterMethod,b=(i||(v=v||(({column:e})=>(!f||!_xeUtils.default.includes(f,e.field))&&(x?!!_xeUtils.default.includes(x,e.field):m?e.field:defaultFilterExportColumn(e)))),g=i?(d._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(i,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=this.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=this.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=this.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!v||v({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(e?t:a,(e,t)=>e.visible&&(!v||v({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(g,e=>{e.children&&e.children.length||b.push(e)},{children:"childNodes"}),d.columns=b,d.colgroups=convertToRows(g),d.filename||(d.filename=getI18n(d.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),d.sheetName||(d.sheetName=document.title),!d.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(s._typeMaps),c))return(0,_log.errLog)("vxe.error.notType",[c]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(c)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(d.print||h&&h({options:d,$table:this,$grid:n}),!d.data)if(d.data=[],"selected"===p){let t=this.getCheckboxRecords();-1<["html","pdf"].indexOf(c)&&r?d.data=_xeUtils.default.searchTree(this.getTableData().fullData,e=>-1<t.indexOf(e),Object.assign({},o,{data:"_row"})):d.data=t}else if("all"===p){if("development"!==process.env.NODE_ENV||n||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),n&&!d.remote){let{beforeQueryAll:e,afterQueryAll:l,ajax:t={},props:r={}}=n.proxyOpts;i=t.queryAll;let o=t.queryAllSuccess,a=t.queryAllError;if("development"!==process.env.NODE_ENV||i||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),i){let t={$table:this,$grid:n,sort:n.sortData,filters:n.filterData,form:n.formData,target:i,options:d};return Promise.resolve((e||i)(t)).then(e=>(d.data=(r.list?_xeUtils.default.get(e,r.list):e)||[],l&&l(t),o&&o(Object.assign(Object.assign({},t),{response:e})),handleExport(this,d))).catch(e=>{a&&a(Object.assign(Object.assign({},t),{response:e}))})}}}else"current"===p&&(d.data=l);return handleExport(this,d)},_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:r,afterImportMethod:o}=l;return r&&r({options:l,$table:this}),readLocalFile(l).catch(e=>(o&&o({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 t=Object.assign({original:!1},this.printOpts,e,{type:"html",download:!1,remote:!1,print:!0});return t.sheetName||(t.sheetName=document.title),new Promise(e=>{t.content?e(handlePrint(this,t,t.content)):e(this.exportData(t).then(({content:e})=>handlePrint(this,t,e)))})},_getPrintHtml(e){var t=this.printOpts,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.handlePrint=handlePrint,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,printFrame,csvBOM="\ufeff",enterSymbol="\r\n";function createFrame(){var e=document.createElement("iframe");return e.className="vxe-table--print-frame",e}function hasTreeChildren(e,t){e=e.treeOpts,e=e.children||e.childrenField;return t[e]&&0<t[e].length}function getSeq(e,t,l,r,o,a){var i=e.seqOpts.seqMethod||o.seqMethod;return i?i({row:l,rowIndex:e.getRowIndex(l),$rowIndex:r,column:o,columnIndex:e.getColumnIndex(o),$columnIndex:a}):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:i,mode:m}=p,{treeConfig:t,treeOpts:l,radioOpts:h,checkboxOpts:f,columnOpts:x}=c;var r=l.children||l.childrenField;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){let o=[],a=new Map;return _xeUtils.default.eachTree(e,(e,n,t,s,l,r)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(i||!e||a.has(e)&&c.isTreeExpandByRow(e)){l=hasTreeChildren(c,d);let i={_row:d,_level:r.length-1,_hasChild:l,_expand:l&&c.isTreeExpandByRow(d)};u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod||r.cellExportMethod:o)||x.exportMethod)l=o({$table:c,row:d,column:e,options:p});else switch(e.type){case"seq":var a=s.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===m?a:getSeq(c,a,d,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(d)),i._checkboxLabel=f.labelField?_xeUtils.default.get(d,f.labelField):"",i._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:d});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(d)),i._radioLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",i._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()):(a=c.getCellElement(d,e))&&(l=a.innerText.trim()))}i[e.id]=toStringValue(l)}),a.set(d,1),o.push(Object.assign(i,d))}},{children:r}),o}return e.map((i,n)=>{let s={_row:i};return u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod||r.cellExportMethod:o)||x.exportMethod)l=o({$table:c,row:i,column:e,options:p});else switch(e.type){case"seq":var a=n+1;l="all"===m?a:getSeq(c,a,i,n,e,t);break;case"checkbox":l=toBooleanValue(c.isCheckedByCheckboxRow(i)),s._checkboxLabel=f.labelField?_xeUtils.default.get(i,f.labelField):"",s._checkboxDisabled=f.checkMethod&&!f.checkMethod({row:i});break;case"radio":l=toBooleanValue(c.isCheckedByRadioRow(i)),s._radioLabel=h.labelField?_xeUtils.default.get(i,h.labelField):"",s._radioDisabled=h.checkMethod&&!h.checkMethod({row:i});break;default:p.original?l=(0,_util.getCellValue)(i,e):(l=c.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=c.getCellElement(i,e))&&(l=a.innerText.trim()))}s[e.id]=toStringValue(l)}),s})}function getExportData(e,t){let{columns:l,dataFilterMethod:r}=t,o=t.data;return getBodyLabelData(e,t,l,o=r?o.filter((e,t)=>r({row:e,$rowIndex:t})):o)}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getHeaderTitle(e,t,l){var r=e.columnOpts,r=l.headerExportMethod||r.headerExportMethod;return r?r({column:l,options:t,$table:e}):(t.original?l.field:l.getTitle())||""}function getFooterCellValue(e,t,l,r){var o=e.columnOpts,a=r.editRender||r.cellRender;let i=r.footerExportMethod;i=(i=!i&&a&&a.name&&(a=renderer.get(a.name))?a.tableFooterExportMethod||a.footerExportMethod||a.footerCellExportMethod:i)||o.footerExportMethod;a=e.getVTColumnIndex(r);return i?i({$table:e,items:l,itemIndex:a,row:l,_columnIndex:a,column:r,options:t}):_xeUtils.default.isArray(l)?_xeUtils.default.toValueString(l[a]):_xeUtils.default.get(l,r.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,r,e,t){let o=csvBOM;return r.isHeader&&(o+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join(",")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join(",")+enterSymbol})),o}function toTxt(l,r,e,t){let o="";return r.isHeader&&(o+=e.map(e=>toTxtCellLabel(getHeaderTitle(l,r,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=e.map(e=>toTxtCellLabel(getFooterCellValue(l,r,t,e))).join("\t")+enterSymbol})),o}function hasEllipsis(e,t,l,r){t=t[l],l=_xeUtils.default.isUndefined(t)||_xeUtils.default.isNull(t)?r:t;let o="title"===l||(!0===l||"tooltip"===l)||"ellipsis"===l;return o=e.scrollXLoad||e.scrollYLoad?o||!0:o}function toHtml(d,n,e,t){let{id:c,border:l,treeConfig:r,treeOpts:a,isAllSelected:s,isIndeterminate:o,headerAlign:p,align:u,footerAlign:i,showOverflow:m,showHeaderOverflow:h,mergeList:f}=d,{print:x,isHeader:g,isFooter:v,isColgroup:b,isMerge:_,colgroups:y,original:$}=n,w="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"]:[],r=getHeaderTitle(d,n,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${i}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${x?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!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"]:[],r=getHeaderTitle(d,n,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${w}" ${s?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),E.push("</thead>")),t.length&&(E.push("<tbody>"),r?t.forEach(o=>{E.push("<tr>"+e.map(t=>{var e=t.align||u,l=hasEllipsis(d,t,"showOverflow",m)?["col--ellipsis"]:[],r=o[t.id];if(e&&l.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._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="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${c}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*a.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${r}</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}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!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"]:[],r=s[e.id];let o=1,a=1;if(_&&f.length){var i=d.getVTRowIndex(s._row),n=d.getVTColumnIndex(e),i=(0,_util.mergeBodyMethod)(f,i,n);if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(o=n),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${c}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${s._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${s._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),E.push("</tbody>")),v&&(t=d.footerTableData,(t=getFooterData(n,t)).length)&&(E.push("<tfoot>"),t.forEach(o=>{E.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||i||u,l=hasEllipsis(d,e,"showOverflow",m)?["col--ellipsis"]:[],r=getFooterCellValue(d,n,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),E.push("</tfoot>"));t=!s&&o?`<script>(function(){var a=document.querySelector(".${w}");if(a){a.indeterminate=true}})()</script>`:"";return E.push("</table>",t),x?E.join(""):(0,_util2.createHtmlPage)(n,E.join(""))}function toXML(l,r,e,t){let o=['<?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="${r.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return r.isHeader&&(o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getHeaderTitle(l,r,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{o+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),r.isFooter&&(t=l.footerTableData,getFooterData(r,t).forEach(t=>{o+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${getFooterCellValue(l,r,t,e)}</Data></Cell>`).join("")}</Row>`})),o+"</Table></Worksheet></Workbook>"}function getContent(e,t,l,r){if(l.length)switch(t.type){case"csv":return toCsv(e,t,l,r);case"txt":return toTxt(e,t,l,r);case"html":return toHtml(e,t,l,r);case"xml":return toXML(e,t,l,r)}return""}function saveLocalFile(e){var{filename:l,type:r,content:t}=e,l=l+"."+r;if(window.Blob){r=t instanceof Blob?t:(0,_util2.getExportBlobByContent)(_xeUtils.default.toValueString(t),e);if(navigator.msSaveBlob)navigator.msSaveBlob(r,l);else{let e=URL.createObjectURL(r),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:r,type:o,download:a}=t;if(!a)return a=(0,_util2.getExportBlobByContent)(l,t),Promise.resolve({type:o,content:l,blob:a});saveLocalFile({filename:r,type:o,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,r){let{remote:o,columns:a,colgroups:i,exportMethod:n,afterExportMethod:t}=r;return new Promise(t=>{if(o){var e={options:r,$table:l,$grid:l.$xegrid};t(n?n(e):e)}else{let e=getExportData(l,r);t(l.preventEvent(null,"event.export",{options:r,columns:a,colgroups:i,datas:e},()=>downloadFile(l,r,getContent(l,r,a,e))))}}).then(e=>(clearColumnConvert(a),r.print||t&&t({status:!0,options:r,$table:l,$grid:l.$xegrid}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(a),r.print||t&&t({status:!1,options:r,$table:l,$grid:l.$xegrid});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 parseCsvAndTxt(e,t,a){t=t.split(enterSymbol);let i=[],n=[];if(t.length){let r={},o=Date.now();t.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);n.length?(e.forEach((e,t)=>{t<n.length&&(l[n[t]]=getTxtCellValue(e,r))}),i.push(l)):n=e.map(e=>getTxtCellValue(e.trim(),r))}})}return{fields:n,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");let r=[],o=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");let r=[],o=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{o.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function checkImportData(e,t){let l=[];return e.forEach(e=>{e=e.field;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}function handleImport(l,e,r){let{tableFullColumn:t,_importResolve:o,_importReject:a}=l,i={fields:[],rows:[]};switch(r.type){case"csv":i=parseCsv(t,e);break;case"txt":i=parseTxt(t,e);break;case"html":i=parseHTML(t,e);break;case"xml":i=parseXML(t,e)}let{fields:n,rows:s}=i;checkImportData(t,n)?l.createData(s).then(e=>{let t;return"insert"!==r.mode&&"insertBottom"!==r.mode||(t=l.insertAt(e,-1)),t="insertTop"===r.mode?l.insert(e):l.reloadData(e),!1!==r.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",[s.length]),status:"success"})),t.then(()=>{o&&o({status:!0})})}):!1!==r.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"}),a)&&a({status:!1})}function handleFileImport(o,a,i){var e=o.importOpts;let{importMethod:n,afterImportMethod:t}=i,{type:s,filename:d}=(0,_utils.parseFile)(a);return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),s)?new Promise((t,l)=>{let e=e=>{t(e),o._importResolve=null,o._importReject=null},r=e=>{l(e),o._importResolve=null,o._importReject=null};if(o._importResolve=e,o._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:s,filename:d});t.remote?n?Promise.resolve(n({file:a,options:t,$table:o})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):o.preventEvent(null,"event.import",{file:a,options:t,columns:o.tableFullColumn},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[s]),r({status:!1})},e.onload=e=>{handleImport(o,e.target.result,t)},e.readAsText(a,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:i,$table:o})}).catch(e=>(t&&t({status:!1,options:i,$table:o}),Promise.reject(e))):(!1!==i.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((o,a)=>{let i=s.types||[],n=!i.length||i.some(e=>"*"===e);fileInput.multiple=!!s.multiple,fileInput.accept=n?"":"."+i.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 r=(0,_utils.parseFile)(t[e]).type;if(!_xeUtils.default.includes(i,r)){l=r;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"})),a({status:!1,files:t,file:e})):o({status:!0,files:t,file:e})},fileForm.reset(),fileInput.click()})}function removePrintFrame(){if(printFrame){if(printFrame.parentNode){try{printFrame.contentDocument.write("")}catch(e){}printFrame.parentNode.removeChild(printFrame)}printFrame=null}}function appendPrintFrame(){printFrame.parentNode||document.body.appendChild(printFrame)}function afterPrintEvent(){requestAnimationFrame(removePrintFrame)}function handlePrint(e,t,l){var r=t.beforePrintMethod,r=(r&&(l=r({content:l,options:t,$table:e})||""),l=(0,_util2.createHtmlPage)(t,l),(0,_util2.getExportBlobByContent)(l,t));_dom.browse.msie?(removePrintFrame(),printFrame=createFrame(),appendPrintFrame(),printFrame.contentDocument.write(l),printFrame.contentDocument.execCommand("print")):(printFrame||((printFrame=createFrame()).onload=e=>{e.target.src&&(e.target.contentWindow.onafterprint=afterPrintEvent,e.target.contentWindow.print())}),appendPrintFrame(),printFrame.src=URL.createObjectURL(r))}function handleExportAndPrint(e,t,l){let{$xegrid:r,initStore:o,customOpts:a,collectColumn:i,footerTableData:n,treeConfig:s,mergeList:d,isGroup:c,exportParams:p,exportOpts:u}=e;var m=r?r.proxyOpts:{},h=e.getCheckboxRecords(),f=!!n.length,x=s,g=!x&&d.length,m=Object.assign({message:!0,isHeader:!0,current:"current",modes:["current","selected"].concat(m.ajax&&m.ajax.queryAll?["all"]:[])},t),t=m.types||_xeUtils.default.keys(u._typeMaps),v=m.modes||[];let b=a.checkMethod;var _=i.slice(0);let y=m.columns;t=t.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),v=v.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});return _xeUtils.default.eachTree(_,(r,e,t,l,o)=>{(r.children&&r.children.length||defaultFilterExportColumn(r))&&(r.checked=y?y.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r===e:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)}):r.visible,r.halfChecked=!1,r.disabled=o&&o.disabled||!!b&&!b({column:r}))}),Object.assign(e.exportStore,{columns:_,typeList:t,modeList:v,hasFooter:f,hasMerge:g,hasTree:x,isPrint:l,hasColgroup:c,visible:!0}),Object.assign(p,{mode:h.length?"selected":"current"},m),v.some(e=>e.value===p.mode)||(p.mode=v[0].value),t.some(e=>e.value===p.type)||(p.type=t[0].value),o.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,r=(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=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(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(i){let{$xegrid:n,isGroup:e,tableGroupColumn:t,tableFullColumn:a,afterFullData:l,treeConfig:r,treeOpts:o,exportOpts:s}=this,d=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,isMerge:!1,isAllExpand:!1,download:!0,type:"csv",mode:"current"},s,{print:!1},i),{type:c,mode:p,columns:u,original:m,beforeExportMethod:h,excludeFields:f,includeFields:x}=d,g=[];i=u&&u.length?u:null;let v=d.columnFilterMethod,b=(i||(v=v||(({column:e})=>(!f||!_xeUtils.default.includes(f,e.field))&&(x?!!_xeUtils.default.includes(x,e.field):m?e.field:defaultFilterExportColumn(e)))),g=i?(d._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(i,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=this.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=this.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=this.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!v||v({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(e?t:a,(e,t)=>e.visible&&(!v||v({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(g,e=>{e.children&&e.children.length||b.push(e)},{children:"childNodes"}),d.columns=b,d.colgroups=convertToRows(g),d.filename||(d.filename=getI18n(d.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),d.sheetName||(d.sheetName=document.title),!d.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(s._typeMaps),c))return(0,_log.errLog)("vxe.error.notType",[c]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(c)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(d.print||h&&h({options:d,$table:this,$grid:n}),!d.data)if(d.data=[],"selected"===p){let t=this.getCheckboxRecords();-1<["html","pdf"].indexOf(c)&&r?d.data=_xeUtils.default.searchTree(this.getTableData().fullData,e=>-1<t.indexOf(e),Object.assign({},o,{data:"_row"})):d.data=t}else if("all"===p){if("development"!==process.env.NODE_ENV||n||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),n&&!d.remote){let{beforeQueryAll:e,afterQueryAll:l,ajax:t={},props:r={}}=n.proxyOpts;i=t.queryAll;let o=t.queryAllSuccess,a=t.queryAllError;if("development"!==process.env.NODE_ENV||i||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),i){let t={$table:this,$grid:n,sort:n.sortData,filters:n.filterData,form:n.formData,target:i,options:d};return Promise.resolve((e||i)(t)).then(e=>(d.data=(r.list?_xeUtils.default.get(e,r.list):e)||[],l&&l(t),o&&o(Object.assign(Object.assign({},t),{response:e})),handleExport(this,d))).catch(e=>{a&&a(Object.assign(Object.assign({},t),{response:e}))})}}}else"current"===p&&(d.data=l);return handleExport(this,d)},_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:r,afterImportMethod:o}=l;return r&&r({options:l,$table:this}),readLocalFile(l).catch(e=>(o&&o({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 t=Object.assign({original:!1},this.printOpts,e,{type:"html",download:!1,remote:!1,print:!0});return t.sheetName||(t.sheetName=document.title),new Promise(e=>{t.content?e(handlePrint(this,t,t.content)):e(this.exportData(t).then(({content:e})=>handlePrint(this,t,e)))})},_getPrintHtml(e){var t=this.printOpts,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)}}};
|
package/lib/table/src/body.js
CHANGED
|
@@ -368,7 +368,7 @@ function renderColumn(h, _vm, $xetable, seq, rowid, fixedType, rowLevel, row, ro
|
|
|
368
368
|
'col--valid-error': !!errorValidItem,
|
|
369
369
|
'col--current': currentColumn === column
|
|
370
370
|
}, (0, _utils.getClass)(compCellClassName, params), (0, _utils.getClass)(className, params), (0, _utils.getClass)(allCellClassName, params)],
|
|
371
|
-
key: columnKey || columnOpts.useKey || rowOpts.useKey || columnOpts.drag ? column.id : $columnIndex,
|
|
371
|
+
key: columnKey || scrollXLoad || scrollYLoad || columnOpts.useKey || rowOpts.useKey || columnOpts.drag ? column.id : $columnIndex,
|
|
372
372
|
attrs,
|
|
373
373
|
style: Object.assign({
|
|
374
374
|
height: cellHeight
|
|
@@ -392,6 +392,7 @@ function renderRows(h, _vm, $xeTable, fixedType, tableData, tableColumn) {
|
|
|
392
392
|
expandOpts,
|
|
393
393
|
editOpts,
|
|
394
394
|
treeExpandedMaps,
|
|
395
|
+
scrollXLoad,
|
|
395
396
|
scrollYLoad,
|
|
396
397
|
rowExpandedMaps,
|
|
397
398
|
radioOpts,
|
|
@@ -506,7 +507,7 @@ function renderRows(h, _vm, $xeTable, fixedType, tableData, tableColumn) {
|
|
|
506
507
|
rowid
|
|
507
508
|
},
|
|
508
509
|
style: rowStyle ? _xeUtils.default.isFunction(rowStyle) ? rowStyle(params) : rowStyle : null,
|
|
509
|
-
key: rowKey || rowOpts.useKey || rowOpts.drag || columnOpts.drag || treeConfig ? rowid : $rowIndex,
|
|
510
|
+
key: rowKey || scrollXLoad || scrollYLoad || rowOpts.useKey || rowOpts.drag || columnOpts.drag || treeConfig ? rowid : $rowIndex,
|
|
510
511
|
nativeOn: trOn
|
|
511
512
|
}, tdVNs) : h('tr', {
|
|
512
513
|
class: trClass,
|
|
@@ -514,7 +515,7 @@ function renderRows(h, _vm, $xeTable, fixedType, tableData, tableColumn) {
|
|
|
514
515
|
rowid
|
|
515
516
|
},
|
|
516
517
|
style: rowStyle ? _xeUtils.default.isFunction(rowStyle) ? rowStyle(params) : rowStyle : null,
|
|
517
|
-
key: rowKey || rowOpts.useKey || rowOpts.drag || columnOpts.drag || treeConfig ? rowid : $rowIndex,
|
|
518
|
+
key: rowKey || scrollXLoad || scrollYLoad || rowOpts.useKey || rowOpts.drag || columnOpts.drag || treeConfig ? rowid : $rowIndex,
|
|
518
519
|
on: trOn
|
|
519
520
|
}, tdVNs));
|
|
520
521
|
// 如果行被展开了
|