vxe-table 3.4.14-beta.2 → 3.4.14-beta.3
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/lib/filter/src/mixin.js +24 -17
- package/lib/filter/src/mixin.min.js +1 -1
- package/lib/index.umd.js +307 -243
- package/lib/index.umd.min.js +1 -1
- package/lib/table/src/body.js +36 -10
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/methods.js +234 -215
- package/lib/table/src/methods.min.js +1 -1
- package/lib/tools/src/dom.js +14 -1
- package/lib/tools/src/dom.min.js +1 -1
- package/package.json +1 -1
- package/packages/filter/src/mixin.js +15 -11
- package/packages/table/src/body.js +32 -11
- package/packages/table/src/methods.js +28 -14
- package/packages/tools/src/dom.js +13 -1
package/lib/table/src/methods.js
CHANGED
|
@@ -52,7 +52,8 @@ var calcHeight = _tools.DomTools.calcHeight,
|
|
|
52
52
|
hasClass = _tools.DomTools.hasClass,
|
|
53
53
|
addClass = _tools.DomTools.addClass,
|
|
54
54
|
removeClass = _tools.DomTools.removeClass,
|
|
55
|
-
getEventTargetNode = _tools.DomTools.getEventTargetNode
|
|
55
|
+
getEventTargetNode = _tools.DomTools.getEventTargetNode,
|
|
56
|
+
isNodeElement = _tools.DomTools.isNodeElement;
|
|
56
57
|
var isWebkit = _dom.browse['-webkit'] && !_dom.browse.edge;
|
|
57
58
|
var debounceScrollYDuration = _dom.browse.msie ? 80 : 20;
|
|
58
59
|
var resizableStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_WIDTH';
|
|
@@ -443,6 +444,8 @@ var Methods = {
|
|
|
443
444
|
return this.handleTableData(true).then(function () {
|
|
444
445
|
_this2.updateFooter();
|
|
445
446
|
|
|
447
|
+
_this2.checkSelectionStatus();
|
|
448
|
+
|
|
446
449
|
if (scrollXLoad || scrollYLoad) {
|
|
447
450
|
if (scrollXLoad) {
|
|
448
451
|
_this2.updateScrollXSpace();
|
|
@@ -455,7 +458,14 @@ var Methods = {
|
|
|
455
458
|
return _this2.refreshScroll();
|
|
456
459
|
}
|
|
457
460
|
}).then(function () {
|
|
458
|
-
|
|
461
|
+
_this2.updateCellAreas();
|
|
462
|
+
|
|
463
|
+
return _this2.recalculate(true);
|
|
464
|
+
}).then(function () {
|
|
465
|
+
// 存在滚动行为未结束情况
|
|
466
|
+
setTimeout(function () {
|
|
467
|
+
return _this2.recalculate();
|
|
468
|
+
}, 50);
|
|
459
469
|
});
|
|
460
470
|
},
|
|
461
471
|
handleTableData: function handleTableData(force) {
|
|
@@ -2443,6 +2453,8 @@ var Methods = {
|
|
|
2443
2453
|
* 刷新滚动操作,手动同步滚动相关位置(对于某些特殊的操作,比如滚动条错位、固定列不同步)
|
|
2444
2454
|
*/
|
|
2445
2455
|
refreshScroll: function refreshScroll() {
|
|
2456
|
+
var _this22 = this;
|
|
2457
|
+
|
|
2446
2458
|
var lastScrollLeft = this.lastScrollLeft,
|
|
2447
2459
|
lastScrollTop = this.lastScrollTop;
|
|
2448
2460
|
var $refs = this.$refs;
|
|
@@ -2453,17 +2465,24 @@ var Methods = {
|
|
|
2453
2465
|
var tableBodyElem = tableBody ? tableBody.$el : null;
|
|
2454
2466
|
var leftBodyElem = leftBody ? leftBody.$el : null;
|
|
2455
2467
|
var rightBodyElem = rightBody ? rightBody.$el : null;
|
|
2456
|
-
var tableFooterElem = tableFooter ? tableFooter.$el : null;
|
|
2468
|
+
var tableFooterElem = tableFooter ? tableFooter.$el : null;
|
|
2469
|
+
return new Promise(function (resolve) {
|
|
2470
|
+
// 还原滚动条位置
|
|
2471
|
+
if (lastScrollLeft || lastScrollTop) {
|
|
2472
|
+
return (0, _util.restoreScrollLocation)(_this22, lastScrollLeft, lastScrollTop).then(function () {
|
|
2473
|
+
// 存在滚动行为未结束情况
|
|
2474
|
+
setTimeout(resolve, 30);
|
|
2475
|
+
});
|
|
2476
|
+
} // 重置
|
|
2457
2477
|
|
|
2458
|
-
if (lastScrollLeft || lastScrollTop) {
|
|
2459
|
-
return (0, _util.restoreScrollLocation)(this, lastScrollLeft, lastScrollTop);
|
|
2460
|
-
} // 重置
|
|
2461
2478
|
|
|
2479
|
+
(0, _dom.setScrollTop)(tableBodyElem, lastScrollTop);
|
|
2480
|
+
(0, _dom.setScrollTop)(leftBodyElem, lastScrollTop);
|
|
2481
|
+
(0, _dom.setScrollTop)(rightBodyElem, lastScrollTop);
|
|
2482
|
+
(0, _dom.setScrollLeft)(tableFooterElem, lastScrollLeft); // 存在滚动行为未结束情况
|
|
2462
2483
|
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
(0, _dom.setScrollTop)(rightBodyElem, lastScrollTop);
|
|
2466
|
-
(0, _dom.setScrollLeft)(tableFooterElem, lastScrollLeft);
|
|
2484
|
+
setTimeout(resolve, 30);
|
|
2485
|
+
});
|
|
2467
2486
|
},
|
|
2468
2487
|
|
|
2469
2488
|
/**
|
|
@@ -2471,7 +2490,7 @@ var Methods = {
|
|
|
2471
2490
|
* 支持 width=? width=?px width=?% min-width=? min-width=?px min-width=?%
|
|
2472
2491
|
*/
|
|
2473
2492
|
recalculate: function recalculate(refull) {
|
|
2474
|
-
var
|
|
2493
|
+
var _this23 = this;
|
|
2475
2494
|
|
|
2476
2495
|
var $refs = this.$refs;
|
|
2477
2496
|
var tableBody = $refs.tableBody,
|
|
@@ -2487,9 +2506,9 @@ var Methods = {
|
|
|
2487
2506
|
if (refull === true) {
|
|
2488
2507
|
// 初始化时需要在列计算之后再执行优化运算,达到最优显示效果
|
|
2489
2508
|
return this.computeScrollLoad().then(function () {
|
|
2490
|
-
|
|
2509
|
+
_this23.autoCellWidth(headerElem, bodyElem, footerElem);
|
|
2491
2510
|
|
|
2492
|
-
return
|
|
2511
|
+
return _this23.computeScrollLoad();
|
|
2493
2512
|
});
|
|
2494
2513
|
}
|
|
2495
2514
|
}
|
|
@@ -2637,7 +2656,7 @@ var Methods = {
|
|
|
2637
2656
|
this.customMaxHeight = calcHeight(this, 'maxHeight');
|
|
2638
2657
|
},
|
|
2639
2658
|
updateStyle: function updateStyle() {
|
|
2640
|
-
var
|
|
2659
|
+
var _this24 = this;
|
|
2641
2660
|
|
|
2642
2661
|
var $refs = this.$refs,
|
|
2643
2662
|
isGroup = this.isGroup,
|
|
@@ -2741,7 +2760,7 @@ var Methods = {
|
|
|
2741
2760
|
|
|
2742
2761
|
if (isGroup && listElem) {
|
|
2743
2762
|
_xeUtils.default.arrayEach(listElem.querySelectorAll('.col--group'), function (thElem) {
|
|
2744
|
-
var colNode =
|
|
2763
|
+
var colNode = _this24.getColumnNode(thElem);
|
|
2745
2764
|
|
|
2746
2765
|
if (colNode) {
|
|
2747
2766
|
var column = colNode.item;
|
|
@@ -2771,7 +2790,7 @@ var Methods = {
|
|
|
2771
2790
|
} else if (layout === 'body') {
|
|
2772
2791
|
var emptyBlockElem = elemStore["".concat(name, "-").concat(layout, "-emptyBlock")];
|
|
2773
2792
|
|
|
2774
|
-
if (wrapperElem) {
|
|
2793
|
+
if (isNodeElement(wrapperElem)) {
|
|
2775
2794
|
if (customMaxHeight) {
|
|
2776
2795
|
wrapperElem.style.maxHeight = "".concat(fixedType ? customMaxHeight - headerHeight - (showFooter ? 0 : scrollbarHeight) : customMaxHeight - headerHeight, "px");
|
|
2777
2796
|
} else {
|
|
@@ -2788,7 +2807,7 @@ var Methods = {
|
|
|
2788
2807
|
var isRightFixed = fixedType === 'right';
|
|
2789
2808
|
var _fixedColumn = columnStore["".concat(fixedType, "List")];
|
|
2790
2809
|
|
|
2791
|
-
if (wrapperElem) {
|
|
2810
|
+
if (isNodeElement(wrapperElem)) {
|
|
2792
2811
|
wrapperElem.style.top = "".concat(headerHeight, "px");
|
|
2793
2812
|
}
|
|
2794
2813
|
|
|
@@ -2858,7 +2877,7 @@ var Methods = {
|
|
|
2858
2877
|
return previous + column.renderWidth;
|
|
2859
2878
|
}, 0);
|
|
2860
2879
|
|
|
2861
|
-
if (wrapperElem) {
|
|
2880
|
+
if (isNodeElement(wrapperElem)) {
|
|
2862
2881
|
// 如果是固定列
|
|
2863
2882
|
if (fixedWrapperElem) {
|
|
2864
2883
|
wrapperElem.style.top = "".concat(customHeight > 0 ? customHeight - footerHeight : tableHeight + headerHeight, "px");
|
|
@@ -2922,10 +2941,10 @@ var Methods = {
|
|
|
2922
2941
|
|
|
2923
2942
|
if (cellElem) {
|
|
2924
2943
|
if (colspan > 1) {
|
|
2925
|
-
var columnIndex =
|
|
2944
|
+
var columnIndex = _this24.getColumnIndex(column);
|
|
2926
2945
|
|
|
2927
2946
|
for (var _index = 1; _index < colspan; _index++) {
|
|
2928
|
-
var nextColumn =
|
|
2947
|
+
var nextColumn = _this24.getColumns(columnIndex + _index);
|
|
2929
2948
|
|
|
2930
2949
|
if (nextColumn) {
|
|
2931
2950
|
colWidth += nextColumn.renderWidth;
|
|
@@ -2975,7 +2994,7 @@ var Methods = {
|
|
|
2975
2994
|
}
|
|
2976
2995
|
},
|
|
2977
2996
|
preventEvent: function preventEvent(evnt, type, args, next, end) {
|
|
2978
|
-
var
|
|
2997
|
+
var _this25 = this;
|
|
2979
2998
|
|
|
2980
2999
|
var evntList = _vXETable.default.interceptor.get(type);
|
|
2981
3000
|
|
|
@@ -2983,8 +3002,8 @@ var Methods = {
|
|
|
2983
3002
|
|
|
2984
3003
|
if (!evntList.some(function (func) {
|
|
2985
3004
|
return func(Object.assign({
|
|
2986
|
-
$grid:
|
|
2987
|
-
$table:
|
|
3005
|
+
$grid: _this25.$xegrid,
|
|
3006
|
+
$table: _this25,
|
|
2988
3007
|
$event: evnt
|
|
2989
3008
|
}, args)) === false;
|
|
2990
3009
|
})) {
|
|
@@ -3004,7 +3023,7 @@ var Methods = {
|
|
|
3004
3023
|
* 全局按下事件处理
|
|
3005
3024
|
*/
|
|
3006
3025
|
handleGlobalMousedownEvent: function handleGlobalMousedownEvent(evnt) {
|
|
3007
|
-
var
|
|
3026
|
+
var _this26 = this;
|
|
3008
3027
|
|
|
3009
3028
|
var $el = this.$el,
|
|
3010
3029
|
$refs = this.$refs,
|
|
@@ -3065,7 +3084,7 @@ var Methods = {
|
|
|
3065
3084
|
} // 如果固定了高度且点击了行之外的空白处,则清除激活状态
|
|
3066
3085
|
|
|
3067
3086
|
|
|
3068
|
-
if (!isClearActived &&
|
|
3087
|
+
if (!isClearActived && _this26.height && !_this26.overflowY) {
|
|
3069
3088
|
var bodyWrapperElem = evnt.target;
|
|
3070
3089
|
|
|
3071
3090
|
if (hasClass(bodyWrapperElem, 'vxe-table--body-wrapper')) {
|
|
@@ -3076,7 +3095,7 @@ var Methods = {
|
|
|
3076
3095
|
if (isClearActived || // 如果点击了当前表格之外
|
|
3077
3096
|
!getEventTargetNode(evnt, $el).flag) {
|
|
3078
3097
|
setTimeout(function () {
|
|
3079
|
-
return
|
|
3098
|
+
return _this26.clearActived(evnt);
|
|
3080
3099
|
});
|
|
3081
3100
|
}
|
|
3082
3101
|
});
|
|
@@ -3090,9 +3109,9 @@ var Methods = {
|
|
|
3090
3109
|
|
|
3091
3110
|
if (!getEventTargetNode(evnt, document.body, 'vxe-table--ignore-areas-clear').flag) {
|
|
3092
3111
|
this.preventEvent(evnt, 'event.clearAreas', {}, function () {
|
|
3093
|
-
|
|
3112
|
+
_this26.clearCellAreas();
|
|
3094
3113
|
|
|
3095
|
-
|
|
3114
|
+
_this26.clearCopyCellArea();
|
|
3096
3115
|
});
|
|
3097
3116
|
}
|
|
3098
3117
|
}
|
|
@@ -3127,7 +3146,7 @@ var Methods = {
|
|
|
3127
3146
|
* 表格键盘事件
|
|
3128
3147
|
*/
|
|
3129
3148
|
keydownEvent: function keydownEvent(evnt) {
|
|
3130
|
-
var
|
|
3149
|
+
var _this27 = this;
|
|
3131
3150
|
|
|
3132
3151
|
var filterStore = this.filterStore,
|
|
3133
3152
|
ctxMenuStore = this.ctxMenuStore,
|
|
@@ -3142,33 +3161,33 @@ var Methods = {
|
|
|
3142
3161
|
|
|
3143
3162
|
if (isEsc) {
|
|
3144
3163
|
this.preventEvent(evnt, 'event.keydown', null, function () {
|
|
3145
|
-
if (keyboardConfig && mouseConfig && mouseOpts.area &&
|
|
3146
|
-
|
|
3164
|
+
if (keyboardConfig && mouseConfig && mouseOpts.area && _this27.handleKeyboardEvent) {
|
|
3165
|
+
_this27.handleKeyboardEvent(evnt);
|
|
3147
3166
|
} else if (actived.row || filterStore.visible || ctxMenuStore.visible) {
|
|
3148
3167
|
evnt.stopPropagation(); // 如果按下了 Esc 键,关闭快捷菜单、筛选
|
|
3149
3168
|
|
|
3150
|
-
|
|
3169
|
+
_this27.closeFilter();
|
|
3151
3170
|
|
|
3152
|
-
|
|
3171
|
+
_this27.closeMenu();
|
|
3153
3172
|
|
|
3154
3173
|
if (keyboardConfig && keyboardOpts.isEsc) {
|
|
3155
3174
|
// 如果是激活编辑状态,则取消编辑
|
|
3156
3175
|
if (actived.row) {
|
|
3157
3176
|
var params = actived.args;
|
|
3158
3177
|
|
|
3159
|
-
|
|
3178
|
+
_this27.clearActived(evnt); // 如果配置了选中功能,则为选中状态
|
|
3160
3179
|
|
|
3161
3180
|
|
|
3162
3181
|
if (mouseConfig && mouseOpts.selected) {
|
|
3163
|
-
|
|
3164
|
-
return
|
|
3182
|
+
_this27.$nextTick(function () {
|
|
3183
|
+
return _this27.handleSelected(params, evnt);
|
|
3165
3184
|
});
|
|
3166
3185
|
}
|
|
3167
3186
|
}
|
|
3168
3187
|
}
|
|
3169
3188
|
}
|
|
3170
3189
|
|
|
3171
|
-
|
|
3190
|
+
_this27.emitEvent('keydown', {}, evnt);
|
|
3172
3191
|
});
|
|
3173
3192
|
}
|
|
3174
3193
|
},
|
|
@@ -3177,27 +3196,27 @@ var Methods = {
|
|
|
3177
3196
|
* 全局键盘事件
|
|
3178
3197
|
*/
|
|
3179
3198
|
handleGlobalKeydownEvent: function handleGlobalKeydownEvent(evnt) {
|
|
3180
|
-
var
|
|
3199
|
+
var _this28 = this;
|
|
3181
3200
|
|
|
3182
3201
|
// 该行为只对当前激活的表格有效
|
|
3183
3202
|
if (this.isActivated) {
|
|
3184
3203
|
this.preventEvent(evnt, 'event.keydown', null, function () {
|
|
3185
|
-
var filterStore =
|
|
3186
|
-
isCtxMenu =
|
|
3187
|
-
ctxMenuStore =
|
|
3188
|
-
editStore =
|
|
3189
|
-
editOpts =
|
|
3190
|
-
editConfig =
|
|
3191
|
-
mouseConfig =
|
|
3192
|
-
mouseOpts =
|
|
3193
|
-
keyboardConfig =
|
|
3194
|
-
keyboardOpts =
|
|
3195
|
-
treeConfig =
|
|
3196
|
-
treeOpts =
|
|
3197
|
-
highlightCurrentRow =
|
|
3198
|
-
currentRow =
|
|
3199
|
-
bodyCtxMenu =
|
|
3200
|
-
rowOpts =
|
|
3204
|
+
var filterStore = _this28.filterStore,
|
|
3205
|
+
isCtxMenu = _this28.isCtxMenu,
|
|
3206
|
+
ctxMenuStore = _this28.ctxMenuStore,
|
|
3207
|
+
editStore = _this28.editStore,
|
|
3208
|
+
editOpts = _this28.editOpts,
|
|
3209
|
+
editConfig = _this28.editConfig,
|
|
3210
|
+
mouseConfig = _this28.mouseConfig,
|
|
3211
|
+
mouseOpts = _this28.mouseOpts,
|
|
3212
|
+
keyboardConfig = _this28.keyboardConfig,
|
|
3213
|
+
keyboardOpts = _this28.keyboardOpts,
|
|
3214
|
+
treeConfig = _this28.treeConfig,
|
|
3215
|
+
treeOpts = _this28.treeOpts,
|
|
3216
|
+
highlightCurrentRow = _this28.highlightCurrentRow,
|
|
3217
|
+
currentRow = _this28.currentRow,
|
|
3218
|
+
bodyCtxMenu = _this28.bodyCtxMenu,
|
|
3219
|
+
rowOpts = _this28.rowOpts;
|
|
3201
3220
|
var selected = editStore.selected,
|
|
3202
3221
|
actived = editStore.actived;
|
|
3203
3222
|
var keyCode = evnt.keyCode;
|
|
@@ -3224,7 +3243,7 @@ var Methods = {
|
|
|
3224
3243
|
|
|
3225
3244
|
if (filterStore.visible) {
|
|
3226
3245
|
if (isEsc) {
|
|
3227
|
-
|
|
3246
|
+
_this28.closeFilter();
|
|
3228
3247
|
}
|
|
3229
3248
|
|
|
3230
3249
|
return;
|
|
@@ -3235,20 +3254,20 @@ var Methods = {
|
|
|
3235
3254
|
evnt.preventDefault();
|
|
3236
3255
|
|
|
3237
3256
|
if (ctxMenuStore.showChild && hasChildrenList(ctxMenuStore.selected)) {
|
|
3238
|
-
|
|
3257
|
+
_this28.moveCtxMenu(evnt, keyCode, ctxMenuStore, 'selectChild', 37, false, ctxMenuStore.selected.children);
|
|
3239
3258
|
} else {
|
|
3240
|
-
|
|
3259
|
+
_this28.moveCtxMenu(evnt, keyCode, ctxMenuStore, 'selected', 39, true, _this28.ctxMenuList);
|
|
3241
3260
|
}
|
|
3242
|
-
} else if (keyboardConfig && mouseConfig && mouseOpts.area &&
|
|
3243
|
-
|
|
3261
|
+
} else if (keyboardConfig && mouseConfig && mouseOpts.area && _this28.handleKeyboardEvent) {
|
|
3262
|
+
_this28.handleKeyboardEvent(evnt);
|
|
3244
3263
|
} else if (keyboardConfig && isSpacebar && keyboardOpts.isChecked && selected.row && selected.column && (selected.column.type === 'checkbox' || selected.column.type === 'radio')) {
|
|
3245
3264
|
// 空格键支持选中复选框
|
|
3246
3265
|
evnt.preventDefault();
|
|
3247
3266
|
|
|
3248
3267
|
if (selected.column.type === 'checkbox') {
|
|
3249
|
-
|
|
3268
|
+
_this28.handleToggleCheckRowEvent(evnt, selected.args);
|
|
3250
3269
|
} else {
|
|
3251
|
-
|
|
3270
|
+
_this28.triggerRadioRowEvent(evnt, selected.args);
|
|
3252
3271
|
}
|
|
3253
3272
|
} else if (isF2 && (0, _utils.isEnableConf)(editConfig)) {
|
|
3254
3273
|
if (!isEditStatus) {
|
|
@@ -3257,15 +3276,15 @@ var Methods = {
|
|
|
3257
3276
|
evnt.stopPropagation();
|
|
3258
3277
|
evnt.preventDefault();
|
|
3259
3278
|
|
|
3260
|
-
|
|
3279
|
+
_this28.handleActived(selected.args, evnt);
|
|
3261
3280
|
}
|
|
3262
3281
|
}
|
|
3263
3282
|
} else if (isContextMenu) {
|
|
3264
3283
|
// 如果按下上下文键
|
|
3265
|
-
|
|
3266
|
-
clearTimeout(
|
|
3267
|
-
|
|
3268
|
-
|
|
3284
|
+
_this28._keyCtx = selected.row && selected.column && bodyCtxMenu.length;
|
|
3285
|
+
clearTimeout(_this28.keyCtxTimeout);
|
|
3286
|
+
_this28.keyCtxTimeout = setTimeout(function () {
|
|
3287
|
+
_this28._keyCtx = false;
|
|
3269
3288
|
}, 1000);
|
|
3270
3289
|
} else if (isEnter && !hasAltKey && keyboardConfig && keyboardOpts.isEnter && (selected.row || actived.row || treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow)) {
|
|
3271
3290
|
// 退出选中
|
|
@@ -3274,12 +3293,12 @@ var Methods = {
|
|
|
3274
3293
|
if (actived.row) {
|
|
3275
3294
|
params = actived.args;
|
|
3276
3295
|
|
|
3277
|
-
|
|
3296
|
+
_this28.clearActived(evnt); // 如果配置了选中功能,则为选中状态
|
|
3278
3297
|
|
|
3279
3298
|
|
|
3280
3299
|
if (mouseConfig && mouseOpts.selected) {
|
|
3281
|
-
|
|
3282
|
-
return
|
|
3300
|
+
_this28.$nextTick(function () {
|
|
3301
|
+
return _this28.handleSelected(params, evnt);
|
|
3283
3302
|
});
|
|
3284
3303
|
}
|
|
3285
3304
|
}
|
|
@@ -3290,15 +3309,15 @@ var Methods = {
|
|
|
3290
3309
|
|
|
3291
3310
|
if (hasShiftKey) {
|
|
3292
3311
|
if (keyboardOpts.enterToTab) {
|
|
3293
|
-
|
|
3312
|
+
_this28.moveTabSelected(targetArgs, hasShiftKey, evnt);
|
|
3294
3313
|
} else {
|
|
3295
|
-
|
|
3314
|
+
_this28.moveSelected(targetArgs, isLeftArrow, true, isRightArrow, false, evnt);
|
|
3296
3315
|
}
|
|
3297
3316
|
} else {
|
|
3298
3317
|
if (keyboardOpts.enterToTab) {
|
|
3299
|
-
|
|
3318
|
+
_this28.moveTabSelected(targetArgs, hasShiftKey, evnt);
|
|
3300
3319
|
} else {
|
|
3301
|
-
|
|
3320
|
+
_this28.moveSelected(targetArgs, isLeftArrow, false, isRightArrow, true, evnt);
|
|
3302
3321
|
}
|
|
3303
3322
|
}
|
|
3304
3323
|
} else if (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
|
|
@@ -3309,14 +3328,14 @@ var Methods = {
|
|
|
3309
3328
|
evnt.preventDefault();
|
|
3310
3329
|
var targetRow = childrens[0];
|
|
3311
3330
|
params = {
|
|
3312
|
-
$table:
|
|
3331
|
+
$table: _this28,
|
|
3313
3332
|
row: targetRow
|
|
3314
3333
|
};
|
|
3315
3334
|
|
|
3316
|
-
|
|
3317
|
-
return
|
|
3335
|
+
_this28.setTreeExpand(currentRow, true).then(function () {
|
|
3336
|
+
return _this28.scrollToRow(targetRow);
|
|
3318
3337
|
}).then(function () {
|
|
3319
|
-
return
|
|
3338
|
+
return _this28.triggerCurrentRowEvent(evnt, params);
|
|
3320
3339
|
});
|
|
3321
3340
|
}
|
|
3322
3341
|
}
|
|
@@ -3325,18 +3344,18 @@ var Methods = {
|
|
|
3325
3344
|
if (!isEditStatus) {
|
|
3326
3345
|
// 如果按下了方向键
|
|
3327
3346
|
if (selected.row && selected.column) {
|
|
3328
|
-
|
|
3347
|
+
_this28.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
|
|
3329
3348
|
} else if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
|
|
3330
3349
|
// 当前行按键上下移动
|
|
3331
|
-
|
|
3350
|
+
_this28.moveCurrentRow(isUpArrow, isDwArrow, evnt);
|
|
3332
3351
|
}
|
|
3333
3352
|
}
|
|
3334
3353
|
} else if (isTab && keyboardConfig && keyboardOpts.isTab) {
|
|
3335
3354
|
// 如果按下了 Tab 键切换
|
|
3336
3355
|
if (selected.row || selected.column) {
|
|
3337
|
-
|
|
3356
|
+
_this28.moveTabSelected(selected.args, hasShiftKey, evnt);
|
|
3338
3357
|
} else if (actived.row || actived.column) {
|
|
3339
|
-
|
|
3358
|
+
_this28.moveTabSelected(actived.args, hasShiftKey, evnt);
|
|
3340
3359
|
}
|
|
3341
3360
|
} else if (keyboardConfig && (isDel || (treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow ? isBack && keyboardOpts.isArrow : isBack))) {
|
|
3342
3361
|
if (!isEditStatus) {
|
|
@@ -3347,10 +3366,10 @@ var Methods = {
|
|
|
3347
3366
|
if (delMethod) {
|
|
3348
3367
|
delMethod({
|
|
3349
3368
|
row: selected.row,
|
|
3350
|
-
rowIndex:
|
|
3369
|
+
rowIndex: _this28.getRowIndex(selected.row),
|
|
3351
3370
|
column: selected.column,
|
|
3352
|
-
columnIndex:
|
|
3353
|
-
$table:
|
|
3371
|
+
columnIndex: _this28.getColumnIndex(selected.column),
|
|
3372
|
+
$table: _this28
|
|
3354
3373
|
});
|
|
3355
3374
|
} else {
|
|
3356
3375
|
setCellValue(selected.row, selected.column, null);
|
|
@@ -3360,21 +3379,21 @@ var Methods = {
|
|
|
3360
3379
|
if (backMethod) {
|
|
3361
3380
|
backMethod({
|
|
3362
3381
|
row: selected.row,
|
|
3363
|
-
rowIndex:
|
|
3382
|
+
rowIndex: _this28.getRowIndex(selected.row),
|
|
3364
3383
|
column: selected.column,
|
|
3365
|
-
columnIndex:
|
|
3366
|
-
$table:
|
|
3384
|
+
columnIndex: _this28.getColumnIndex(selected.column),
|
|
3385
|
+
$table: _this28
|
|
3367
3386
|
});
|
|
3368
3387
|
} else {
|
|
3369
|
-
|
|
3388
|
+
_this28.handleActived(selected.args, evnt);
|
|
3370
3389
|
}
|
|
3371
3390
|
} else if (isDel) {
|
|
3372
3391
|
// 如果按下 del 键,更新表尾数据
|
|
3373
|
-
|
|
3392
|
+
_this28.updateFooter();
|
|
3374
3393
|
}
|
|
3375
3394
|
} else if (isBack && keyboardOpts.isArrow && treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
|
|
3376
3395
|
// 如果树形表格回退键关闭当前行返回父节点
|
|
3377
|
-
var _XEUtils$findTree = _xeUtils.default.findTree(
|
|
3396
|
+
var _XEUtils$findTree = _xeUtils.default.findTree(_this28.afterFullData, function (item) {
|
|
3378
3397
|
return item === currentRow;
|
|
3379
3398
|
}, treeOpts),
|
|
3380
3399
|
parentRow = _XEUtils$findTree.parent;
|
|
@@ -3382,14 +3401,14 @@ var Methods = {
|
|
|
3382
3401
|
if (parentRow) {
|
|
3383
3402
|
evnt.preventDefault();
|
|
3384
3403
|
params = {
|
|
3385
|
-
$table:
|
|
3404
|
+
$table: _this28,
|
|
3386
3405
|
row: parentRow
|
|
3387
3406
|
};
|
|
3388
3407
|
|
|
3389
|
-
|
|
3390
|
-
return
|
|
3408
|
+
_this28.setTreeExpand(parentRow, false).then(function () {
|
|
3409
|
+
return _this28.scrollToRow(parentRow);
|
|
3391
3410
|
}).then(function () {
|
|
3392
|
-
return
|
|
3411
|
+
return _this28.triggerCurrentRowEvent(evnt, params);
|
|
3393
3412
|
});
|
|
3394
3413
|
}
|
|
3395
3414
|
}
|
|
@@ -3403,26 +3422,26 @@ var Methods = {
|
|
|
3403
3422
|
|
|
3404
3423
|
if (selected.column && selected.row && (0, _utils.isEnableConf)(selected.column.editRender)) {
|
|
3405
3424
|
if (!editOpts.activeMethod || editOpts.activeMethod(_objectSpread(_objectSpread({}, selected.args), {}, {
|
|
3406
|
-
$table:
|
|
3425
|
+
$table: _this28
|
|
3407
3426
|
}))) {
|
|
3408
3427
|
if (editMethod) {
|
|
3409
3428
|
editMethod({
|
|
3410
3429
|
row: selected.row,
|
|
3411
|
-
rowIndex:
|
|
3430
|
+
rowIndex: _this28.getRowIndex(selected.row),
|
|
3412
3431
|
column: selected.column,
|
|
3413
|
-
columnIndex:
|
|
3414
|
-
$table:
|
|
3432
|
+
columnIndex: _this28.getColumnIndex(selected.column),
|
|
3433
|
+
$table: _this28
|
|
3415
3434
|
});
|
|
3416
3435
|
} else {
|
|
3417
3436
|
setCellValue(selected.row, selected.column, null);
|
|
3418
3437
|
|
|
3419
|
-
|
|
3438
|
+
_this28.handleActived(selected.args, evnt);
|
|
3420
3439
|
}
|
|
3421
3440
|
}
|
|
3422
3441
|
}
|
|
3423
3442
|
}
|
|
3424
3443
|
|
|
3425
|
-
|
|
3444
|
+
_this28.emitEvent('keydown', {}, evnt);
|
|
3426
3445
|
});
|
|
3427
3446
|
}
|
|
3428
3447
|
},
|
|
@@ -3492,12 +3511,12 @@ var Methods = {
|
|
|
3492
3511
|
this.recalculate(true);
|
|
3493
3512
|
},
|
|
3494
3513
|
handleTooltipLeaveMethod: function handleTooltipLeaveMethod() {
|
|
3495
|
-
var
|
|
3514
|
+
var _this29 = this;
|
|
3496
3515
|
|
|
3497
3516
|
var tooltipOpts = this.tooltipOpts;
|
|
3498
3517
|
setTimeout(function () {
|
|
3499
|
-
if (!
|
|
3500
|
-
|
|
3518
|
+
if (!_this29.tooltipActive) {
|
|
3519
|
+
_this29.closeTooltip();
|
|
3501
3520
|
}
|
|
3502
3521
|
}, tooltipOpts.leaveDelay);
|
|
3503
3522
|
return false;
|
|
@@ -3508,17 +3527,17 @@ var Methods = {
|
|
|
3508
3527
|
this.closeTooltip();
|
|
3509
3528
|
},
|
|
3510
3529
|
handleTargetLeaveEvent: function handleTargetLeaveEvent() {
|
|
3511
|
-
var
|
|
3530
|
+
var _this30 = this;
|
|
3512
3531
|
|
|
3513
3532
|
var tooltipOpts = this.tooltipOpts;
|
|
3514
3533
|
this.tooltipActive = false;
|
|
3515
3534
|
|
|
3516
3535
|
if (tooltipOpts.enterable) {
|
|
3517
3536
|
this.tooltipTimeout = setTimeout(function () {
|
|
3518
|
-
var tooltip =
|
|
3537
|
+
var tooltip = _this30.$refs.tooltip;
|
|
3519
3538
|
|
|
3520
3539
|
if (tooltip && !tooltip.isHover) {
|
|
3521
|
-
|
|
3540
|
+
_this30.closeTooltip();
|
|
3522
3541
|
}
|
|
3523
3542
|
}, tooltipOpts.leaveDelay);
|
|
3524
3543
|
} else {
|
|
@@ -3751,14 +3770,14 @@ var Methods = {
|
|
|
3751
3770
|
* @param {Boolean} value 是否选中
|
|
3752
3771
|
*/
|
|
3753
3772
|
setCheckboxRow: function setCheckboxRow(rows, value) {
|
|
3754
|
-
var
|
|
3773
|
+
var _this31 = this;
|
|
3755
3774
|
|
|
3756
3775
|
if (rows && !_xeUtils.default.isArray(rows)) {
|
|
3757
3776
|
rows = [rows];
|
|
3758
3777
|
}
|
|
3759
3778
|
|
|
3760
3779
|
rows.forEach(function (row) {
|
|
3761
|
-
return
|
|
3780
|
+
return _this31.handleSelectRow({
|
|
3762
3781
|
row: row
|
|
3763
3782
|
}, !!value);
|
|
3764
3783
|
});
|
|
@@ -3782,7 +3801,7 @@ var Methods = {
|
|
|
3782
3801
|
* value 选中true 不选false 半选-1
|
|
3783
3802
|
*/
|
|
3784
3803
|
handleSelectRow: function handleSelectRow(_ref6, value) {
|
|
3785
|
-
var
|
|
3804
|
+
var _this32 = this;
|
|
3786
3805
|
|
|
3787
3806
|
var row = _ref6.row;
|
|
3788
3807
|
var selection = this.selection,
|
|
@@ -3815,7 +3834,7 @@ var Methods = {
|
|
|
3815
3834
|
return half === item;
|
|
3816
3835
|
});
|
|
3817
3836
|
|
|
3818
|
-
|
|
3837
|
+
_this32.handleCheckboxReserveRow(row, value);
|
|
3819
3838
|
}
|
|
3820
3839
|
}, treeOpts);
|
|
3821
3840
|
} // 如果存在父节点,更新父节点状态
|
|
@@ -3889,7 +3908,7 @@ var Methods = {
|
|
|
3889
3908
|
return half === item;
|
|
3890
3909
|
});
|
|
3891
3910
|
|
|
3892
|
-
|
|
3911
|
+
_this32.handleCheckboxReserveRow(row, value);
|
|
3893
3912
|
}
|
|
3894
3913
|
}, treeOpts);
|
|
3895
3914
|
} // 如果存在父节点,更新父节点状态
|
|
@@ -3993,7 +4012,7 @@ var Methods = {
|
|
|
3993
4012
|
* @param {Boolean} value 是否选中
|
|
3994
4013
|
*/
|
|
3995
4014
|
setAllCheckboxRow: function setAllCheckboxRow(value) {
|
|
3996
|
-
var
|
|
4015
|
+
var _this33 = this;
|
|
3997
4016
|
|
|
3998
4017
|
var afterFullData = this.afterFullData,
|
|
3999
4018
|
treeConfig = this.treeConfig,
|
|
@@ -4106,11 +4125,11 @@ var Methods = {
|
|
|
4106
4125
|
if (reserve) {
|
|
4107
4126
|
if (value) {
|
|
4108
4127
|
selectRows.forEach(function (row) {
|
|
4109
|
-
checkboxReserveRowMap[getRowid(
|
|
4128
|
+
checkboxReserveRowMap[getRowid(_this33, row)] = row;
|
|
4110
4129
|
});
|
|
4111
4130
|
} else {
|
|
4112
4131
|
afterFullData.forEach(function (row) {
|
|
4113
|
-
return
|
|
4132
|
+
return _this33.handleCheckboxReserveRow(row, false);
|
|
4114
4133
|
});
|
|
4115
4134
|
}
|
|
4116
4135
|
}
|
|
@@ -4330,7 +4349,7 @@ var Methods = {
|
|
|
4330
4349
|
* 获取复选框保留选中的行
|
|
4331
4350
|
*/
|
|
4332
4351
|
getCheckboxReserveRecords: function getCheckboxReserveRecords(isFull) {
|
|
4333
|
-
var
|
|
4352
|
+
var _this34 = this;
|
|
4334
4353
|
|
|
4335
4354
|
var fullDataRowIdData = this.fullDataRowIdData,
|
|
4336
4355
|
afterFullData = this.afterFullData,
|
|
@@ -4345,11 +4364,11 @@ var Methods = {
|
|
|
4345
4364
|
|
|
4346
4365
|
if (treeConfig) {
|
|
4347
4366
|
_xeUtils.default.eachTree(afterFullData, function (row) {
|
|
4348
|
-
afterFullIdMaps[getRowid(
|
|
4367
|
+
afterFullIdMaps[getRowid(_this34, row)] = 1;
|
|
4349
4368
|
}, treeOpts);
|
|
4350
4369
|
} else {
|
|
4351
4370
|
afterFullData.forEach(function (row) {
|
|
4352
|
-
afterFullIdMaps[getRowid(
|
|
4371
|
+
afterFullIdMaps[getRowid(_this34, row)] = 1;
|
|
4353
4372
|
});
|
|
4354
4373
|
}
|
|
4355
4374
|
|
|
@@ -4415,7 +4434,7 @@ var Methods = {
|
|
|
4415
4434
|
* 清空行为不管是否被禁用还是保留记录,都将彻底清空选中状态
|
|
4416
4435
|
*/
|
|
4417
4436
|
clearCheckboxRow: function clearCheckboxRow() {
|
|
4418
|
-
var
|
|
4437
|
+
var _this35 = this;
|
|
4419
4438
|
|
|
4420
4439
|
var tableFullData = this.tableFullData,
|
|
4421
4440
|
treeConfig = this.treeConfig,
|
|
@@ -4438,7 +4457,7 @@ var Methods = {
|
|
|
4438
4457
|
|
|
4439
4458
|
if (reserve) {
|
|
4440
4459
|
tableFullData.forEach(function (row) {
|
|
4441
|
-
return
|
|
4460
|
+
return _this35.handleCheckboxReserveRow(row, false);
|
|
4442
4461
|
});
|
|
4443
4462
|
}
|
|
4444
4463
|
|
|
@@ -4730,13 +4749,13 @@ var Methods = {
|
|
|
4730
4749
|
* 如果存在规则,则校验
|
|
4731
4750
|
*/
|
|
4732
4751
|
handleChangeCell: function handleChangeCell(evnt, params) {
|
|
4733
|
-
var
|
|
4752
|
+
var _this36 = this;
|
|
4734
4753
|
|
|
4735
4754
|
this.checkValidate('blur').catch(function (e) {
|
|
4736
4755
|
return e;
|
|
4737
4756
|
}).then(function () {
|
|
4738
|
-
|
|
4739
|
-
return
|
|
4757
|
+
_this36.handleActived(params, evnt).then(function () {
|
|
4758
|
+
return _this36.checkValidate('change');
|
|
4740
4759
|
}).catch(function (e) {
|
|
4741
4760
|
return e;
|
|
4742
4761
|
});
|
|
@@ -4839,7 +4858,7 @@ var Methods = {
|
|
|
4839
4858
|
* 如果是双击模式,则激活为编辑状态
|
|
4840
4859
|
*/
|
|
4841
4860
|
triggerCellDblclickEvent: function triggerCellDblclickEvent(evnt, params) {
|
|
4842
|
-
var
|
|
4861
|
+
var _this37 = this;
|
|
4843
4862
|
|
|
4844
4863
|
var editStore = this.editStore,
|
|
4845
4864
|
editConfig = this.editConfig,
|
|
@@ -4854,15 +4873,15 @@ var Methods = {
|
|
|
4854
4873
|
this.checkValidate('blur').catch(function (e) {
|
|
4855
4874
|
return e;
|
|
4856
4875
|
}).then(function () {
|
|
4857
|
-
|
|
4858
|
-
return
|
|
4876
|
+
_this37.handleActived(params, evnt).then(function () {
|
|
4877
|
+
return _this37.checkValidate('change');
|
|
4859
4878
|
}).catch(function (e) {
|
|
4860
4879
|
return e;
|
|
4861
4880
|
});
|
|
4862
4881
|
});
|
|
4863
4882
|
} else if (editOpts.mode === 'cell') {
|
|
4864
4883
|
this.handleActived(params, evnt).then(function () {
|
|
4865
|
-
return
|
|
4884
|
+
return _this37.checkValidate('change');
|
|
4866
4885
|
}).catch(function (e) {
|
|
4867
4886
|
return e;
|
|
4868
4887
|
});
|
|
@@ -4873,7 +4892,7 @@ var Methods = {
|
|
|
4873
4892
|
this.emitEvent('cell-dblclick', params, evnt);
|
|
4874
4893
|
},
|
|
4875
4894
|
handleDefaultSort: function handleDefaultSort() {
|
|
4876
|
-
var
|
|
4895
|
+
var _this38 = this;
|
|
4877
4896
|
|
|
4878
4897
|
var sortConfig = this.sortConfig,
|
|
4879
4898
|
sortOpts = this.sortOpts;
|
|
@@ -4890,7 +4909,7 @@ var Methods = {
|
|
|
4890
4909
|
order = item.order;
|
|
4891
4910
|
|
|
4892
4911
|
if (field && order) {
|
|
4893
|
-
var column =
|
|
4912
|
+
var column = _this38.getColumnByField(field);
|
|
4894
4913
|
|
|
4895
4914
|
if (column && column.sortable) {
|
|
4896
4915
|
column.order = order;
|
|
@@ -4933,7 +4952,7 @@ var Methods = {
|
|
|
4933
4952
|
}
|
|
4934
4953
|
},
|
|
4935
4954
|
sort: function sort(sortConfs, sortOrder) {
|
|
4936
|
-
var
|
|
4955
|
+
var _this39 = this;
|
|
4937
4956
|
|
|
4938
4957
|
var sortOpts = this.sortOpts;
|
|
4939
4958
|
var multiple = sortOpts.multiple,
|
|
@@ -4966,7 +4985,7 @@ var Methods = {
|
|
|
4966
4985
|
var column = field;
|
|
4967
4986
|
|
|
4968
4987
|
if (_xeUtils.default.isString(field)) {
|
|
4969
|
-
column =
|
|
4988
|
+
column = _this39.getColumnByField(field);
|
|
4970
4989
|
}
|
|
4971
4990
|
|
|
4972
4991
|
if (column && (column.sortable || column.remoteSort)) {
|
|
@@ -4975,7 +4994,7 @@ var Methods = {
|
|
|
4975
4994
|
}
|
|
4976
4995
|
|
|
4977
4996
|
if (orders.indexOf(order) === -1) {
|
|
4978
|
-
order = getNextSortOrder(
|
|
4997
|
+
order = getNextSortOrder(_this39, column);
|
|
4979
4998
|
}
|
|
4980
4999
|
|
|
4981
5000
|
if (column.order !== order) {
|
|
@@ -5128,7 +5147,7 @@ var Methods = {
|
|
|
5128
5147
|
* @param {Row} row 行对象
|
|
5129
5148
|
*/
|
|
5130
5149
|
reloadRowExpand: function reloadRowExpand(row) {
|
|
5131
|
-
var
|
|
5150
|
+
var _this40 = this;
|
|
5132
5151
|
|
|
5133
5152
|
var expandOpts = this.expandOpts,
|
|
5134
5153
|
expandLazyLoadeds = this.expandLazyLoadeds;
|
|
@@ -5136,7 +5155,7 @@ var Methods = {
|
|
|
5136
5155
|
|
|
5137
5156
|
if (lazy && expandLazyLoadeds.indexOf(row) === -1) {
|
|
5138
5157
|
this.clearRowExpandLoaded(row).then(function () {
|
|
5139
|
-
return
|
|
5158
|
+
return _this40.handleAsyncRowExpand(row);
|
|
5140
5159
|
});
|
|
5141
5160
|
}
|
|
5142
5161
|
|
|
@@ -5215,29 +5234,29 @@ var Methods = {
|
|
|
5215
5234
|
return this.setRowExpand(this.expandOpts.lazy ? this.tableData : this.tableFullData, expanded);
|
|
5216
5235
|
},
|
|
5217
5236
|
handleAsyncRowExpand: function handleAsyncRowExpand(row) {
|
|
5218
|
-
var
|
|
5237
|
+
var _this41 = this;
|
|
5219
5238
|
|
|
5220
5239
|
var rest = this.fullAllDataRowMap.get(row);
|
|
5221
5240
|
return new Promise(function (resolve) {
|
|
5222
|
-
|
|
5241
|
+
_this41.expandLazyLoadeds.push(row);
|
|
5223
5242
|
|
|
5224
|
-
|
|
5225
|
-
$table:
|
|
5243
|
+
_this41.expandOpts.loadMethod({
|
|
5244
|
+
$table: _this41,
|
|
5226
5245
|
row: row,
|
|
5227
|
-
rowIndex:
|
|
5228
|
-
$rowIndex:
|
|
5246
|
+
rowIndex: _this41.getRowIndex(row),
|
|
5247
|
+
$rowIndex: _this41.getVMRowIndex(row)
|
|
5229
5248
|
}).catch(function (e) {
|
|
5230
5249
|
return e;
|
|
5231
5250
|
}).then(function () {
|
|
5232
5251
|
rest.expandLoaded = true;
|
|
5233
5252
|
|
|
5234
|
-
_xeUtils.default.remove(
|
|
5253
|
+
_xeUtils.default.remove(_this41.expandLazyLoadeds, function (item) {
|
|
5235
5254
|
return item === row;
|
|
5236
5255
|
});
|
|
5237
5256
|
|
|
5238
|
-
|
|
5257
|
+
_this41.rowExpandeds.push(row);
|
|
5239
5258
|
|
|
5240
|
-
resolve(
|
|
5259
|
+
resolve(_this41.$nextTick().then(_this41.recalculate));
|
|
5241
5260
|
});
|
|
5242
5261
|
});
|
|
5243
5262
|
},
|
|
@@ -5250,7 +5269,7 @@ var Methods = {
|
|
|
5250
5269
|
* @param {Boolean} expanded 是否展开
|
|
5251
5270
|
*/
|
|
5252
5271
|
setRowExpand: function setRowExpand(rows, expanded) {
|
|
5253
|
-
var
|
|
5272
|
+
var _this42 = this;
|
|
5254
5273
|
|
|
5255
5274
|
var fullAllDataRowMap = this.fullAllDataRowMap,
|
|
5256
5275
|
expandLazyLoadeds = this.expandLazyLoadeds,
|
|
@@ -5283,8 +5302,8 @@ var Methods = {
|
|
|
5283
5302
|
columnIndex: columnIndex,
|
|
5284
5303
|
$columnIndex: $columnIndex,
|
|
5285
5304
|
row: row,
|
|
5286
|
-
rowIndex:
|
|
5287
|
-
$rowIndex:
|
|
5305
|
+
rowIndex: _this42.getRowIndex(row),
|
|
5306
|
+
$rowIndex: _this42.getVMRowIndex(row)
|
|
5288
5307
|
});
|
|
5289
5308
|
}) : rows;
|
|
5290
5309
|
|
|
@@ -5295,7 +5314,7 @@ var Methods = {
|
|
|
5295
5314
|
var isLoad = lazy && !rest.expandLoaded && expandLazyLoadeds.indexOf(row) === -1;
|
|
5296
5315
|
|
|
5297
5316
|
if (isLoad) {
|
|
5298
|
-
lazyRests.push(
|
|
5317
|
+
lazyRests.push(_this42.handleAsyncRowExpand(row));
|
|
5299
5318
|
} else {
|
|
5300
5319
|
rowExpandeds.push(row);
|
|
5301
5320
|
}
|
|
@@ -5309,7 +5328,7 @@ var Methods = {
|
|
|
5309
5328
|
|
|
5310
5329
|
if (reserve) {
|
|
5311
5330
|
validRows.forEach(function (row) {
|
|
5312
|
-
return
|
|
5331
|
+
return _this42.handleRowExpandReserve(row, expanded);
|
|
5313
5332
|
});
|
|
5314
5333
|
}
|
|
5315
5334
|
}
|
|
@@ -5330,7 +5349,7 @@ var Methods = {
|
|
|
5330
5349
|
* 手动清空展开行状态,数据会恢复成未展开的状态
|
|
5331
5350
|
*/
|
|
5332
5351
|
clearRowExpand: function clearRowExpand() {
|
|
5333
|
-
var
|
|
5352
|
+
var _this43 = this;
|
|
5334
5353
|
|
|
5335
5354
|
var expandOpts = this.expandOpts,
|
|
5336
5355
|
rowExpandeds = this.rowExpandeds,
|
|
@@ -5341,13 +5360,13 @@ var Methods = {
|
|
|
5341
5360
|
|
|
5342
5361
|
if (reserve) {
|
|
5343
5362
|
tableFullData.forEach(function (row) {
|
|
5344
|
-
return
|
|
5363
|
+
return _this43.handleRowExpandReserve(row, false);
|
|
5345
5364
|
});
|
|
5346
5365
|
}
|
|
5347
5366
|
|
|
5348
5367
|
return this.$nextTick().then(function () {
|
|
5349
5368
|
if (isExists) {
|
|
5350
|
-
|
|
5369
|
+
_this43.recalculate();
|
|
5351
5370
|
}
|
|
5352
5371
|
});
|
|
5353
5372
|
},
|
|
@@ -5427,7 +5446,7 @@ var Methods = {
|
|
|
5427
5446
|
* @param {Row} row 行对象
|
|
5428
5447
|
*/
|
|
5429
5448
|
reloadTreeExpand: function reloadTreeExpand(row) {
|
|
5430
|
-
var
|
|
5449
|
+
var _this44 = this;
|
|
5431
5450
|
|
|
5432
5451
|
var treeOpts = this.treeOpts,
|
|
5433
5452
|
treeLazyLoadeds = this.treeLazyLoadeds;
|
|
@@ -5437,15 +5456,15 @@ var Methods = {
|
|
|
5437
5456
|
|
|
5438
5457
|
if (lazy && row[hasChild] && treeLazyLoadeds.indexOf(row) === -1) {
|
|
5439
5458
|
this.clearTreeExpandLoaded(row).then(function () {
|
|
5440
|
-
return
|
|
5459
|
+
return _this44.handleAsyncTreeExpandChilds(row);
|
|
5441
5460
|
}).then(function () {
|
|
5442
5461
|
if (transform) {
|
|
5443
|
-
|
|
5462
|
+
_this44.handleVirtualTreeToList();
|
|
5444
5463
|
|
|
5445
|
-
return
|
|
5464
|
+
return _this44.handleTableData();
|
|
5446
5465
|
}
|
|
5447
5466
|
}).then(function () {
|
|
5448
|
-
return
|
|
5467
|
+
return _this44.recalculate();
|
|
5449
5468
|
});
|
|
5450
5469
|
}
|
|
5451
5470
|
|
|
@@ -5523,7 +5542,7 @@ var Methods = {
|
|
|
5523
5542
|
}
|
|
5524
5543
|
},
|
|
5525
5544
|
handleAsyncTreeExpandChilds: function handleAsyncTreeExpandChilds(row) {
|
|
5526
|
-
var
|
|
5545
|
+
var _this45 = this;
|
|
5527
5546
|
|
|
5528
5547
|
var fullAllDataRowMap = this.fullAllDataRowMap,
|
|
5529
5548
|
treeExpandeds = this.treeExpandeds,
|
|
@@ -5537,7 +5556,7 @@ var Methods = {
|
|
|
5537
5556
|
return new Promise(function (resolve) {
|
|
5538
5557
|
treeLazyLoadeds.push(row);
|
|
5539
5558
|
loadMethod({
|
|
5540
|
-
$table:
|
|
5559
|
+
$table: _this45,
|
|
5541
5560
|
row: row
|
|
5542
5561
|
}).catch(function () {
|
|
5543
5562
|
return [];
|
|
@@ -5553,29 +5572,29 @@ var Methods = {
|
|
|
5553
5572
|
}
|
|
5554
5573
|
|
|
5555
5574
|
if (childRecords) {
|
|
5556
|
-
|
|
5575
|
+
_this45.loadTreeChildren(row, childRecords).then(function (childRows) {
|
|
5557
5576
|
if (childRows.length && treeExpandeds.indexOf(row) === -1) {
|
|
5558
5577
|
treeExpandeds.push(row);
|
|
5559
5578
|
} // 如果当前节点已选中,则展开后子节点也被选中
|
|
5560
5579
|
|
|
5561
5580
|
|
|
5562
|
-
if (!checkStrictly &&
|
|
5563
|
-
|
|
5581
|
+
if (!checkStrictly && _this45.isCheckedByCheckboxRow(row)) {
|
|
5582
|
+
_this45.setCheckboxRow(childRows, true);
|
|
5564
5583
|
}
|
|
5565
5584
|
|
|
5566
|
-
|
|
5585
|
+
_this45.$nextTick().then(function () {
|
|
5567
5586
|
if (transform) {
|
|
5568
|
-
return
|
|
5587
|
+
return _this45.handleTableData();
|
|
5569
5588
|
}
|
|
5570
5589
|
}).then(function () {
|
|
5571
|
-
return
|
|
5590
|
+
return _this45.recalculate();
|
|
5572
5591
|
}).then(function () {
|
|
5573
5592
|
return resolve();
|
|
5574
5593
|
});
|
|
5575
5594
|
});
|
|
5576
5595
|
} else {
|
|
5577
|
-
|
|
5578
|
-
return
|
|
5596
|
+
_this45.$nextTick().then(function () {
|
|
5597
|
+
return _this45.recalculate();
|
|
5579
5598
|
}).then(function () {
|
|
5580
5599
|
return resolve();
|
|
5581
5600
|
});
|
|
@@ -5613,7 +5632,7 @@ var Methods = {
|
|
|
5613
5632
|
* @returns
|
|
5614
5633
|
*/
|
|
5615
5634
|
handleBaseTreeExpand: function handleBaseTreeExpand(rows, expanded) {
|
|
5616
|
-
var
|
|
5635
|
+
var _this46 = this;
|
|
5617
5636
|
|
|
5618
5637
|
var fullAllDataRowMap = this.fullAllDataRowMap,
|
|
5619
5638
|
tableFullData = this.tableFullData,
|
|
@@ -5661,7 +5680,7 @@ var Methods = {
|
|
|
5661
5680
|
var isLoad = lazy && row[hasChild] && !rest.treeLoaded && treeLazyLoadeds.indexOf(row) === -1; // 是否使用懒加载
|
|
5662
5681
|
|
|
5663
5682
|
if (isLoad) {
|
|
5664
|
-
result.push(
|
|
5683
|
+
result.push(_this46.handleAsyncTreeExpandChilds(row));
|
|
5665
5684
|
} else {
|
|
5666
5685
|
if (row[children] && row[children].length) {
|
|
5667
5686
|
treeExpandeds.push(row);
|
|
@@ -5677,7 +5696,7 @@ var Methods = {
|
|
|
5677
5696
|
|
|
5678
5697
|
if (reserve) {
|
|
5679
5698
|
validRows.forEach(function (row) {
|
|
5680
|
-
return
|
|
5699
|
+
return _this46.handleTreeExpandReserve(row, expanded);
|
|
5681
5700
|
});
|
|
5682
5701
|
}
|
|
5683
5702
|
|
|
@@ -5691,14 +5710,14 @@ var Methods = {
|
|
|
5691
5710
|
* @returns
|
|
5692
5711
|
*/
|
|
5693
5712
|
handleVirtualTreeExpand: function handleVirtualTreeExpand(rows, expanded) {
|
|
5694
|
-
var
|
|
5713
|
+
var _this47 = this;
|
|
5695
5714
|
|
|
5696
5715
|
return this.handleBaseTreeExpand(rows, expanded).then(function () {
|
|
5697
|
-
|
|
5716
|
+
_this47.handleVirtualTreeToList();
|
|
5698
5717
|
|
|
5699
|
-
return
|
|
5718
|
+
return _this47.handleTableData();
|
|
5700
5719
|
}).then(function () {
|
|
5701
|
-
return
|
|
5720
|
+
return _this47.recalculate();
|
|
5702
5721
|
});
|
|
5703
5722
|
},
|
|
5704
5723
|
|
|
@@ -5743,7 +5762,7 @@ var Methods = {
|
|
|
5743
5762
|
* 手动清空树形节点的展开状态,数据会恢复成未展开的状态
|
|
5744
5763
|
*/
|
|
5745
5764
|
clearTreeExpand: function clearTreeExpand() {
|
|
5746
|
-
var
|
|
5765
|
+
var _this48 = this;
|
|
5747
5766
|
|
|
5748
5767
|
var treeOpts = this.treeOpts,
|
|
5749
5768
|
treeExpandeds = this.treeExpandeds,
|
|
@@ -5755,19 +5774,19 @@ var Methods = {
|
|
|
5755
5774
|
|
|
5756
5775
|
if (reserve) {
|
|
5757
5776
|
_xeUtils.default.eachTree(tableFullData, function (row) {
|
|
5758
|
-
return
|
|
5777
|
+
return _this48.handleTreeExpandReserve(row, false);
|
|
5759
5778
|
}, treeOpts);
|
|
5760
5779
|
}
|
|
5761
5780
|
|
|
5762
5781
|
return this.handleTableData().then(function () {
|
|
5763
5782
|
if (transform) {
|
|
5764
|
-
|
|
5783
|
+
_this48.handleVirtualTreeToList();
|
|
5765
5784
|
|
|
5766
|
-
return
|
|
5785
|
+
return _this48.handleTableData();
|
|
5767
5786
|
}
|
|
5768
5787
|
}).then(function () {
|
|
5769
5788
|
if (isExists) {
|
|
5770
|
-
|
|
5789
|
+
_this48.recalculate();
|
|
5771
5790
|
}
|
|
5772
5791
|
});
|
|
5773
5792
|
},
|
|
@@ -5897,18 +5916,18 @@ var Methods = {
|
|
|
5897
5916
|
},
|
|
5898
5917
|
// 计算可视渲染相关数据
|
|
5899
5918
|
computeScrollLoad: function computeScrollLoad() {
|
|
5900
|
-
var
|
|
5919
|
+
var _this49 = this;
|
|
5901
5920
|
|
|
5902
5921
|
return this.$nextTick().then(function () {
|
|
5903
|
-
var sYOpts =
|
|
5904
|
-
sXOpts =
|
|
5905
|
-
scrollXLoad =
|
|
5906
|
-
scrollYLoad =
|
|
5907
|
-
scrollXStore =
|
|
5908
|
-
scrollYStore =
|
|
5922
|
+
var sYOpts = _this49.sYOpts,
|
|
5923
|
+
sXOpts = _this49.sXOpts,
|
|
5924
|
+
scrollXLoad = _this49.scrollXLoad,
|
|
5925
|
+
scrollYLoad = _this49.scrollYLoad,
|
|
5926
|
+
scrollXStore = _this49.scrollXStore,
|
|
5927
|
+
scrollYStore = _this49.scrollYStore; // 计算 X 逻辑
|
|
5909
5928
|
|
|
5910
5929
|
if (scrollXLoad) {
|
|
5911
|
-
var _computeVirtualX3 = computeVirtualX(
|
|
5930
|
+
var _computeVirtualX3 = computeVirtualX(_this49),
|
|
5912
5931
|
visibleXSize = _computeVirtualX3.visibleSize;
|
|
5913
5932
|
|
|
5914
5933
|
var offsetXSize = sXOpts.oSize ? _xeUtils.default.toNumber(sXOpts.oSize) : _dom.browse.msie ? 10 : _dom.browse.edge ? 5 : 0;
|
|
@@ -5916,13 +5935,13 @@ var Methods = {
|
|
|
5916
5935
|
scrollXStore.visibleSize = visibleXSize;
|
|
5917
5936
|
scrollXStore.endIndex = Math.max(scrollXStore.startIndex + scrollXStore.visibleSize + offsetXSize, scrollXStore.endIndex);
|
|
5918
5937
|
|
|
5919
|
-
|
|
5938
|
+
_this49.updateScrollXData();
|
|
5920
5939
|
} else {
|
|
5921
|
-
|
|
5940
|
+
_this49.updateScrollXSpace();
|
|
5922
5941
|
} // 计算 Y 逻辑
|
|
5923
5942
|
|
|
5924
5943
|
|
|
5925
|
-
var _computeVirtualY = computeVirtualY(
|
|
5944
|
+
var _computeVirtualY = computeVirtualY(_this49),
|
|
5926
5945
|
rowHeight = _computeVirtualY.rowHeight,
|
|
5927
5946
|
visibleYSize = _computeVirtualY.visibleSize;
|
|
5928
5947
|
|
|
@@ -5934,14 +5953,14 @@ var Methods = {
|
|
|
5934
5953
|
scrollYStore.visibleSize = visibleYSize;
|
|
5935
5954
|
scrollYStore.endIndex = Math.max(scrollYStore.startIndex + visibleYSize + offsetYSize, scrollYStore.endIndex);
|
|
5936
5955
|
|
|
5937
|
-
|
|
5956
|
+
_this49.updateScrollYData();
|
|
5938
5957
|
} else {
|
|
5939
|
-
|
|
5958
|
+
_this49.updateScrollYSpace();
|
|
5940
5959
|
}
|
|
5941
5960
|
|
|
5942
|
-
|
|
5961
|
+
_this49.rowHeight = rowHeight;
|
|
5943
5962
|
|
|
5944
|
-
|
|
5963
|
+
_this49.$nextTick(_this49.updateStyle);
|
|
5945
5964
|
});
|
|
5946
5965
|
},
|
|
5947
5966
|
handleTableColumn: function handleTableColumn() {
|
|
@@ -6055,7 +6074,7 @@ var Methods = {
|
|
|
6055
6074
|
* @param {Number} scrollTop 上距离
|
|
6056
6075
|
*/
|
|
6057
6076
|
scrollTo: function scrollTo(scrollLeft, scrollTop) {
|
|
6058
|
-
var
|
|
6077
|
+
var _this50 = this;
|
|
6059
6078
|
|
|
6060
6079
|
var $refs = this.$refs;
|
|
6061
6080
|
var tableBody = $refs.tableBody,
|
|
@@ -6076,7 +6095,7 @@ var Methods = {
|
|
|
6076
6095
|
if (this.scrollXLoad || this.scrollYLoad) {
|
|
6077
6096
|
return new Promise(function (resolve) {
|
|
6078
6097
|
return setTimeout(function () {
|
|
6079
|
-
return resolve(
|
|
6098
|
+
return resolve(_this50.$nextTick());
|
|
6080
6099
|
}, 50);
|
|
6081
6100
|
});
|
|
6082
6101
|
}
|
|
@@ -6127,7 +6146,7 @@ var Methods = {
|
|
|
6127
6146
|
* @param {Row} row 行对象
|
|
6128
6147
|
*/
|
|
6129
6148
|
scrollToTreeRow: function scrollToTreeRow(row) {
|
|
6130
|
-
var
|
|
6149
|
+
var _this51 = this;
|
|
6131
6150
|
|
|
6132
6151
|
var tableFullData = this.tableFullData,
|
|
6133
6152
|
treeConfig = this.treeConfig,
|
|
@@ -6142,15 +6161,15 @@ var Methods = {
|
|
|
6142
6161
|
if (matchObj) {
|
|
6143
6162
|
var nodes = matchObj.nodes;
|
|
6144
6163
|
nodes.forEach(function (row, index) {
|
|
6145
|
-
if (index < nodes.length - 1 && !
|
|
6146
|
-
rests.push(
|
|
6164
|
+
if (index < nodes.length - 1 && !_this51.isTreeExpandByRow(row)) {
|
|
6165
|
+
rests.push(_this51.setTreeExpand(row, true));
|
|
6147
6166
|
}
|
|
6148
6167
|
});
|
|
6149
6168
|
}
|
|
6150
6169
|
}
|
|
6151
6170
|
|
|
6152
6171
|
return Promise.all(rests).then(function () {
|
|
6153
|
-
return _tools.DomTools.rowToVisible(
|
|
6172
|
+
return _tools.DomTools.rowToVisible(_this51, row);
|
|
6154
6173
|
});
|
|
6155
6174
|
},
|
|
6156
6175
|
|
|
@@ -6214,29 +6233,29 @@ var Methods = {
|
|
|
6214
6233
|
* 如果单元格配置了校验规则,则会进行校验
|
|
6215
6234
|
*/
|
|
6216
6235
|
updateStatus: function updateStatus(scope, cellValue) {
|
|
6217
|
-
var
|
|
6236
|
+
var _this52 = this;
|
|
6218
6237
|
|
|
6219
6238
|
var customVal = !_xeUtils.default.isUndefined(cellValue);
|
|
6220
6239
|
return this.$nextTick().then(function () {
|
|
6221
|
-
var $refs =
|
|
6222
|
-
editRules =
|
|
6223
|
-
validStore =
|
|
6240
|
+
var $refs = _this52.$refs,
|
|
6241
|
+
editRules = _this52.editRules,
|
|
6242
|
+
validStore = _this52.validStore;
|
|
6224
6243
|
|
|
6225
6244
|
if (scope && $refs.tableBody && editRules) {
|
|
6226
6245
|
var row = scope.row,
|
|
6227
6246
|
column = scope.column;
|
|
6228
6247
|
var type = 'change';
|
|
6229
6248
|
|
|
6230
|
-
if (
|
|
6231
|
-
var cell =
|
|
6249
|
+
if (_this52.hasCellRules(type, row, column)) {
|
|
6250
|
+
var cell = _this52.getCell(row, column);
|
|
6232
6251
|
|
|
6233
6252
|
if (cell) {
|
|
6234
|
-
return
|
|
6253
|
+
return _this52.validCellRules(type, row, column, cellValue).then(function () {
|
|
6235
6254
|
if (customVal && validStore.visible) {
|
|
6236
6255
|
setCellValue(row, column, cellValue);
|
|
6237
6256
|
}
|
|
6238
6257
|
|
|
6239
|
-
|
|
6258
|
+
_this52.clearValidate();
|
|
6240
6259
|
}).catch(function (_ref8) {
|
|
6241
6260
|
var rule = _ref8.rule;
|
|
6242
6261
|
|
|
@@ -6244,7 +6263,7 @@ var Methods = {
|
|
|
6244
6263
|
setCellValue(row, column, cellValue);
|
|
6245
6264
|
}
|
|
6246
6265
|
|
|
6247
|
-
|
|
6266
|
+
_this52.showValidTooltip({
|
|
6248
6267
|
rule: rule,
|
|
6249
6268
|
row: row,
|
|
6250
6269
|
column: column,
|
|
@@ -6265,7 +6284,7 @@ var Methods = {
|
|
|
6265
6284
|
* @param {TableMergeConfig[]} merges { row: Row|number, column: ColumnInfo|number, rowspan: number, colspan: number }
|
|
6266
6285
|
*/
|
|
6267
6286
|
setMergeCells: function setMergeCells(merges) {
|
|
6268
|
-
var
|
|
6287
|
+
var _this53 = this;
|
|
6269
6288
|
|
|
6270
6289
|
if (this.spanMethod) {
|
|
6271
6290
|
_tools.UtilTools.error('vxe.error.errConflicts', ['merge-cells', 'span-method']);
|
|
@@ -6273,7 +6292,7 @@ var Methods = {
|
|
|
6273
6292
|
|
|
6274
6293
|
setMerges(this, merges, this.mergeList, this.afterFullData);
|
|
6275
6294
|
return this.$nextTick().then(function () {
|
|
6276
|
-
return
|
|
6295
|
+
return _this53.updateCellAreas();
|
|
6277
6296
|
});
|
|
6278
6297
|
},
|
|
6279
6298
|
|
|
@@ -6282,7 +6301,7 @@ var Methods = {
|
|
|
6282
6301
|
* @param {TableMergeConfig[]} merges 多个或数组 [{row:Row|number, col:ColumnInfo|number}]
|
|
6283
6302
|
*/
|
|
6284
6303
|
removeMergeCells: function removeMergeCells(merges) {
|
|
6285
|
-
var
|
|
6304
|
+
var _this54 = this;
|
|
6286
6305
|
|
|
6287
6306
|
if (this.spanMethod) {
|
|
6288
6307
|
_tools.UtilTools.error('vxe.error.errConflicts', ['merge-cells', 'span-method']);
|
|
@@ -6290,7 +6309,7 @@ var Methods = {
|
|
|
6290
6309
|
|
|
6291
6310
|
var rest = removeMerges(this, merges, this.mergeList, this.afterFullData);
|
|
6292
6311
|
return this.$nextTick().then(function () {
|
|
6293
|
-
|
|
6312
|
+
_this54.updateCellAreas();
|
|
6294
6313
|
|
|
6295
6314
|
return rest;
|
|
6296
6315
|
});
|
|
@@ -6314,7 +6333,7 @@ var Methods = {
|
|
|
6314
6333
|
this.setMergeFooterItems(this.mergeFooterItems);
|
|
6315
6334
|
},
|
|
6316
6335
|
setMergeFooterItems: function setMergeFooterItems(merges) {
|
|
6317
|
-
var
|
|
6336
|
+
var _this55 = this;
|
|
6318
6337
|
|
|
6319
6338
|
if (this.footerSpanMethod) {
|
|
6320
6339
|
_tools.UtilTools.error('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
|
|
@@ -6322,11 +6341,11 @@ var Methods = {
|
|
|
6322
6341
|
|
|
6323
6342
|
setMerges(this, merges, this.mergeFooterList, null);
|
|
6324
6343
|
return this.$nextTick().then(function () {
|
|
6325
|
-
return
|
|
6344
|
+
return _this55.updateCellAreas();
|
|
6326
6345
|
});
|
|
6327
6346
|
},
|
|
6328
6347
|
removeMergeFooterItems: function removeMergeFooterItems(merges) {
|
|
6329
|
-
var
|
|
6348
|
+
var _this56 = this;
|
|
6330
6349
|
|
|
6331
6350
|
if (this.footerSpanMethod) {
|
|
6332
6351
|
_tools.UtilTools.error('vxe.error.errConflicts', ['merge-footer-items', 'footer-span-method']);
|
|
@@ -6334,7 +6353,7 @@ var Methods = {
|
|
|
6334
6353
|
|
|
6335
6354
|
var rest = removeMerges(this, merges, this.mergeFooterList, null);
|
|
6336
6355
|
return this.$nextTick().then(function () {
|
|
6337
|
-
|
|
6356
|
+
_this56.updateCellAreas();
|
|
6338
6357
|
|
|
6339
6358
|
return rest;
|
|
6340
6359
|
});
|