vxe-table 4.7.75 → 4.7.77

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.
@@ -2134,9 +2134,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
2134
2134
  if (rows && !_xeUtils.default.isArray(rows)) {
2135
2135
  rows = [rows];
2136
2136
  }
2137
- rows.forEach(row => tablePrivateMethods.handleSelectRow({
2138
- row
2139
- }, !!value, isForce));
2137
+ tablePrivateMethods.handleBatchSelectRows(rows, !!value, isForce);
2138
+ tablePrivateMethods.checkSelectionStatus();
2140
2139
  return (0, _vue.nextTick)();
2141
2140
  };
2142
2141
  const handleCheckedAllCheckboxRow = (value, isForce) => {
@@ -2148,7 +2147,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
2148
2147
  } = reactData;
2149
2148
  const {
2150
2149
  afterFullData,
2151
- afterFullRowMaps,
2152
2150
  checkboxReserveRowMap
2153
2151
  } = internalData;
2154
2152
  const treeOpts = computeTreeOpts.value;
@@ -2162,15 +2160,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
2162
2160
  } = checkboxOpts;
2163
2161
  const indeterminateField = checkboxOpts.indeterminateField || checkboxOpts.halfField;
2164
2162
  const selectRowMaps = {};
2165
- // 疑惑!
2166
- if (!treeConfig) {
2167
- _xeUtils.default.each(selectCheckboxMaps, (row, rowid) => {
2168
- if (!afterFullRowMaps[rowid]) {
2169
- selectRowMaps[rowid] = row;
2170
- }
2171
- });
2172
- }
2173
- // 疑惑!
2174
2163
  if (checkStrictly) {
2175
2164
  reactData.isAllSelected = value;
2176
2165
  } else {
@@ -3267,7 +3256,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
3267
3256
  if (!_xeUtils.default.isArray(rows)) {
3268
3257
  rest = [rows];
3269
3258
  }
3270
- rest.forEach(item => Object.assign(item, record));
3259
+ const rowkey = (0, _util.getRowkey)($xeTable);
3260
+ rest.forEach(row => {
3261
+ const rowid = (0, _util.getRowid)($xeTable, row);
3262
+ const newRecord = _xeUtils.default.clone(Object.assign({}, record), true);
3263
+ _xeUtils.default.set(newRecord, rowkey, rowid);
3264
+ Object.assign(row, newRecord);
3265
+ });
3271
3266
  }
3272
3267
  return (0, _vue.nextTick)();
3273
3268
  },
@@ -3293,11 +3288,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
3293
3288
  const oRow = tableSourceData[rowIndex];
3294
3289
  if (oRow && row) {
3295
3290
  if (field) {
3296
- const newValue = _xeUtils.default.get(record || row, field);
3291
+ const newValue = _xeUtils.default.clone(_xeUtils.default.get(record || row, field), true);
3297
3292
  _xeUtils.default.set(row, field, newValue);
3298
3293
  _xeUtils.default.set(oRow, field, newValue);
3299
3294
  } else {
3295
+ const rowkey = (0, _util.getRowkey)($xeTable);
3296
+ const rowid = (0, _util.getRowid)($xeTable, row);
3300
3297
  const newRecord = _xeUtils.default.clone(Object.assign({}, record), true);
3298
+ _xeUtils.default.set(newRecord, rowkey, rowid);
3301
3299
  _xeUtils.default.destructuring(oRow, Object.assign(row, newRecord));
3302
3300
  }
3303
3301
  }
@@ -4175,6 +4173,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
4175
4173
  * @param {Boolean} value 是否选中
4176
4174
  */
4177
4175
  setCheckboxRow(rows, value) {
4176
+ if (rows && !_xeUtils.default.isArray(rows)) {
4177
+ rows = [rows];
4178
+ }
4178
4179
  return handleCheckedCheckboxRow(rows, value, true);
4179
4180
  },
4180
4181
  isCheckedByCheckboxRow(row) {
@@ -4211,6 +4212,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
4211
4212
  tablePrivateMethods.handleSelectRow({
4212
4213
  row
4213
4214
  }, value, true);
4215
+ tablePrivateMethods.checkSelectionStatus();
4214
4216
  return (0, _vue.nextTick)();
4215
4217
  },
