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.
Files changed (46) hide show
  1. package/es/style.css +1 -1
  2. package/es/table/module/edit/mixin.js +95 -65
  3. package/es/table/module/keyboard/mixin.js +3 -2
  4. package/es/table/module/validator/mixin.js +2 -5
  5. package/es/table/src/body.js +6 -7
  6. package/es/table/src/methods.js +301 -286
  7. package/es/table/src/table.js +21 -15
  8. package/es/ui/index.js +1 -1
  9. package/es/ui/src/dom.js +0 -1
  10. package/es/ui/src/log.js +1 -1
  11. package/lib/index.umd.js +501 -498
  12. package/lib/index.umd.min.js +1 -1
  13. package/lib/style.css +1 -1
  14. package/lib/table/module/edit/mixin.js +108 -99
  15. package/lib/table/module/edit/mixin.min.js +1 -1
  16. package/lib/table/module/keyboard/mixin.js +2 -1
  17. package/lib/table/module/keyboard/mixin.min.js +1 -1
  18. package/lib/table/module/validator/mixin.js +3 -9
  19. package/lib/table/module/validator/mixin.min.js +1 -1
  20. package/lib/table/src/body.js +6 -7
  21. package/lib/table/src/body.min.js +1 -1
  22. package/lib/table/src/methods.js +352 -355
  23. package/lib/table/src/methods.min.js +1 -1
  24. package/lib/table/src/table.js +21 -15
  25. package/lib/table/src/table.min.js +1 -1
  26. package/lib/ui/index.js +1 -1
  27. package/lib/ui/index.min.js +1 -1
  28. package/lib/ui/src/dom.js +0 -2
  29. package/lib/ui/src/dom.min.js +1 -1
  30. package/lib/ui/src/log.js +1 -1
  31. package/lib/ui/src/log.min.js +1 -1
  32. package/package.json +2 -2
  33. package/packages/table/module/edit/mixin.ts +129 -89
  34. package/packages/table/module/keyboard/mixin.ts +4 -2
  35. package/packages/table/module/validator/mixin.ts +3 -6
  36. package/packages/table/src/body.ts +6 -7
  37. package/packages/table/src/methods.ts +345 -301
  38. package/packages/table/src/table.ts +24 -18
  39. package/packages/table/src/util.ts +2 -2
  40. package/packages/ui/src/dom.ts +0 -2
  41. /package/es/{iconfont.1742955973002.ttf → iconfont.1743125678150.ttf} +0 -0
  42. /package/es/{iconfont.1742955973002.woff → iconfont.1743125678150.woff} +0 -0
  43. /package/es/{iconfont.1742955973002.woff2 → iconfont.1743125678150.woff2} +0 -0
  44. /package/lib/{iconfont.1742955973002.ttf → iconfont.1743125678150.ttf} +0 -0
  45. /package/lib/{iconfont.1742955973002.woff → iconfont.1743125678150.woff} +0 -0
  46. /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(_vm, newRecords, isAppend) {
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
- treeOpts
78
- } = _vm;
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)(_vm, item);
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)(_vm, parentRow)];
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
- insertMaps[rowid] = newRow;
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 ($xeTable.scrollYLoad) {
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
- removeMaps[rowid] = row;
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 (insertDataRowMaps[rowid]) {
790
- delete insertDataRowMaps[rowid];
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
- editStore.insertMaps = insertDataRowMaps;
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
- editStore
874
- } = reactData;
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(insertMaps, (row, rowid) => {
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 reactData = $xeTable;
895
- const {
896
- editStore
897
- } = reactData;
889
+ const internalData = $xeTable;
898
890
  const {
899
- removeMaps
900
- } = editStore;
891
+ removeRowMaps
892
+ } = internalData;
901
893
  const removeRecords = [];
902
- _xeUtils.default.each(removeMaps, row => {
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
- tableFullData,
917
- isUpdateByRow,
918
- treeConfig,
919
- treeOpts,
920
- editStore
921
- } = this;
910
+ treeConfig
911
+ } = props;
912
+ const {
913
+ tableFullData
914
+ } = internalData;
915
+ const treeOpts = $xeTable.computeTreeOpts;
922
916
  if (keepSource) {
923
- const {
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 this.getEditRecord();
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
- $el,
994
- editStore,
995
- afterFullData
996
- } = this;
982
+ editStore
983
+ } = reactData;
997
984
  const {
998
- actived
999
- } = editStore;
985
+ afterFullData
986
+ } = internalData;
987
+ const el = $xeTable.$refs.refElem;
1000
988
  const {
1001
989
  args,
1002
990
  row
1003
- } = actived;
1004
- if (args && this.findRowIndexOf(afterFullData, row) > -1 && $el.querySelectorAll('.vxe-body--column.col--active').length) {
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 this.isEditByRow(row);
1003
+ return $xeTable.isEditByRow(row);
1015
1004
  },
1016
1005
  /**
1017
1006
  * 判断行是否为激活编辑状态
1018
1007
  * @param {Row} row 行对象
1019
1008
  */
1020
1009
  _isEditByRow(row) {
1021
- return this.editStore.actived.row === row;
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(this, params);
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 (_dom.browse.msie) {
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
- this.scrollToRow(row, column);
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 this.setEditRow(row);
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) ? this.getColumnByField(fieldOrColumn) : 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
- editOpts,
1131
- visibleColumn
1132
- } = this;
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 = this.findRowIndexOf(tableData, row);
1130
+ const rowIndex = $xeTable.findRowIndexOf(tableData, row);
1136
1131
  if (rowIndex > -1) {
1137
- const cell = this.getCellElement(row, column);
1132
+ const cell = $xeTable.getCellElement(row, column);
1138
1133
  const params = {
1139
1134
  row,
1140
1135
  rowIndex,
1141
1136
  column,
1142
- columnIndex: visibleColumn.indexOf(column),
1137
+ columnIndex: $xeTable.getColumnIndex(column),
1143
1138
  cell
1144
1139
  };
1145
- this.handleSelected(params, {});
1140
+ $xeTable.handleSelected(params, {});
1146
1141
  }
1147
1142
  }
