vxe-table 4.1.8 → 4.1.9

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 (42) hide show
  1. package/es/button/src/button.js +14 -14
  2. package/es/edit/src/hook.js +3 -3
  3. package/es/export/src/hook.js +4 -4
  4. package/es/filter/src/hook.js +20 -1
  5. package/es/table/src/body.js +11 -14
  6. package/es/table/src/cell.js +16 -14
  7. package/es/table/src/table.js +90 -80
  8. package/es/table/src/util.js +3 -0
  9. package/es/tools/dom.js +2 -8
  10. package/lib/button/src/button.js +15 -14
  11. package/lib/button/src/button.min.js +1 -1
  12. package/lib/edit/src/hook.js +3 -0
  13. package/lib/edit/src/hook.min.js +1 -1
  14. package/lib/export/src/hook.js +3 -5
  15. package/lib/export/src/hook.min.js +1 -1
  16. package/lib/filter/src/hook.js +23 -0
  17. package/lib/filter/src/hook.min.js +1 -1
  18. package/lib/index.umd.js +242 -179
  19. package/lib/index.umd.min.js +1 -1
  20. package/lib/table/src/body.js +8 -16
  21. package/lib/table/src/body.min.js +1 -1
  22. package/lib/table/src/cell.js +16 -16
  23. package/lib/table/src/cell.min.js +1 -1
  24. package/lib/table/src/table.js +144 -104
  25. package/lib/table/src/table.min.js +1 -1
  26. package/lib/table/src/util.js +7 -0
  27. package/lib/table/src/util.min.js +1 -1
  28. package/lib/tools/dom.js +2 -9
  29. package/lib/tools/dom.min.js +1 -1
  30. package/package.json +1 -1
  31. package/packages/button/src/button.ts +14 -14
  32. package/packages/edit/src/hook.ts +3 -3
  33. package/packages/export/src/hook.ts +4 -4
  34. package/packages/filter/src/hook.ts +20 -1
  35. package/packages/table/src/body.ts +11 -14
  36. package/packages/table/src/cell.ts +16 -14
  37. package/packages/table/src/table.ts +90 -80
  38. package/packages/table/src/util.ts +4 -0
  39. package/packages/tools/dom.ts +2 -7
  40. package/types/filter.d.ts +5 -0
  41. package/types/plugins/pro.d.ts +5 -0
  42. package/types/table.d.ts +8 -2
package/lib/index.umd.js CHANGED
@@ -8945,6 +8945,9 @@ var es_number_to_fixed = __webpack_require__("b680");
8945
8945
  // EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
8946
8946
  var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf");
8947
8947
 
8948
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.constructor.js
8949
+ var es_number_constructor = __webpack_require__("a9e3");
8950
+
8948
8951
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.splice.js
8949
8952
  var es_array_splice = __webpack_require__("a434");
8950
8953
 
@@ -8954,6 +8957,9 @@ var es_array_slice = __webpack_require__("fb6a");
8954
8957
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js
8955
8958
  var es_object_to_string = __webpack_require__("d3b7");
8956
8959
 
8960
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js
8961
+ var es_promise = __webpack_require__("e6cf");
8962
+
8957
8963
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.fixed.js
8958
8964
  var es_string_fixed = __webpack_require__("c7cd");
8959
8965
 
@@ -9322,16 +9328,9 @@ function scrollToView(elem) {
9322
9328
  }
9323
9329
  }
