vxe-table 3.13.20 → 3.13.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.umd.js CHANGED
@@ -3201,7 +3201,7 @@ function getClass(property, params) {
3201
3201
  ;// ./packages/ui/index.ts
3202
3202
 
3203
3203
 
3204
- const version = "3.13.20";
3204
+ const version = "3.13.22";
3205
3205
  core_.VxeUI.version = version;
3206
3206
  core_.VxeUI.tableVersion = version;
3207
3207
  core_.VxeUI.setConfig({
@@ -3828,7 +3828,7 @@ var es_iterator_map = __webpack_require__(1701);
3828
3828
  const {
3829
3829
  log: log_log
3830
3830
  } = core_.VxeUI;
3831
- const log_version = `table v${"3.13.20"}`;
3831
+ const log_version = `table v${"3.13.22"}`;
3832
3832
  const warnLog = log_log.create('warn', log_version);
3833
3833
  const errLog = log_log.create('error', log_version);
3834
3834
  ;// ./packages/table/src/columnInfo.ts
@@ -9097,24 +9097,26 @@ const Methods = {
9097
9097
  reactData.treeExpandedMaps = treeTempExpandedMaps;
9098
9098
  },
9099
9099
  cacheSourceMap(fullData) {
9100
+ const $xeTable = this;
9101
+ const props = $xeTable;
9102
+ const internalData = $xeTable;
9103
+ const {
9104
+ treeConfig
9105
+ } = props;
9106
+ const treeOpts = $xeTable.computeTreeOpts;
9100
9107
  let {
9101
- treeConfig,
9102
- treeOpts,
9103
9108
  sourceDataRowIdData
9104
- } = this;
9109
+ } = internalData;
9105
9110
  const sourceData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(fullData, true);
9106
- const rowkey = getRowkey(this);
9107
- sourceDataRowIdData = this.sourceDataRowIdData = {};
9111
+ const rowkey = getRowkey($xeTable);
9112
+ sourceDataRowIdData = internalData.sourceDataRowIdData = {};
9108
9113
  const handleSourceRow = row => {
9109
- let rowid = getRowid(this, row);
9114
+ let rowid = getRowid($xeTable, row);
9110
9115
  if (eqEmptyValue(rowid)) {
9111
9116
  rowid = getRowUniqueId();
9112
9117
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, rowkey, rowid);
9113
9118
  }
9114
- sourceDataRowIdData[rowid] = {
9115
- row,
9116
- rowid
9117
- };
9119
+ sourceDataRowIdData[rowid] = row;
9118
9120
  };
9119
9121
  // 源数据缓存
9120
9122
  if (treeConfig) {
@@ -9125,7 +9127,7 @@ const Methods = {
9125
9127
  } else {
9126
9128
  sourceData.forEach(handleSourceRow);
9127
9129
  }
9128
- this.tableSourceData = sourceData;
9130
+ internalData.tableSourceData = sourceData;
9129
9131
  },
9130
9132
  getParams() {
9131
9133
  return this.params;
@@ -9503,6 +9505,9 @@ const Methods = {
9503
9505
  keepSource,
9504
9506
  treeConfig
9505
9507
  } = props;
9508
+ const {
9509
+ editStore
9510
+ } = reactData;
9506
9511
  const {
9507
9512
  fullAllDataRowIdData,
9508
9513
  fullDataRowIdData,
@@ -9511,6 +9516,9 @@ const Methods = {
9511
9516
  tableFullData,
9512
9517
  afterFullData
9513
9518
  } = internalData;
9519
+ const removeTempMaps = {
9520
+ ...editStore.removeMaps
9521
+ };
9514
9522
  const treeOpts = $xeTable.computeTreeOpts;
9515
9523
  const {
9516
9524
  transform
@@ -9545,6 +9553,7 @@ const Methods = {
9545
9553
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().destructuring(row, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(oRow, true));
9546
9554
  }
9547
9555
  if (!fullDataRowIdData[rowid] && $xeTable.isRemoveByRow(row)) {
9556
+ delete removeTempMaps[rowid];
9548
9557
  tableFullData.unshift(row);
9549
9558
  afterFullData.unshift(row);
9550
9559
  reDelFlag = true;
@@ -9556,6 +9565,7 @@ const Methods = {
9556
9565
  }
9557
9566
  if (rows) {
9558
9567
  if (reDelFlag) {
9568
+ editStore.removeMaps = removeTempMaps;
9559
9569
  $xeTable.updateFooter();
9560
9570
  $xeTable.cacheRowMap(false);
9561
9571
  $xeTable.handleTableData(treeConfig && transform);
@@ -11923,8 +11933,9 @@ const Methods = {
11923
11933
  // 如果按下了方向键
11924
11934
  if (selected.row && selected.column) {
11925
11935
  this.moveSelected(selected.args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt);
11926
- } else if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
11927
- // 当前行按键上下移动
11936
+ }
11937
+ // 当前行按键上下移动
11938
+ if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
11928
11939
  this.moveCurrentRow(isUpArrow, isDwArrow, evnt);
11929
11940
  }
11930
11941
  }
@@ -25202,15 +25213,22 @@ function getCheckboxRangeRows($xeTable, evnt, params, targetTrElem, trRect, offs
25202
25213
  },
25203
25214
  // 处理当前行方向键移动
25204
25215
  moveCurrentRow(isUpArrow, isDwArrow, evnt) {
25216
+ const $xeTable = this;
25217
+ const props = $xeTable;
25218
+ const reactData = $xeTable;
25219
+ const internalData = $xeTable;
25220
+ const {
25221
+ treeConfig
25222
+ } = props;
25223
+ const {
25224
+ currentRow
25225
+ } = reactData;
25205
25226
  const {
25206
- currentRow,
25207
- treeConfig,
25208
- treeOpts,
25209
25227
  afterFullData
25210
- } = this;
25228
+ } = internalData;
25229
+ const treeOpts = $xeTable.computeTreeOpts;
25211
25230
  const childrenField = treeOpts.children || treeOpts.childrenField;
25212
25231
  let targetRow;
25213
- evnt.preventDefault();
25214
25232
  if (currentRow) {
25215
25233
  if (treeConfig) {
25216
25234
  const {
@@ -25225,7 +25243,7 @@ function getCheckboxRangeRows($xeTable, evnt, params, targetTrElem, trRect, offs
25225
25243
  targetRow = items[index + 1];
25226
25244
  }
25227
25245
  } else {
25228
- const _rowIndex = this.getVTRowIndex(currentRow);
25246
+ const _rowIndex = $xeTable.getVTRowIndex(currentRow);
25229
25247
  if (isUpArrow && _rowIndex > 0) {
25230
25248
  targetRow = afterFullData[_rowIndex - 1];
25231
25249
  } else if (isDwArrow && _rowIndex < afterFullData.length - 1) {
@@ -25236,11 +25254,47 @@ function getCheckboxRangeRows($xeTable, evnt, params, targetTrElem, trRect, offs
25236
25254
  targetRow = afterFullData[0];
25237
25255
  }
25238
25256
  if (targetRow) {
25257
+ evnt.preventDefault();
25239
25258
  const params = {
25240
- $table: this,
25241
- row: targetRow
25259
+ $table: $xeTable,
25260
+ row: targetRow,
25261
+ rowIndex: $xeTable.getRowIndex(targetRow),
25262
+ $rowIndex: $xeTable.getVMRowIndex(targetRow)
25242
25263
  };
25243
- this.scrollToRow(targetRow).then(() => this.triggerCurrentRowEvent(evnt, params));
25264
+ $xeTable.scrollToRow(targetRow).then(() => $xeTable.triggerCurrentRowEvent(evnt, params));
25265
+ }
25266
+ },
25267
+ // 处理当前列方向键移动
25268
+ moveCurrentColumn(isLeftArrow, isRightArrow, evnt) {
25269
+ const $xeTable = this;
25270
+ const reactData = $xeTable;
25271
+ const internalData = $xeTable;
25272
+ const {
25273
+ currentColumn
25274
+ } = reactData;
25275
+ const {
25276
+ visibleColumn
25277
+ } = internalData;
25278
+ let targetCol = null;
25279
+ if (currentColumn) {
25280
+ const _columnIndex = $xeTable.getVTColumnIndex(currentColumn);
25281
+ if (isLeftArrow && _columnIndex > 0) {
25282
+ targetCol = visibleColumn[_columnIndex - 1];
25283
+ } else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
25284
+ targetCol = visibleColumn[_columnIndex + 1];
25285
+ }
25286
+ } else {
25287
+ targetCol = visibleColumn[0];
25288
+ }
25289
+ if (targetCol) {
25290
+ evnt.preventDefault();
25291
+ const params = {
25292
+ $table: $xeTable,
25293
+ column: targetCol,
25294
+ columnIndex: $xeTable.getColumnIndex(targetCol),
25295
+ $columnIndex: $xeTable.getVMColumnIndex(targetCol)
25296
+ };
25297
+ $xeTable.scrollToColumn(targetCol).then(() => $xeTable.triggerCurrentColumnEvent(evnt, params));
25244
25298
  }
25245
25299
  },
25246
25300
  // 处理可编辑方向键移动
@@ -29259,6 +29313,24 @@ function getFuncSlot($xeGrid, optSlots, slotKey) {
29259
29313
  }
29260
29314
  return null;
29261
29315
  }
29316
+ const getConfigSlot = ($xeGrid, slotConfigs) => {
29317
+ const slots = $xeGrid.$scopedSlots;
29318
+ const slotConf = {};
29319
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().objectMap(slotConfigs, (slotFunc, slotKey) => {
29320
+ if (slotFunc) {
29321
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(slotFunc)) {
29322
+ if (slots[slotFunc]) {
29323
+ slotConf[slotKey] = slots[slotFunc];
29324
+ } else {
29325
+ errLog('vxe.error.notSlot', [slotFunc]);
29326
+ }
29327
+ } else {
29328
+ slotConf[slotKey] = slotFunc;
29329
+ }
29330
+ }
29331
+ });
29332
+ return slotConf;
29333
+ };
29262
29334
  function getToolbarSlots(_vm) {
29263
29335
  const {
29264
29336
  $scopedSlots,
@@ -29288,26 +29360,6 @@ function getToolbarSlots(_vm) {
29288
29360
  }
29289
29361
  return slots;
29290
29362
  }
29291
- function getPagerSlots(_vm) {
29292
- const {
29293
- pagerOpts
29294
- } = _vm;
29295
- const pagerOptSlots = pagerOpts.slots;
29296
- const slots = {};
29297
- let leftSlot;
29298
- let rightSlot;
29299
- if (pagerOptSlots) {
29300
- leftSlot = getFuncSlot(_vm, pagerOptSlots, 'left');
29301
- rightSlot = getFuncSlot(_vm, pagerOptSlots, 'right');
29302
- if (leftSlot) {
29303
- slots.left = leftSlot;
29304
- }
29305
- if (rightSlot) {
29306
- slots.right = rightSlot;
29307
- }
29308
- }
29309
- return slots;
29310
- }
29311
29363
  function getTableOns(_vm) {
29312
29364
  const {
29313
29365
  $listeners,
@@ -29330,6 +29382,30 @@ function getTableOns(_vm) {
29330
29382
  }
29331
29383
  return ons;
29332
29384
  }
29385
+ function pageChangeEvent($xeGrid, params) {
29386
+ const props = $xeGrid;
29387
+ const reactData = $xeGrid;
29388
+ const {
29389
+ proxyConfig
29390
+ } = props;
29391
+ const {
29392
+ tablePage
29393
+ } = reactData;
29394
+ const {
29395
+ $event,
29396
+ currentPage,
29397
+ pageSize
29398
+ } = params;
29399
+ const proxyOpts = $xeGrid.computeProxyOpts;
29400
+ tablePage.currentPage = currentPage;
29401
+ tablePage.pageSize = pageSize;
29402
+ $xeGrid.dispatchEvent('page-change', params, $event);
29403
+ if (proxyConfig && isEnableConf(proxyOpts)) {
29404
+ $xeGrid.commitProxy('query').then(rest => {
29405
+ $xeGrid.dispatchEvent('proxy-query', rest, $event);
29406
+ });
29407
+ }
29408
+ }
29333
29409
  /**
29334
29410
  * 渲染表单
29335
29411
  */
@@ -29467,32 +29543,34 @@ function renderBottom(h, _vm) {
29467
29543
  function renderPager(h, $xeGrid) {
29468
29544
  const VxeUIPagerComponent = core_.VxeUI.getComponent('VxePager');
29469
29545
  const props = $xeGrid;
29546
+ const slots = $xeGrid.$scopedSlots;
29547
+ const reactData = $xeGrid;
29470
29548
  const {
29471
- pagerConfig,
29472
- proxyConfig
29549
+ proxyConfig,
29550
+ pagerConfig
29473
29551
  } = props;
29474
- const {
29475
- $scopedSlots,
29476
- tablePage
29477
- } = $xeGrid;
29478
- const pagerSlot = $scopedSlots.pager;
29479
- const hasPager = !!(pagerSlot || isEnableConf(pagerConfig));
29480
- if (hasPager) {
29552
+ const proxyOpts = $xeGrid.computeProxyOpts;
29553
+ const pagerOpts = $xeGrid.computePagerOpts;
29554
+ const pagerSlot = slots.pager;
29555
+ if (pagerConfig && isEnableConf(pagerOpts) || slots.pager) {
29481
29556
  return h('div', {
29482
- key: 'pager',
29483
29557
  ref: 'refPagerWrapper',
29558
+ key: 'pager',
29484
29559
  class: 'vxe-grid--pager-wrapper'
29485
29560
  }, pagerSlot ? pagerSlot.call($xeGrid, {
29486
29561
  $grid: $xeGrid
29487
- }, h) : [VxeUIPagerComponent ? h(VxeUIPagerComponent, {
29562
+ }) : [VxeUIPagerComponent ? h(VxeUIPagerComponent, {
29563
+ ref: 'refPager',
29488
29564
  props: {
29489
- ...$xeGrid.pagerOpts,
29490
- ...(proxyConfig ? tablePage : {})
29565
+ ...pagerOpts,
29566
+ ...(proxyConfig && isEnableConf(proxyOpts) ? reactData.tablePage : {})
29491
29567
  },
29492
29568
  on: {
29493
- 'page-change': $xeGrid.pageChangeEvent
29569
+ 'page-change'(params) {
29570
+ pageChangeEvent($xeGrid, params);
29571
+ }
29494
29572
  },
29495
- scopedSlots: getPagerSlots($xeGrid)
29573
+ scopedSlots: getConfigSlot($xeGrid, pagerOpts.slots)
29496
29574
  }) : grid_renderEmptyElement($xeGrid)]);
29497
29575
  }
29498
29576
  return grid_renderEmptyElement($xeGrid);
@@ -29855,20 +29933,25 @@ Object.keys(table.methods).forEach(name => {
29855
29933
  isZMax
29856
29934
  } = reactData;
29857
29935
  const el = $xeGrid.$refs.refElem;
29858
- const formWrapper = $xeGrid.$refs.refFormWrapper;
29859
- const toolbarWrapper = $xeGrid.$refs.refToolbarWrapper;
29860
- const topWrapper = $xeGrid.$refs.refTopWrapper;
29861
- const bottomWrapper = $xeGrid.$refs.refBottomWrapper;
29862
- const pagerWrapper = $xeGrid.$refs.refPagerWrapper;
29863
- const parentPaddingSize = isZMax ? 0 : getPaddingTopBottomSize(el.parentNode);
29864
- return parentPaddingSize + getPaddingTopBottomSize(el) + getOffsetHeight(formWrapper) + getOffsetHeight(toolbarWrapper) + getOffsetHeight(topWrapper) + getOffsetHeight(bottomWrapper) + getOffsetHeight(pagerWrapper);
29936
+ if (el) {
29937
+ const formWrapper = $xeGrid.$refs.refFormWrapper;
29938
+ const toolbarWrapper = $xeGrid.$refs.refToolbarWrapper;
29939
+ const topWrapper = $xeGrid.$refs.refTopWrapper;
29940
+ const bottomWrapper = $xeGrid.$refs.refBottomWrapper;
29941
+ const pagerWrapper = $xeGrid.$refs.refPagerWrapper;
29942
+ const parentEl = el.parentElement;
29943
+ const parentPaddingSize = isZMax ? 0 : parentEl ? getPaddingTopBottomSize(parentEl) : 0;
29944
+ return parentPaddingSize + getPaddingTopBottomSize(el) + getOffsetHeight(formWrapper) + getOffsetHeight(toolbarWrapper) + getOffsetHeight(topWrapper) + getOffsetHeight(bottomWrapper) + getOffsetHeight(pagerWrapper);
29945
+ }
29946
+ return 0;
29865
29947
  },
29866
29948
  getParentHeight() {
29867
29949
  const $xeGrid = this;
29868
29950
  const reactData = $xeGrid;
29869
29951
  const el = $xeGrid.$refs.refElem;
29870
29952
  if (el) {
29871
- return (reactData.isZMax ? getDomNode().visibleHeight : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(getComputedStyle(el.parentNode).height)) - $xeGrid.getExcludeHeight();
29953
+ const parentEl = el.parentElement;
29954
+ return (reactData.isZMax ? getDomNode().visibleHeight : parentEl ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(getComputedStyle(parentEl).height) : 0) - $xeGrid.getExcludeHeight();
29872
29955
  }
29873
29956
  return 0;
29874
29957
  },
@@ -30510,30 +30593,6 @@ Object.keys(table.methods).forEach(name => {
30510
30593
  }
30511
30594
  }
30512
30595
  },
30513
- pageChangeEvent(params) {
30514
- const {
30515
- proxyConfig,
30516
- tablePage
30517
- } = this;
30518
- const {
30519
- currentPage,
30520
- pageSize
30521
- } = params;
30522
- tablePage.currentPage = currentPage;
30523
- tablePage.pageSize = pageSize;
30524
- this.$emit('page-change', Object.assign({
30525
- $grid: this
30526
- }, params));
30527
- if (proxyConfig) {
30528
- this.commitProxy('query').then(rest => {
30529
- this.$emit('proxy-query', {
30530
- ...rest,
30531
- $grid: this,
30532
- $event: params.$event
30533
- });
30534
- });
30535
- }
30536
- },
30537
30596
  sortChangeEvent(params) {
30538
30597
  const {
30539
30598
  $table,