1148
- return this.$nextTick();
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
- } = this;
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
- this.clearSelected(evnt);
1175
- this.clearCellAreas(evnt);
1176
- this.clearCopyCellArea(evnt);
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
- this.focus();
1184
+ $xeTable.focus();
1184
1185
  if (evnt) {
1185
- this.emitEvent('cell-selected', params, evnt);
1186
+ $xeTable.dispatchEvent('cell-selected', params, evnt);
1186
1187
  }
1187
1188
  }
1188
1189
  }
1189
- return this.$nextTick();
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
- } = this.editStore.selected;
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
- } = this.editStore;
1223
+ } = editStore;
1214
1224
  selected.row = null;
1215
1225
  selected.column = null;
1216
- this.reColTitleSdCls();
1217
1226
  removeCellSelectedClass($xeTable);
1218
- return this.$nextTick();
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 = !_dom.browse.firefox && (0, _dom.hasClass)(target, 'vxe-checkbox--label');
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,r,i=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(i&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,i&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));return{offsetTop:l,offsetLeft:o}}function getCheckboxRangeRows(t,e,l,o,n,r,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,v=t.afterFullData;if(f=p?r+i:n.height-r+Math.abs(i),C){n=t.getVTRowIndex(l);if(!(c||a.height||d.height)&&u)m=p?v.slice(n,n+Math.ceil(f/h)):v.slice(n-Math.floor(f/h),n+1);else if(p)for(let e=n;e<v.length;e++){var w=v[e],x=s[t.getRowid(w)]||{};if(g+=x.resizeHeight||a.height||d.height||x.height||h,m.push(w),g>f)return m}else for(let e=n;0<=e;e--){var R=v[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,n,r,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(),n&&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]):r&&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 n=o.editConfig,{afterFullData:r,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=r[g],m=i.length-1):m=p-1:p>=i.length-1?e<r.length-1&&(g=e+1,h=r[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),n?"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 n=o,r=o,i=o,n=n.treeConfig;let u=r.currentRow;var r=i.afterFullData,i=o.computeTreeOpts,i=i.children||i.childrenField;let s;if(u?n?({index:n,items:i}=_xeUtils.default.findTree(r,e=>e===u,{children:i}),e&&0<n?s=i[n-1]:t&&n<i.length-1&&(s=i[n+1])):(i=o.getVTRowIndex(u),e&&0<i?s=r[i-1]:t&&i<r.length-1&&(s=r[i+1])):s=r[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 n=o.currentColumn,r=o.visibleColumn;let i=null;if(n?(n=o.getVTColumnIndex(n),e&&0<n?i=r[n-1]:t&&n<r.length-1&&(i=r[n+1])):i=r[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,n,r){var i=this,{highlightCurrentRow:u,highlightCurrentColumn:s}=i,c=i.computeRowOpts,d=i.computeColumnOpts;handleMoveSelected(i,r,e,t,l,o,n),(l||n)&&(c.isCurrent||u)&&i.moveCurrentRow(l,n,r),(t||o)&&(d.isCurrent||s)&&i.moveCurrentColumn(t,o,r)},moveEnterSelected(e,t,l,o,n,r){var i=this,u=i.computeRowOpts,s=i.computeCurrentRowOpts,c=i.computeColumnOpts,d=i.computeCurrentColumnOpts,e=handleMoveSelected(i,r,e,t,l,o,n);u.isCurrent&&s.isFollowSelected&&i.triggerCurrentRowEvent(r,e),c.isCurrent&&d.isFollowSelected&&i.triggerCurrentColumnEvent(r,e)},moveSelected(e,t,l,o,n,r){handleMoveSelected(this,r,e,t,l,o,n)},handleCellMousedownEvent(e,t){var{editConfig:l,editOpts:o,handleSelected:n,checkboxConfig:r,checkboxOpts:i,mouseConfig:u,mouseOpts:s}=this;if(u&&s.area&&this.handleCellAreaMousedownEvent)return this.handleCellAreaMousedownEvent(e,t);r&&i.range&&this.handleCheckboxRangeEvent(e,t),u&&s.selected&&(l&&"cell"!==o.mode||n(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:n,cell:r}=_;if("checkbox"===n.type){let E=l;if(o&&"left"===n.fixed?E=o:t&&"right"===n.fixed&&(E=t),E){let t=S.$refs.refElem,u=e.clientX,s=e.clientY,c=E.querySelector(".vxe-table--checkbox-range"),d=r.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(),v=s-C.y,w=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),n=Math.abs(t),r=m,i=f;l<g?(r+=l)<g&&(r=g,o=m):o=Math.min(o,E.scrollHeight-m-g),t<g?(i+=t,n>f&&(i=g,n=f)):n=Math.min(n,E.clientWidth-f-g),c.style.height=o+"px",c.style.width=n+"px",c.style.left=i+"px",c.style.top=r+"px",c.style.display="block";t=getCheckboxRangeRows(this,e,_,d,C,v,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(w),w=null},O=r=>{I(),w=setTimeout(()=>{var e,t,l,o,n;w&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=E,n=Math.ceil(50*R/i),x?t+l<o?(this.scrollTo(e,t+n),O(r),T(r)):I():t?(this.scrollTo(e,t-n),O(r),T(r)):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,w||O(e)):t>l+E.clientHeight?(x=!0,R=t-l-E.clientHeight,w||O(e)):w&&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)}}}}};
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 (removeMaps[rowid]) {
209
+ if (removeRowMaps[rowid]) {
216
210
  return;
217
211
  }
218
212
  // 是否标记删除