vxe-table 3.14.0 → 3.14.1
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 +92 -63
- package/es/table/module/validator/mixin.js +2 -5
- package/es/table/src/body.js +6 -7
- package/es/table/src/methods.js +291 -278
- package/es/table/src/table.js +15 -15
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/index.umd.js +478 -484
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/table/module/edit/mixin.js +106 -98
- package/lib/table/module/edit/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 +343 -348
- package/lib/table/src/methods.min.js +1 -1
- package/lib/table/src/table.js +15 -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/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 +125 -87
- package/packages/table/module/validator/mixin.ts +3 -6
- package/packages/table/src/body.ts +6 -7
- package/packages/table/src/methods.ts +334 -293
- package/packages/table/src/table.ts +18 -18
- package/packages/table/src/util.ts +2 -2
- /package/es/{iconfont.1742955973002.ttf → iconfont.1743045564244.ttf} +0 -0
- /package/es/{iconfont.1742955973002.woff → iconfont.1743045564244.woff} +0 -0
- /package/es/{iconfont.1742955973002.woff2 → iconfont.1743045564244.woff2} +0 -0
- /package/lib/{iconfont.1742955973002.ttf → iconfont.1743045564244.ttf} +0 -0
- /package/lib/{iconfont.1742955973002.woff → iconfont.1743045564244.woff} +0 -0
- /package/lib/{iconfont.1742955973002.woff2 → iconfont.1743045564244.woff2} +0 -0
|
@@ -68,14 +68,15 @@ function syncActivedCell($xeTable) {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
function insertTreeRow(
|
|
71
|
+
function insertTreeRow($xeTable, newRecords, isAppend) {
|
|
72
|
+
const internalData = $xeTable;
|
|
72
73
|
const {
|
|
73
74
|
tableFullTreeData,
|
|
74
75
|
afterFullData,
|
|
75
76
|
fullDataRowIdData,
|
|
76
|
-
fullAllDataRowIdData
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
fullAllDataRowIdData
|
|
78
|
+
} = internalData;
|
|
79
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
79
80
|
const {
|
|
80
81
|
rowField,
|
|
81
82
|
parentField,
|
|
@@ -85,7 +86,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
|
|
|
85
86
|
const funcName = isAppend ? 'push' : 'unshift';
|
|
86
87
|
newRecords.forEach(item => {
|
|
87
88
|
const parentRowId = item[parentField];
|
|
88
|
-
const rowid = (0, _util.getRowid)(
|
|
89
|
+
const rowid = (0, _util.getRowid)($xeTable, item);
|
|
89
90
|
const matchObj = parentRowId ? _xeUtils.default.findTree(tableFullTreeData, item => parentRowId === item[rowField], {
|
|
90
91
|
children: mapChildrenField
|
|
91
92
|
}) : null;
|
|
@@ -93,7 +94,7 @@ function insertTreeRow(_vm, newRecords, isAppend) {
|
|
|
93
94
|
const {
|
|
94
95
|
item: parentRow
|
|
95
96
|
} = matchObj;
|
|
96
|
-
const parentRest = fullAllDataRowIdData[(0, _util.getRowid)(
|
|
97
|
+
const parentRest = fullAllDataRowIdData[(0, _util.getRowid)($xeTable, parentRow)];
|
|
97
98
|
const parentLevel = parentRest ? parentRest.level : 0;
|
|
98
99
|
let parentChilds = parentRow[childrenField];
|
|
99
100
|
let mapChilds = parentRow[mapChildrenField];
|
|
@@ -160,15 +161,15 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
160
161
|
treeConfig
|
|
161
162
|
} = props;
|
|
162
163
|
const {
|
|
163
|
-
mergeList
|
|
164
|
-
editStore
|
|
164
|
+
mergeList
|
|
165
165
|
} = reactData;
|
|
166
166
|
const {
|
|
167
167
|
tableFullTreeData,
|
|
168
168
|
afterFullData,
|
|
169
169
|
tableFullData,
|
|
170
170
|
fullDataRowIdData,
|
|
171
|
-
fullAllDataRowIdData
|
|
171
|
+
fullAllDataRowIdData,
|
|
172
|
+
insertRowMaps
|
|
172
173
|
} = internalData;
|
|
173
174
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
174
175
|
const {
|
|
@@ -373,13 +374,11 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
373
374
|
}
|
|
374
375
|
}
|
|
375
376
|
}
|
|
376
|
-
const {
|
|
377
|
-
insertMaps
|
|
378
|
-
} = editStore;
|
|
379
377
|
newRecords.forEach(newRow => {
|
|
380
378
|
const rowid = (0, _util.getRowid)($xeTable, newRow);
|
|
381
|
-
|
|
379
|
+
insertRowMaps[rowid] = newRow;
|
|
382
380
|
});
|
|
381
|
+
reactData.insertRowFlag++;
|
|
383
382
|
$xeTable.cacheRowMap(false);
|
|
384
383
|
$xeTable.updateScrollYStatus();
|
|
385
384
|
$xeTable.handleTableData(treeConfig && transform);
|
|
@@ -388,7 +387,7 @@ function handleInsertRowAt($xeTable, records, targetRow, isInsertNextRow) {
|
|
|
388
387
|
}
|
|
389
388
|
$xeTable.updateFooter();
|
|
390
389
|
$xeTable.checkSelectionStatus();
|
|
391
|
-
if (
|
|
390
|
+
if (reactData.scrollYLoad) {
|
|
392
391
|
$xeTable.updateScrollYSpace();
|
|
393
392
|
}
|
|
394
393
|
return $xeTable.$nextTick().then(() => {
|
|
@@ -684,7 +683,9 @@ var _default = exports.default = {
|
|
|
684
683
|
selectCheckboxMaps,
|
|
685
684
|
afterFullData,
|
|
686
685
|
tableFullData,
|
|
687
|
-
pendingRowMaps
|
|
686
|
+
pendingRowMaps,
|
|
687
|
+
insertRowMaps,
|
|
688
|
+
removeRowMaps
|
|
688
689
|
} = internalData;
|
|
689
690
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
690
691
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
@@ -694,10 +695,8 @@ var _default = exports.default = {
|
|
|
694
695
|
} = treeOpts;
|
|
695
696
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
696
697
|
const {
|
|
697
|
-
actived
|
|
698
|
-
removeMaps
|
|
698
|
+
actived
|
|
699
699
|
} = editStore;
|
|
700
|
-
const insertDataRowMaps = Object.assign({}, editStore.insertMaps);
|
|
701
700
|
const {
|
|
702
701
|
checkField
|
|
703
702
|
} = checkboxOpts;
|
|
@@ -711,7 +710,7 @@ var _default = exports.default = {
|
|
|
711
710
|
rows.forEach(row => {
|
|
712
711
|
if (!$xeTable.isInsertByRow(row)) {
|
|
713
712
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
714
|
-
|
|
713
|
+
removeRowMaps[rowid] = row;
|
|
715
714
|
}
|
|
716
715
|
});
|
|
717
716
|
// 如果绑定了多选属性,则更新状态
|
|
@@ -786,14 +785,15 @@ var _default = exports.default = {
|
|
|
786
785
|
// 从新增中移除已删除的数据
|
|
787
786
|
rows.forEach(row => {
|
|
788
787
|
const rowid = (0, _util.getRowid)($xeTable, row);
|
|
789
|
-
if (
|
|
790
|
-
delete
|
|
788
|
+
if (insertRowMaps[rowid]) {
|
|
789
|
+
delete insertRowMaps[rowid];
|
|
791
790
|
}
|
|
792
791
|
if (pendingRowMaps[rowid]) {
|
|
793
792
|
delete pendingRowMaps[rowid];
|
|
794
793
|
}
|
|
795
794
|
});
|
|
796
|
-
|
|
795
|
+
reactData.removeRowFlag++;
|
|
796
|
+
reactData.insertRowFlag++;
|
|
797
797
|
reactData.pendingRowFlag++;
|
|
798
798
|
$xeTable.updateFooter();
|
|
799
799
|
$xeTable.cacheRowMap(false);
|
|
@@ -867,19 +867,13 @@ var _default = exports.default = {
|
|
|
867
867
|
*/
|
|
868
868
|
_getInsertRecords() {
|
|
869
869
|
const $xeTable = this;
|
|
870
|
-
const reactData = $xeTable;
|
|
871
870
|
const internalData = $xeTable;
|
|
872
871
|
const {
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
const {
|
|
876
|
-
fullAllDataRowIdData
|
|
872
|
+
fullAllDataRowIdData,
|
|
873
|
+
insertRowMaps
|
|
877
874
|
} = internalData;
|
|
878
|
-
const {
|
|
879
|
-
insertMaps
|
|
880
|
-
} = editStore;
|
|
881
875
|
const insertRecords = [];
|
|
882
|
-
_xeUtils.default.each(
|
|
876
|
+
_xeUtils.default.each(insertRowMaps, (row, rowid) => {
|
|
883
877
|
if (fullAllDataRowIdData[rowid]) {
|
|
884
878
|
insertRecords.push(row);
|
|
885
879
|
}
|
|
@@ -891,15 +885,12 @@ var _default = exports.default = {
|
|
|
891
885
|
*/
|
|
892
886
|
_getRemoveRecords() {
|
|
893
887
|
const $xeTable = this;
|
|
894
|
-
const
|
|
895
|
-
const {
|
|
896
|
-
editStore
|
|
897
|
-
} = reactData;
|
|
888
|
+
const internalData = $xeTable;
|
|
898
889
|
const {
|
|
899
|
-
|
|
900
|
-
} =
|
|
890
|
+
removeRowMaps
|
|
891
|
+
} = internalData;
|
|
901
892
|
const removeRecords = [];
|
|
902
|
-
_xeUtils.default.each(
|
|
893
|
+
_xeUtils.default.each(removeRowMaps, row => {
|
|
903
894
|
removeRecords.push(row);
|
|
904
895
|
});
|
|
905
896
|
return removeRecords;
|
|
@@ -911,29 +902,22 @@ var _default = exports.default = {
|
|
|
911
902
|
*/
|
|
912
903
|
_getUpdateRecords() {
|
|
913
904
|
const $xeTable = this;
|
|
905
|
+
const props = $xeTable;
|
|
906
|
+
const internalData = $xeTable;
|
|
914
907
|
const {
|
|
915
908
|
keepSource,
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
909
|
+
treeConfig
|
|
910
|
+
} = props;
|
|
911
|
+
const {
|
|
912
|
+
tableFullData
|
|
913
|
+
} = internalData;
|
|
914
|
+
const treeOpts = $xeTable.computeTreeOpts;
|
|
922
915
|
if (keepSource) {
|
|
923
|
-
|
|
924
|
-
actived
|
|
925
|
-
} = editStore;
|
|
926
|
-
const {
|
|
927
|
-
row,
|
|
928
|
-
column
|
|
929
|
-
} = actived;
|
|
930
|
-
if (row || column) {
|
|
931
|
-
syncActivedCell($xeTable);
|
|
932
|
-
}
|
|
916
|
+
syncActivedCell($xeTable);
|
|
933
917
|
if (treeConfig) {
|
|
934
|
-
return _xeUtils.default.filterTree(tableFullData, row => isUpdateByRow(row), treeOpts);
|
|
918
|
+
return _xeUtils.default.filterTree(tableFullData, row => $xeTable.isUpdateByRow(row), treeOpts);
|
|
935
919
|
}
|
|
936
|
-
return tableFullData.filter(row => isUpdateByRow(row));
|
|
920
|
+
return tableFullData.filter(row => $xeTable.isUpdateByRow(row));
|
|
937
921
|
}
|
|
938
922
|
return [];
|
|
939
923
|
},
|
|
@@ -982,51 +966,58 @@ var _default = exports.default = {
|
|
|
982
966
|
return handleClearEdit($xeTable, evnt, targetRow);
|
|
983
967
|
},
|
|
984
968
|
_getActiveRecord() {
|
|
969
|
+
const $xeTable = this;
|
|
985
970
|
if (process.env.NODE_ENV === 'development') {
|
|
986
971
|
(0, _log.warnLog)('vxe.error.delFunc', ['getActiveRecord', 'getEditRecord']);
|
|
987
972
|
}
|
|
988
973
|
// 即将废弃
|
|
989
|
-
return
|
|
974
|
+
return $xeTable.getEditRecord();
|
|
990
975
|
},
|
|
991
976
|
_getEditRecord() {
|
|
977
|
+
const $xeTable = this;
|
|
978
|
+
const reactData = $xeTable;
|
|
979
|
+
const internalData = $xeTable;
|
|
992
980
|
const {
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
afterFullData
|
|
996
|
-
} = this;
|
|
981
|
+
editStore
|
|
982
|
+
} = reactData;
|
|
997
983
|
const {
|
|
998
|
-
|
|
999
|
-
} =
|
|
984
|
+
afterFullData
|
|
985
|
+
} = internalData;
|
|
986
|
+
const el = $xeTable.$refs.refElem;
|
|
1000
987
|
const {
|
|
1001
988
|
args,
|
|
1002
989
|
row
|
|
1003
|
-
} = actived;
|
|
1004
|
-
if (args &&
|
|
990
|
+
} = editStore.actived;
|
|
991
|
+
if (args && $xeTable.findRowIndexOf(afterFullData, row) > -1 && el.querySelectorAll('.vxe-body--column.col--active').length) {
|
|
1005
992
|
return Object.assign({}, args);
|
|
1006
993
|
}
|
|
1007
994
|
return null;
|
|
1008
995
|
},
|
|
1009
996
|
_isActiveByRow(row) {
|
|
997
|
+
const $xeTable = this;
|
|
1010
998
|
if (process.env.NODE_ENV === 'development') {
|
|
1011
999
|
(0, _log.warnLog)('vxe.error.delFunc', ['isActiveByRow', 'isEditByRow']);
|
|
1012
1000
|
}
|
|
1013
1001
|
// 即将废弃
|
|
1014
|
-
return
|
|
1002
|
+
return $xeTable.isEditByRow(row);
|
|
1015
1003
|
},
|
|
1016
1004
|
/**
|
|
1017
1005
|
* 判断行是否为激活编辑状态
|
|
1018
1006
|
* @param {Row} row 行对象
|
|
1019
1007
|
*/
|
|
1020
1008
|
_isEditByRow(row) {
|
|
1021
|
-
|
|
1009
|
+
const $xeTable = this;
|
|
1010
|
+
const reactData = $xeTable;
|
|
1011
|
+
const {
|
|
1012
|
+
editStore
|
|
1013
|
+
} = reactData;
|
|
1014
|
+
return editStore.actived.row === row;
|
|
1022
1015
|
},
|
|
1023
1016
|
/**
|
|
1024
1017
|
* 处理聚焦
|
|
1025
1018
|
*/
|
|
1026
1019
|
handleFocus(params) {
|
|
1027
|
-
const
|
|
1028
|
-
editOpts
|
|
1029
|
-
} = this;
|
|
1020
|
+
const $xeTable = this;
|
|
1030
1021
|
const {
|
|
1031
1022
|
row,
|
|
1032
1023
|
column,
|
|
@@ -1035,6 +1026,7 @@ var _default = exports.default = {
|
|
|
1035
1026
|
const {
|
|
1036
1027
|
editRender
|
|
1037
1028
|
} = column;
|
|
1029
|
+
const editOpts = $xeTable.computeEditOpts;
|
|
1038
1030
|
if ((0, _utils.isEnableConf)(editRender)) {
|
|
1039
1031
|
const compRender = renderer.get(editRender.name);
|
|
1040
1032
|
let autoFocus = editRender.autofocus || editRender.autoFocus;
|
|
@@ -1050,7 +1042,7 @@ var _default = exports.default = {
|
|
|
1050
1042
|
}
|
|
1051
1043
|
// 如果指定了聚焦 class
|
|
1052
1044
|
if (_xeUtils.default.isFunction(autoFocus)) {
|
|
1053
|
-
inputElem = autoFocus.call(
|
|
1045
|
+
inputElem = autoFocus.call($xeTable, params);
|
|
1054
1046
|
} else if (autoFocus) {
|
|
1055
1047
|
if (autoFocus === true) {
|
|
1056
1048
|
// 自动匹配模式,会自动匹配第一个可输入元素
|
|
@@ -1079,18 +1071,19 @@ var _default = exports.default = {
|
|
|
1079
1071
|
if (editOpts.autoPos) {
|
|
1080
1072
|
if (!column.fixed) {
|
|
1081
1073
|
// 显示到可视区中
|
|
1082
|
-
|
|
1074
|
+
$xeTable.scrollToRow(row, column);
|
|
1083
1075
|
}
|
|
1084
1076
|
}
|
|
1085
1077
|
}
|
|
1086
1078
|
}
|
|
1087
1079
|
},
|
|
1088
1080
|
_setActiveRow(row) {
|
|
1081
|
+
const $xeTable = this;
|
|
1089
1082
|
if (process.env.NODE_ENV === 'development') {
|
|
1090
1083
|
(0, _log.warnLog)('vxe.error.delFunc', ['setActiveRow', 'setEditRow']);
|
|
1091
1084
|
}
|
|
1092
1085
|
// 即将废弃
|
|
1093
|
-
return
|
|
1086
|
+
return $xeTable.setEditRow(row);
|
|
1094
1087
|
},
|
|
1095
1088
|
/**
|
|
1096
1089
|
* 激活行编辑
|
|
@@ -1102,7 +1095,7 @@ var _default = exports.default = {
|
|
|
1102
1095
|
if (fieldOrColumn) {
|
|
1103
1096
|
isPos = true;
|
|
1104
1097
|
if (fieldOrColumn !== true) {
|
|
1105
|
-
column = _xeUtils.default.isString(fieldOrColumn) ?
|
|
1098
|
+
column = _xeUtils.default.isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
|
|
1106
1099
|
}
|
|
1107
1100
|
}
|
|
1108
1101
|
return handleEditCell($xeTable, row, column, isPos);
|
|
@@ -1125,39 +1118,44 @@ var _default = exports.default = {
|
|
|
1125
1118
|
* 只对 trigger=dblclick 有效,选中单元格
|
|
1126
1119
|
*/
|
|
1127
1120
|
_setSelectCell(row, fieldOrColumn) {
|
|
1121
|
+
const $xeTable = this;
|
|
1122
|
+
const reactData = $xeTable;
|
|
1128
1123
|
const {
|
|
1129
|
-
tableData
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
const column = _xeUtils.default.isString(fieldOrColumn) ? this.getColumnByField(fieldOrColumn) : fieldOrColumn;
|
|
1124
|
+
tableData
|
|
1125
|
+
} = reactData;
|
|
1126
|
+
const editOpts = $xeTable.computeEditOpts;
|
|
1127
|
+
const column = _xeUtils.default.isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
|
|
1134
1128
|
if (row && column && editOpts.trigger !== 'manual') {
|
|
1135
|
-
const rowIndex =
|
|
1129
|
+
const rowIndex = $xeTable.findRowIndexOf(tableData, row);
|
|
1136
1130
|
if (rowIndex > -1) {
|
|
1137
|
-
const cell =
|
|
1131
|
+
const cell = $xeTable.getCellElement(row, column);
|
|
1138
1132
|
const params = {
|
|
1139
1133
|
row,
|
|
1140
1134
|
rowIndex,
|
|
1141
1135
|
column,
|
|
1142
|
-
columnIndex:
|
|
1136
|
+
columnIndex: $xeTable.getColumnIndex(column),
|
|
1143
1137
|
cell
|
|
1144
1138
|
};
|
|
1145
|
-
|
|
1139
|
+
$xeTable.handleSelected(params, {});
|
|
1146
1140
|
}
|
|
1147
1141
|
}
|
|
1148
|
-
return
|
|
1142
|
+
return $xeTable.$nextTick();
|
|
1149
1143
|
},
|
|
1150
1144
|
/**
|
|
1151
1145
|
* 处理选中源
|
|
1152
1146
|
*/
|
|
1153
1147
|
handleSelected(params, evnt) {
|
|
1154
1148
|
const $xeTable = this;
|
|
1149
|
+
const props = $xeTable;
|
|
1150
|
+
const reactData = $xeTable;
|
|
1151
|
+
const {
|
|
1152
|
+
mouseConfig
|
|
1153
|
+
} = props;
|
|
1155
1154
|
const {
|
|
1156
|
-
mouseConfig,
|
|
1157
|
-
mouseOpts,
|
|
1158
|
-
editOpts,
|
|
1159
1155
|
editStore
|
|
1160
|
-
} =
|
|
1156
|
+
} = reactData;
|
|
1157
|
+
const mouseOpts = $xeTable.computeMouseOpts;
|
|
1158
|
+
const editOpts = $xeTable.computeEditOpts;
|
|
1161
1159
|
const {
|
|
1162
1160
|
actived,
|
|
1163
1161
|
selected
|
|
@@ -1171,22 +1169,24 @@ var _default = exports.default = {
|
|
|
1171
1169
|
if (isMouseSelected && (selected.row !== row || selected.column !== column)) {
|
|
1172
1170
|
if (actived.row !== row || (editOpts.mode === 'cell' ? actived.column !== column : false)) {
|
|
1173
1171
|
handleClearEdit($xeTable, evnt);
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1172
|
+
$xeTable.clearSelected();
|
|
1173
|
+
if ($xeTable.clearCellAreas) {
|
|
1174
|
+
$xeTable.clearCellAreas();
|
|
1175
|
+
$xeTable.clearCopyCellArea();
|
|
1176
|
+
}
|
|
1177
1177
|
selected.args = params;
|
|
1178
1178
|
selected.row = row;
|
|
1179
1179
|
selected.column = column;
|
|
1180
1180
|
if (isMouseSelected) {
|
|
1181
1181
|
this.addCellSelectedClass();
|
|
1182
1182
|
}
|
|
1183
|
-
|
|
1183
|
+
$xeTable.focus();
|
|
1184
1184
|
if (evnt) {
|
|
1185
|
-
|
|
1185
|
+
$xeTable.dispatchEvent('cell-selected', params, evnt);
|
|
1186
1186
|
}
|
|
1187
1187
|
}
|
|
1188
1188
|
}
|
|
1189
|
-
return
|
|
1189
|
+
return $xeTable.$nextTick();
|
|
1190
1190
|
};
|
|
1191
1191
|
return selectMethod();
|
|
1192
1192
|
},
|
|
@@ -1194,10 +1194,15 @@ var _default = exports.default = {
|
|
|
1194
1194
|
* 获取选中的单元格
|
|
1195
1195
|
*/
|
|
1196
1196
|
_getSelectedCell() {
|
|
1197
|
+
const $xeTable = this;
|
|
1198
|
+
const reactData = $xeTable;
|
|
1199
|
+
const {
|
|
1200
|
+
editStore
|
|
1201
|
+
} = reactData;
|
|
1197
1202
|
const {
|
|
1198
1203
|
args,
|
|
1199
1204
|
column
|
|
1200
|
-
} =
|
|
1205
|
+
} = editStore.selected;
|
|
1201
1206
|
if (args && column) {
|
|
1202
1207
|
return Object.assign({}, args);
|
|
1203
1208
|
}
|
|
@@ -1208,14 +1213,17 @@ var _default = exports.default = {
|
|
|
1208
1213
|
*/
|
|
1209
1214
|
_clearSelected() {
|
|
1210
1215
|
const $xeTable = this;
|
|
1216
|
+
const reactData = $xeTable;
|
|
1217
|
+
const {
|
|
1218
|
+
editStore
|
|
1219
|
+
} = reactData;
|
|
1211
1220
|
const {
|
|
1212
1221
|
selected
|
|
1213
|
-
} =
|
|
1222
|
+
} = editStore;
|
|
1214
1223
|
selected.row = null;
|
|
1215
1224
|
selected.column = null;
|
|
1216
|
-
this.reColTitleSdCls();
|
|
1217
1225
|
removeCellSelectedClass($xeTable);
|
|
1218
|
-
return
|
|
1226
|
+
return $xeTable.$nextTick();
|
|
1219
1227
|
},
|
|
1220
1228
|
reColTitleSdCls() {
|
|
1221
1229
|
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;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():_dom.browse.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")}}};
|
|
@@ -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
|
// 是否标记删除
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators}=_ui.VxeUI;class Rule{constructor(e){Object.defineProperty(this,"$options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validErrorRuleValue(e,t){var{type:e,min:l,max:i,pattern:r}=e,e="number"===e,s=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(l)&&s<_xeUtils.default.toNumber(l)||!_xeUtils.default.eqNull(i)&&s>_xeUtils.default.toNumber(i)||!(!r||(_xeUtils.default.isRegExp(r)?r:new RegExp(r)).test(t))}var _default=exports.default={methods:{_fullValidate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),this.beginValidate(e,null,t,!0)},_validate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["validate(rows, callback)","validate(rows)"]),this.beginValidate(e,null,t)},_fullValidateField(e,t){t=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e));return t.length?this.beginValidate(e,t,null,!0):this.$nextTick()},_validateField(e,t){t=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e));return t.length?this.beginValidate(e,t,null):this.$nextTick()},handleValidError(t){let l=this.validOpts;return new Promise(e=>{!1===l.autoPos?(this.emitEvent("valid-error",t),e()):this.handleEdit(t,{type:"valid-error",trigger:"call"}).then(()=>{setTimeout(()=>{e(this.showValidTooltip(t))},10)})})},handleErrMsgMode(e){var t,l=this.validOpts;return"single"===l.msgMode?(l={},(t=Object.keys(e)).length&&(l[t=t[0]]=e[t]),l):e},beginValidate(e,l,a,s){let i=this;var r=i,
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators}=_ui.VxeUI;class Rule{constructor(e){Object.defineProperty(this,"$options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validErrorRuleValue(e,t){var{type:e,min:l,max:i,pattern:r}=e,e="number"===e,s=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(l)&&s<_xeUtils.default.toNumber(l)||!_xeUtils.default.eqNull(i)&&s>_xeUtils.default.toNumber(i)||!(!r||(_xeUtils.default.isRegExp(r)?r:new RegExp(r)).test(t))}var _default=exports.default={methods:{_fullValidate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),this.beginValidate(e,null,t,!0)},_validate(e,t){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(t)&&(0,_log.warnLog)("vxe.error.notValidators",["validate(rows, callback)","validate(rows)"]),this.beginValidate(e,null,t)},_fullValidateField(e,t){t=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e));return t.length?this.beginValidate(e,t,null,!0):this.$nextTick()},_validateField(e,t){t=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e));return t.length?this.beginValidate(e,t,null):this.$nextTick()},handleValidError(t){let l=this.validOpts;return new Promise(e=>{!1===l.autoPos?(this.emitEvent("valid-error",t),e()):this.handleEdit(t,{type:"valid-error",trigger:"call"}).then(()=>{setTimeout(()=>{e(this.showValidTooltip(t))},10)})})},handleErrMsgMode(e){var t,l=this.validOpts;return"single"===l.msgMode?(l={},(t=Object.keys(e)).length&&(l[t=t[0]]=e[t]),l):e},beginValidate(e,l,a,s){let i=this;var r=i,o=i;let u={},{editRules:n,treeConfig:d}=r,{afterFullData:t,pendingRowMaps:h,removeRowMaps:g}=o;r=i.computeTreeOpts,o=r.children||r.childrenField;let c,f=(!0===e?c=t:e&&(_xeUtils.default.isFunction(e)?a=e:c=_xeUtils.default.isArray(e)?e:[e]),c=c||this.getInsertRecords().concat(this.getUpdateRecords()),[]),p=(this.lastCallTime=Date.now(),this.validRuleErr=!1,this.clearValidate(),{});if(n){let t=l&&l.length?l:this.getColumns();r=r=>{var e=(0,_util.getRowid)(i,r);if(!g[e]&&!h[e]&&(s||!this.validRuleErr)){let e=[];t.forEach(l=>{let i=_xeUtils.default.isString(l)?l:l.field;!s&&this.validRuleErr||!_xeUtils.default.has(n,i)||e.push(this.validCellRules("all",r,l).catch(({rule:e,rules:t})=>{t={rule:e,rules:t,rowIndex:this.getRowIndex(r),row:r,columnIndex:this.getColumnIndex(l),column:l,field:i,$table:this};if(u[i]||(u[i]=[]),p[(0,_util.getRowid)(this,r)+":"+l.id]={column:l,row:r,rule:e,content:e.content},u[i].push(t),!s)return this.validRuleErr=!0,Promise.reject(t)}))}),f.push(Promise.all(e))}};return d?_xeUtils.default.eachTree(c,r,{children:o}):c.forEach(r),Promise.all(f).then(()=>{let e=Object.keys(u);return this.validErrorMaps=this.handleErrMsgMode(p),this.$nextTick().then(()=>{if(e.length)return Promise.reject(u[e[0]][0]);a&&a()})}).catch(s=>new Promise((e,t)=>{let l=()=>{this.$nextTick(()=>{a?(a(u),e()):("obsolete"===getConfig().validToReject?t:e)(u)})};var i,r=()=>{s.cell=this.getCellElement(s.row,s.column),(0,_dom.scrollToView)(s.cell),this.handleValidError(s).then(l)};!1===this.validOpts.autoPos?l():(i=s.row,this.scrollToRow(i,s.column).then(r))}))}return this.validErrorMaps={},this.$nextTick().then(()=>{a&&a()})},hasCellRules(t,e,l){var i=this.editRules,l=l.property;return!(!l||!i)&&(i=_xeUtils.default.get(i,l))&&_xeUtils.default.find(i,e=>"all"===t||!e.trigger||t===e.trigger)},validCellRules(e,d,h,t){var l=this.editRules,i=h.property;let g=[],c=[];if(i&&l){let n=_xeUtils.default.get(l,i);if(n){let u=_xeUtils.default.isUndefined(t)?_xeUtils.default.get(d,i):t;n.forEach(t=>{let{type:l,trigger:i,required:r,validator:s}=t;if("all"===e||!i||e===i)if(s){var a={cellValue:u,rule:t,rules:n,row:d,rowIndex:this.getRowIndex(d),column:h,columnIndex:this.getColumnIndex(h),field:h.property,$table:this};let e;_xeUtils.default.isString(s)?(o=validators.get(s))?(o=o.tableCellValidatorMethod||o.cellValidatorMethod)?e=o(a):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[s]):(0,_log.errLog)("vxe.error.notValidators",[s]):e=s(a),e&&(_xeUtils.default.isError(e)?(this.validRuleErr=!0,g.push(new Rule({type:"custom",trigger:i,content:e.message,rule:new Rule(t)}))):e.catch&&c.push(e.catch(e=>{this.validRuleErr=!0,g.push(new Rule({type:"custom",trigger:i,content:e&&e.message?e.message:t.content||t.message,rule:new Rule(t)}))})))}else{var o="array"===l,a=_xeUtils.default.isArray(u);let e=!0;e=o||a?!a||!u.length:_xeUtils.default.isString(u)?(0,_utils.eqEmptyValue)(u.trim()):(0,_utils.eqEmptyValue)(u),(r?e||validErrorRuleValue(t,u):!e&&validErrorRuleValue(t,u))&&(this.validRuleErr=!0,g.push(new Rule(t)))}})}}return Promise.all(c).then(()=>{var e;if(g.length)return e={rules:g,rule:g[0]},Promise.reject(e)})},_clearValidate(e,t){var{validOpts:l,validErrorMaps:i}=this,r=this.$refs.refValidTooltip,e=_xeUtils.default.isArray(e)?e:e?[e]:[];let s=(_xeUtils.default.isArray(t)?t:t?[t]:[]).map(e=>(0,_util.handleFieldOrColumn)(this,e)),a={};if(r&&r.visible&&r.close(),"single"===l.msgMode)this.validErrorMaps={};else{if(e.length&&s.length)a=Object.assign({},i),e.forEach(t=>{s.forEach(e=>{e=(0,_util.getRowid)(this,t)+":"+e.id;a[e]&&delete a[e]})});else if(e.length){let l=e.map(e=>""+(0,_util.getRowid)(this,e));_xeUtils.default.each(i,(e,t)=>{-1<l.indexOf(t.split(":")[0])&&(a[t]=e)})}else if(s.length){let l=s.map(e=>""+e.id);_xeUtils.default.each(i,(e,t)=>{-1<l.indexOf(t.split(":")[1])&&(a[t]=e)})}this.validErrorMaps=a}return this.$nextTick()},triggerValidate(r){let{editConfig:e,editStore:t,editRules:l,editOpts:s,validOpts:i}=this;var a=t.actived;if(l&&"single"===i.msgMode&&(this.validErrorMaps={}),e&&l&&a.row){let{row:t,column:l,cell:i}=a.args;if(this.hasCellRules(r,t,l))return this.validCellRules(r,t,l).then(()=>{"row"===s.mode&&this.clearValidate(t,l)}).catch(({rule:e})=>e.trigger&&r!==e.trigger?Promise.resolve():(e={rule:e,row:t,column:l,cell:i},this.showValidTooltip(e),Promise.reject(e)))}return Promise.resolve()},showValidTooltip(e){var{$refs:t,height:l,validStore:i,validErrorMaps:r,tableData:s,validOpts:a}=this,{rule:o,row:u,column:n,cell:d}=e,t=t.refValidTooltip,h=o.content;return i.visible=!0,"single"===a.msgMode?this.validErrorMaps={[(0,_util.getRowid)(this,u)+":"+n.id]:{column:n,row:u,rule:o,content:h}}:this.validErrorMaps=Object.assign({},r,{[(0,_util.getRowid)(this,u)+":"+n.id]:{column:n,row:u,rule:o,content:h}}),this.emitEvent("valid-error",e,null),t&&("tooltip"===a.message||"default"===a.message&&!l&&s.length<2)?t.open(d,h):this.$nextTick()}}};
|
package/lib/table/src/body.js
CHANGED
|
@@ -518,9 +518,12 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
518
518
|
} = (0, _util.createHandleGetRowId)($xeTable);
|
|
519
519
|
tableData.forEach((row, $rowIndex) => {
|
|
520
520
|
const trOn = {};
|
|
521
|
+
const rowid = handleGetRowId(row);
|
|
522
|
+
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
521
523
|
let rowIndex = $rowIndex;
|
|
522
|
-
|
|
523
|
-
|
|
524
|
+
let rowLevel = 0;
|
|
525
|
+
let seq = -1;
|
|
526
|
+
let _rowIndex = -1;
|
|
524
527
|
// 当前行事件
|
|
525
528
|
if (rowOpts.isHover || highlightHoverRow) {
|
|
526
529
|
trOn.mouseenter = evnt => {
|
|
@@ -539,11 +542,6 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
539
542
|
$xeTable.clearHoverRow();
|
|
540
543
|
};
|
|
541
544
|
}
|
|
542
|
-
const rowid = handleGetRowId(row);
|
|
543
|
-
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
544
|
-
let rowLevel = 0;
|
|
545
|
-
let seq = -1;
|
|
546
|
-
let _rowIndex = 0;
|
|
547
545
|
if (rowRest) {
|
|
548
546
|
rowLevel = rowRest.level;
|
|
549
547
|
if (treeConfig && transform && seqMode === 'increasing') {
|
|
@@ -551,6 +549,7 @@ function renderRows(h, _vm, fixedType, isOptimizeMode, tableData, tableColumn) {
|
|
|
551
549
|
} else {
|
|
552
550
|
seq = rowRest.seq;
|
|
553
551
|
}
|
|
552
|
+
rowIndex = rowRest.index;
|
|
554
553
|
_rowIndex = rowRest._index;
|
|
555
554
|
}
|
|
556
555
|
const params = {
|