vxe-table 3.13.19 → 3.13.20
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/grid/src/grid.js +4 -0
- package/es/style.css +1 -1
- package/es/table/src/body.js +11 -6
- package/es/table/src/footer.js +7 -2
- package/es/table/src/methods.js +182 -53
- package/es/table/src/util.js +18 -5
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/grid/src/grid.js +4 -0
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +250 -78
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/src/body.js +10 -5
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/footer.js +7 -2
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/methods.js +209 -64
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/util.js +21 -5
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +5 -0
- package/packages/table/src/body.ts +10 -5
- package/packages/table/src/footer.ts +7 -2
- package/packages/table/src/methods.ts +202 -60
- package/packages/table/src/util.ts +20 -5
- /package/es/{iconfont.1741224103306.ttf → iconfont.1741333380103.ttf} +0 -0
- /package/es/{iconfont.1741224103306.woff → iconfont.1741333380103.woff} +0 -0
- /package/es/{iconfont.1741224103306.woff2 → iconfont.1741333380103.woff2} +0 -0
- /package/lib/{iconfont.1741224103306.ttf → iconfont.1741333380103.ttf} +0 -0
- /package/lib/{iconfont.1741224103306.woff → iconfont.1741333380103.woff} +0 -0
- /package/lib/{iconfont.1741224103306.woff2 → iconfont.1741333380103.woff2} +0 -0
package/es/table/src/footer.js
CHANGED
|
@@ -100,6 +100,7 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
100
100
|
tfOns.dblclick = (evnt) => {
|
|
101
101
|
$xeTable.dispatchEvent('footer-cell-dblclick', Object.assign({ cell: evnt.currentTarget }, cellParams), evnt);
|
|
102
102
|
};
|
|
103
|
+
let isMergeCell = false;
|
|
103
104
|
// 合并行或列
|
|
104
105
|
if (mergeFooterList.length) {
|
|
105
106
|
const spanRest = mergeFooterMethod(mergeFooterList, _rowIndex, _columnIndex);
|
|
@@ -109,9 +110,11 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
109
110
|
return null;
|
|
110
111
|
}
|
|
111
112
|
if (rowspan > 1) {
|
|
113
|
+
isMergeCell = true;
|
|
112
114
|
attrs.rowspan = rowspan;
|
|
113
115
|
}
|
|
114
116
|
if (colspan > 1) {
|
|
117
|
+
isMergeCell = true;
|
|
115
118
|
attrs.colspan = colspan;
|
|
116
119
|
}
|
|
117
120
|
}
|
|
@@ -132,8 +135,10 @@ function renderRows(h, _vm, tableColumn, footerTableData, row, $rowIndex, _rowIn
|
|
|
132
135
|
const isLastColumn = $columnIndex === tableColumn.length - 1;
|
|
133
136
|
const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
|
|
134
137
|
let isVNPreEmptyStatus = false;
|
|
135
|
-
if (
|
|
136
|
-
|
|
138
|
+
if (!isMergeCell) {
|
|
139
|
+
if (scrollXLoad && !column.fixed && (_columnIndex < scrollXStore.visibleStartIndex - scrollXStore.preloadSize || _columnIndex > scrollXStore.visibleEndIndex + scrollXStore.preloadSize)) {
|
|
140
|
+
isVNPreEmptyStatus = true;
|
|
141
|
+
}
|
|
137
142
|
}
|
|
138
143
|
const tcStyle = {};
|
|
139
144
|
if (hasEllipsis) {
|
package/es/table/src/methods.js
CHANGED
|
@@ -3,7 +3,7 @@ import { browse, getTpImg, isPx, isScale, hasClass, addClass, removeClass, getEv
|
|
|
3
3
|
import { getLastZIndex, nextZIndex, hasChildrenList, getFuncText, isEnableConf, formatText, eqEmptyValue } from '../../ui/src/utils';
|
|
4
4
|
import { VxeUI } from '../../ui';
|
|
5
5
|
import Cell from './cell';
|
|
6
|
-
import { getRowUniqueId, clearTableAllStatus, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getColReMinWidth, getRefElem } from './util';
|
|
6
|
+
import { getRowUniqueId, clearTableAllStatus, getRowkey, getRowid, rowToVisible, colToVisible, getCellValue, setCellValue, handleRowidOrRow, handleFieldOrColumn, toTreePathSeq, restoreScrollLocation, getRootColumn, getColReMinWidth, getRefElem } from './util';
|
|
7
7
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
8
8
|
import { warnLog, errLog } from '../../ui/src/log';
|
|
9
9
|
const { getConfig, getI18n, renderer, formats, interceptor, createEvent } = VxeUI;
|
|
@@ -2190,6 +2190,10 @@ const Methods = {
|
|
|
2190
2190
|
}
|
|
2191
2191
|
return [];
|
|
2192
2192
|
},
|
|
2193
|
+
getEl() {
|
|
2194
|
+
const $xeTable = this;
|
|
2195
|
+
return $xeTable.$refs.refElem;
|
|
2196
|
+
},
|
|
2193
2197
|
/**
|
|
2194
2198
|
* 获取父容器元素
|
|
2195
2199
|
*/
|
|
@@ -3149,20 +3153,25 @@ const Methods = {
|
|
|
3149
3153
|
},
|
|
3150
3154
|
/**
|
|
3151
3155
|
* 检查行或列数据是否发生改变
|
|
3152
|
-
* @param {Row}
|
|
3156
|
+
* @param {Row} rowOrId 行对象
|
|
3153
3157
|
* @param {String} field 字段名
|
|
3154
3158
|
*/
|
|
3155
|
-
isUpdateByRow(
|
|
3156
|
-
const
|
|
3159
|
+
isUpdateByRow(rowOrId, field) {
|
|
3160
|
+
const $xeTable = this;
|
|
3161
|
+
const props = $xeTable;
|
|
3162
|
+
const internalData = $xeTable;
|
|
3163
|
+
const { keepSource } = props;
|
|
3164
|
+
const { tableFullColumn, fullDataRowIdData, sourceDataRowIdData } = internalData;
|
|
3157
3165
|
if (keepSource) {
|
|
3158
|
-
const rowid = getRowid(
|
|
3166
|
+
const rowid = XEUtils.isString(rowOrId) || XEUtils.isNumber(rowOrId) ? rowOrId : getRowid($xeTable, rowOrId);
|
|
3167
|
+
const rowRest = fullDataRowIdData[rowid];
|
|
3159
3168
|
// 新增的数据不需要检测
|
|
3160
|
-
if (!
|
|
3169
|
+
if (!rowRest) {
|
|
3161
3170
|
return false;
|
|
3162
3171
|
}
|
|
3163
|
-
const
|
|
3164
|
-
|
|
3165
|
-
|
|
3172
|
+
const row = rowRest.row;
|
|
3173
|
+
const oRow = sourceDataRowIdData[rowid];
|
|
3174
|
+
if (oRow) {
|
|
3166
3175
|
if (arguments.length > 1) {
|
|
3167
3176
|
return !eqCellValue(oRow, row, field);
|
|
3168
3177
|
}
|
|
@@ -3224,6 +3233,99 @@ const Methods = {
|
|
|
3224
3233
|
tableColumn: this.tableColumn.slice(0)
|
|
3225
3234
|
};
|
|
3226
3235
|
},
|
|
3236
|
+
/**
|
|
3237
|
+
* 移动列到指定列的位置
|
|
3238
|
+
* @param fieldOrColumn
|
|
3239
|
+
* @param targetFieldOrColumn
|
|
3240
|
+
* @param options
|
|
3241
|
+
*/
|
|
3242
|
+
moveColumnTo(fieldOrColumn, targetFieldOrColumn, options) {
|
|
3243
|
+
const $xeTable = this;
|
|
3244
|
+
const internalData = $xeTable;
|
|
3245
|
+
const { fullColumnIdData, visibleColumn } = internalData;
|
|
3246
|
+
const { dragToChild, dragPos, isCrossDrag } = Object.assign({}, options);
|
|
3247
|
+
const dragCol = handleFieldOrColumn($xeTable, fieldOrColumn);
|
|
3248
|
+
let prevDragCol = null;
|
|
3249
|
+
const colRest = dragCol ? fullColumnIdData[dragCol.id] : null;
|
|
3250
|
+
let defPos = 'left';
|
|
3251
|
+
if (XEUtils.isNumber(targetFieldOrColumn)) {
|
|
3252
|
+
if (colRest && targetFieldOrColumn) {
|
|
3253
|
+
let currList = colRest.items;
|
|
3254
|
+
let offsetIndex = colRest._index + targetFieldOrColumn;
|
|
3255
|
+
if (isCrossDrag) {
|
|
3256
|
+
currList = visibleColumn;
|
|
3257
|
+
offsetIndex = colRest._index + targetFieldOrColumn;
|
|
3258
|
+
}
|
|
3259
|
+
if (offsetIndex > 0 && offsetIndex < currList.length - 1) {
|
|
3260
|
+
prevDragCol = currList[offsetIndex];
|
|
3261
|
+
}
|
|
3262
|
+
if (targetFieldOrColumn > 0) {
|
|
3263
|
+
defPos = 'right';
|
|
3264
|
+
}
|
|
3265
|
+
}
|
|
3266
|
+
}
|
|
3267
|
+
else {
|
|
3268
|
+
prevDragCol = handleFieldOrColumn($xeTable, targetFieldOrColumn);
|
|
3269
|
+
const targetColRest = prevDragCol ? fullColumnIdData[prevDragCol.id] : null;
|
|
3270
|
+
if (colRest && targetColRest) {
|
|
3271
|
+
if (targetColRest._index > colRest._index) {
|
|
3272
|
+
defPos = 'right';
|
|
3273
|
+
}
|
|
3274
|
+
}
|
|
3275
|
+
}
|
|
3276
|
+
return $xeTable.handleColDragSwapEvent(null, true, dragCol, prevDragCol, dragPos || defPos, dragToChild === true);
|
|
3277
|
+
},
|
|
3278
|
+
/**
|
|
3279
|
+
* 移动行到指定行的位置
|
|
3280
|
+
* @param rowidOrRow
|
|
3281
|
+
* @param targetRowidOrRow
|
|
3282
|
+
* @param options
|
|
3283
|
+
*/
|
|
3284
|
+
moveRowTo(rowidOrRow, targetRowidOrRow, options) {
|
|
3285
|
+
const $xeTable = this;
|
|
3286
|
+
const props = $xeTable;
|
|
3287
|
+
const internalData = $xeTable;
|
|
3288
|
+
const { treeConfig } = props;
|
|
3289
|
+
const { fullAllDataRowIdData, afterFullData } = internalData;
|
|
3290
|
+
const { dragToChild, dragPos, isCrossDrag } = Object.assign({}, options);
|
|
3291
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
3292
|
+
const dragRow = handleRowidOrRow($xeTable, rowidOrRow);
|
|
3293
|
+
let prevDragRow = null;
|
|
3294
|
+
let defPos = 'top';
|
|
3295
|
+
const rowRest = dragRow ? fullAllDataRowIdData[getRowid($xeTable, dragRow)] : null;
|
|
3296
|
+
if (XEUtils.isNumber(targetRowidOrRow)) {
|
|
3297
|
+
if (rowRest && targetRowidOrRow) {
|
|
3298
|
+
let currList = afterFullData;
|
|
3299
|
+
let offsetIndex = rowRest._index + targetRowidOrRow;
|
|
3300
|
+
if (treeConfig) {
|
|
3301
|
+
currList = rowRest.items;
|
|
3302
|
+
if (treeOpts.transform) {
|
|
3303
|
+
offsetIndex = rowRest.treeIndex + targetRowidOrRow;
|
|
3304
|
+
if (isCrossDrag) {
|
|
3305
|
+
currList = afterFullData;
|
|
3306
|
+
offsetIndex = rowRest._index + targetRowidOrRow;
|
|
3307
|
+
}
|
|
3308
|
+
}
|
|
3309
|
+
}
|
|
3310
|
+
if (offsetIndex >= 0 && offsetIndex <= currList.length - 1) {
|
|
3311
|
+
prevDragRow = currList[offsetIndex];
|
|
3312
|
+
}
|
|
3313
|
+
if (targetRowidOrRow > 0) {
|
|
3314
|
+
defPos = 'bottom';
|
|
3315
|
+
}
|
|
3316
|
+
}
|
|
3317
|
+
}
|
|
3318
|
+
else {
|
|
3319
|
+
prevDragRow = handleRowidOrRow($xeTable, targetRowidOrRow);
|
|
3320
|
+
const targetRowRest = prevDragRow ? fullAllDataRowIdData[getRowid($xeTable, prevDragRow)] : null;
|
|
3321
|
+
if (rowRest && targetRowRest) {
|
|
3322
|
+
if (targetRowRest._index > rowRest._index) {
|
|
3323
|
+
defPos = 'bottom';
|
|
3324
|
+
}
|
|
3325
|
+
}
|
|
3326
|
+
}
|
|
3327
|
+
return $xeTable.handleRowDragSwapEvent(null, true, dragRow, prevDragRow, dragPos || defPos, dragToChild === true);
|
|
3328
|
+
},
|
|
3227
3329
|
/**
|
|
3228
3330
|
* 获取表格的全量列
|
|
3229
3331
|
*/
|
|
@@ -3244,22 +3346,30 @@ const Methods = {
|
|
|
3244
3346
|
* 用于多选行,获取已选中的数据
|
|
3245
3347
|
*/
|
|
3246
3348
|
getCheckboxRecords(isFull) {
|
|
3247
|
-
const
|
|
3349
|
+
const $xeTable = this;
|
|
3350
|
+
const props = $xeTable;
|
|
3351
|
+
const reactData = $xeTable;
|
|
3352
|
+
const internalData = $xeTable;
|
|
3353
|
+
const { treeConfig } = props;
|
|
3354
|
+
const { selectCheckboxMaps } = reactData;
|
|
3355
|
+
const { tableFullData, afterFullData, afterTreeFullData, tableFullTreeData, fullDataRowIdData, afterFullRowMaps } = internalData;
|
|
3356
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
3357
|
+
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
3248
3358
|
const { transform, mapChildrenField } = treeOpts;
|
|
3249
3359
|
const { checkField } = checkboxOpts;
|
|
3250
3360
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
3251
|
-
const currTableData = isFull ? (transform ? tableFullTreeData : tableFullData) : (transform ? afterTreeFullData : afterFullData);
|
|
3252
3361
|
let rowList = [];
|
|
3253
3362
|
if (checkField) {
|
|
3254
3363
|
if (treeConfig) {
|
|
3364
|
+
const currTableData = isFull ? (transform ? tableFullTreeData : tableFullData) : (transform ? afterTreeFullData : afterFullData);
|
|
3255
3365
|
rowList = XEUtils.filterTree(currTableData, row => XEUtils.get(row, checkField), { children: transform ? mapChildrenField : childrenField });
|
|
3256
3366
|
}
|
|
3257
3367
|
else {
|
|
3368
|
+
const currTableData = isFull ? tableFullData : afterFullData;
|
|
3258
3369
|
rowList = currTableData.filter((row) => XEUtils.get(row, checkField));
|
|
3259
3370
|
}
|
|
3260
3371
|
}
|
|
3261
3372
|
else {
|
|
3262
|
-
const { selectCheckboxMaps, fullDataRowIdData } = this;
|
|
3263
3373
|
XEUtils.each(selectCheckboxMaps, (row, rowid) => {
|
|
3264
3374
|
if (isFull) {
|
|
3265
3375
|
if (fullDataRowIdData[rowid]) {
|
|
@@ -6435,6 +6545,9 @@ const Methods = {
|
|
|
6435
6545
|
const { afterFullData, tableFullData } = internalData;
|
|
6436
6546
|
const dEndMethod = dragEndMethod || (dragConfig ? dragConfig.dragEndMethod : null);
|
|
6437
6547
|
const dragOffsetIndex = prevDragPos === 'bottom' ? 1 : 0;
|
|
6548
|
+
const errRest = {
|
|
6549
|
+
status: false
|
|
6550
|
+
};
|
|
6438
6551
|
if (prevDragRow && dragRow) {
|
|
6439
6552
|
// 判断是否有拖动
|
|
6440
6553
|
if (prevDragRow !== dragRow) {
|
|
@@ -6449,7 +6562,7 @@ const Methods = {
|
|
|
6449
6562
|
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
|
|
6450
6563
|
return Promise.resolve(dEndMethod ? dEndMethod(dragParams) : true).then((status) => {
|
|
6451
6564
|
if (!status) {
|
|
6452
|
-
return;
|
|
6565
|
+
return errRest;
|
|
6453
6566
|
}
|
|
6454
6567
|
let oafIndex = -1;
|
|
6455
6568
|
let nafIndex = -1;
|
|
@@ -6474,12 +6587,12 @@ const Methods = {
|
|
|
6474
6587
|
if (isPeerDrag && !isCrossDrag) {
|
|
6475
6588
|
if (oldRest.row[parentField] !== newRest.row[parentField]) {
|
|
6476
6589
|
// 非同级
|
|
6477
|
-
return;
|
|
6590
|
+
return errRest;
|
|
6478
6591
|
}
|
|
6479
6592
|
}
|
|
6480
6593
|
else {
|
|
6481
6594
|
if (!isCrossDrag) {
|
|
6482
|
-
return;
|
|
6595
|
+
return errRest;
|
|
6483
6596
|
}
|
|
6484
6597
|
if (oldAllMaps[newRowid]) {
|
|
6485
6598
|
isSelfToChildStatus = true;
|
|
@@ -6490,7 +6603,7 @@ const Methods = {
|
|
|
6490
6603
|
content: getI18n('vxe.error.treeDragChild')
|
|
6491
6604
|
});
|
|
6492
6605
|
}
|
|
6493
|
-
return;
|
|
6606
|
+
return errRest;
|
|
6494
6607
|
}
|
|
6495
6608
|
}
|
|
6496
6609
|
}
|
|
@@ -6498,13 +6611,13 @@ const Methods = {
|
|
|
6498
6611
|
else if (oldLevel) {
|
|
6499
6612
|
// 子到根
|
|
6500
6613
|
if (!isCrossDrag) {
|
|
6501
|
-
return;
|
|
6614
|
+
return errRest;
|
|
6502
6615
|
}
|
|
6503
6616
|
}
|
|
6504
6617
|
else if (newLevel) {
|
|
6505
6618
|
// 根到子
|
|
6506
6619
|
if (!isCrossDrag) {
|
|
6507
|
-
return;
|
|
6620
|
+
return errRest;
|
|
6508
6621
|
}
|
|
6509
6622
|
if (oldAllMaps[newRowid]) {
|
|
6510
6623
|
isSelfToChildStatus = true;
|
|
@@ -6515,7 +6628,7 @@ const Methods = {
|
|
|
6515
6628
|
content: getI18n('vxe.error.treeDragChild')
|
|
6516
6629
|
});
|
|
6517
6630
|
}
|
|
6518
|
-
return;
|
|
6631
|
+
return errRest;
|
|
6519
6632
|
}
|
|
6520
6633
|
}
|
|
6521
6634
|
}
|
|
@@ -6575,27 +6688,34 @@ const Methods = {
|
|
|
6575
6688
|
if (reactData.scrollYLoad) {
|
|
6576
6689
|
$xeTable.updateScrollYSpace();
|
|
6577
6690
|
}
|
|
6578
|
-
|
|
6691
|
+
if (evnt) {
|
|
6692
|
+
$xeTable.dispatchEvent('row-dragend', {
|
|
6693
|
+
oldRow: dragRow,
|
|
6694
|
+
newRow: prevDragRow,
|
|
6695
|
+
dragRow,
|
|
6696
|
+
dragPos: prevDragPos,
|
|
6697
|
+
dragToChild: isDragToChildFlag,
|
|
6698
|
+
offsetIndex: dragOffsetIndex,
|
|
6699
|
+
_index: {
|
|
6700
|
+
newIndex: nafIndex,
|
|
6701
|
+
oldIndex: oafIndex
|
|
6702
|
+
}
|
|
6703
|
+
}, evnt);
|
|
6704
|
+
}
|
|
6705
|
+
return $xeTable.$nextTick().then(() => {
|
|
6579
6706
|
$xeTable.updateCellAreas();
|
|
6580
6707
|
$xeTable.recalculate();
|
|
6708
|
+
}).then(() => {
|
|
6709
|
+
return {
|
|
6710
|
+
status: true
|
|
6711
|
+
};
|
|
6581
6712
|
});
|
|
6582
|
-
$xeTable.dispatchEvent('row-dragend', {
|
|
6583
|
-
oldRow: dragRow,
|
|
6584
|
-
newRow: prevDragRow,
|
|
6585
|
-
dragRow,
|
|
6586
|
-
dragPos: prevDragPos,
|
|
6587
|
-
dragToChild: isDragToChildFlag,
|
|
6588
|
-
offsetIndex: dragOffsetIndex,
|
|
6589
|
-
_index: {
|
|
6590
|
-
newIndex: nafIndex,
|
|
6591
|
-
oldIndex: oafIndex
|
|
6592
|
-
}
|
|
6593
|
-
}, evnt);
|
|
6594
6713
|
}).catch(() => {
|
|
6714
|
+
return errRest;
|
|
6595
6715
|
});
|
|
6596
6716
|
}
|
|
6597
6717
|
}
|
|
6598
|
-
return Promise.resolve();
|
|
6718
|
+
return Promise.resolve(errRest);
|
|
6599
6719
|
},
|
|
6600
6720
|
handleRowDragDragendEvent(evnt) {
|
|
6601
6721
|
const $xeTable = this;
|
|
@@ -6740,6 +6860,9 @@ const Methods = {
|
|
|
6740
6860
|
const { isPeerDrag, isCrossDrag, isSelfToChildDrag, isToChildDrag, dragEndMethod, dragToChildMethod } = columnDragOpts;
|
|
6741
6861
|
const { collectColumn } = internalData;
|
|
6742
6862
|
const dragOffsetIndex = prevDragPos === 'right' ? 1 : 0;
|
|
6863
|
+
const errRest = {
|
|
6864
|
+
status: false
|
|
6865
|
+
};
|
|
6743
6866
|
if (prevDragCol && dragCol) {
|
|
6744
6867
|
// 判断是否有拖动
|
|
6745
6868
|
if (prevDragCol !== dragCol) {
|
|
@@ -6756,7 +6879,7 @@ const Methods = {
|
|
|
6756
6879
|
const isDragToChildFlag = isSelfToChildDrag && dragToChildMethod ? dragToChildMethod(dragParams) : prevDragToChild;
|
|
6757
6880
|
return Promise.resolve(dragEndMethod ? dragEndMethod(dragParams) : true).then((status) => {
|
|
6758
6881
|
if (!status) {
|
|
6759
|
-
return;
|
|
6882
|
+
return errRest;
|
|
6760
6883
|
}
|
|
6761
6884
|
let oafIndex = -1;
|
|
6762
6885
|
let nafIndex = -1;
|
|
@@ -6770,12 +6893,12 @@ const Methods = {
|
|
|
6770
6893
|
if (isPeerDrag && !isCrossDrag) {
|
|
6771
6894
|
if (dragColumn.parentId !== newColumn.parentId) {
|
|
6772
6895
|
// 非同级
|
|
6773
|
-
return;
|
|
6896
|
+
return errRest;
|
|
6774
6897
|
}
|
|
6775
6898
|
}
|
|
6776
6899
|
else {
|
|
6777
6900
|
if (!isCrossDrag) {
|
|
6778
|
-
return;
|
|
6901
|
+
return errRest;
|
|
6779
6902
|
}
|
|
6780
6903
|
if (oldAllMaps[newColumn.id]) {
|
|
6781
6904
|
isSelfToChildStatus = true;
|
|
@@ -6786,7 +6909,7 @@ const Methods = {
|
|
|
6786
6909
|
content: getI18n('vxe.error.treeDragChild')
|
|
6787
6910
|
});
|
|
6788
6911
|
}
|
|
6789
|
-
return;
|
|
6912
|
+
return errRest;
|
|
6790
6913
|
}
|
|
6791
6914
|
}
|
|
6792
6915
|
}
|
|
@@ -6794,13 +6917,13 @@ const Methods = {
|
|
|
6794
6917
|
else if (dragColumn.parentId) {
|
|
6795
6918
|
// 子到根
|
|
6796
6919
|
if (!isCrossDrag) {
|
|
6797
|
-
return;
|
|
6920
|
+
return errRest;
|
|
6798
6921
|
}
|
|
6799
6922
|
}
|
|
6800
6923
|
else if (newColumn.parentId) {
|
|
6801
6924
|
// 根到子
|
|
6802
6925
|
if (!isCrossDrag) {
|
|
6803
|
-
return;
|
|
6926
|
+
return errRest;
|
|
6804
6927
|
}
|
|
6805
6928
|
if (oldAllMaps[newColumn.id]) {
|
|
6806
6929
|
isSelfToChildStatus = true;
|
|
@@ -6811,7 +6934,7 @@ const Methods = {
|
|
|
6811
6934
|
content: getI18n('vxe.error.treeDragChild')
|
|
6812
6935
|
});
|
|
6813
6936
|
}
|
|
6814
|
-
return;
|
|
6937
|
+
return errRest;
|
|
6815
6938
|
}
|
|
6816
6939
|
}
|
|
6817
6940
|
}
|
|
@@ -6872,26 +6995,32 @@ const Methods = {
|
|
|
6872
6995
|
$xeTable.clearCopyCellArea();
|
|
6873
6996
|
}
|
|
6874
6997
|
}
|
|
6875
|
-
|
|
6876
|
-
|
|
6877
|
-
|
|
6878
|
-
|
|
6879
|
-
|
|
6880
|
-
|
|
6881
|
-
|
|
6882
|
-
|
|
6883
|
-
|
|
6884
|
-
|
|
6885
|
-
|
|
6886
|
-
|
|
6998
|
+
if (evnt) {
|
|
6999
|
+
$xeTable.dispatchEvent('column-dragend', {
|
|
7000
|
+
oldColumn: dragColumn,
|
|
7001
|
+
newColumn,
|
|
7002
|
+
dragColumn,
|
|
7003
|
+
dragPos: prevDragPos,
|
|
7004
|
+
dragToChild: isDragToChildFlag,
|
|
7005
|
+
offsetIndex: dragOffsetIndex,
|
|
7006
|
+
_index: {
|
|
7007
|
+
newIndex: nafIndex,
|
|
7008
|
+
oldIndex: oafIndex
|
|
7009
|
+
}
|
|
7010
|
+
}, evnt);
|
|
7011
|
+
}
|
|
6887
7012
|
if (isSyncColumn) {
|
|
6888
7013
|
$xeTable.handleColDragSwapColumn();
|
|
6889
7014
|
}
|
|
7015
|
+
return {
|
|
7016
|
+
status: true
|
|
7017
|
+
};
|
|
6890
7018
|
}).catch(() => {
|
|
7019
|
+
return errRest;
|
|
6891
7020
|
});
|
|
6892
7021
|
}
|
|
6893
7022
|
}
|
|
6894
|
-
return Promise.resolve();
|
|
7023
|
+
return Promise.resolve(errRest);
|
|
6895
7024
|
},
|
|
6896
7025
|
handleHeaderCellDragDragendEvent(evnt) {
|
|
6897
7026
|
const $xeTable = this;
|
package/es/table/src/util.js
CHANGED
|
@@ -90,13 +90,19 @@ export function getRowUniqueId() {
|
|
|
90
90
|
return XEUtils.uniqueId('row_');
|
|
91
91
|
}
|
|
92
92
|
// 行主键 key
|
|
93
|
-
export function getRowkey($
|
|
94
|
-
|
|
93
|
+
export function getRowkey($xeTable) {
|
|
94
|
+
const props = $xeTable;
|
|
95
|
+
const rowOpts = $xeTable.computeRowOpts;
|
|
96
|
+
return `${props.rowId || rowOpts.keyField || '_X_ROW_KEY'}`;
|
|
95
97
|
}
|
|
96
98
|
// 行主键 value
|
|
97
99
|
export function getRowid($xetable, row) {
|
|
98
100
|
const rowid = XEUtils.get(row, getRowkey($xetable));
|
|
99
|
-
return
|
|
101
|
+
return encodeRowid(rowid);
|
|
102
|
+
}
|
|
103
|
+
// 编码行主键
|
|
104
|
+
export function encodeRowid(rowVal) {
|
|
105
|
+
return XEUtils.eqNull(rowVal) ? '' : encodeURIComponent(rowVal);
|
|
100
106
|
}
|
|
101
107
|
function getPaddingLeftRightSize(elem) {
|
|
102
108
|
if (elem) {
|
|
@@ -122,12 +128,19 @@ export function getCellHeight(height) {
|
|
|
122
128
|
}
|
|
123
129
|
return height || 0;
|
|
124
130
|
}
|
|
125
|
-
export function handleFieldOrColumn(
|
|
131
|
+
export function handleFieldOrColumn($xeTable, fieldOrColumn) {
|
|
126
132
|
if (fieldOrColumn) {
|
|
127
|
-
return XEUtils.isString(fieldOrColumn) || XEUtils.isNumber(fieldOrColumn) ?
|
|
133
|
+
return XEUtils.isString(fieldOrColumn) || XEUtils.isNumber(fieldOrColumn) ? $xeTable.getColumnByField(`${fieldOrColumn}`) : fieldOrColumn;
|
|
128
134
|
}
|
|
129
135
|
return null;
|
|
130
136
|
}
|
|
137
|
+
export const handleRowidOrRow = ($xeTable, rowidOrRow) => {
|
|
138
|
+
if (rowidOrRow) {
|
|
139
|
+
const rowid = XEUtils.isString(rowidOrRow) || XEUtils.isNumber(rowidOrRow) ? rowidOrRow : getRowid($xeTable, rowidOrRow);
|
|
140
|
+
return $xeTable.getRowById(rowid);
|
|
141
|
+
}
|
|
142
|
+
return null;
|
|
143
|
+
};
|
|
131
144
|
// 组装列配置
|
|
132
145
|
export function assembleColumn(_vm) {
|
|
133
146
|
const { $el, $xetable, $xecolumn, columnConfig } = _vm;
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
package/lib/grid/src/grid.js
CHANGED
package/lib/grid/src/grid.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,globalEvents,globalMixins,renderEmptyElement}=_ui.VxeUI,methods={},propKeys=Object.keys(_props.default),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function renderDefaultForm(e,r){var o=_ui.VxeUI.getComponent("VxeForm");let s=r.$scopedSlots;var{proxyConfig:i,formConfig:t}=r,{proxyOpts:a,formData:n,formOpts:l}=r;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&t&&l.items.forEach(e=>{t.call(r,{$grid:r,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),[o?e(o,{props:Object.assign({},l,{data:i&&a.form?n:l.data}),on:{submit:r.submitEvent,reset:r.resetEvent,collapse:r.collapseEvent,"submit-invalid":r.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(r)]}return[]}function getFuncSlot(e,t,r){e=e.$scopedSlots,t=t[r];if(t){if(!_xeUtils.default.isString(t))return t;if(e[t])return e[t];(0,_log.errLog)("vxe.error.notSlot",[t])}return null}function getToolbarSlots(e){var{$scopedSlots:t,toolbarOpts:r}=e,r=r.slots,o={};return"development"===process.env.NODE_ENV&&(!t.buttons||r&&"buttons"===r.buttons||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!t.tools||r&&"tools"===r.tools||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.tools"])),r&&(t=getFuncSlot(e,r,"buttons"),e=getFuncSlot(e,r,"tools"),t&&(o.buttons=t),e)&&(o.tools=e),o}function getPagerSlots(e){var t,r=e.pagerOpts,r=r.slots,o={};return r&&(t=getFuncSlot(e,r,"left"),e=getFuncSlot(e,r,"right"),t&&(o.left=t),e)&&(o.right=e),o}function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:o}=r;let s={};return _xeUtils.default.each(e,(e,t)=>{s[t]=(...e)=>{r.$emit(t,...e)}}),t&&(o.sort&&(s["sort-change"]=r.sortChangeEvent),o.filter)&&(s["filter-change"]=r.filterChangeEvent),s}function renderForm(e,t){var{_e:r,$scopedSlots:o,formConfig:s}=t,o=o.form;return!o&&!(0,_utils.isEnableConf)(s)?r():e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t},e):renderDefaultForm(e,t))}function renderToolbar(e,t){var{_e:r,$scopedSlots:o,toolbarConfig:s,toolbar:i}=t,o=o.toolbar;return!(o||(0,_utils.isEnableConf)(s)||i)?r():e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t},e):[e(_toolbar.default,{props:t.toolbarOpts,ref:"xToolbar",scopedSlots:getToolbarSlots(t)})])}function renderTop(e,t){var{_e:r,$scopedSlots:o}=t,o=o.top;return o?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},o.call(t,{$grid:t},e)):r()}function renderTableLeft(e,t){var{_e:r,$scopedSlots:o}=t,o=o.left;return o?e("div",{class:"vxe-grid--left-wrapper"},o({$grid:t})):r()}function renderTableRight(e,t){var{_e:r,$scopedSlots:o}=t,o=o.right;return o?e("div",{class:"vxe-grid--right-wrapper"},o({$grid:t})):r()}function renderTable(e,t){var{$scopedSlots:r,tableProps:o}=t;return e("div",{class:"vxe-grid--table-wrapper"},[e("vxe-table",{key:"table",props:o,on:getTableOns(t),scopedSlots:r,ref:"xTable"})])}function renderBottom(e,t){var{_e:r,$scopedSlots:o}=t,o=o.bottom;return o?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},o.call(t,{$grid:t},e)):r()}function renderPager(e,t){var r=_ui.VxeUI.getComponent("VxePager"),{pagerConfig:o,proxyConfig:s}=t,{$scopedSlots:i,tablePage:a}=t,i=i.pager;return!i&&!(0,_utils.isEnableConf)(o)?renderEmptyElement(t):e("div",{key:"pager",ref:"refPagerWrapper",class:"vxe-grid--pager-wrapper"},i?i.call(t,{$grid:t},e):[r?e(r,{props:Object.assign(Object.assign({},t.pagerOpts),s?a:{}),on:{"page-change":t.pageChangeEvent},scopedSlots:getPagerSlots(t)}):renderEmptyElement(t)])}function renderChildLayout(t,r,e){let o=[];return e.forEach(e=>{switch(e){case"Form":o.push(renderForm(t,r));break;case"Toolbar":o.push(renderToolbar(t,r));break;case"Top":o.push(renderTop(t,r));break;case"Table":o.push(t("div",{key:"table",class:"vxe-grid--table-container"},[renderTableLeft(t,r),renderTable(t,r),renderTableRight(t,r)]));break;case"Bottom":o.push(renderBottom(t,r));break;case"Pager":o.push(renderPager(t,r));break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),o}function renderLayout(e,t){var r=t.$scopedSlots,{headKeys:o,bodyKeys:s,footKeys:i}=t.computeCurrLayoutConf,a=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},renderChildLayout(e,t,o)),e("div",{class:"vxe-grid--layout-body-wrapper"},[a?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},renderChildLayout(e,t,s)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},renderChildLayout(e,t,i))]}Object.keys(_table.default.methods).forEach(t=>{methods[t]=function(...e){return this.$refs.xTable&&this.$refs.xTable[t](...e)}});var _default=exports.default={name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:[Boolean,Object],proxyConfig:Object,toolbar:[Boolean,Object],toolbarConfig:[Boolean,Object],formConfig:[Boolean,Object],zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this,$xegrid:this}},data(){var e;return{tableLoading:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}},computed:{isRespMsg(){var e=this.proxyOpts;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg},isActiveMsg(){return this.proxyOpts.showActiveMsg},proxyOpts(){return this.computeProxyOpts},computeProxyOpts(){return _xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),this.proxyConfig)},pagerOpts(){return this.computePagerOpts},computePagerOpts(){return Object.assign({},getConfig().grid.pagerConfig,this.pagerConfig)},formOpts(){return this.computeFormOpts},computeFormOpts(){return Object.assign({},getConfig().grid.formConfig,this.formConfig)},toolbarOpts(){return this.computeToolbarOpts},computeToolbarOpts(){return Object.assign({},getConfig().grid.toolbarConfig,this.toolbarConfig||this.toolbar)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:o}=this,s={};return r?s.zIndex=o:(e&&(s.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(s.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),s},tableExtendProps(){let t={};return propKeys.forEach(e=>{t[e]=this[e]}),t},tableProps(){var{isZMax:e,seqConfig:t,pagerConfig:r,loading:o,editConfig:s,proxyConfig:i,proxyOpts:a,tableExtendProps:n,tableLoading:l,tablePage:g,tableData:d}=this,u=Object.assign({},n);return e&&(n.maxHeight?u.maxHeight="100%":u.height="100%"),i&&(u.loading=o||l,u.data=d,a.seq)&&(0,_utils.isEnableConf)(r)&&(u.seqConfig=Object.assign({},t,{startIndex:(g.currentPage-1)*g.pageSize})),s&&(u.editConfig=Object.assign({},s)),u},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],o=[],s=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],s=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:s}},computePageConfFlag(){var e=this.computePagerOpts;return""+e.currentPage+e.pageSize}},watch:{columns(e){this.$nextTick(()=>this.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computePageConfFlag(){this.initPages()}},created(){let e=this,t=(this.toolbar&&(0,_log.warnLog)("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),this.toolbarConfig&&!_xeUtils.default.isObject(this.toolbarConfig)&&(0,_log.warnLog)("vxe.error.errProp",["grid.toolbar-config="+this.toolbarConfig,"grid.toolbar-config={}"]),_ui.VxeUI.getComponent("VxeForm")),r=_ui.VxeUI.getComponent("VxePager");this.$nextTick(()=>{e.formConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),e.pagerConfig&&!r&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),this.initPages(),globalEvents.on(this,"keydown",this.handleGlobalKeydownEvent)},mounted(){this.columns&&this.columns.length&&this.loadColumn(this.columns),this.initToolbar(),this.initProxy()},destroyed(){globalEvents.off(this,"keydown")},render(e){var t=this,r=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+r]:r,"is--animat":!!this.animat,"is--round":this.round,"is--maximize":t.isZMax,"is--loading":t.loading||t.tableLoading}],style:t.computeStyles},renderLayout(e,t))},methods:Object.assign(Object.assign(Object.assign({},methods),{callSlot(e,t,r,o){if(e){var s=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))return(0,_vn.getSlotVNs)(e.call(this,t,r,o))}return[]},getExcludeHeight(){var e=this,t=e.isZMax,r=e.$refs.refElem,o=e.$refs.refFormWrapper,s=e.$refs.refToolbarWrapper,i=e.$refs.refTopWrapper,a=e.$refs.refBottomWrapper,e=e.$refs.refPagerWrapper;return(t?0:(0,_dom.getPaddingTopBottomSize)(r.parentNode))+(0,_dom.getPaddingTopBottomSize)(r)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(e)},getParentHeight(){var e=this.$refs.refElem;return e?(this.isZMax?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-this.getExcludeHeight():0},initToolbar(){this.$nextTick(()=>{var{xTable:e,xToolbar:t}=this.$refs;e&&t&&e.connect(t)})},initPages(){var{tablePage:e,pagerConfig:t,pagerOpts:r}=this,{currentPage:r,pageSize:o}=r;t&&(r&&(e.currentPage=r),o)&&(e.pageSize=o)},initProxy(){var{proxyInited:e,proxyConfig:t,proxyOpts:r,formConfig:o,formOpts:i}=this;if(t){if((0,_utils.isEnableConf)(o)&&r.form&&i.items){let s={};i.items.forEach(t=>{var{field:r,itemRender:o}=t;if(r){let e=null;o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o)),s[r]=e}}),this.formData=s}e||!1===r.autoLoad||(this.proxyInited=!0,this.$nextTick().then(()=>this.commitProxy("_init")).then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isInited:!0,$grid:this,$event:new Event("init")}))}))}},handleGlobalKeydownEvent(e){27===e.keyCode&&this.isZMax&&!1!==this.zoomOpts.escRestore&&this.triggerZoomEvent(e)},commitProxy(t,...u){let{$refs:e,toolbar:r,toolbarConfig:o,toolbarOpts:s,proxyOpts:i,tablePage:n,pagerConfig:l,editRules:c,isRespMsg:h,isActiveMsg:p,validConfig:f,pagerOpts:g}=this,{beforeQuery:d,afterQuery:m,beforeDelete:b,afterDelete:x,beforeSave:v,afterSave:y,ajax:_={}}=i,C=i.response||i.props||{},O=e.xTable;var a,$=this.getFormData();let P,E;_xeUtils.default.isString(t)?(a=o||r?_xeUtils.default.findTree(s.buttons,e=>e.code===t,{children:"dropdowns"}):null,E=t,P=a?a.item:null):(P=t,E=P.code);var j=P?P.params:null;switch(E){case"insert":return this.insert();case"insert_edit":return this.insert().then(({row:e})=>this.setEditRow(e));case"insert_actived":return this.insert().then(({row:e})=>this.setEditRow(e));case"mark_cancel":this.triggerPendingEvent(E);break;case"remove":return this.handleDeleteRow(E,"vxe.grid.removeSelectRecord",()=>this.removeCheckboxRow());case"import":this.importData(j);break;case"open_import":this.openImport(j);break;case"export":this.exportData(j);break;case"open_export":this.openExport(j);break;case"reset_custom":this.resetCustom(!0);break;case"_init":case"reload":case"query":{var S=_.query;let i=_.querySuccess,a=_.queryError;if(S){var T="_init"===E,U="reload"===E;let t=[],r=[],e={};if(l&&((T||U)&&(n.currentPage=1),(0,_utils.isEnableConf)(l))&&(e=Object.assign({},n)),T){let e=null;O&&(R=O.sortOpts,e=R.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),O&&(r=O.getCheckedFilters())}else O&&(U?O.clearAll():(t=O.getSortColumns(),r=O.getCheckedFilters()));let o={code:E,button:P,isInited:T,isReload:U,$grid:this,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:$,options:S},s=(this.sortData=t,this.filterData=r,this.tableLoading=!0,[o].concat(u));return Promise.resolve((d||S)(...s)).then(e=>{var t,r;return this.tableLoading=!1,e?l&&(0,_utils.isEnableConf)(g)?(r=C.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r||"page.total"))||0,n.total=_xeUtils.default.toNumber(r),t=C.result,this.tableData=(_xeUtils.default.isFunction(t)?t({data:e,$grid:this}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(r/n.pageSize),1),n.currentPage>t&&(n.currentPage=t)):(r=C.list,this.tableData=(r?_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r):e)||[]):this.tableData=[],m&&m(...s),i&&i(Object.assign(Object.assign({},o),{response:e})),{status:!0}}).catch(e=>(this.tableLoading=!1,a&&a(Object.assign(Object.assign({},o),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let s=_.delete,i=_.deleteSuccess,a=_.deleteError;if(s){let e=O.getCheckboxRecords(),t=e.filter(e=>!O.isInsertByRow(e));var R={removeRecords:t};let r={$grid:this,code:E,button:P,body:R,form:$,options:s},o=[r].concat(u);if(e.length)return this.handleDeleteRow(E,"vxe.grid.deleteSelectRecord",()=>t.length?(this.tableLoading=!0,Promise.resolve((b||s)(...o)).then(e=>(this.tableLoading=!1,O.setPendingRow(t,!1),h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"})),x?x(...o):this.commitProxy("query"),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):O.remove(e));p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=_.save,g=_.saveSuccess,d=_.saveError;if(l){let t=this.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:s,pendingRecords:i}=t,a={$grid:this,code:E,button:P,body:t,form:$,options:l},n=[a].concat(u),e=(r.length&&(t.pendingRecords=i.filter(e=>-1===r.indexOf(e))),i.length&&(t.insertRecords=r.filter(e=>-1===i.indexOf(e))),Promise.resolve());return(e=c?this[f&&"full"===f.msgMode?"fullValidate":"validate"](t.insertRecords.concat(s)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||s.length||t.pendingRecords.length?(this.tableLoading=!0,Promise.resolve((v||l)(...n)).then(e=>(this.tableLoading=!1,O.clearPendingRow(),h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),y?y(...n):this.commitProxy("query"),g&&g(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),d&&d(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):void(p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:T=commands.get(E);T&&(T.commandMethod?T.commandMethod({code:E,button:P,$grid:this,$table:O},...u):(0,_log.errLog)("vxe.error.notCommands",[E]))}return this.$nextTick()},getRespMsg(e,t){var r=this.proxyOpts,r=r.response||r.props||{};let o;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||getI18n(t)},handleDeleteRow(e,t,r){var o=this.getCheckboxRecords();if(this.isActiveMsg){if(o.length)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()});_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else o.length&&r();return Promise.resolve()},getFormData(){var{proxyConfig:e,proxyOpts:t,formOpts:r,formData:o}=this;return e&&(0,_utils.isEnableConf)(t)&&t.form?o:r.data},getFormItems(e){var{formConfig:t,formOpts:r}=this;let o=[];return _xeUtils.default.eachTree((0,_utils.isEnableConf)(t)&&r.items?r.items:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},triggerToolbarCommitEvent(e,t){let r=e.code;return this.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&this.$emit("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r,$grid:this,$event:t}))})},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-button-click",{code:e.code,button:e,$grid:this,$event:t})},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-tool-click",{code:e.code,tool:e,$grid:this,$event:t})},triggerPendingEvent(e){var t=this.isActiveMsg,r=this.getCheckboxRecords();r.length?(this.togglePendingRow(r),this.clearCheckboxRow()):t&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))},pageChangeEvent(t){var{proxyConfig:e,tablePage:r}=this,{currentPage:o,pageSize:s}=t;r.currentPage=o,r.pageSize=s,this.$emit("page-change",Object.assign({$grid:this},t)),e&&this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})},sortChangeEvent(t){var{$table:e,column:r,sortList:o}=t;(_xeUtils.default.isBoolean(r.remoteSort)?r.remoteSort:e.sortOpts.remote)&&(this.sortData=o,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("sort-change",Object.assign({$grid:this},t))},filterChangeEvent(t){var{$table:e,filterList:r}=t;e.filterOpts.remote&&(this.filterData=r,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("filter-change",Object.assign({$grid:this},t))},submitEvent(t){var e=this.proxyConfig;e&&this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))}),this.$emit("form-submit",Object.assign({$grid:this},t))},resetEvent(t){var e=this.proxyConfig,r=this.$refs.xTable;e&&(r.clearScroll(),this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))})),this.$emit("form-reset",Object.assign({$grid:this},t))},submitInvalidEvent(e){this.$emit("form-submit-invalid",Object.assign({$grid:this},e))},collapseEvent(e){this.$nextTick(()=>this.recalculate(!0)),this.$emit("form-toggle-collapse",Object.assign({$grid:this},e)),this.$emit("form-collapse",Object.assign({$grid:this},e))},triggerZoomEvent(e){this.zoom(),this.$emit("zoom",{$grid:this,type:this.isZMax?"max":"revert",$event:e})},zoom(){return this[this.isZMax?"revert":"maximize"]()},isMaximized(){return this.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){var t=this.isZMax;return(e?!t:t)&&(this.isZMax=!t,this.tZindex<(0,_utils.getLastZIndex)())&&(this.tZindex=(0,_utils.nextZIndex)()),this.$nextTick().then(()=>this.recalculate(!0)).then(()=>(setTimeout(()=>this.recalculate(!0),15),this.isZMax))},getProxyInfo(){var{$refs:e,sortData:t,proxyConfig:r}=this,e=e.xTable;return r?{data:this.tableData,filter:this.filterData,form:this.getFormData(),sort:t.length?t[0]:{},sorts:t,pager:this.tablePage,pendingRecords:e?e.getPendingRecords():[]}:null}}),"development"===process.env.NODE_ENV?{loadColumn(e){let t=this.$scopedSlots;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||t[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),this.$refs.xTable.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)}}:null)};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,globalEvents,globalMixins,renderEmptyElement}=_ui.VxeUI,methods={},propKeys=Object.keys(_props.default),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function renderDefaultForm(e,r){var o=_ui.VxeUI.getComponent("VxeForm");let s=r.$scopedSlots;var{proxyConfig:i,formConfig:t}=r,{proxyOpts:a,formData:n,formOpts:l}=r;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&t&&l.items.forEach(e=>{t.call(r,{$grid:r,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),[o?e(o,{props:Object.assign({},l,{data:i&&a.form?n:l.data}),on:{submit:r.submitEvent,reset:r.resetEvent,collapse:r.collapseEvent,"submit-invalid":r.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(r)]}return[]}function getFuncSlot(e,t,r){e=e.$scopedSlots,t=t[r];if(t){if(!_xeUtils.default.isString(t))return t;if(e[t])return e[t];(0,_log.errLog)("vxe.error.notSlot",[t])}return null}function getToolbarSlots(e){var{$scopedSlots:t,toolbarOpts:r}=e,r=r.slots,o={};return"development"===process.env.NODE_ENV&&(!t.buttons||r&&"buttons"===r.buttons||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!t.tools||r&&"tools"===r.tools||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.tools"])),r&&(t=getFuncSlot(e,r,"buttons"),e=getFuncSlot(e,r,"tools"),t&&(o.buttons=t),e)&&(o.tools=e),o}function getPagerSlots(e){var t,r=e.pagerOpts,r=r.slots,o={};return r&&(t=getFuncSlot(e,r,"left"),e=getFuncSlot(e,r,"right"),t&&(o.left=t),e)&&(o.right=e),o}function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:o}=r;let s={};return _xeUtils.default.each(e,(e,t)=>{s[t]=(...e)=>{r.$emit(t,...e)}}),t&&(o.sort&&(s["sort-change"]=r.sortChangeEvent),o.filter)&&(s["filter-change"]=r.filterChangeEvent),s}function renderForm(e,t){var{_e:r,$scopedSlots:o,formConfig:s}=t,o=o.form;return!o&&!(0,_utils.isEnableConf)(s)?r():e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t},e):renderDefaultForm(e,t))}function renderToolbar(e,t){var{_e:r,$scopedSlots:o,toolbarConfig:s,toolbar:i}=t,o=o.toolbar;return!(o||(0,_utils.isEnableConf)(s)||i)?r():e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t},e):[e(_toolbar.default,{props:t.toolbarOpts,ref:"xToolbar",scopedSlots:getToolbarSlots(t)})])}function renderTop(e,t){var{_e:r,$scopedSlots:o}=t,o=o.top;return o?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},o.call(t,{$grid:t},e)):r()}function renderTableLeft(e,t){var{_e:r,$scopedSlots:o}=t,o=o.left;return o?e("div",{class:"vxe-grid--left-wrapper"},o({$grid:t})):r()}function renderTableRight(e,t){var{_e:r,$scopedSlots:o}=t,o=o.right;return o?e("div",{class:"vxe-grid--right-wrapper"},o({$grid:t})):r()}function renderTable(e,t){var{$scopedSlots:r,tableProps:o}=t;return e("div",{class:"vxe-grid--table-wrapper"},[e("vxe-table",{key:"table",props:o,on:getTableOns(t),scopedSlots:r,ref:"xTable"})])}function renderBottom(e,t){var{_e:r,$scopedSlots:o}=t,o=o.bottom;return o?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},o.call(t,{$grid:t},e)):r()}function renderPager(e,t){var r=_ui.VxeUI.getComponent("VxePager"),{pagerConfig:o,proxyConfig:s}=t,{$scopedSlots:i,tablePage:a}=t,i=i.pager;return!i&&!(0,_utils.isEnableConf)(o)?renderEmptyElement(t):e("div",{key:"pager",ref:"refPagerWrapper",class:"vxe-grid--pager-wrapper"},i?i.call(t,{$grid:t},e):[r?e(r,{props:Object.assign(Object.assign({},t.pagerOpts),s?a:{}),on:{"page-change":t.pageChangeEvent},scopedSlots:getPagerSlots(t)}):renderEmptyElement(t)])}function renderChildLayout(t,r,e){let o=[];return e.forEach(e=>{switch(e){case"Form":o.push(renderForm(t,r));break;case"Toolbar":o.push(renderToolbar(t,r));break;case"Top":o.push(renderTop(t,r));break;case"Table":o.push(t("div",{key:"table",class:"vxe-grid--table-container"},[renderTableLeft(t,r),renderTable(t,r),renderTableRight(t,r)]));break;case"Bottom":o.push(renderBottom(t,r));break;case"Pager":o.push(renderPager(t,r));break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),o}function renderLayout(e,t){var r=t.$scopedSlots,{headKeys:o,bodyKeys:s,footKeys:i}=t.computeCurrLayoutConf,a=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},renderChildLayout(e,t,o)),e("div",{class:"vxe-grid--layout-body-wrapper"},[a?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},renderChildLayout(e,t,s)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},renderChildLayout(e,t,i))]}Object.keys(_table.default.methods).forEach(t=>{methods[t]=function(...e){return this.$refs.xTable&&this.$refs.xTable[t](...e)}});var _default=exports.default={name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:[Boolean,Object],proxyConfig:Object,toolbar:[Boolean,Object],toolbarConfig:[Boolean,Object],formConfig:[Boolean,Object],zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this,$xegrid:this}},data(){var e;return{tableLoading:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}},computed:{isRespMsg(){var e=this.proxyOpts;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg},isActiveMsg(){return this.proxyOpts.showActiveMsg},proxyOpts(){return this.computeProxyOpts},computeProxyOpts(){return _xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),this.proxyConfig)},pagerOpts(){return this.computePagerOpts},computePagerOpts(){return Object.assign({},getConfig().grid.pagerConfig,this.pagerConfig)},formOpts(){return this.computeFormOpts},computeFormOpts(){return Object.assign({},getConfig().grid.formConfig,this.formConfig)},toolbarOpts(){return this.computeToolbarOpts},computeToolbarOpts(){return Object.assign({},getConfig().grid.toolbarConfig,this.toolbarConfig||this.toolbar)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:o}=this,s={};return r?s.zIndex=o:(e&&(s.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(s.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),s},tableExtendProps(){let t={};return propKeys.forEach(e=>{t[e]=this[e]}),t},tableProps(){var{isZMax:e,seqConfig:t,pagerConfig:r,loading:o,editConfig:s,proxyConfig:i,proxyOpts:a,tableExtendProps:n,tableLoading:l,tablePage:g,tableData:d}=this,u=Object.assign({},n);return e&&(n.maxHeight?u.maxHeight="100%":u.height="100%"),i&&(u.loading=o||l,u.data=d,a.seq)&&(0,_utils.isEnableConf)(r)&&(u.seqConfig=Object.assign({},t,{startIndex:(g.currentPage-1)*g.pageSize})),s&&(u.editConfig=Object.assign({},s)),u},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],o=[],s=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],s=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:s}},computePageConfFlag(){var e=this.computePagerOpts;return""+e.currentPage+e.pageSize}},watch:{columns(e){this.$nextTick(()=>this.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computePageConfFlag(){this.initPages()}},created(){let e=this,t=(this.toolbar&&(0,_log.warnLog)("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),this.toolbarConfig&&!_xeUtils.default.isObject(this.toolbarConfig)&&(0,_log.warnLog)("vxe.error.errProp",["grid.toolbar-config="+this.toolbarConfig,"grid.toolbar-config={}"]),_ui.VxeUI.getComponent("VxeForm")),r=_ui.VxeUI.getComponent("VxePager");this.$nextTick(()=>{e.formConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),e.pagerConfig&&!r&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),this.initPages(),globalEvents.on(this,"keydown",this.handleGlobalKeydownEvent)},mounted(){this.columns&&this.columns.length&&this.loadColumn(this.columns),this.initToolbar(),this.initProxy()},destroyed(){globalEvents.off(this,"keydown")},render(e){var t=this,r=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+r]:r,"is--animat":!!this.animat,"is--round":this.round,"is--maximize":t.isZMax,"is--loading":t.loading||t.tableLoading}],style:t.computeStyles},renderLayout(e,t))},methods:Object.assign(Object.assign(Object.assign({},methods),{callSlot(e,t,r,o){if(e){var s=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))return(0,_vn.getSlotVNs)(e.call(this,t,r,o))}return[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var e=this,t=e.isZMax,r=e.$refs.refElem,o=e.$refs.refFormWrapper,s=e.$refs.refToolbarWrapper,i=e.$refs.refTopWrapper,a=e.$refs.refBottomWrapper,e=e.$refs.refPagerWrapper;return(t?0:(0,_dom.getPaddingTopBottomSize)(r.parentNode))+(0,_dom.getPaddingTopBottomSize)(r)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(e)},getParentHeight(){var e=this.$refs.refElem;return e?(this.isZMax?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-this.getExcludeHeight():0},initToolbar(){this.$nextTick(()=>{var{xTable:e,xToolbar:t}=this.$refs;e&&t&&e.connect(t)})},initPages(){var{tablePage:e,pagerConfig:t,pagerOpts:r}=this,{currentPage:r,pageSize:o}=r;t&&(r&&(e.currentPage=r),o)&&(e.pageSize=o)},initProxy(){var{proxyInited:e,proxyConfig:t,proxyOpts:r,formConfig:o,formOpts:i}=this;if(t){if((0,_utils.isEnableConf)(o)&&r.form&&i.items){let s={};i.items.forEach(t=>{var{field:r,itemRender:o}=t;if(r){let e=null;o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o)),s[r]=e}}),this.formData=s}e||!1===r.autoLoad||(this.proxyInited=!0,this.$nextTick().then(()=>this.commitProxy("_init")).then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isInited:!0,$grid:this,$event:new Event("init")}))}))}},handleGlobalKeydownEvent(e){27===e.keyCode&&this.isZMax&&!1!==this.zoomOpts.escRestore&&this.triggerZoomEvent(e)},commitProxy(t,...u){let{$refs:e,toolbar:r,toolbarConfig:o,toolbarOpts:s,proxyOpts:i,tablePage:n,pagerConfig:l,editRules:c,isRespMsg:h,isActiveMsg:p,validConfig:f,pagerOpts:g}=this,{beforeQuery:d,afterQuery:m,beforeDelete:b,afterDelete:x,beforeSave:v,afterSave:y,ajax:_={}}=i,C=i.response||i.props||{},O=e.xTable;var a,$=this.getFormData();let P,E;_xeUtils.default.isString(t)?(a=o||r?_xeUtils.default.findTree(s.buttons,e=>e.code===t,{children:"dropdowns"}):null,E=t,P=a?a.item:null):(P=t,E=P.code);var j=P?P.params:null;switch(E){case"insert":return this.insert();case"insert_edit":return this.insert().then(({row:e})=>this.setEditRow(e));case"insert_actived":return this.insert().then(({row:e})=>this.setEditRow(e));case"mark_cancel":this.triggerPendingEvent(E);break;case"remove":return this.handleDeleteRow(E,"vxe.grid.removeSelectRecord",()=>this.removeCheckboxRow());case"import":this.importData(j);break;case"open_import":this.openImport(j);break;case"export":this.exportData(j);break;case"open_export":this.openExport(j);break;case"reset_custom":this.resetCustom(!0);break;case"_init":case"reload":case"query":{var S=_.query;let i=_.querySuccess,a=_.queryError;if(S){var T="_init"===E,U="reload"===E;let t=[],r=[],e={};if(l&&((T||U)&&(n.currentPage=1),(0,_utils.isEnableConf)(l))&&(e=Object.assign({},n)),T){let e=null;O&&(R=O.sortOpts,e=R.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),O&&(r=O.getCheckedFilters())}else O&&(U?O.clearAll():(t=O.getSortColumns(),r=O.getCheckedFilters()));let o={code:E,button:P,isInited:T,isReload:U,$grid:this,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:$,options:S},s=(this.sortData=t,this.filterData=r,this.tableLoading=!0,[o].concat(u));return Promise.resolve((d||S)(...s)).then(e=>{var t,r;return this.tableLoading=!1,e?l&&(0,_utils.isEnableConf)(g)?(r=C.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r||"page.total"))||0,n.total=_xeUtils.default.toNumber(r),t=C.result,this.tableData=(_xeUtils.default.isFunction(t)?t({data:e,$grid:this}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(r/n.pageSize),1),n.currentPage>t&&(n.currentPage=t)):(r=C.list,this.tableData=(r?_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r):e)||[]):this.tableData=[],m&&m(...s),i&&i(Object.assign(Object.assign({},o),{response:e})),{status:!0}}).catch(e=>(this.tableLoading=!1,a&&a(Object.assign(Object.assign({},o),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let s=_.delete,i=_.deleteSuccess,a=_.deleteError;if(s){let e=O.getCheckboxRecords(),t=e.filter(e=>!O.isInsertByRow(e));var R={removeRecords:t};let r={$grid:this,code:E,button:P,body:R,form:$,options:s},o=[r].concat(u);if(e.length)return this.handleDeleteRow(E,"vxe.grid.deleteSelectRecord",()=>t.length?(this.tableLoading=!0,Promise.resolve((b||s)(...o)).then(e=>(this.tableLoading=!1,O.setPendingRow(t,!1),h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"})),x?x(...o):this.commitProxy("query"),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):O.remove(e));p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=_.save,g=_.saveSuccess,d=_.saveError;if(l){let t=this.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:s,pendingRecords:i}=t,a={$grid:this,code:E,button:P,body:t,form:$,options:l},n=[a].concat(u),e=(r.length&&(t.pendingRecords=i.filter(e=>-1===r.indexOf(e))),i.length&&(t.insertRecords=r.filter(e=>-1===i.indexOf(e))),Promise.resolve());return(e=c?this[f&&"full"===f.msgMode?"fullValidate":"validate"](t.insertRecords.concat(s)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||s.length||t.pendingRecords.length?(this.tableLoading=!0,Promise.resolve((v||l)(...n)).then(e=>(this.tableLoading=!1,O.clearPendingRow(),h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),y?y(...n):this.commitProxy("query"),g&&g(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),d&&d(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):void(p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:T=commands.get(E);T&&(T.commandMethod?T.commandMethod({code:E,button:P,$grid:this,$table:O},...u):(0,_log.errLog)("vxe.error.notCommands",[E]))}return this.$nextTick()},getRespMsg(e,t){var r=this.proxyOpts,r=r.response||r.props||{};let o;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||getI18n(t)},handleDeleteRow(e,t,r){var o=this.getCheckboxRecords();if(this.isActiveMsg){if(o.length)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()});_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else o.length&&r();return Promise.resolve()},getFormData(){var{proxyConfig:e,proxyOpts:t,formOpts:r,formData:o}=this;return e&&(0,_utils.isEnableConf)(t)&&t.form?o:r.data},getFormItems(e){var{formConfig:t,formOpts:r}=this;let o=[];return _xeUtils.default.eachTree((0,_utils.isEnableConf)(t)&&r.items?r.items:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},triggerToolbarCommitEvent(e,t){let r=e.code;return this.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&this.$emit("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r,$grid:this,$event:t}))})},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-button-click",{code:e.code,button:e,$grid:this,$event:t})},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-tool-click",{code:e.code,tool:e,$grid:this,$event:t})},triggerPendingEvent(e){var t=this.isActiveMsg,r=this.getCheckboxRecords();r.length?(this.togglePendingRow(r),this.clearCheckboxRow()):t&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))},pageChangeEvent(t){var{proxyConfig:e,tablePage:r}=this,{currentPage:o,pageSize:s}=t;r.currentPage=o,r.pageSize=s,this.$emit("page-change",Object.assign({$grid:this},t)),e&&this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})},sortChangeEvent(t){var{$table:e,column:r,sortList:o}=t;(_xeUtils.default.isBoolean(r.remoteSort)?r.remoteSort:e.sortOpts.remote)&&(this.sortData=o,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("sort-change",Object.assign({$grid:this},t))},filterChangeEvent(t){var{$table:e,filterList:r}=t;e.filterOpts.remote&&(this.filterData=r,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("filter-change",Object.assign({$grid:this},t))},submitEvent(t){var e=this.proxyConfig;e&&this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))}),this.$emit("form-submit",Object.assign({$grid:this},t))},resetEvent(t){var e=this.proxyConfig,r=this.$refs.xTable;e&&(r.clearScroll(),this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))})),this.$emit("form-reset",Object.assign({$grid:this},t))},submitInvalidEvent(e){this.$emit("form-submit-invalid",Object.assign({$grid:this},e))},collapseEvent(e){this.$nextTick(()=>this.recalculate(!0)),this.$emit("form-toggle-collapse",Object.assign({$grid:this},e)),this.$emit("form-collapse",Object.assign({$grid:this},e))},triggerZoomEvent(e){this.zoom(),this.$emit("zoom",{$grid:this,type:this.isZMax?"max":"revert",$event:e})},zoom(){return this[this.isZMax?"revert":"maximize"]()},isMaximized(){return this.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){var t=this.isZMax;return(e?!t:t)&&(this.isZMax=!t,this.tZindex<(0,_utils.getLastZIndex)())&&(this.tZindex=(0,_utils.nextZIndex)()),this.$nextTick().then(()=>this.recalculate(!0)).then(()=>(setTimeout(()=>this.recalculate(!0),15),this.isZMax))},getProxyInfo(){var{$refs:e,sortData:t,proxyConfig:r}=this,e=e.xTable;return r?{data:this.tableData,filter:this.filterData,form:this.getFormData(),sort:t.length?t[0]:{},sorts:t,pager:this.tablePage,pendingRecords:e?e.getPendingRecords():[]}:null}}),"development"===process.env.NODE_ENV?{loadColumn(e){let t=this.$scopedSlots;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||t[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),this.$refs.xTable.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)}}:null)};
|