vxe-table 3.14.0 → 3.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/style.css +1 -1
- package/es/table/module/edit/mixin.js +95 -65
- package/es/table/module/keyboard/mixin.js +3 -2
- package/es/table/module/validator/mixin.js +2 -5
- package/es/table/src/body.js +6 -7
- package/es/table/src/methods.js +301 -286
- package/es/table/src/table.js +21 -15
- package/es/ui/index.js +1 -1
- package/es/ui/src/dom.js +0 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +501 -498
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/mixin.js +108 -99
- package/lib/table/module/edit/mixin.min.js +1 -1
- package/lib/table/module/keyboard/mixin.js +2 -1
- package/lib/table/module/keyboard/mixin.min.js +1 -1
- package/lib/table/module/validator/mixin.js +3 -9
- package/lib/table/module/validator/mixin.min.js +1 -1
- package/lib/table/src/body.js +6 -7
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/methods.js +352 -355
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +21 -15
- package/lib/table/src/table.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +0 -2
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/table/module/edit/mixin.ts +129 -89
- package/packages/table/module/keyboard/mixin.ts +4 -2
- package/packages/table/module/validator/mixin.ts +3 -6
- package/packages/table/src/body.ts +6 -7
- package/packages/table/src/methods.ts +345 -301
- package/packages/table/src/table.ts +24 -18
- package/packages/table/src/util.ts +2 -2
- package/packages/ui/src/dom.ts +0 -2
- /package/es/{iconfont.1742955973002.ttf → iconfont.1743125678150.ttf} +0 -0
- /package/es/{iconfont.1742955973002.woff → iconfont.1743125678150.woff} +0 -0
- /package/es/{iconfont.1742955973002.woff2 → iconfont.1743125678150.woff2} +0 -0
- /package/lib/{iconfont.1742955973002.ttf → iconfont.1743125678150.ttf} +0 -0
- /package/lib/{iconfont.1742955973002.woff → iconfont.1743125678150.woff} +0 -0
- /package/lib/{iconfont.1742955973002.woff2 → iconfont.1743125678150.woff2} +0 -0
|
@@ -16,6 +16,7 @@ const {
|
|
|
16
16
|
renderer,
|
|
17
17
|
getI18n
|
|
18
18
|
} = _ui.VxeUI;
|
|
19
|
+
const browseObj = _xeUtils.default.browse();
|
|
19
20
|
function getEditColumnModel(row, column) {
|
|
20
21
|
const {
|
|
21
22
|
model,
|
|
@@ -68,14 +69,15 @@ function syncActivedCell($xeTable) {
|
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
|
-
function insertTreeRow(
|
|
72
|
+
function insertTreeRow($xeTable, newRecords, isAppend) {
|
|
73
|
+
const internalData = $xeTable;
|
|
72
74
|
const {
|
|
73
75
|
tableFullTreeData,
|
|
74
76
|
afterFullData,
|
|
75
77
|
fullDataRowIdData,
|
|
76
|
-
fullAllDataRowIdData
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
fullAllDataRowIdData
|
|
79
|
+
} = internalData;
|
|
80
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
79
81
|
const {
|
|
80
82
|
rowField,
|
|
81
83
|
parentField,
|
|
@@ -85,7 +87,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
|
|
|
85
87
|
const funcName = isAppend ? 'push' : 'unshift';
|
|
86
88
|
newRecords.forEach(item => {
|
|
87
89
|
const parentRowId = item[parentField];
|
|
88
|
-
const rowid = (0, _util.getRowid)(
|
|
90
|
+
const rowid = (0, _util.getRowid)($xeTable, item);
|
|
89
91
|
const matchObj = parentRowId ? _xeUtils.default.findTree(tableFullTreeData, item => parentRowId === item[rowField], {
|
|
90
92
|
children: mapChildrenField
|
|
91
93
|
}) : null;
|
|
@@ -93,7 +95,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
|
|
|
93
95
|
const {
|
|
94
96
|
item: parentRow
|
|
95
97
|
} = matchObj;
|
|
96
|
-
const parentRest = fullAllDataRowIdData[(0, _util.getRowid)(
|
|
98
|
+
const parentRest = fullAllDataRowIdData[(0, _util.getRowid)($xeTable, parentRow)];
|
|
97
99
|
const parentLevel = parentRest ? parentRest.level : 0;
|
|
98
100
|
let parentChilds = parentRow[childrenField];
|
|
99
101
|
let mapChilds = parentRow[mapChildrenField];
|
|
@@ -160,15 +162,15 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
160
162
|
treeConfig
|
|
161
163
|
} = props;
|
|
162
164
|
const {
|
|
163
|
-
mergeList
|
|
164
|
-
editStore
|
|
165
|
+
mergeList
|
|
165
166
|
} = reactData;
|
|
166
167
|
const {
|
|
167
168
|
tableFullTreeData,
|
|
168
169
|
afterFullData,
|
|
169
170
|
tableFullData,
|
|
170
171
|
fullDataRowIdData,
|
|
171
|
-
fullAllDataRowIdData
|
|
172
|
+
fullAllDataRowIdData,
|
|
173
|
+
insertRowMaps
|
|
172
174
|
} = internalData;
|
|
173
175
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
174
176
|
const {
|
|
@@ -373,13 +375,11 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
373
375
|
}
|
|
374
376
|
}
|
|
375
377
|
}
|
|
376
|
-
const {
|
|
377
|
-
insertMaps
|
|
378
|
-
} = editStore;
|
|
379
378
|
newRecords.forEach(newRow => {
|
|
380
379
|
const rowid = (0, _util.getRowid)($xeTable, newRow);
|
|
381
|
-
|
|
380
|
+
insertRowMaps[rowid] = newRow;
|
|
382
381
|
});
|
|
382
|
+
reactData.insertRowFlag++;
|
|
383
383
|
$xeTable.cacheRowMap(false);
|
|
384
384
|
$xeTable.updateScrollYStatus();
|
|
385
385
|
$xeTable.handleTableData(treeConfig && transform);
|
|
@@ -388,7 +388,7 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
388
388
|
}
|
|
389
389
|
$xeTable.updateFooter();
|
|
390
390
|
$xeTable.checkSelectionStatus();
|
|
391
|
-
if (
|
|
391
|
+
if (reactData.scrollYLoad) {
|
|
392
392
|
$xeTable.updateScrollYSpace();
|
|
393
393
|
}
|
|
394
394
|
return $xeTable.$nextTick().then(() => {
|
|
@@ -684,7 +684,9 @@ var _default = exports.default = {
|
|
|
684
684
|
selectCheckboxMaps,
|
|
685
685
|
afterFullData,
|
|
686
686
|
tableFullData,
|
|
687
|
-
pendingRowMaps
|
|
687
|
+
pendingRowMaps,
|
|
688
|
+
insertRowMaps,
|
|
689
|
+
removeRowMaps
|
|
688
690
|
} = internalData;
|
|
689
691
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
690
692
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
@@ -694,10 +696,8 @@ var _default = exports.default = {
|
|
|
694
696
|
} = treeOpts;
|
|
695
697
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
696
698
|
const {
|
|
697
|
-
actived
|
|
698
|
-
removeMaps
|
|
699
|
+
actived
|
|
699
700
|
} = editStore;
|
|
700
|
-
const insertDataRowMaps = Object.assign({}, editStore.insertMaps);
|
|
701
701
|
const {
|
|
702
702
|
checkField
|
|
703
703
|
} = checkboxOpts;
|
|
@@ -711,7 +711,7 @@ var _default = exports.default = {
|
|
|
711
711
|
rows.forEach(row => {
|
|
712
712
|
if (!$xeTable.isInsertByRow(row)) {
|
|
713
713
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
714
|
-
|
|
714
|
+
removeRowMaps[rowid] = row;
|
|
715
715
|
}
|
|
716
716
|
});
|
|
717
717
|
// 如果绑定了多选属性,则更新状态
|
|
@@ -786,14 +786,15 @@ var _default = exports.default = {
|
|
|
786
786
|
// 从新增中移除已删除的数据
|
|
787
787
|
rows.forEach(row => {
|
|
788
788
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
789
|
-
if (
|
|
790
|
-
delete
|
|
789
|
+
if (insertRowMaps[rowid]) {
|
|
790
|
+
delete insertRowMaps[rowid];
|
|
791
791
|
}
|
|
792
792
|
if (pendingRowMaps[rowid]) {
|
|
793
793
|
delete pendingRowMaps[rowid];
|
|
794
794
|
}
|
|
795
795
|
});
|
|
796
|
-
|
|
796
|
+
reactData.removeRowFlag++;
|
|
797
|
+
reactData.insertRowFlag++;
|
|
797
798
|
reactData.pendingRowFlag++;
|
|
798
799
|
$xeTable.updateFooter();
|
|
799
800
|
$xeTable.cacheRowMap(false);
|
|
@@ -867,19 +868,13 @@ var _default = exports.default = {
|
|
|
867
868
|
*/
|
|
868
869
|
_getInsertRecords() {
|
|
869
870
|
const $xeTable = this;
|
|
870
|
-
const reactData = $xeTable;
|
|
871
871
|
const internalData = $xeTable;
|
|
872
872
|
const {
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
const {
|
|
876
|
-
fullAllDataRowIdData
|
|
873
|
+
fullAllDataRowIdData,
|
|
874
|
+
insertRowMaps
|
|
877
875
|
} = internalData;
|
|
878
|
-
const {
|
|
879
|
-
insertMaps
|
|
880
|
-
} = editStore;
|
|
881
876
|
const insertRecords = [];
|
|
882
|
-
_xeUtils.default.each(
|
|
877
|
+
_xeUtils.default.each(insertRowMaps, (row, rowid) => {
|
|
883
878
|
if (fullAllDataRowIdData[rowid]) {
|
|
884
879
|
insertRecords.push(row);
|
|
885
880
|
}
|
|
@@ -891,15 +886,12 @@ var _default = exports.default = {
|
|
|
891
886
|
*/
|
|
892
887
|
_getRemoveRecords() {
|
|
893
888
|
const $xeTable = this;
|
|
894
|
-
const
|
|
895
|
-
const {
|
|
896
|
-
editStore
|
|
897
|
-
} = reactData;
|
|
889
|
+
const internalData = $xeTable;
|
|
898
890
|
const {
|
|
899
|
-
|
|
900
|
-
} =
|
|
891
|
+
removeRowMaps
|
|
892
|
+
} = internalData;
|
|
901
893
|
const removeRecords = [];
|
|
902
|
-
_xeUtils.default.each(
|
|
894
|
+
_xeUtils.default.each(removeRowMaps, row => {
|
|
903
895
|
removeRecords.push(row);
|
|
904
896
|
});
|
|
905
897
|
return removeRecords;
|
|
@@ -911,29 +903,22 @@ var _default = exports.default = {
|
|
|
911
903
|
*/
|
|
912
904
|
_getUpdateRecords() {
|
|
913
905
|
const $xeTable = this;
|
|
906
|
+
const props = $xeTable;
|
|
907
|
+
const internalData = $xeTable;
|
|
914
908
|
const {
|
|
915
909
|
keepSource,
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
910
|
+
treeConfig
|
|
911
|
+
} = props;
|
|
912
|
+
const {
|
|
913
|
+
tableFullData
|
|
914
|
+
} = internalData;
|
|
915
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
922
916
|
if (keepSource) {
|
|
923
|
-
|
|
924
|
-
actived
|
|
925
|
-
} = editStore;
|
|
926
|
-
const {
|
|
927
|
-
row,
|
|
928
|
-
column
|
|
929
|
-
} = actived;
|
|
930
|
-
if (row || column) {
|
|
931
|
-
syncActivedCell($xeTable);
|
|
932
|
-
}
|
|
917
|
+
syncActivedCell($xeTable);
|
|
933
918
|
if (treeConfig) {
|
|
934
|
-
return _xeUtils.default.filterTree(tableFullData, row => isUpdateByRow(row), treeOpts);
|
|
919
|
+
return _xeUtils.default.filterTree(tableFullData, row => $xeTable.isUpdateByRow(row), treeOpts);
|
|
935
920
|
}
|
|
936
|
-
return tableFullData.filter(row => isUpdateByRow(row));
|
|
921
|
+
return tableFullData.filter(row => $xeTable.isUpdateByRow(row));
|
|
937
922
|
}
|
|
938
923
|
return [];
|
|
939
924
|
},
|
|
@@ -982,51 +967,58 @@ var _default = exports.default = {
|
|
|
982
967
|
return handleClearEdit($xeTable, evnt, targetRow);
|
|
983
968
|
},
|
|
984
969
|
_getActiveRecord() {
|
|
970
|
+
const $xeTable = this;
|
|
985
971
|
if (process.env.NODE_ENV === 'development') {
|
|
986
972
|
(0, _log.warnLog)('vxe.error.delFunc', ['getActiveRecord', 'getEditRecord']);
|
|
987
973
|
}
|
|
988
974
|
// 即将废弃
|
|
989
|
-
return
|
|
975
|
+
return $xeTable.getEditRecord();
|
|
990
976
|
},
|
|
991
977
|
_getEditRecord() {
|
|
978
|
+
const $xeTable = this;
|
|
979
|
+
const reactData = $xeTable;
|
|
980
|
+
const internalData = $xeTable;
|
|
992
981
|
const {
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
afterFullData
|
|
996
|
-
} = this;
|
|
982
|
+
editStore
|
|
983
|
+
} = reactData;
|
|
997
984
|
const {
|
|
998
|
-
|
|
999
|
-
} =
|
|
985
|
+
afterFullData
|
|
986
|
+
} = internalData;
|
|
987
|
+
const el = $xeTable.$refs.refElem;
|
|
1000
988
|
const {
|
|
1001
989
|
args,
|
|
1002
990
|
row
|
|
1003
|
-
} = actived;
|
|
1004
|
-
if (args &&
|
|
991
|
+
} = editStore.actived;
|
|
992
|
+
if (args && $xeTable.findRowIndexOf(afterFullData, row) > -1 && el.querySelectorAll('.vxe-body--column.col--active').length) {
|
|
1005
993
|
return Object.assign({}, args);
|
|
1006
994
|
}
|
|
1007
995
|
return null;
|
|
1008
996
|
},
|
|
1009
997
|
_isActiveByRow(row) {
|
|
998
|
+
const $xeTable = this;
|
|
1010
999
|
if (process.env.NODE_ENV === 'development') {
|
|
1011
1000
|
(0, _log.warnLog)('vxe.error.delFunc', ['isActiveByRow', 'isEditByRow']);
|
|
1012
1001
|
}
|
|
1013
1002
|
// 即将废弃
|
|
1014
|
-
return
|
|
1003
|
+
return $xeTable.isEditByRow(row);
|
|
1015
1004
|
},
|
|
1016
1005
|
/**
|
|
1017
1006
|
* 判断行是否为激活编辑状态
|
|
1018
1007
|
* @param {Row} row 行对象
|
|
1019
1008
|
*/
|
|
1020
1009
|
_isEditByRow(row) {
|
|
1021
|
-
|
|
1010
|
+
const $xeTable = this;
|
|
1011
|
+
const reactData = $xeTable;
|
|
1012
|
+
const {
|
|
1013
|
+
editStore
|
|
1014
|
+
} = reactData;
|
|
1015
|
+
return editStore.actived.row === row;
|
|
1022
1016
|
},
|
|
1023
1017
|
/**
|
|
1024
1018
|
* 处理聚焦
|
|
1025
1019
|
*/
|
|
1026
1020
|
handleFocus(params) {
|
|
1027
|
-
const
|
|
1028
|
-
editOpts
|
|
1029
|
-
} = this;
|
|
1021
|
+
const $xeTable = this;
|
|
1030
1022
|
const {
|
|
1031
1023
|
row,
|
|
1032
1024
|
column,
|
|
@@ -1035,6 +1027,7 @@ var _default = exports.default = {
|
|
|
1035
1027
|
const {
|
|
1036
1028
|
editRender
|
|
1037
1029
|
} = column;
|
|
1030
|
+
const editOpts = $xeTable.computeEditOpts;
|
|
1038
1031
|
if ((0, _utils.isEnableConf)(editRender)) {
|
|
1039
1032
|
const compRender = renderer.get(editRender.name);
|
|
1040
1033
|
let autoFocus = editRender.autofocus || editRender.autoFocus;
|
|
@@ -1050,7 +1043,7 @@ var _default = exports.default = {
|
|
|
1050
1043
|
}
|
|
1051
1044
|
// 如果指定了聚焦 class
|
|
1052
1045
|
if (_xeUtils.default.isFunction(autoFocus)) {
|
|
1053
|
-
inputElem = autoFocus.call(
|
|
1046
|
+
inputElem = autoFocus.call($xeTable, params);
|
|
1054
1047
|
} else if (autoFocus) {
|
|
1055
1048
|
if (autoFocus === true) {
|
|
1056
1049
|
// 自动匹配模式,会自动匹配第一个可输入元素
|
|
@@ -1068,7 +1061,7 @@ var _default = exports.default = {
|
|
|
1068
1061
|
inputElem.select();
|
|
1069
1062
|
} else {
|
|
1070
1063
|
// 保持一致行为,光标移到末端
|
|
1071
|
-
if (
|
|
1064
|
+
if (browseObj.msie) {
|
|
1072
1065
|
const textRange = inputElem.createTextRange();
|
|
1073
1066
|
textRange.collapse(false);
|
|
1074
1067
|
textRange.select();
|
|
@@ -1079,18 +1072,19 @@ var _default = exports.default = {
|
|
|
1079
1072
|
if (editOpts.autoPos) {
|
|
1080
1073
|
if (!column.fixed) {
|
|
1081
1074
|
// 显示到可视区中
|
|
1082
|
-
|
|
1075
|
+
$xeTable.scrollToRow(row, column);
|
|
1083
1076
|
}
|
|
1084
1077
|
}
|
|
1085
1078
|
}
|
|
1086
1079
|
}
|
|
1087
1080
|
},
|
|
1088
1081
|
_setActiveRow(row) {
|
|
1082
|
+
const $xeTable = this;
|
|
1089
1083
|
if (process.env.NODE_ENV === 'development') {
|
|
1090
1084
|
(0, _log.warnLog)('vxe.error.delFunc', ['setActiveRow', 'setEditRow']);
|
|
1091
1085
|
}
|
|
1092
1086
|
// 即将废弃
|
|
1093
|
-
return
|
|
1087
|
+
return $xeTable.setEditRow(row);
|
|
1094
1088
|
},
|
|
1095
1089
|
/**
|
|
1096
1090
|
* 激活行编辑
|
|
@@ -1102,7 +1096,7 @@ var _default = exports.default = {
|
|
|
1102
1096
|
if (fieldOrColumn) {
|
|
1103
1097
|
isPos = true;
|
|
1104
1098
|
if (fieldOrColumn !== true) {
|
|
1105
|
-
column = _xeUtils.default.isString(fieldOrColumn) ?
|
|
1099
|
+
column = _xeUtils.default.isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
|
|
1106
1100
|
}
|
|
1107
1101
|
}
|
|
1108
1102
|
return handleEditCell($xeTable, row, column, isPos);
|
|
@@ -1125,39 +1119,44 @@ var _default = exports.default = {
|
|
|
1125
1119
|
* 只对 trigger=dblclick 有效,选中单元格
|
|
1126
1120
|
*/
|
|
1127
1121
|
_setSelectCell(row, fieldOrColumn) {
|
|
1122
|
+
const $xeTable = this;
|
|
1123
|
+
const reactData = $xeTable;
|
|
1128
1124
|
const {
|
|
1129
|
-
tableData
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
const column = _xeUtils.default.isString(fieldOrColumn) ? this.getColumnByField(fieldOrColumn) : fieldOrColumn;
|
|
1125
|
+
tableData
|
|
1126
|
+
} = reactData;
|
|
1127
|
+
const editOpts = $xeTable.computeEditOpts;
|
|
1128
|
+
const column = _xeUtils.default.isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
|
|
1134
1129
|
if (row && column && editOpts.trigger !== 'manual') {
|
|
1135
|
-
const rowIndex =
|
|
1130
|
+
const rowIndex = $xeTable.findRowIndexOf(tableData, row);
|
|
1136
1131
|
if (rowIndex > -1) {
|
|
1137
|
-
const cell =
|
|
1132
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
1138
1133
|
const params = {
|
|
1139
1134
|
row,
|
|
1140
1135
|
rowIndex,
|
|
1141
1136
|
column,
|
|
1142
|
-
columnIndex:
|
|
1137
|
+
columnIndex: $xeTable.getColumnIndex(column),
|
|
1143
1138
|
cell
|
|
1144
1139
|
};
|
|
1145
|
-
|
|
1140
|
+
$xeTable.handleSelected(params, {});
|
|
1146
1141
|
}
|
|
1147
1142
|
}
|
|
1148
|
-
return
|
|
1143
|
+
return $xeTable.$nextTick();
|
|
1149
1144
|
},
|
|
1150
1145
|
/**
|
|
1151
1146
|
* 处理选中源
|
|
1152
1147
|
*/
|
|
1153
1148
|
handleSelected(params, evnt) {
|
|
1154
1149
|
const $xeTable = this;
|
|
1150
|
+
const props = $xeTable;
|
|
1151
|
+
const reactData = $xeTable;
|
|
1152
|
+
const {
|
|
1153
|
+
mouseConfig
|
|
1154
|
+
} = props;
|
|
1155
1155
|
const {
|
|
1156
|
-
mouseConfig,
|
|
1157
|
-
mouseOpts,
|
|
1158
|
-
editOpts,
|
|
1159
1156
|
editStore
|
|
1160
|
-
} =
|
|
1157
|
+
} = reactData;
|
|
1158
|
+
const mouseOpts = $xeTable.computeMouseOpts;
|
|
1159
|
+
const editOpts = $xeTable.computeEditOpts;
|
|
1161
1160
|
const {
|
|
1162
1161
|
actived,
|
|
1163
1162
|
selected
|
|
@@ -1171,22 +1170,24 @@ var _default = exports.default = {
|
|
|
1171
1170
|
if (isMouseSelected && (selected.row !== row || selected.column !== column)) {
|
|
1172
1171
|
if (actived.row !== row || (editOpts.mode === 'cell' ? actived.column !== column : false)) {
|
|
1173
1172
|
handleClearEdit($xeTable, evnt);
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1173
|
+
$xeTable.clearSelected();
|
|
1174
|
+
if ($xeTable.clearCellAreas) {
|
|
1175
|
+
$xeTable.clearCellAreas();
|
|
1176
|
+
$xeTable.clearCopyCellArea();
|
|
1177
|
+
}
|
|
1177
1178
|
selected.args = params;
|
|
1178
1179
|
selected.row = row;
|
|
1179
1180
|
selected.column = column;
|
|
1180
1181
|
if (isMouseSelected) {
|
|
1181
1182
|
this.addCellSelectedClass();
|
|
1182
1183
|
}
|
|
1183
|
-
|
|
1184
|
+
$xeTable.focus();
|
|
1184
1185
|
if (evnt) {
|
|
1185
|
-
|
|
1186
|
+
$xeTable.dispatchEvent('cell-selected', params, evnt);
|
|
1186
1187
|
}
|
|
1187
1188
|
}
|
|
1188
1189
|
}
|
|
1189
|
-
return
|
|
1190
|
+
return $xeTable.$nextTick();
|
|
1190
1191
|
};
|
|
1191
1192
|
return selectMethod();
|
|
1192
1193
|
},
|
|
@@ -1194,10 +1195,15 @@ var _default = exports.default = {
|
|
|
1194
1195
|
* 获取选中的单元格
|
|
1195
1196
|
*/
|
|
1196
1197
|
_getSelectedCell() {
|
|
1198
|
+
const $xeTable = this;
|
|
1199
|
+
const reactData = $xeTable;
|
|
1200
|
+
const {
|
|
1201
|
+
editStore
|
|
1202
|
+
} = reactData;
|
|
1197
1203
|
const {
|
|
1198
1204
|
args,
|
|
1199
1205
|
column
|
|
1200
|
-
} =
|
|
1206
|
+
} = editStore.selected;
|
|
1201
1207
|
if (args && column) {
|
|
1202
1208
|
return Object.assign({}, args);
|
|
1203
1209
|
}
|
|
@@ -1208,14 +1214,17 @@ var _default = exports.default = {
|
|
|
1208
1214
|
*/
|
|
1209
1215
|
_clearSelected() {
|
|
1210
1216
|
const $xeTable = this;
|
|
1217
|
+
const reactData = $xeTable;
|
|
1218
|
+
const {
|
|
1219
|
+
editStore
|
|
1220
|
+
} = reactData;
|
|
1211
1221
|
const {
|
|
1212
1222
|
selected
|
|
1213
|
-
} =
|
|
1223
|
+
} = editStore;
|
|
1214
1224
|
selected.row = null;
|
|
1215
1225
|
selected.column = null;
|
|
1216
|
-
this.reColTitleSdCls();
|
|
1217
1226
|
removeCellSelectedClass($xeTable);
|
|
1218
|
-
return
|
|
1227
|
+
return $xeTable.$nextTick();
|
|
1219
1228
|
},
|
|
1220
1229
|
reColTitleSdCls() {
|
|
1221
1230
|
const headerElem = this.elemStore['main-header-list'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI;function getEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)}function setEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)}function removeCellSelectedClass(e){var e=e.$refs.refElem;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}function syncActivedCell(e){var{editStore:t,tableColumn:l}=e,e=e.computeEditOpts,t=t.actived;let{row:r,column:i}=t;(r||i)&&("row"===e.mode?l.forEach(e=>setEditColumnModel(r,e)):setEditColumnModel(r,i))}function insertTreeRow(n,e,t){let{tableFullTreeData:d,afterFullData:a,fullDataRowIdData:s,fullAllDataRowIdData:u,treeOpts:l}=n,{rowField:c,parentField:h,mapChildrenField:g}=l,f=l.children||l.childrenField,w=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(n,l),i=t?_xeUtils.default.findTree(d,e=>t===e[c],{children:g}):null;if(i){var i=i.item,o=u[(0,_util.getRowid)(n,i)],o=o?o.level:0;let e=i[f],t=i[g];_xeUtils.default.isArray(e)||(e=i[f]=[]),_xeUtils.default.isArray(t)||(t=i[f]=[]),e[w](l),t[w](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:i,level:o+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=i,u[r]=i}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[w](l),d[w](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:d,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=o,u[r]=o}})}function handleInsertRowAt(a,t,l,s){let i=a.treeConfig;var{mergeList:e,editStore:r}=a;let{tableFullTreeData:u,afterFullData:o,tableFullData:n,fullDataRowIdData:c,fullAllDataRowIdData:h}=a,g=a.computeTreeOpts,{transform:d,rowField:f,mapChildrenField:w}=g,m=g.children||g.childrenField,v=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(i&&d?{[w]:[],[m]:[]}:{},e))));if(_xeUtils.default.eqNull(l))i&&d?insertTreeRow(a,v,!1):(v.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};c[t]=l,h[t]=l,o.unshift(e),n.unshift(e)}),e.forEach(e=>{var t=e.row;0<t&&(e.row=t+v.length)}));else if(-1===l)i&&d?insertTreeRow(a,v,!0):(v.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};c[t]=l,h[t]=l,o.push(e),n.push(e)}),e.forEach(e=>{var{row:t,rowspan:l}=e;t+l>o.length&&(e.rowspan=l+v.length)}));else if(i&&d){let d=_xeUtils.default.findTree(u,e=>l[f]===e[f],{children:w});if(d){let i=d.parent,o=i?i[w]:u;t=h[(0,_util.getRowid)(a,i)];let n=t?t.level:0;if(v.forEach((e,t)=>{var l=(0,_util.getRowid)(a,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&i&&e[g.parentField]!==i[f]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+i[f]]),i&&(e[g.parentField]=i[f]);let r=d.index+t;s&&(r+=1),o.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:i,level:n+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};c[l]=t,h[l]=t}),i){t=_xeUtils.default.findTree(u,e=>l[f]===e[f],{children:m});if(t){var p=t.items;let e=t.index;s&&(e+=1),p.splice(e,0,...v)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,v,!0)}else{if(i)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<o.length&&(r=l):r=a.findRowIndexOf(o,l),-1===(r=s?Math.min(o.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));o.splice(r,0,...v);t=a.findRowIndexOf(n,l);-1<t?n.splice(t+(s?1:0),0,...v):n.push(...v),e.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+v.length:t+l>r&&(e.rowspan=l+v.length)})}let x=r.insertMaps;return v.forEach(e=>{var t=(0,_util.getRowid)(a,e);x[t]=e}),a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(i&&d),i&&d||a.updateAfterDataIndex(),a.updateFooter(),a.checkSelectionStatus(),a.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate())).then(()=>({row:v.length?v[v.length-1]:null,rows:v}))}function handleInsertChildRowAt(e,t,l,r,i){var o=e.treeConfig;let{transform:n,rowField:d,parentField:a}=e.computeTreeOpts;return o&&n?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[d]})),r,i):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))}function handleClearEdit(e,t,l){var r=e.editStore,{actived:r,focused:i}=r,{row:o,column:n}=r,d=e.computeValidOpts;if(o||n){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,o))return e.$nextTick();syncActivedCell(e),r.args=null,r.row=null,r.column=null,e.updateFooter(),e.dispatchEvent("edit-closed",{row:o,rowIndex:e.getRowIndex(o),$rowIndex:e.getVMRowIndex(o),column:n,columnIndex:e.getColumnIndex(n),$columnIndex:e.getVMColumnIndex(n)},t||null)}return i.row=null,i.column=null,d.autoClear&&("full"!==d.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>e.updateCellAreas())}function handleEditActive(l,r,i,o,e){let n=l.$xeGrid;var{editConfig:t,mouseConfig:d}=l,{editStore:a,tableColumn:s}=l,u=l.computeEditOpts,c=u.mode,{actived:a,focused:h}=a;let{row:g,column:f}=r;var w=f.editRender,m=r.cell||l.getCellElement(g,f),v=u.beforeEditMethod||u.activeMethod;if((r.cell=m)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(w)&&!l.isPendingByRow(g)){if(a.row!==g||"cell"===c&&a.column!==f){let t="edit-disabled";if(!v||v(Object.assign(Object.assign({},r),{$table:l,$grid:n}))){d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),a.column&&handleClearEdit(l,i),t="edit-activated",f.renderHeight=m.offsetHeight,a.args=r,a.row=g,a.column=f,"row"===c?s.forEach(e=>getEditColumnModel(g,e)):getEditColumnModel(g,f);let e=u.afterEditMethod;l.$nextTick(()=>{o&&l.handleFocus(r,i),e&&e(Object.assign(Object.assign({},r),{$table:l,$grid:n}))})}l.dispatchEvent(t,{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:f,columnIndex:l.getColumnIndex(f),$columnIndex:l.getVMColumnIndex(f)},i),"edit-activated"===t&&l.dispatchEvent("edit-actived",{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:f,columnIndex:l.getColumnIndex(f),$columnIndex:l.getVMColumnIndex(f)},i)}else{t=a.column;d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),t!==f&&(w=t.model,w.update&&(0,_util.setCellValue)(g,t,w.value),l.clearValidate)&&l.clearValidate(g,f),f.renderHeight=m.offsetHeight,a.args=r,a.column=f,e&&setTimeout(()=>{l.handleFocus(r,i)})}h.column=null,h.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let i=t;var o=t.editConfig;let n=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&n&&(0,_utils.isEnableConf)(o)&&(0,_utils.isEnableConf)(n.editRender)?Promise.resolve(r?t.scrollToRow(l,n):null).then(()=>{var e=t.getCellElement(l,n);return e&&(handleEditActive(t,{row:l,rowIndex:t.getRowIndex(l),column:n,columnIndex:t.getColumnIndex(n),cell:e,$table:t},null,r,r),i._lastCallTime=Date.now()),t.$nextTick()}):t.$nextTick()}var _default=exports.default={methods:{_insert(e){return handleInsertRowAt(this,e,null)},_insertAt(e,t){return handleInsertRowAt(this,e,t)},_insertNextAt(e,t){return handleInsertRowAt(this,e,t,!0)},_insertChild(e,t){return handleInsertChildRowAt(this,e,t,null)},_insertChildAt(e,t,l){return handleInsertChildRowAt(this,e,t,l)},_insertChildNextAt(e,t,l){return handleInsertChildRowAt(this,e,t,l,!0)},_remove(e){let l=this;var t=l,r=l,i=l,t=t.treeConfig;let{mergeList:o,editStore:n}=r,{tableFullTreeData:d,selectCheckboxMaps:a,afterFullData:s,tableFullData:u,pendingRowMaps:c}=i;var i=l.computeCheckboxOpts,h=l.computeTreeOpts;let{transform:g,mapChildrenField:f}=h,w=h.children||h.childrenField,{actived:m,removeMaps:v}=n,p=Object.assign({},n.insertMaps);h=i.checkField;let x=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(e=>{var t;l.isInsertByRow(e)||(t=(0,_util.getRowid)(l,e),v[t]=e)}),h||(e.forEach(e=>{e=(0,_util.getRowid)(this,e);a[e]&&delete a[e]}),r.updateCheckboxFlag++),u===e?(e=x=u.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&g?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(d,e=>t===(0,_util.getRowid)(this,e),{children:f}),l=(l&&(l=l.items.splice(l.index,1),x.push(l[0])),_xeUtils.default.findTree(d,e=>t===(0,_util.getRowid)(this,e),{children:w})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(s,e));-1<l&&s.splice(l,1)}):e.forEach(e=>{var t=this.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),x.push(t[0]));let r=this.findRowIndexOf(s,e);-1<r&&(o.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),s.splice(r,1))}),m.row&&-1<l.findRowIndexOf(e,m.row)&&l.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(l,e);p[e]&&delete p[e],c[e]&&delete c[e]}),n.insertMaps=p,r.pendingRowFlag++,l.updateFooter(),l.cacheRowMap(!1),l.handleTableData(t&&g),t&&g||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:x.length?x[x.length-1]:null,rows:x}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},_getInsertRecords(){var e=this.editStore;let l=this.fullAllDataRowIdData;e=e.insertMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){var e=this.editStore,e=e.removeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},_getUpdateRecords(){var e,t;let{keepSource:l,tableFullData:r,isUpdateByRow:i,treeConfig:o,treeOpts:n,editStore:d}=this;return l?(e=d.actived,{row:e,column:t}=e,(e||t)&&syncActivedCell(this),o?_xeUtils.default.filterTree(r,e=>i(e),n):r.filter(e=>i(e))):[]},handleEdit(e,t){return handleEditActive(this,e,t,!0,!0)},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){getEditColumnModel(e,t)},_setColumnModel(e,t){setEditColumnModel(e,t)},_syncActivedCell(){syncActivedCell(this)},_clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return handleClearEdit(this,null,e)},handleClearEdit(e,t){return handleClearEdit(this,e,t)},_getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},_getEditRecord(){var{$el:e,editStore:t,afterFullData:l}=this,t=t.actived,{args:t,row:r}=t;return t&&-1<this.findRowIndexOf(l,r)&&e.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},t):null},_isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){return this.editStore.actived.row===e},handleFocus(r){var i=this.editOpts,{row:o,column:n,cell:d}=r,a=n.editRender;if((0,_utils.isEnableConf)(a)){var s=renderer.get(a.name);let e=a.autofocus||a.autoFocus,t=a.autoSelect||a.autoselect,l;i.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autoFocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?d.querySelector("input,textarea"):d.querySelector(e))&&l.focus()),l?t?l.select():_dom.browse.msie&&((a=l.createTextRange()).collapse(!1),a.select()):i.autoPos&&!n.fixed&&this.scrollToRow(o,n)}},_setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t){let l=_xeUtils.default.find(this.visibleColumn,e=>(0,_utils.isEnableConf)(e.editRender)),r=!1;return t&&(r=!0)!==t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),handleEditCell(this,e,l,r)},_setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(e,t){return handleEditCell(this,e,t,!0)},_setSelectCell(e,t){var{tableData:l,editOpts:r,visibleColumn:i}=this,t=_xeUtils.default.isString(t)?this.getColumnByField(t):t;return e&&t&&"manual"!==r.trigger&&-1<(r=this.findRowIndexOf(l,e))&&(l=this.getCellElement(e,t),e={row:e,rowIndex:r,column:t,columnIndex:i.indexOf(t),cell:l},this.handleSelected(e,{})),this.$nextTick()},handleSelected(e,t){let l=this,{mouseConfig:r,mouseOpts:i,editOpts:o,editStore:n}=this,{actived:d,selected:a}=n,{row:s,column:u}=e,c=r&&i.selected;return!c||a.row===s&&a.column===u||(d.row!==s||"cell"===o.mode&&d.column!==u)&&(handleClearEdit(l,t),this.clearSelected(t),this.clearCellAreas(t),this.clearCopyCellArea(t),a.args=e,a.row=s,a.column=u,c&&this.addCellSelectedClass(),this.focus(),t)&&this.emitEvent("cell-selected",e,t),this.$nextTick()},_getSelectedCell(){var{args:e,column:t}=this.editStore.selected;return e&&t?Object.assign({},e):null},_clearSelected(){var e=this.editStore.selected;return e.row=null,e.column=null,this.reColTitleSdCls(),removeCellSelectedClass(this),this.$nextTick()},reColTitleSdCls(){var e=this.elemStore["main-header-list"];e&&_xeUtils.default.arrayEach(e.querySelectorAll(".col--title-selected"),e=>(0,_dom.removeClass)(e,"col--title-selected"))},addCellSelectedClass(){var e=this.editStore,e=e.selected,{row:e,column:t}=e;removeCellSelectedClass(this),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,browseObj=_xeUtils.default.browse();function getEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&(l.value=(0,_util.getCellValue)(e,t),l.update=!1)}function setEditColumnModel(e,t){var{model:l,editRender:r}=t;r&&l.update&&((0,_util.setCellValue)(e,t,l.value),l.update=!1,l.value=null)}function removeCellSelectedClass(e){var e=e.$refs.refElem;e&&(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}function syncActivedCell(e){var{editStore:t,tableColumn:l}=e,e=e.computeEditOpts,t=t.actived;let{row:r,column:i}=t;(r||i)&&("row"===e.mode?l.forEach(e=>setEditColumnModel(r,e)):setEditColumnModel(r,i))}function insertTreeRow(n,e,t){let{tableFullTreeData:d,afterFullData:a,fullDataRowIdData:s,fullAllDataRowIdData:u}=n;var l=n.computeTreeOpts;let{rowField:c,parentField:h,mapChildrenField:g}=l,w=l.children||l.childrenField,f=t?"push":"unshift";e.forEach(l=>{let t=l[h];var r=(0,_util.getRowid)(n,l),i=t?_xeUtils.default.findTree(d,e=>t===e[c],{children:g}):null;if(i){var i=i.item,o=u[(0,_util.getRowid)(n,i)],o=o?o.level:0;let e=i[w],t=i[g];_xeUtils.default.isArray(e)||(e=i[w]=[]),_xeUtils.default.isArray(t)||(t=i[w]=[]),e[f](l),t[f](l);i={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:e,parent:i,level:o+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=i,u[r]=i}else{"development"===process.env.NODE_ENV&&t&&(0,_log.warnLog)("vxe.error.unableInsert"),a[f](l),d[f](l);o={row:l,rowid:r,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:d,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};s[r]=o,u[r]=o}})}function handleInsertRowAt(a,t,l,s){var e=a;let i=a.treeConfig;var o=e.mergeList;let{tableFullTreeData:r,afterFullData:n,tableFullData:d,fullDataRowIdData:u,fullAllDataRowIdData:c,insertRowMaps:h}=a,g=a.computeTreeOpts,{transform:w,rowField:f,mapChildrenField:m}=g,p=g.children||g.childrenField,v=(_xeUtils.default.isArray(t)||(t=[t]),a.defineField(t.map(e=>Object.assign(i&&w?{[m]:[],[p]:[]}:{},e))));if(_xeUtils.default.eqNull(l))i&&w?insertTreeRow(a,v,!1):(v.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:n,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,n.unshift(e),d.unshift(e)}),o.forEach(e=>{var t=e.row;0<t&&(e.row=t+v.length)}));else if(-1===l)i&&w?insertTreeRow(a,v,!0):(v.forEach(e=>{var t=(0,_util.getRowid)(a,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:n,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[t]=l,c[t]=l,n.push(e),d.push(e)}),o.forEach(e=>{var{row:t,rowspan:l}=e;t+l>n.length&&(e.rowspan=l+v.length)}));else if(i&&w){let d=_xeUtils.default.findTree(r,e=>l[f]===e[f],{children:m});if(d){let i=d.parent,o=i?i[m]:r;t=c[(0,_util.getRowid)(a,i)];let n=t?t.level:0;if(v.forEach((e,t)=>{var l=(0,_util.getRowid)(a,e);"development"===process.env.NODE_ENV&&e[g.parentField]&&i&&e[g.parentField]!==i[f]&&(0,_log.errLog)("vxe.error.errProp",[g.parentField+"="+e[g.parentField],g.parentField+"="+i[f]]),i&&(e[g.parentField]=i[f]);let r=d.index+t;s&&(r+=1),o.splice(r,0,e);t={row:e,rowid:l,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:i,level:n+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};u[l]=t,c[l]=t}),i){t=_xeUtils.default.findTree(r,e=>l[f]===e[f],{children:p});if(t){var x=t.items;let e=t.index;s&&(e+=1),x.splice(e,0,...v)}}}else"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.unableInsert"),insertTreeRow(a,v,!0)}else{if(i)throw new Error(getI18n("vxe.error.noTree",["insert"]));let r=-1;if(_xeUtils.default.isNumber(l)?l<n.length&&(r=l):r=a.findRowIndexOf(n,l),-1===(r=s?Math.min(n.length,r+1):r))throw new Error((0,_log.errLog)("vxe.error.unableInsert"));n.splice(r,0,...v);t=a.findRowIndexOf(d,l);-1<t?d.splice(t+(s?1:0),0,...v):d.push(...v),o.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t+v.length:t+l>r&&(e.rowspan=l+v.length)})}return v.forEach(e=>{var t=(0,_util.getRowid)(a,e);h[t]=e}),e.insertRowFlag++,a.cacheRowMap(!1),a.updateScrollYStatus(),a.handleTableData(i&&w),i&&w||a.updateAfterDataIndex(),a.updateFooter(),a.checkSelectionStatus(),e.scrollYLoad&&a.updateScrollYSpace(),a.$nextTick().then(()=>(a.updateCellAreas(),a.recalculate())).then(()=>({row:v.length?v[v.length-1]:null,rows:v}))}function handleInsertChildRowAt(e,t,l,r,i){var o=e.treeConfig;let{transform:n,rowField:d,parentField:a}=e.computeTreeOpts;return o&&n?handleInsertRowAt(e,(t=_xeUtils.default.isArray(t)?t:[t]).map(e=>Object.assign({},e,{[a]:l[d]})),r,i):((0,_log.errLog)("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))}function handleClearEdit(e,t,l){var r=e.editStore,{actived:r,focused:i}=r,{row:o,column:n}=r,d=e.computeValidOpts;if(o||n){if(l&&(0,_util.getRowid)(e,l)!==(0,_util.getRowid)(e,o))return e.$nextTick();syncActivedCell(e),r.args=null,r.row=null,r.column=null,e.updateFooter(),e.dispatchEvent("edit-closed",{row:o,rowIndex:e.getRowIndex(o),$rowIndex:e.getVMRowIndex(o),column:n,columnIndex:e.getColumnIndex(n),$columnIndex:e.getVMColumnIndex(n)},t||null)}return i.row=null,i.column=null,d.autoClear&&("full"!==d.msgMode||"obsolete"===getConfig().cellVaildMode)&&e.clearValidate?e.clearValidate():e.$nextTick().then(()=>e.updateCellAreas())}function handleEditActive(l,r,i,o,e){let n=l.$xeGrid;var{editConfig:t,mouseConfig:d}=l,{editStore:a,tableColumn:s}=l,u=l.computeEditOpts,c=u.mode,{actived:a,focused:h}=a;let{row:g,column:w}=r;var f=w.editRender,m=r.cell||l.getCellElement(g,w),p=u.beforeEditMethod||u.activeMethod;if((r.cell=m)&&(0,_utils.isEnableConf)(t)&&(0,_utils.isEnableConf)(f)&&!l.isPendingByRow(g)){if(a.row!==g||"cell"===c&&a.column!==w){let t="edit-disabled";if(!p||p(Object.assign(Object.assign({},r),{$table:l,$grid:n}))){d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),l.closeTooltip(),a.column&&handleClearEdit(l,i),t="edit-activated",w.renderHeight=m.offsetHeight,a.args=r,a.row=g,a.column=w,"row"===c?s.forEach(e=>getEditColumnModel(g,e)):getEditColumnModel(g,w);let e=u.afterEditMethod;l.$nextTick(()=>{o&&l.handleFocus(r,i),e&&e(Object.assign(Object.assign({},r),{$table:l,$grid:n}))})}l.dispatchEvent(t,{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:w,columnIndex:l.getColumnIndex(w),$columnIndex:l.getVMColumnIndex(w)},i),"edit-activated"===t&&l.dispatchEvent("edit-actived",{row:g,rowIndex:l.getRowIndex(g),$rowIndex:l.getVMRowIndex(g),column:w,columnIndex:l.getColumnIndex(w),$columnIndex:l.getVMColumnIndex(w)},i)}else{t=a.column;d&&(l.clearSelected(),l.clearCellAreas)&&(l.clearCellAreas(),l.clearCopyCellArea()),t!==w&&(f=t.model,f.update&&(0,_util.setCellValue)(g,t,f.value),l.clearValidate)&&l.clearValidate(g,w),w.renderHeight=m.offsetHeight,a.args=r,a.column=w,e&&setTimeout(()=>{l.handleFocus(r,i)})}h.column=null,h.row=null,l.focus()}return l.$nextTick()}function handleEditCell(t,l,e,r){let i=t;var o=t.editConfig;let n=_xeUtils.default.isString(e)?t.getColumnByField(e):e;return l&&n&&(0,_utils.isEnableConf)(o)&&(0,_utils.isEnableConf)(n.editRender)?Promise.resolve(r?t.scrollToRow(l,n):null).then(()=>{var e=t.getCellElement(l,n);return e&&(handleEditActive(t,{row:l,rowIndex:t.getRowIndex(l),column:n,columnIndex:t.getColumnIndex(n),cell:e,$table:t},null,r,r),i._lastCallTime=Date.now()),t.$nextTick()}):t.$nextTick()}var _default=exports.default={methods:{_insert(e){return handleInsertRowAt(this,e,null)},_insertAt(e,t){return handleInsertRowAt(this,e,t)},_insertNextAt(e,t){return handleInsertRowAt(this,e,t,!0)},_insertChild(e,t){return handleInsertChildRowAt(this,e,t,null)},_insertChildAt(e,t,l){return handleInsertChildRowAt(this,e,t,l)},_insertChildNextAt(e,t,l){return handleInsertChildRowAt(this,e,t,l,!0)},_remove(e){let l=this;var t=l,r=l,i=l,t=t.treeConfig;let{mergeList:o,editStore:n}=r,{tableFullTreeData:d,selectCheckboxMaps:a,afterFullData:s,tableFullData:u,pendingRowMaps:c,insertRowMaps:h,removeRowMaps:g}=i;var i=l.computeCheckboxOpts,w=l.computeTreeOpts;let{transform:f,mapChildrenField:m}=w,p=w.children||w.childrenField;w=n.actived,i=i.checkField;let v=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(e=>{var t;l.isInsertByRow(e)||(t=(0,_util.getRowid)(l,e),g[t]=e)}),i||(e.forEach(e=>{e=(0,_util.getRowid)(this,e);a[e]&&delete a[e]}),r.updateCheckboxFlag++),u===e?(e=v=u.slice(0),this.tableFullData=[],this.afterFullData=[],this.clearMergeCells()):t&&f?e.forEach(e=>{let t=(0,_util.getRowid)(this,e);var l=_xeUtils.default.findTree(d,e=>t===(0,_util.getRowid)(this,e),{children:m}),l=(l&&(l=l.items.splice(l.index,1),v.push(l[0])),_xeUtils.default.findTree(d,e=>t===(0,_util.getRowid)(this,e),{children:p})),l=(l&&l.items.splice(l.index,1),this.findRowIndexOf(s,e));-1<l&&s.splice(l,1)}):e.forEach(e=>{var t=this.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),v.push(t[0]));let r=this.findRowIndexOf(s,e);-1<r&&(o.forEach(e=>{var{row:t,rowspan:l}=e;t>r?e.row=t-1:t+l>r&&(e.rowspan=l-1)}),s.splice(r,1))}),w.row&&-1<l.findRowIndexOf(e,w.row)&&l.clearEdit(),e.forEach(e=>{e=(0,_util.getRowid)(l,e);h[e]&&delete h[e],c[e]&&delete c[e]}),r.removeRowFlag++,r.insertRowFlag++,r.pendingRowFlag++,l.updateFooter(),l.cacheRowMap(!1),l.handleTableData(t&&f),t&&f||l.updateAfterDataIndex(),l.checkSelectionStatus(),r.scrollYLoad&&l.updateScrollYSpace(),this.$nextTick().then(()=>(this.updateCellAreas(),this.recalculate())).then(()=>({row:v.length?v[v.length-1]:null,rows:v}))},_removeCheckboxRow(){return this.remove(this.getCheckboxRecords()).then(e=>(this.clearCheckboxRow(),e))},_removeRadioRow(){var e=this.getRadioRecord();return this.remove(e||[]).then(e=>(this.clearRadioRow(),e))},_removeCurrentRow(){var e=this.getCurrentRecord();return this.remove(e||[]).then(e=>(this.clearCurrentRow(),e))},_getRecordset(){var e=this.getRemoveRecords(),t=this.getPendingRecords();let l=e.concat(t);var r=this.getUpdateRecords().filter(t=>!l.some(e=>this.eqRow(e,t)));return{insertRecords:this.getInsertRecords(),removeRecords:e,updateRecords:r,pendingRecords:t}},_getInsertRecords(){let{fullAllDataRowIdData:l,insertRowMaps:e}=this,r=[];return _xeUtils.default.each(e,(e,t)=>{l[t]&&r.push(e)}),r},_getRemoveRecords(){var e=this.removeRowMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},_getUpdateRecords(){let t=this;var{keepSource:e,treeConfig:l}=t,r=t.tableFullData,i=t.computeTreeOpts;return e?(syncActivedCell(t),l?_xeUtils.default.filterTree(r,e=>t.isUpdateByRow(e),i):r.filter(e=>t.isUpdateByRow(e))):[]},handleEdit(e,t){return handleEditActive(this,e,t,!0,!0)},handleActived(e,t){return this.handleEdit(e,t)},_getColumnModel(e,t){getEditColumnModel(e,t)},_setColumnModel(e,t){setEditColumnModel(e,t)},_syncActivedCell(){syncActivedCell(this)},_clearActived(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["clearActived","clearEdit"]),this.clearEdit(e)},_clearEdit(e){return handleClearEdit(this,null,e)},handleClearEdit(e,t){return handleClearEdit(this,e,t)},_getActiveRecord(){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),this.getEditRecord()},_getEditRecord(){var e=this.editStore,t=this.afterFullData,l=this.$refs.refElem,{args:e,row:r}=e.actived;return e&&-1<this.findRowIndexOf(t,r)&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},e):null},_isActiveByRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),this.isEditByRow(e)},_isEditByRow(e){var t=this.editStore;return t.actived.row===e},handleFocus(r){var{row:i,column:o,cell:n}=r,d=o.editRender,a=this.computeEditOpts;if((0,_utils.isEnableConf)(d)){var s=renderer.get(d.name);let e=d.autofocus||d.autoFocus,t=d.autoSelect||d.autoselect,l;a.autoFocus&&(!e&&s&&(e=s.tableAutoFocus||s.tableAutofocus||s.autoFocus||s.autofocus),!t&&s&&(t=s.tableAutoSelect||s.autoSelect||s.autoselect),_xeUtils.default.isFunction(e)?l=e.call(this,r):e&&(l=!0===e?n.querySelector("input,textarea"):n.querySelector(e))&&l.focus()),l?t?l.select():browseObj.msie&&((d=l.createTextRange()).collapse(!1),d.select()):a.autoPos&&!o.fixed&&this.scrollToRow(i,o)}},_setActiveRow(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveRow","setEditRow"]),this.setEditRow(e)},_setEditRow(e,t){let l=_xeUtils.default.find(this.visibleColumn,e=>(0,_utils.isEnableConf)(e.editRender)),r=!1;return t&&(r=!0)!==t&&(l=_xeUtils.default.isString(t)?this.getColumnByField(t):t),handleEditCell(this,e,l,r)},_setActiveCell(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setActiveCell","setEditCell"]),this.setEditCell(e,t)},_setEditCell(e,t){return handleEditCell(this,e,t,!0)},_setSelectCell(e,t){var l=this,r=l.tableData,i=l.computeEditOpts,t=_xeUtils.default.isString(t)?l.getColumnByField(t):t;return e&&t&&"manual"!==i.trigger&&-1<(i=l.findRowIndexOf(r,e))&&(r=l.getCellElement(e,t),e={row:e,rowIndex:i,column:t,columnIndex:l.getColumnIndex(t),cell:r},l.handleSelected(e,{})),l.$nextTick()},handleSelected(e,t){let l=this;var r=l.mouseConfig,i=l.editStore,o=l.computeMouseOpts;let n=l.computeEditOpts,{actived:d,selected:a}=i,{row:s,column:u}=e,c=r&&o.selected;return!c||a.row===s&&a.column===u||(d.row!==s||"cell"===n.mode&&d.column!==u)&&(handleClearEdit(l,t),l.clearSelected(),l.clearCellAreas&&(l.clearCellAreas(),l.clearCopyCellArea()),a.args=e,a.row=s,a.column=u,c&&this.addCellSelectedClass(),l.focus(),t)&&l.dispatchEvent("cell-selected",e,t),l.$nextTick()},_getSelectedCell(){var e=this.editStore,{args:e,column:t}=e.selected;return e&&t?Object.assign({},e):null},_clearSelected(){var e=this.editStore,e=e.selected;return e.row=null,e.column=null,removeCellSelectedClass(this),this.$nextTick()},reColTitleSdCls(){var e=this.elemStore["main-header-list"];e&&_xeUtils.default.arrayEach(e.querySelectorAll(".col--title-selected"),e=>(0,_dom.removeClass)(e,"col--title-selected"))},addCellSelectedClass(){var e=this.editStore,e=e.selected,{row:e,column:t}=e;removeCellSelectedClass(this),e&&t&&(e=this.getCellElement(e,t))&&(0,_dom.addClass)(e,"col--selected")}}};
|
|
@@ -8,10 +8,11 @@ var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
|
8
8
|
var _util = require("../../src/util");
|
|
9
9
|
var _dom = require("../../../ui/src/dom");
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
const browseObj = _xeUtils.default.browse();
|
|
11
12
|
function getTargetOffset(target, container) {
|
|
12
13
|
let offsetTop = 0;
|
|
13
14
|
let offsetLeft = 0;
|
|
14
|
-
const triggerCheckboxLabel = !
|
|
15
|
+
const triggerCheckboxLabel = !browseObj.firefox && (0, _dom.hasClass)(target, 'vxe-checkbox--label');
|
|
15
16
|
if (triggerCheckboxLabel) {
|
|
16
17
|
const checkboxLabelStyle = getComputedStyle(target);
|
|
17
18
|
offsetTop -= _xeUtils.default.toNumber(checkboxLabelStyle.paddingTop);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getTargetOffset(e,t){let l=0,o=0;var n,
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let browseObj=_xeUtils.default.browse();function getTargetOffset(e,t){let l=0,o=0;var r,n,i=!browseObj.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(i&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,i&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:l,offsetLeft:o}}function getCheckboxRangeRows(t,e,l,o,r,n,i){var u=t.showOverflow,{fullAllDataRowIdData:s,isResizeCellHeight:c}=t,d=t.computeRowOpts,a=t.computeCellOpts,h=t.computeDefaultRowHeight,l=l.row;let g=0,m=[],f=0;var p=0<i,C=t.scrollYLoad,w=t.afterFullData;if(f=p?n+i:r.height-n+Math.abs(i),C){r=t.getVTRowIndex(l);if(!(c||a.height||d.height)&&u)m=p?w.slice(r,r+Math.ceil(f/h)):w.slice(r-Math.floor(f/h),r+1);else if(p)for(let e=r;e<w.length;e++){var v=w[e],x=s[t.getRowid(v)]||{};if(g+=x.resizeHeight||a.height||d.height||x.height||h,m.push(v),g>f)return m}else for(let e=r;0<=e;e--){var R=w[e],b=s[t.getRowid(R)]||{};if(g+=b.resizeHeight||a.height||d.height||b.height||h,m.push(R),g>f)return m}}else for(var T=p?"next":"previous";o&&g<f;){var I=t.getRowNode(o);I&&(m.push(I.item),g+=o.offsetHeight,o=o[T+"ElementSibling"])}return m}function handleMoveSelected(e,t,l,o,r,n,i){var{afterFullData:u,visibleColumn:s}=e;let c=Object.assign({},l);var l=e.getVTRowIndex(c.row),d=e.getVTColumnIndex(c.column);return t.preventDefault(),r&&0<l?(c.rowIndex=l-1,c.row=u[c.rowIndex]):i&&l<u.length-1?(c.rowIndex=l+1,c.row=u[c.rowIndex]):o&&d?(c.columnIndex=d-1,c.column=s[c.columnIndex]):n&&d<s.length-1&&(c.columnIndex=d+1,c.column=s[c.columnIndex]),e.scrollToRow(c.row,c.column).then(()=>{c.cell=e.getCellElement(c.row,c.column),e.handleSelected(c,t)}),c}var _default=exports.default={methods:{moveTabSelected(e,t,l){let o=this;var r=o.editConfig,{afterFullData:n,visibleColumn:i}=o,u=o.computeEditOpts,s=o.computeRowOpts,c=o.computeCurrentRowOpts,d=o.computeColumnOpts,a=o.computeCurrentColumnOpts;let h,g,m,f=Object.assign({},e);var e=o.getVTRowIndex(f.row),p=o.getVTColumnIndex(f.column),t=(l.preventDefault(),t?p<=0?0<e&&(g=e-1,h=n[g],m=i.length-1):m=p-1:p>=i.length-1?e<n.length-1&&(g=e+1,h=n[g],m=0):m=p+1,i[m]);t&&(h?(f.rowIndex=g,f.row=h):f.rowIndex=e,f.columnIndex=m,f.column=t,f.cell=o.getCellElement(f.row,f.column),s.isCurrent&&c.isFollowSelected&&o.triggerCurrentRowEvent(l,f),d.isCurrent&&a.isFollowSelected&&o.triggerCurrentColumnEvent(l,f),r?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?o.handleEdit(f,l):o.scrollToRow(f.row,f.column).then(()=>{o.handleSelected(f,l)})):o.scrollToRow(f.row,f.column).then(()=>{o.handleSelected(f,l)}))},moveCurrentRow(e,t,l){let o=this;var r=o,n=o,i=o,r=r.treeConfig;let u=n.currentRow;var n=i.afterFullData,i=o.computeTreeOpts,i=i.children||i.childrenField;let s;if(u?r?({index:r,items:i}=_xeUtils.default.findTree(n,e=>e===u,{children:i}),e&&0<r?s=i[r-1]:t&&r<i.length-1&&(s=i[r+1])):(i=o.getVTRowIndex(u),e&&0<i?s=n[i-1]:t&&i<n.length-1&&(s=n[i+1])):s=n[0],s){l.preventDefault();let e={$table:o,row:s,rowIndex:o.getRowIndex(s),$rowIndex:o.getVMRowIndex(s)};o.scrollToRow(s).then(()=>o.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){let o=this;var r=o.currentColumn,n=o.visibleColumn;let i=null;if(r?(r=o.getVTColumnIndex(r),e&&0<r?i=n[r-1]:t&&r<n.length-1&&(i=n[r+1])):i=n[0],i){l.preventDefault();let e={$table:o,column:i,columnIndex:o.getColumnIndex(i),$columnIndex:o.getVMColumnIndex(i)};o.scrollToColumn(i).then(()=>o.triggerCurrentColumnEvent(l,e))}},moveArrowSelected(e,t,l,o,r,n){var i=this,{highlightCurrentRow:u,highlightCurrentColumn:s}=i,c=i.computeRowOpts,d=i.computeColumnOpts;handleMoveSelected(i,n,e,t,l,o,r),(l||r)&&(c.isCurrent||u)&&i.moveCurrentRow(l,r,n),(t||o)&&(d.isCurrent||s)&&i.moveCurrentColumn(t,o,n)},moveEnterSelected(e,t,l,o,r,n){var i=this,u=i.computeRowOpts,s=i.computeCurrentRowOpts,c=i.computeColumnOpts,d=i.computeCurrentColumnOpts,e=handleMoveSelected(i,n,e,t,l,o,r);u.isCurrent&&s.isFollowSelected&&i.triggerCurrentRowEvent(n,e),c.isCurrent&&d.isFollowSelected&&i.triggerCurrentColumnEvent(n,e)},moveSelected(e,t,l,o,r,n){handleMoveSelected(this,n,e,t,l,o,r)},handleCellMousedownEvent(e,t){var{editConfig:l,editOpts:o,handleSelected:r,checkboxConfig:n,checkboxOpts:i,mouseConfig:u,mouseOpts:s}=this;if(u&&s.area&&this.handleCellAreaMousedownEvent)return this.handleCellAreaMousedownEvent(e,t);n&&i.range&&this.handleCheckboxRangeEvent(e,t),u&&s.selected&&(l&&"cell"!==o.mode||r(t,e))},handleCheckboxRangeEvent(e,_){let S=this;var t=S.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:r,cell:n}=_;if("checkbox"===r.type){let E=l;if(o&&"left"===r.fixed?E=o:t&&"right"===r.fixed&&(E=t),E){let t=S.$refs.refElem,u=e.clientX,s=e.clientY,c=E.querySelector(".vxe-table--checkbox-range"),d=n.parentNode,a=this.getCheckboxRecords(),h=[],g=1;l=getTargetOffset(e.target,E);let m=l.offsetTop+e.offsetY,f=l.offsetLeft+e.offsetX,p=E.scrollTop,i=d.offsetHeight,C=d.getBoundingClientRect(),w=s-C.y,v=null,x=!1,R=1,b=(e,t)=>{this.emitEvent("checkbox-range-"+e,{records:this.getCheckboxRecords(),reserves:this.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-u,l=l-s+(E.scrollTop-p);let o=Math.abs(l),r=Math.abs(t),n=m,i=f;l<g?(n+=l)<g&&(n=g,o=m):o=Math.min(o,E.scrollHeight-m-g),t<g?(i+=t,r>f&&(i=g,r=f)):r=Math.min(r,E.clientWidth-f-g),c.style.height=o+"px",c.style.width=r+"px",c.style.left=i+"px",c.style.top=n+"px",c.style.display="block";t=getCheckboxRangeRows(this,e,_,d,C,w,l<g?-o:o);10<o&&t.length!==h.length&&(h=t,e.ctrlKey?t.forEach(e=>{S.handleBatchSelectRows([e],-1===a.indexOf(e))}):(this.setAllCheckboxRow(!1),this.handleCheckedCheckboxRow(t,!0,!1)),b("change",e))},I=()=>{clearTimeout(v),v=null},O=n=>{I(),v=setTimeout(()=>{var e,t,l,o,r;v&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=E,r=Math.ceil(50*R/i),x?t+l<o?(this.scrollTo(e,t+r),O(n),T(n)):I():t?(this.scrollTo(e,t-r),O(n),T(n)):I())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(E).boundingTop;t<l?(x=!1,R=l-t,v||O(e)):t>l+E.clientHeight?(x=!0,R=t-l-E.clientHeight,v||O(e)):v&&I(),T(e)},document.onmouseup=e=>{I(),(0,_dom.removeClass)(t,"drag--range"),c.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,b("end",e)},b("start",e)}}}}};
|
|
@@ -170,23 +170,17 @@ var _default = exports.default = {
|
|
|
170
170
|
beginValidate(rows, cols, cb, isFull) {
|
|
171
171
|
const $xeTable = this;
|
|
172
172
|
const props = $xeTable;
|
|
173
|
-
const reactData = $xeTable;
|
|
174
173
|
const internalData = $xeTable;
|
|
175
174
|
const validRest = {};
|
|
176
175
|
const {
|
|
177
176
|
editRules,
|
|
178
177
|
treeConfig
|
|
179
178
|
} = props;
|
|
180
|
-
const {
|
|
181
|
-
editStore
|
|
182
|
-
} = reactData;
|
|
183
179
|
const {
|
|
184
180
|
afterFullData,
|
|
185
|
-
pendingRowMaps
|
|
181
|
+
pendingRowMaps,
|
|
182
|
+
removeRowMaps
|
|
186
183
|
} = internalData;
|
|
187
|
-
const {
|
|
188
|
-
removeMaps
|
|
189
|
-
} = editStore;
|
|
190
184
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
191
185
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
192
186
|
let validList;
|
|
@@ -212,7 +206,7 @@ var _default = exports.default = {
|
|
|
212
206
|
const handleVaild = row => {
|
|
213
207
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
214
208
|
// 是否删除
|
|
215
|
-
if (
|
|
209
|
+
if (removeRowMaps[rowid]) {
|
|
216
210
|
return;
|
|
217
211
|
}
|
|
218
212
|
// 是否标记删除
|