4216
4218
  /**
@@ -6138,7 +6140,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
6138
6140
  const el = refElem.value;
6139
6141
  if (el) {
6140
6142
  const parentElem = el.parentNode;
6141
- const parentPaddingSize = height === 'fill' || height === 'auto' ? (0, _dom.getPaddingTopBottomSize)(parentElem) : 0;
6143
+ const parentPaddingSize = height === '100%' || height === 'auto' ? (0, _dom.getPaddingTopBottomSize)(parentElem) : 0;
6142
6144
  return Math.floor($xeGrid ? $xeGrid.getParentHeight() : _xeUtils.default.toNumber(getComputedStyle(parentElem).height) - parentPaddingSize);
6143
6145
  }
6144
6146
  return 0;
@@ -6546,6 +6548,72 @@ var _default = exports.default = (0, _vue.defineComponent)({
6546
6548
  }
6547
6549
  },
6548
6550
  /**
6551
+ * 多行
6552
+ * 多选,行选中事件
6553
+ * value 选中true 不选false 半选-1
6554
+ */
6555
+ handleBatchSelectRows(rows, value, isForce) {
6556
+ const {
6557
+ treeConfig
6558
+ } = props;
6559
+ const {
6560
+ selectCheckboxMaps
6561
+ } = reactData;
6562
+ const selectRowMaps = Object.assign({}, selectCheckboxMaps);
6563
+ const checkboxOpts = computeCheckboxOpts.value;
6564
+ const {
6565
+ checkField,
6566
+ checkStrictly,
6567
+ checkMethod
6568
+ } = checkboxOpts;
6569
+ if (checkField) {
6570
+ if (treeConfig && !checkStrictly) {
6571
+ rows.forEach(row => {
6572
+ tablePrivateMethods.handleSelectRow({
6573
+ row
6574
+ }, value, isForce);
6575
+ });
6576
+ } else {
6577
+ rows.forEach(row => {
6578
+ if (isForce || !checkMethod || checkMethod({
6579
+ row
6580
+ })) {
6581
+ _xeUtils.default.set(row, checkField, value);
6582
+ handleCheckboxReserveRow(row, value);
6583
+ }
6584
+ });
6585
+ }
6586
+ } else {
6587
+ if (treeConfig && !checkStrictly) {
6588
+ rows.forEach(row => {
6589
+ tablePrivateMethods.handleSelectRow({
6590
+ row
6591
+ }, value, isForce);
6592
+ });
6593
+ } else {
6594
+ rows.forEach(row => {
6595
+ const rowid = (0, _util.getRowid)($xeTable, row);
6596
+ if (isForce || !checkMethod || checkMethod({
6597
+ row
6598
+ })) {
6599
+ if (value) {
6600
+ if (!selectRowMaps[rowid]) {
6601
+ selectRowMaps[rowid] = row;
6602
+ }
6603
+ } else {
6604
+ if (selectRowMaps[rowid]) {
6605
+ delete selectRowMaps[rowid];
6606
+ }
6607
+ }
6608
+ handleCheckboxReserveRow(row, value);
6609
+ }
6610
+ });
6611
+ }
6612
+ }
6613
+ reactData.selectCheckboxMaps = selectRowMaps;
6614
+ },
6615
+ /**
6616
+ * 单行
6549
6617
  * 多选,行选中事件
6550
6618
  * value 选中true 不选false 半选-1
6551
6619
  */
@@ -6638,9 +6706,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
6638
6706
  parentStatus = selectItems.filter(item => vItemMaps[(0, _util.getRowid)($xeTable, item)]).length === vItems.length ? true : selectItems.length || value === -1 ? -1 : false;
6639
6707
  }
6640
6708
  reactData.selectCheckboxMaps = selectRowMaps;
6641
- return tablePrivateMethods.handleSelectRow({
6709
+ tablePrivateMethods.handleSelectRow({
6642
6710
  row: matchObj.parent
6643
6711
  }, parentStatus, isForce);
6712
+ return;
6644
6713
  }
6645
6714
  } else {
6646
6715
  if (isForce || !checkMethod || checkMethod({
@@ -6725,9 +6794,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
6725
6794
  parentStatus = selectItems.filter(item => vItemMaps[(0, _util.getRowid)($xeTable, item)]).length === vItems.length ? true : selectItems.length || value === -1 ? -1 : false;
6726
6795
  }
6727
6796
  reactData.selectCheckboxMaps = selectRowMaps;
6728
- return tablePrivateMethods.handleSelectRow({
6797
+ tablePrivateMethods.handleSelectRow({
6729
6798
  row: matchObj.parent
6730
6799
  }, parentStatus, isForce);
6800
+ return;
6731
6801
  }
6732
6802
  } else {
6733
6803
  if (isForce || !checkMethod || checkMethod({
@@ -6747,7 +6817,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
6747
6817
  }
6748
6818
  }
6749
6819
  reactData.selectCheckboxMaps = selectRowMaps;
6750
- tablePrivateMethods.checkSelectionStatus();
6751
6820
  },
6752
6821
  triggerHeaderTitleEvent(evnt, iconParams, params) {
6753
6822
  const tipContent = iconParams.content || iconParams.message;
@@ -7056,6 +7125,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
7056
7125
  tablePrivateMethods.triggerCheckRowEvent(evnt, params, value);
7057
7126
  } else {
7058
7127
  tablePrivateMethods.handleSelectRow(params, value);
7128
+ tablePrivateMethods.checkSelectionStatus();
7059
7129
  }
7060
7130
  },
7061
7131
  triggerCheckRowEvent(evnt, params, value) {
@@ -7095,6 +7165,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
7095
7165
  row
7096
7166
  })) {
7097
7167
  tablePrivateMethods.handleSelectRow(params, value);
7168
+ tablePrivateMethods.checkSelectionStatus();
7098
7169
  tableMethods.dispatchEvent('checkbox-change', Object.assign({
7099
7170
  records: tableMethods.getCheckboxRecords(),
7100
7171
  reserves: tableMethods.getCheckboxReserveRecords(),