9324
9330
  function dom_triggerEvent(targetElem, type) {
9325
- var evnt;
9326
-
9327
- if (typeof Event === 'function') {
9328
- evnt = new Event(type);
9329
- } else {
9330
- evnt = document.createEvent('Event');
9331
- evnt.initEvent(type, true, true);
9331
+ if (targetElem) {
9332
+ targetElem.dispatchEvent(new Event(type));
9332
9333
  }
9333
-
9334
- targetElem.dispatchEvent(evnt);
9335
9334
  }
9336
9335
  // CONCATENATED MODULE: ./packages/table/src/util.ts
9337
9336
 
@@ -9344,6 +9343,9 @@ function dom_triggerEvent(targetElem, type) {
9344
9343
 
9345
9344
 
9346
9345
 
9346
+
9347
+
9348
+
9347
9349
  function restoreScrollLocation($xetable, scrollLeft, scrollTop) {
9348
9350
  var internalData = $xetable.internalData;
9349
9351
  return $xetable.clearScroll().then(function () {
@@ -9439,6 +9441,11 @@ function toFilters(filters) {
9439
9441
 
9440
9442
  return filters;
9441
9443
  }
9444
+ function toTreePathSeq(path) {
9445
+ return path.map(function (num, i) {
9446
+ return i % 2 === 0 ? Number(num) + 1 : '.';
9447
+ }).join('');
9448
+ }
9442
9449
  function getCellValue(row, column) {
9443
9450
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.get(row, column.property);
9444
9451
  }
@@ -10949,6 +10956,9 @@ var Icon = {
10949
10956
  return renderVN;
10950
10957
  }
10951
10958
  }));
10959
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.assign.js
10960
+ var es_object_assign = __webpack_require__("cca6");
10961
+
10952
10962
  // CONCATENATED MODULE: ./packages/filter/src/hook.ts
10953
10963
 
10954
10964
 
@@ -10960,6 +10970,7 @@ var Icon = {
10960
10970
 
10961
10971
 
10962
10972
 
10973
+
10963
10974
  var tableFilterMethodKeys = ['setFilter', 'clearFilter', 'getCheckedFilters'];
10964
10975
  var tableFilterHook = {
10965
10976
  setupTable: function setupTable($xetable) {
@@ -11186,6 +11197,29 @@ var tableFilterHook = {
11186
11197
  }
11187
11198
  };
11188
11199
  var filterMethods = {
11200
+ /**
11201
+ * 手动弹出筛选面板
11202
+ * @param column
11203
+ */
11204
+ openFilter: function openFilter(fieldOrColumn) {
11205
+ var column = util_handleFieldOrColumn($xetable, fieldOrColumn);
11206
+
11207
+ if (column && column.filters) {
11208
+ var elemStore = internalData.elemStore;
11209
+ var fixed = column.fixed;
11210
+ return $xetable.scrollToColumn(column).then(function () {
11211
+ var headerWrapperElem = elemStore["".concat(fixed || 'main', "-header-wrapper")] || elemStore['main-header-wrapper'];
11212
+
11213
+ if (headerWrapperElem) {
11214
+ var filterBtnElem = headerWrapperElem.querySelector(".vxe-header--column.".concat(column.id, " .vxe-filter--btn"));
11215
+ dom_triggerEvent(filterBtnElem, 'click');
11216
+ }
11217
+ });
11218
+ }
11219
+
11220
+ return Object(external_commonjs_vue_commonjs2_vue_root_Vue_["nextTick"])();
11221
+ },
11222
+
11189
11223
  /**
11190
11224
  * 修改筛选条件列表
11191
11225
  * @param {ColumnInfo} fieldOrColumn 列或字段名
@@ -12032,6 +12066,7 @@ function _toConsumableArray(arr) {
12032
12066
 
12033
12067
 
12034
12068
 
12069
+
12035
12070
  var tableEditMethodKeys = ['insert', 'insertAt', 'remove', 'removeCheckboxRow', 'removeRadioRow', 'removeCurrentRow', 'getRecordset', 'getInsertRecords', 'getRemoveRecords', 'getUpdateRecords', 'getActiveRecord', 'getSelectedCell', 'clearActived', 'clearSelected', 'isActiveByRow', 'setActiveRow', 'setActiveCell', 'setSelectCell'];
12036
12071
  var editHook = {
12037
12072
  setupTable: function setupTable($xetable) {
@@ -12132,6 +12167,7 @@ var editHook = {
12132
12167
  var rest = {
12133
12168
  row: item,
12134
12169
  rowid: rowid,
12170
+ seq: -1,
12135
12171
  index: -1,
12136
12172
  _index: -1,
12137
12173
  $index: -1,
@@ -12153,6 +12189,7 @@ var editHook = {
12153
12189
  var _rest = {
12154
12190
  row: item,
12155
12191
  rowid: rowid,
12192
+ seq: -1,
12156
12193
  index: -1,
12157
12194
  _index: -1,
12158
12195
  $index: -1,
@@ -12274,6 +12311,7 @@ var editHook = {
12274
12311
  var rest = {
12275
12312
  row: item,
12276
12313
  rowid: rowid,
12314
+ seq: -1,
12277
12315
  index: -1,
12278
12316
  _index: -1,
12279
12317
  $index: -1,
@@ -13019,9 +13057,6 @@ function _nonIterableRest() {
13019
13057
  function _slicedToArray(arr, i) {
13020
13058
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
13021
13059
  }
13022
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.constructor.js
13023
- var es_number_constructor = __webpack_require__("a9e3");
13024
-
13025
13060
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.split.js
13026
13061
  var es_string_split = __webpack_require__("1276");
13027
13062
 
@@ -13048,6 +13083,7 @@ function useSize(props) {
13048
13083
 
13049
13084
 
13050
13085
 
13086
+
13051
13087
  /* harmony default export */ var src_button = (Object(external_commonjs_vue_commonjs2_vue_root_Vue_["defineComponent"])({
13052
13088
  name: 'VxeButton',
13053
13089
  props: {
@@ -13200,48 +13236,49 @@ function useSize(props) {
13200
13236
  };
13201
13237
 
13202
13238
  var _getAbsolutePos = getAbsolutePos(targetElem),
13239
+ top = _getAbsolutePos.top,
13240
+ left = _getAbsolutePos.left,
13203
13241
  boundingTop = _getAbsolutePos.boundingTop,
13204
- boundingLeft = _getAbsolutePos.boundingLeft,
13205
13242
  visibleHeight = _getAbsolutePos.visibleHeight,
13206
13243
  visibleWidth = _getAbsolutePos.visibleWidth;
13207
13244
 
13208
13245
  var panelPlacement = 'bottom';
13209
13246
 
13210
13247
  if (transfer) {
13211
- var left = boundingLeft + targetWidth - panelWidth;
13212
- var top = boundingTop + targetHeight;
13248
+ var btnLeft = left + targetWidth - panelWidth;
13249
+ var btnTop = top + targetHeight;
13213
13250
 
13214
13251
  if (placement === 'top') {
13215
13252
  panelPlacement = 'top';
13216
- top = boundingTop - panelHeight;
13253
+ btnTop = top - panelHeight;
13217
13254
  } else if (!placement) {
13218
13255
  // 如果下面不够放,则向上
13219
- if (top + panelHeight + marginSize > visibleHeight) {
13256
+ if (boundingTop + targetHeight + panelHeight + marginSize > visibleHeight) {
13220
13257
  panelPlacement = 'top';
13221
- top = boundingTop - panelHeight;
13258
+ btnTop = top - panelHeight;
13222
13259
  } // 如果上面不够放,则向下(优先)
13223
13260
 
13224
13261
 
13225
- if (top < marginSize) {
13262
+ if (btnTop < marginSize) {
13226
13263
  panelPlacement = 'bottom';
13227
- top = boundingTop + targetHeight;
13264
+ btnTop = top + targetHeight;
13228
13265
  }
13229
13266
  } // 如果溢出右边
13230
13267
 
13231
13268
 
13232
- if (left + panelWidth + marginSize > visibleWidth) {
13233
- left -= left + panelWidth + marginSize - visibleWidth;
13269
+ if (btnLeft + panelWidth + marginSize > visibleWidth) {
13270
+ btnLeft -= btnLeft + panelWidth + marginSize - visibleWidth;
13234
13271
  } // 如果溢出左边
13235
13272
 
13236
13273
 
13237
- if (left < marginSize) {
13238
- left = marginSize;
13274
+ if (btnLeft < marginSize) {
13275
+ btnLeft = marginSize;
13239
13276
  }
13240
13277
 
13241
13278
  Object.assign(panelStyle, {
13242
- left: "".concat(left, "px"),
13279
+ left: "".concat(btnLeft, "px"),
13243
13280
  right: 'auto',
13244
- top: "".concat(top, "px"),
13281
+ top: "".concat(btnTop, "px"),
13245
13282
  minWidth: "".concat(targetWidth, "px")
13246
13283
  });
13247
13284
  } else {
@@ -18984,12 +19021,6 @@ var es_array_iterator = __webpack_require__("e260");
18984
19021
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.map.js
18985
19022
  var es_map = __webpack_require__("4ec9");
18986
19023
 
18987
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.assign.js
18988
- var es_object_assign = __webpack_require__("cca6");
18989
-
18990
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js
18991
- var es_promise = __webpack_require__("e6cf");
18992
-
18993
19024
  // EXTERNAL MODULE: ./node_modules/core-js/modules/web.url.js
18994
19025
  var web_url = __webpack_require__("2b3d");
18995
19026
 
@@ -19243,7 +19274,6 @@ var util_saveLocalFile = function saveLocalFile(options) {
19243
19274
 
19244
19275
 
19245
19276
 
19246
-
19247
19277
 
19248
19278
 
19249
19279
  var htmlCellElem;
@@ -19591,7 +19621,7 @@ var tableExportHook = {
19591
19621
  return row[treeOpts.children] && row[treeOpts.children].length;
19592
19622
  };
19593
19623
 
19594
- var getSeq = function getSeq(row, rowIndex, column, columnIndex, paths) {
19624
+ var getSeq = function getSeq(row, rowIndex, column, columnIndex, path) {
19595
19625
  var seqOpts = computeSeqOpts.value;
19596
19626
  var seqMethod = seqOpts.seqMethod || column.seqMethod;
19597
19627
 
@@ -19604,10 +19634,8 @@ var tableExportHook = {
19604
19634
  });
19605
19635
  }
19606
19636
 
19607
- if (paths) {
19608
- return paths.map(function (num, i) {
19609
- return i % 2 === 0 ? Number(num) + 1 : '.';
19610
- }).join('');
19637
+ if (path) {
19638
+ return toTreePathSeq(path);
19611
19639
  }
19612
19640
 
19613
19641
  return seqOpts.startIndex + rowIndex + 1;
@@ -22832,6 +22860,7 @@ var Footer = Object.assign(footer, {
22832
22860
 
22833
22861
 
22834
22862
 
22863
+
22835
22864
  function renderHelpIcon(params) {
22836
22865
  var $table = params.$table,
22837
22866
  column = params.column;
@@ -22957,8 +22986,8 @@ var Cell = {
22957
22986
 
22958
22987
  switch (type) {
22959
22988
  case 'seq':
22960
- renConfs.renderHeader = Cell.renderIndexHeader;
22961
- renConfs.renderCell = treeNode ? Cell.renderTreeIndexCell : Cell.renderIndexCell;
22989
+ renConfs.renderHeader = Cell.renderSeqHeader;
22990
+ renConfs.renderCell = treeNode ? Cell.renderTreeIndexCell : Cell.renderSeqCell;
22962
22991
  break;
22963
22992
 
22964
22993
  case 'radio':
@@ -22967,8 +22996,8 @@ var Cell = {
22967
22996
  break;
22968
22997
 
22969
22998
  case 'checkbox':
22970
- renConfs.renderHeader = Cell.renderSelectionHeader;
22971
- renConfs.renderCell = checkboxOpts.checkField ? treeNode ? Cell.renderTreeSelectionCellByProp : Cell.renderSelectionCellByProp : treeNode ? Cell.renderTreeSelectionCell : Cell.renderSelectionCell;
22999
+ renConfs.renderHeader = Cell.renderCheckboxHeader;
23000
+ renConfs.renderCell = checkboxOpts.checkField ? treeNode ? Cell.renderTreeSelectionCellByProp : Cell.renderCheckboxCellByProp : treeNode ? Cell.renderTreeSelectionCell : Cell.renderCheckboxCell;
22972
23001
  break;
22973
23002
 
22974
23003
  case 'expand':
@@ -23151,16 +23180,18 @@ var Cell = {
23151
23180
  /**
23152
23181
  * 索引
23153
23182
  */
23154
- renderIndexHeader: function renderIndexHeader(params) {
23183
+ renderSeqHeader: function renderSeqHeader(params) {
23155
23184
  var $table = params.$table,
23156
23185
  column = params.column;
23157
23186
  var slots = column.slots;
23158
23187
  var headerSlot = slots ? slots.header : null;
23159
23188
  return renderTitleContent(params, headerSlot ? $table.callSlot(headerSlot, params) : formatText(column.getTitle(), 1));
23160
23189
  },
23161
- renderIndexCell: function renderIndexCell(params) {
23190
+ renderSeqCell: function renderSeqCell(params) {
23162
23191
  var $table = params.$table,
23163
23192
  column = params.column;
23193
+ var props = $table.props;
23194
+ var treeConfig = props.treeConfig;
23164
23195
 
23165
23196
  var _$table$getComputeMap3 = $table.getComputeMaps(),
23166
23197
  computeSeqOpts = _$table$getComputeMap3.computeSeqOpts;
@@ -23173,14 +23204,12 @@ var Cell = {
23173
23204
  return $table.callSlot(defaultSlot, params);
23174
23205
  }
23175
23206
 
23176
- var $seq = params.$seq,
23177
- seq = params.seq,
23178
- level = params.level;
23207
+ var seq = params.seq;
23179
23208
  var seqMethod = seqOpts.seqMethod;
23180
- return [formatText(seqMethod ? seqMethod(params) : level ? "".concat($seq, ".").concat(seq) : (seqOpts.startIndex || 0) + seq, 1)];
23209
+ return [formatText(seqMethod ? seqMethod(params) : treeConfig ? seq : (seqOpts.startIndex || 0) + seq, 1)];
23181
23210
  },
23182
23211
  renderTreeIndexCell: function renderTreeIndexCell(params) {
23183
- return Cell.renderTreeIcon(params, Cell.renderIndexCell(params));
23212
+ return Cell.renderTreeIcon(params, Cell.renderSeqCell(params));
23184
23213
  },
23185
23214
 
23186
23215
  /**
@@ -23277,7 +23306,7 @@ var Cell = {
23277
23306
  /**
23278
23307
  * 多选
23279
23308
  */
23280
- renderSelectionHeader: function renderSelectionHeader(params) {
23309
+ renderCheckboxHeader: function renderCheckboxHeader(params) {
23281
23310
  var $table = params.$table,
23282
23311
  column = params.column,
23283
23312
  isHidden = params.isHidden;
@@ -23342,7 +23371,7 @@ var Cell = {
23342
23371
  class: 'vxe-checkbox--label'
23343
23372
  }, titleSlot ? $table.callSlot(titleSlot, checkboxParams) : headerTitle)] : []))]);
23344
23373
  },
23345
- renderSelectionCell: function renderSelectionCell(params) {
23374
+ renderCheckboxCell: function renderCheckboxCell(params) {
23346
23375
  var $table = params.$table,
23347
23376
  row = params.row,
23348
23377
  column = params.column,
@@ -23430,9 +23459,9 @@ var Cell = {
23430
23459
  }, ons), checkVNs)];
23431
23460
  },
23432
23461
  renderTreeSelectionCell: function renderTreeSelectionCell(params) {
23433
- return Cell.renderTreeIcon(params, Cell.renderSelectionCell(params));
23462
+ return Cell.renderTreeIcon(params, Cell.renderCheckboxCell(params));
23434
23463
  },
23435
- renderSelectionCellByProp: function renderSelectionCellByProp(params) {
23464
+ renderCheckboxCellByProp: function renderCheckboxCellByProp(params) {
23436
23465
  var $table = params.$table,
23437
23466
  row = params.row,
23438
23467
  column = params.column,
@@ -23521,7 +23550,7 @@ var Cell = {
23521
23550
  }, ons), checkVNs)];
23522
23551
  },
23523
23552
  renderTreeSelectionCellByProp: function renderTreeSelectionCellByProp(params) {
23524
- return Cell.renderTreeIcon(params, Cell.renderSelectionCellByProp(params));
23553
+ return Cell.renderTreeIcon(params, Cell.renderCheckboxCellByProp(params));
23525
23554
  },
23526
23555
 
23527
23556
  /**
@@ -30717,6 +30746,7 @@ var Pulldown = Object.assign(pulldown, {
30717
30746
 
30718
30747
 
30719
30748
 
30749
+
30720
30750
  var body_renderType = 'body';
30721
30751
  var lineOffsetSizes = {
30722
30752
  mini: 3,
@@ -30847,7 +30877,7 @@ var lineOffsetSizes = {
30847
30877
  */
30848
30878
 
30849
30879
 
30850
- var renderColumn = function renderColumn($seq, seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) {
30880
+ var renderColumn = function renderColumn(seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, columns, items) {
30851
30881
  var _ref2;
30852
30882
 
30853
30883
  var columnKey = tableProps.columnKey,
@@ -30908,7 +30938,6 @@ var lineOffsetSizes = {
30908
30938
  };
30909
30939
  var params = {
30910
30940
  $table: $xetable,
30911
- $seq: $seq,
30912
30941
  seq: seq,
30913
30942
  rowid: rowid,
30914
30943
  row: row,
@@ -31088,7 +31117,7 @@ var lineOffsetSizes = {
31088
31117
  }, tdOns), tdVNs);
31089
31118
  };
31090
31119
 
31091
- var renderRows = function renderRows($seq, fixedType, tableData, tableColumn) {
31120
+ var renderRows = function renderRows(fixedType, tableData, tableColumn) {
31092
31121
  var stripe = tableProps.stripe,
31093
31122
  rowKey = tableProps.rowKey,
31094
31123
  highlightHoverRow = tableProps.highlightHoverRow,
@@ -31104,8 +31133,7 @@ var lineOffsetSizes = {
31104
31133
  rowExpandeds = tableReactData.rowExpandeds,
31105
31134
  expandColumn = tableReactData.expandColumn,
31106
31135
  selectRow = tableReactData.selectRow;
31107
- var fullAllDataRowIdData = tableInternalData.fullAllDataRowIdData,
31108
- scrollYStore = tableInternalData.scrollYStore;
31136
+ var fullDataRowIdData = tableInternalData.fullDataRowIdData;
31109
31137
  var checkboxOpts = computeCheckboxOpts.value;
31110
31138
  var radioOpts = computeRadioOpts.value;
31111
31139
  var treeOpts = computeTreeOpts.value;
@@ -31115,11 +31143,6 @@ var lineOffsetSizes = {
31115
31143
  tableData.forEach(function (row, $rowIndex) {
31116
31144
  var trOn = {};
31117
31145
  var rowIndex = $rowIndex;
31118
- var seq = rowIndex + 1;
31119
-
31120
- if (scrollYLoad) {
31121
- seq += scrollYStore.startIndex;
31122
- }
31123
31146
 
31124
31147
  var _rowIndex = $xetable.getVTRowIndex(row); // 确保任何情况下 rowIndex 都精准指向真实 data 索引
31125
31148
 
@@ -31148,11 +31171,11 @@ var lineOffsetSizes = {
31148
31171
  }
31149
31172
 
31150
31173
  var rowid = util_getRowid($xetable, row);
31151
- var rest = fullAllDataRowIdData[rowid];
31174
+ var rest = fullDataRowIdData[rowid];
31152
31175
  var rowLevel = rest ? rest.level : 0;
31176
+ var seq = rest ? rest.seq : -1;
31153
31177
  var params = {
31154
31178
  $table: $xetable,
31155
- $seq: $seq,
31156
31179
  seq: seq,
31157
31180
  rowid: rowid,
31158
31181
  fixed: fixedType,
@@ -31181,7 +31204,7 @@ var lineOffsetSizes = {
31181
31204
  style: rowStyle ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isFunction(rowStyle) ? rowStyle(params) : rowStyle : null,
31182
31205
  key: rowKey || treeConfig ? rowid : $rowIndex
31183
31206
  }, trOn), tableColumn.map(function (column, $columnIndex) {
31184
- return renderColumn($seq, seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
31207
+ return renderColumn(seq, rowid, fixedType, rowLevel, row, rowIndex, $rowIndex, _rowIndex, column, $columnIndex, tableColumn, tableData);
31185
31208
  }))); // 如果行被展开了
31186
31209
 
31187
31210
  if (expandColumn && rowExpandeds.length && $xetable.findRowIndexOf(rowExpandeds, row) > -1) {
@@ -31197,7 +31220,6 @@ var lineOffsetSizes = {
31197
31220
  var hasEllipsis = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isUndefined(showOverflow) || external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.isNull(showOverflow) ? allColumnOverflow : showOverflow;
31198
31221
  var expandParams = {
31199
31222
  $table: $xetable,
31200
- $seq: $seq,
31201
31223
  seq: seq,
31202
31224
  column: expandColumn,
31203
31225
  fixed: fixedType,
@@ -31229,7 +31251,7 @@ var lineOffsetSizes = {
31229
31251
  var rowChildren = row[treeOpts.children];
31230
31252
 
31231
31253
  if (rowChildren && rowChildren.length && $xetable.findRowIndexOf(treeExpandeds, row) > -1) {
31232
- rows.push.apply(rows, _toConsumableArray(renderRows($seq ? "".concat($seq, ".").concat(seq) : "".concat(seq), fixedType, rowChildren, tableColumn)));
31254
+ rows.push.apply(rows, _toConsumableArray(renderRows(fixedType, rowChildren, tableColumn)));
31233
31255
  }
31234
31256
  }
31235
31257
  });
@@ -31589,7 +31611,7 @@ var lineOffsetSizes = {
31589
31611
  */
31590
31612
  Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('tbody', {
31591
31613
  ref: refBodyTBody
31592
- }, renderRows('', fixedType, tableData, tableColumn))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', {
31614
+ }, renderRows(fixedType, tableData, tableColumn))]), Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', {
31593
31615
  class: 'vxe-table--checkbox-range'
31594
31616
  }), mouseConfig && mouseOpts.area ? Object(external_commonjs_vue_commonjs2_vue_root_Vue_["h"])('div', {
31595
31617
  class: 'vxe-table--cell-area'
@@ -31662,6 +31684,7 @@ var lineOffsetSizes = {
31662
31684
 
31663
31685
 
31664
31686
 
31687
+
31665
31688
 
31666
31689
 
31667
31690
  var isWebkit = browse['-webkit'] && !browse.edge;
@@ -31913,8 +31936,9 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
31913
31936
  tableFullColumn: [],
31914
31937
  // 渲染所有列
31915
31938
  visibleColumn: [],
31916
- // 缓存数据集
31939
+ // 总的缓存数据集
31917
31940
  fullAllDataRowIdData: {},
31941
+ // 渲染中缓存数据
31918
31942
  fullDataRowIdData: {},
31919
31943
  fullColumnIdData: {},
31920
31944
  fullColumnFieldData: {},
@@ -32895,30 +32919,102 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
32895
32919
  return cellValue;
32896
32920
  };
32897
32921
  };
32922
+ /**
32923
+ * 预编译
32924
+ * 对渲染中的数据提前解析序号及索引。牺牲提前编译耗时换取渲染中额外损耗,使运行时更加流畅
32925
+ */
32926
+
32898
32927
 
32899
32928
  var updateAfterDataIndex = function updateAfterDataIndex() {
32929
+ var treeConfig = props.treeConfig;
32900
32930
  var afterFullData = internalData.afterFullData,
32901
- fullDataRowIdData = internalData.fullDataRowIdData;
32902
- afterFullData.forEach(function (row, _index) {
32903
- var rowid = util_getRowid($xetable, row);
32931
+ fullDataRowIdData = internalData.fullDataRowIdData,
32932
+ fullAllDataRowIdData = internalData.fullAllDataRowIdData;
32933
+ var treeFullData = internalData.treeFullData;
32934
+ var treeOpts = computeTreeOpts.value;
32904
32935
 
32905
- var rest = fullDataRowIdData[rowid];
32936
+ if (treeConfig) {
32937
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.eachTree(treeFullData, function (row, index, items, path) {
32938
+ var rowid = util_getRowid($xetable, row);
32906
32939
 
32907
- if (rest) {
32908
- rest._index = _index;
32909
- } else {
32910
- fullDataRowIdData[rowid] = {
32911
- row: row,
32912
- rowid: rowid,
32913
- index: -1,
32914
- $index: -1,
32915
- _index: _index,
32916
- items: [],
32917
- parent: null,
32918
- level: 0
32919
- };
32920
- }
32921
- });
32940
+ var allrest = fullAllDataRowIdData[rowid];
32941
+ var fullrest = fullDataRowIdData[rowid];
32942
+ var seq = path.map(function (num, i) {
32943
+ return i % 2 === 0 ? Number(num) + 1 : '.';
32944
+ }).join('');
32945
+
32946
+ if (allrest) {
32947
+ allrest.seq = seq;
32948
+ }
32949
+
32950
+ if (fullrest) {
32951
+ fullrest.seq = seq;
32952
+ } else {
32953
+ fullAllDataRowIdData[rowid] = {
32954
+ row: row,
32955
+ rowid: rowid,
32956
+ seq: seq,
32957
+ index: -1,
32958
+ $index: -1,
32959
+ _index: index,
32960
+ items: [],
32961
+ parent: null,
32962
+ level: 0
32963
+ };
32964
+ fullDataRowIdData[rowid] = {
32965
+ row: row,
32966
+ rowid: rowid,
32967
+ seq: seq,
32968
+ index: -1,
32969
+ $index: -1,
32970
+ _index: index,
32971
+ items: [],
32972
+ parent: null,
32973
+ level: 0
32974
+ };
32975
+ }
32976
+ }, treeOpts);
32977
+ } else {
32978
+ afterFullData.forEach(function (row, index) {
32979
+ var rowid = util_getRowid($xetable, row);
32980
+
32981
+ var allrest = fullAllDataRowIdData[rowid];
32982
+ var fullrest = fullDataRowIdData[rowid];
32983
+ var seq = index + 1;
32984
+
32985
+ if (allrest) {
32986
+ allrest.seq = seq;
32987
+ }
32988
+
32989
+ if (fullrest) {
32990
+ fullrest.seq = seq;
32991
+ fullrest._index = index;
32992
+ } else {
32993
+ fullAllDataRowIdData[rowid] = {
32994
+ row: row,
32995
+ rowid: rowid,
32996
+ seq: seq,
32997
+ index: -1,
32998
+ $index: -1,
32999
+ _index: index,
33000
+ items: [],
33001
+ parent: null,
33002
+ level: 0
33003
+ };
33004
+ fullDataRowIdData[rowid] = {
33005
+ row: row,
33006
+ rowid: rowid,
33007
+ seq: seq,
33008
+ index: -1,
33009
+ $index: -1,
33010
+ _index: index,
33011
+ items: [],
33012
+ parent: null,
33013
+ level: 0
33014
+ };
33015
+ }
33016
+ });
33017
+ }
32922
33018
  };
32923
33019
  /**
32924
33020
  * 获取处理后全量的表格数据
@@ -33344,8 +33440,8 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
33344
33440
  if (colspan > 1) {
33345
33441
  var columnIndex = tableMethods.getColumnIndex(column);
33346
33442
 
33347
- for (var _index2 = 1; _index2 < colspan; _index2++) {
33348
- var nextColumn = tableMethods.getColumns(columnIndex + _index2);
33443
+ for (var _index = 1; _index < colspan; _index++) {
33444
+ var nextColumn = tableMethods.getColumns(columnIndex + _index);
33349
33445
 
33350
33446
  if (nextColumn) {
33351
33447
  colWidth += nextColumn.renderWidth;
@@ -34140,12 +34236,12 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
34140
34236
  }
34141
34237
 
34142
34238
  reactData.scrollXLoad = scrollXLoad;
34143
- visibleColumn.forEach(function (column, _index) {
34239
+ visibleColumn.forEach(function (column, index) {
34144
34240
  var colid = column.id;
34145
34241
  var rest = fullColumnIdData[colid];
34146
34242
 
34147
34243
  if (rest) {
34148
- rest._index = _index;
34244
+ rest._index = index;
34149
34245
  }
34150
34246
  });
34151
34247
  internalData.visibleColumn = visibleColumn;
@@ -34354,6 +34450,40 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
34354
34450
  }
34355
34451
  };
34356
34452
 
34453
+ var createGetRowCacheProp = function createGetRowCacheProp(prop) {
34454
+ return function (row) {
34455
+ var fullDataRowIdData = internalData.fullDataRowIdData;
34456
+
34457
+ if (row) {
34458
+ var rowid = util_getRowid($xetable, row);
34459
+
34460
+ var rest = fullDataRowIdData[rowid];
34461
+
34462
+ if (rest) {
34463
+ return rest[prop];
34464
+ }
34465
+ }
34466
+
34467
+ return -1;
34468
+ };
34469
+ };
34470
+
34471
+ var createGetColumnCacheProp = function createGetColumnCacheProp(prop) {
34472
+ return function (column) {
34473
+ var fullColumnIdData = internalData.fullColumnIdData;
34474
+
34475
+ if (column) {
34476
+ var rest = fullColumnIdData[column.id];
34477
+
34478
+ if (rest) {
34479
+ return rest[prop];
34480
+ }
34481
+ }
34482
+
34483
+ return -1;
34484
+ };
34485
+ };
34486
+
34357
34487
  var debounceScrollY = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.debounce(function (evnt) {
34358
34488
  loadScrollYData(evnt);
34359
34489
  }, 20, {
@@ -34513,6 +34643,7 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
34513
34643
  var rest = {
34514
34644
  row: childRow,
34515
34645
  rowid: rowid,
34646
+ seq: -1,
34516
34647
  index: -1,
34517
34648
  _index: -1,
34518
34649
  $index: -1,
@@ -34606,118 +34737,46 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
34606
34737
  },
34607
34738
 
34608
34739
  /**
34609
- * 根据 row 获取相对于 data 中的索引
34740
+ * 根据 row 获取序号
34610
34741
  * @param {Row} row 行对象
34611
34742
  */
34612
- getRowIndex: function getRowIndex(row) {
34613
- var fullDataRowIdData = internalData.fullDataRowIdData;
34614
-
34615
- if (row) {
34616
- var rowid = util_getRowid($xetable, row);
34617
-
34618
- var rest = fullDataRowIdData[rowid];
34743
+ getRowSeq: createGetRowCacheProp('seq'),
34619
34744
 
34620
- if (rest) {
34621
- return rest.index;
34622
- }
34623
- }
34624
-
34625
- return -1;
34626
- },
34745
+ /**
34746
+ * 根据 row 获取相对于 data 中的索引
34747
+ * @param {Row} row 行对象
34748
+ */
34749
+ getRowIndex: createGetRowCacheProp('index'),
34627
34750
 
34628
34751
  /**
34629
34752
  * 根据 row 获取相对于当前数据中的索引
34630
34753
  * @param {Row} row 行对象
34631
34754
  */
34632
- getVTRowIndex: function getVTRowIndex(row) {
34633
- var fullDataRowIdData = internalData.fullDataRowIdData;
34634
-
34635
- if (row) {
34636
- var rowid = util_getRowid($xetable, row);
34637
-
34638
- var rest = fullDataRowIdData[rowid];
34639
-
34640
- if (rest) {
34641
- return rest._index;
34642
- }
34643
- }
34644
-
34645
- return -1;
34646
- },
34755
+ getVTRowIndex: createGetRowCacheProp('_index'),
34647
34756
 
34648
34757
  /**
34649
34758
  * 根据 row 获取渲染中的虚拟索引
34650
34759
  * @param {Row} row 行对象
34651
34760
  */
34652
- getVMRowIndex: function getVMRowIndex(row) {
34653
- var fullDataRowIdData = internalData.fullDataRowIdData;
34654
-
34655
- if (row) {
34656
- var rowid = util_getRowid($xetable, row);
34657
-
34658
- var rest = fullDataRowIdData[rowid];
34659
-
34660
- if (rest) {
34661
- return rest.$index;
34662
- }
34663
- }
34664
-
34665
- return -1;
34666
- },
34761
+ getVMRowIndex: createGetRowCacheProp('$index'),
34667
34762
 
34668
34763
  /**
34669
34764
  * 根据 column 获取相对于 columns 中的索引
34670
34765
  * @param {ColumnInfo} column 列配置
34671
34766
  */
34672
- getColumnIndex: function getColumnIndex(column) {
34673
- var fullColumnIdData = internalData.fullColumnIdData;
34674
-
34675
- if (column) {
34676
- var rest = fullColumnIdData[column.id];
34677
-
34678
- if (rest) {
34679
- return rest.index;
34680
- }
34681
- }
34682
-
34683
- return -1;
34684
- },
34767
+ getColumnIndex: createGetColumnCacheProp('index'),
34685
34768
 
34686
34769
  /**
34687
34770
  * 根据 column 获取相对于当前表格列中的索引
34688
34771
  * @param {ColumnInfo} column 列配置
34689
34772
  */
34690
- getVTColumnIndex: function getVTColumnIndex(column) {
34691
- var fullColumnIdData = internalData.fullColumnIdData;
34692
-
34693
- if (column) {
34694
- var rest = fullColumnIdData[column.id];
34695
-
34696
- if (rest) {
34697
- return rest._index;
34698
- }
34699
- }
34700
-
34701
- return -1;
34702
- },
34773
+ getVTColumnIndex: createGetColumnCacheProp('_index'),
34703
34774
 
34704
34775
  /**
34705
34776
  * 根据 column 获取渲染中的虚拟索引
34706
34777
  * @param {ColumnInfo} column 列配置
34707
34778
  */
34708
- getVMColumnIndex: function getVMColumnIndex(column) {
34709
- var fullColumnIdData = internalData.fullColumnIdData;
34710
-
34711
- if (column) {
34712
- var rest = fullColumnIdData[column.id];
34713
-
34714
- if (rest) {
34715
- return rest.$index;
34716
- }
34717
- }
34718
-
34719
- return -1;
34720
- },
34779
+ getVMColumnIndex: createGetColumnCacheProp('$index'),
34721
34780
 
34722
34781
  /**
34723
34782
  * 创建 data 对象
@@ -37182,6 +37241,9 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
37182
37241
  var handleCache = function handleCache(row, index, items, path, parent, nodes) {
37183
37242
  var rowid = util_getRowid($xetable, row);
37184
37243
 
37244
+ var seq = treeConfig && path ? toTreePathSeq(path) : index + 1;
37245
+ var level = nodes ? nodes.length - 1 : 0;
37246
+
37185
37247
  if (eqEmptyValue(rowid)) {
37186
37248
  rowid = getRowUniqueId();
37187
37249
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default.a.set(row, rowkey, rowid);
@@ -37194,12 +37256,13 @@ var visibleStorageKey = 'VXE_TABLE_CUSTOM_COLUMN_VISIBLE';
37194
37256
  var rest = {
37195
37257
  row: row,
37196
37258
  rowid: rowid,
37259
+ seq: seq,
37197
37260
  index: treeConfig && parent ? -1 : index,
37198
37261
  _index: -1,
37199
37262
  $index: -1,
37200
37263
  items: items,
37201
37264
  parent: parent,
37202
- level: nodes ? nodes.length - 1 : 0
37265
+ level: level
37203
37266
  };
37204
37267
 
37205
37268
  if (isSource) {