vxe-table 3.7.0-beta.1 → 3.7.0-beta.4

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
@@ -11042,7 +11042,7 @@ var es_array_concat = __webpack_require__(2222);
11042
11042
 
11043
11043
 
11044
11044
  function getLog(message, params) {
11045
- return "[vxe-table v".concat("3.7.0-beta.0", "] ").concat(conf.i18n(message, params));
11045
+ return "[vxe-table v".concat("3.7.0-beta.3", "] ").concat(conf.i18n(message, params));
11046
11046
  }
11047
11047
  function outLog(type) {
11048
11048
  return function (message, params) {
@@ -12229,7 +12229,7 @@ function _t(key, args) {
12229
12229
  var v = 'v3';
12230
12230
  var VXETable = {
12231
12231
  v: v,
12232
- version: "3.7.0-beta.0",
12232
+ version: "3.7.0-beta.3",
12233
12233
  reg: reg,
12234
12234
  use: use,
12235
12235
  setup: setup,
@@ -15890,7 +15890,7 @@ var Methods = {
15890
15890
  this.tableSynchData = datas;
15891
15891
  // 克隆原数据,用于显示编辑状态,与编辑值做对比
15892
15892
  if (keepSource) {
15893
- this.tableSourceData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(fullData, true);
15893
+ this.cacheSourceMap(fullData);
15894
15894
  }
15895
15895
  if (false) {}
15896
15896
  if (this.clearCellAreas && this.mouseConfig) {
@@ -16115,8 +16115,35 @@ var Methods = {
16115
16115
  tableFullData.forEach(handleCache);
16116
16116
  }
16117
16117
  },
16118
- loadTreeChildren: function loadTreeChildren(row, childRecords) {
16118
+ cacheSourceMap: function cacheSourceMap(fullData) {
16119
16119
  var _this11 = this;
16120
+ var treeConfig = this.treeConfig,
16121
+ treeOpts = this.treeOpts,
16122
+ sourceDataRowIdData = this.sourceDataRowIdData;
16123
+ var sourceData = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(fullData, true);
16124
+ var rowkey = getRowkey(this);
16125
+ sourceDataRowIdData = this.sourceDataRowIdData = {};
16126
+ var handleSourceRow = function handleSourceRow(row) {
16127
+ var rowid = getRowid(_this11, row);
16128
+ if (eqEmptyValue(rowid)) {
16129
+ rowid = getRowUniqueId();
16130
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, rowkey, rowid);
16131
+ }
16132
+ sourceDataRowIdData[rowid] = {
16133
+ row: row,
16134
+ rowid: rowid
16135
+ };
16136
+ };
16137
+ // 源数据缓存
16138
+ if (treeConfig && !treeOpts.transform) {
16139
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sourceData, handleSourceRow, treeOpts);
16140
+ } else {
16141
+ sourceData.forEach(handleSourceRow);
16142
+ }
16143
+ this.tableSourceData = sourceData;
16144
+ },
16145
+ loadTreeChildren: function loadTreeChildren(row, childRecords) {
16146
+ var _this12 = this;
16120
16147
  var keepSource = this.keepSource,
16121
16148
  tableSourceData = this.tableSourceData,
16122
16149
  treeOpts = this.treeOpts,
@@ -16131,16 +16158,16 @@ var Methods = {
16131
16158
  var parentLevel = rest ? rest.level : 0;
16132
16159
  return this.createData(childRecords).then(function (rows) {
16133
16160
  if (keepSource) {
16134
- var rowid = getRowid(_this11, row);
16161
+ var rowid = getRowid(_this12, row);
16135
16162
  var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableSourceData, function (item) {
16136
- return rowid === getRowid(_this11, item);
16163
+ return rowid === getRowid(_this12, item);
16137
16164
  }, treeOpts);
16138
16165
  if (matchObj) {
16139
16166
  matchObj.item[children] = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(rows, true);
16140
16167
  }
16141
16168
  }
16142
16169
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(rows, function (childRow, index, items, path, parent, nodes) {
16143
- var rowid = getRowid(_this11, childRow);
16170
+ var rowid = getRowid(_this12, childRow);
16144
16171
  var rest = {
16145
16172
  row: childRow,
16146
16173
  rowid: rowid,
@@ -16161,7 +16188,7 @@ var Methods = {
16161
16188
  if (transform) {
16162
16189
  row[mapChildren] = rows;
16163
16190
  }
16164
- _this11.updateAfterDataIndex();
16191
+ _this12.updateAfterDataIndex();
16165
16192
  return rows;
16166
16193
  });
16167
16194
  },
@@ -16170,7 +16197,7 @@ var Methods = {
16170
16197
  * 牺牲数据组装的耗时,用来换取使用过程中的流畅
16171
16198
  */
16172
16199
  cacheColumnMap: function cacheColumnMap() {
16173
- var _this12 = this;
16200
+ var _this13 = this;
16174
16201
  var tableFullColumn = this.tableFullColumn,
16175
16202
  collectColumn = this.collectColumn,
16176
16203
  fullColumnMap = this.fullColumnMap,
@@ -16379,7 +16406,7 @@ var Methods = {
16379
16406
  * @param {Row} records 行数据
16380
16407
  */
16381
16408
  defineField: function defineField(records) {
16382
- var _this13 = this;
16409
+ var _this14 = this;
16383
16410
  var radioOpts = this.radioOpts,
16384
16411
  checkboxOpts = this.checkboxOpts,
16385
16412
  treeConfig = this.treeConfig,
@@ -16390,7 +16417,7 @@ var Methods = {
16390
16417
  records = [records || {}];
16391
16418
  }
16392
16419
  return records.map(function (record) {
16393
- _this13.tableFullColumn.forEach(function (column) {
16420
+ _this14.tableFullColumn.forEach(function (column) {
16394
16421
  var field = column.field,
16395
16422
  editRender = column.editRender;
16396
16423
  if (field && !external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().has(record, field)) {
@@ -16430,9 +16457,9 @@ var Methods = {
16430
16457
  * @param {Array} records 新数据
16431
16458
  */
16432
16459
  createData: function createData(records) {
16433
- var _this14 = this;
16460
+ var _this15 = this;
16434
16461
  return this.$nextTick().then(function () {
16435
- return _this14.defineField(records);
16462
+ return _this15.defineField(records);
16436
16463
  });
16437
16464
  },
16438
16465
  /**
@@ -16457,7 +16484,7 @@ var Methods = {
16457
16484
  * 如果还额外传了 field 则还原指定的单元格数据
16458
16485
  */
16459
16486
  revertData: function revertData(rows, field) {
16460
- var _this15 = this;
16487
+ var _this16 = this;
16461
16488
  var keepSource = this.keepSource,
16462
16489
  tableSourceData = this.tableSourceData,
16463
16490
  treeConfig = this.treeConfig;
@@ -16475,8 +16502,8 @@ var Methods = {
16475
16502
  }
16476
16503
  if (targetRows.length) {
16477
16504
  targetRows.forEach(function (row) {
16478
- if (!_this15.isInsertByRow(row)) {
16479
- var rowIndex = _this15.getRowIndex(row);
16505
+ if (!_this16.isInsertByRow(row)) {
16506
+ var rowIndex = _this16.getRowIndex(row);
16480
16507
  if (treeConfig && rowIndex === -1) {
16481
16508
  errLog('vxe.error.noTree', ['revertData']);
16482
16509
  }
@@ -16550,39 +16577,24 @@ var Methods = {
16550
16577
  * @param {String} field 字段名
16551
16578
  */
16552
16579
  isUpdateByRow: function isUpdateByRow(row, field) {
16553
- var _this16 = this;
16554
16580
  var tableFullColumn = this.tableFullColumn,
16555
16581
  keepSource = this.keepSource,
16556
- treeConfig = this.treeConfig,
16557
- treeOpts = this.treeOpts,
16558
- tableSourceData = this.tableSourceData,
16582
+ sourceDataRowIdData = this.sourceDataRowIdData,
16559
16583
  fullDataRowIdData = this.fullDataRowIdData;
16560
16584
  if (keepSource) {
16561
- var oRow, property;
16562
16585
  var rowid = getRowid(this, row);
16563
16586
  // 新增的数据不需要检测
16564
16587
  if (!fullDataRowIdData[rowid]) {
16565
16588
  return false;
16566
16589
  }
16567
- if (treeConfig) {
16568
- var children = treeOpts.children;
16569
- var matchObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(tableSourceData, function (item) {
16570
- return rowid === getRowid(_this16, item);
16571
- }, treeOpts);
16572
- row = Object.assign({}, row, _defineProperty({}, children, null));
16573
- if (matchObj) {
16574
- oRow = Object.assign({}, matchObj.item, _defineProperty({}, children, null));
16575
- }
16576
- } else {
16577
- var oRowIndex = fullDataRowIdData[rowid].index;
16578
- oRow = tableSourceData[oRowIndex];
16579
- }
16580
- if (oRow) {
16590
+ var oldRest = sourceDataRowIdData[rowid];
16591
+ if (oldRest) {
16592
+ var oRow = oldRest.row;
16581
16593
  if (arguments.length > 1) {
16582
16594
  return !eqCellValue(oRow, row, field);
16583
16595
  }
16584
16596
  for (var index = 0, len = tableFullColumn.length; index < len; index++) {
16585
- property = tableFullColumn[index].field;
16597
+ var property = tableFullColumn[index].field;
16586
16598
  if (property && !eqCellValue(oRow, row, property)) {
16587
16599
  return true;
16588
16600
  }
@@ -17115,7 +17127,7 @@ var Methods = {
17115
17127
  */
17116
17128
  showColumn: function showColumn(fieldOrColumn) {
17117
17129
  var column = handleFieldOrColumn(this, fieldOrColumn);
17118
- if (column & !column.visible) {
17130
+ if (column && column.visible) {
17119
17131
  column.visible = true;
17120
17132
  return this.handleCustom();
17121
17133
  }
@@ -19848,7 +19860,10 @@ var Methods = {
19848
19860
  if (!remote || firstSortColumn && firstSortColumn.remoteSort) {
19849
19861
  this.handleTableData(true);
19850
19862
  }
19851
- return this.$nextTick().then(this.updateStyle);
19863
+ return this.$nextTick().then(function () {
19864
+ _this41.updateCellAreas();
19865
+ return _this41.updateStyle();
19866
+ });
19852
19867
  }
19853
19868
  return this.$nextTick();
19854
19869
  },
@@ -30120,7 +30135,8 @@ function getLabelData($xetable, opts, columns, datas) {
30120
30135
  var treeConfig = $xetable.treeConfig,
30121
30136
  treeOpts = $xetable.treeOpts,
30122
30137
  radioOpts = $xetable.radioOpts,
30123
- checkboxOpts = $xetable.checkboxOpts;
30138
+ checkboxOpts = $xetable.checkboxOpts,
30139
+ columnOpts = $xetable.columnOpts;
30124
30140
  if (!htmlCellElem) {
30125
30141
  htmlCellElem = document.createElement('div');
30126
30142
  }
@@ -30142,15 +30158,18 @@ function getLabelData($xetable, opts, columns, datas) {
30142
30158
  columns.forEach(function (column, $columnIndex) {
30143
30159
  var cellValue = '';
30144
30160
  var renderOpts = column.editRender || column.cellRender;
30145
- var exportLabelMethod = column.exportMethod;
30146
- if (!exportLabelMethod && renderOpts && renderOpts.name) {
30161
+ var bodyExportMethod = column.exportMethod;
30162
+ if (!bodyExportMethod && renderOpts && renderOpts.name) {
30147
30163
  var compConf = v_x_e_table.renderer.get(renderOpts.name);
30148
30164
  if (compConf) {
30149
- exportLabelMethod = compConf.exportMethod || compConf.cellExportMethod;
30165
+ bodyExportMethod = compConf.exportMethod || compConf.cellExportMethod;
30150
30166
  }
30151
30167
  }
30152
- if (exportLabelMethod) {
30153
- cellValue = exportLabelMethod({
30168
+ if (!bodyExportMethod) {
30169
+ bodyExportMethod = columnOpts.exportMethod;
30170
+ }
30171
+ if (bodyExportMethod) {
30172
+ cellValue = bodyExportMethod({
30154
30173
  $table: $xetable,
30155
30174
  row: row,
30156
30175
  column: column,
@@ -30282,23 +30301,29 @@ function getBooleanValue(cellValue) {
30282
30301
  return cellValue === 'TRUE' || cellValue === 'true' || cellValue === true;
30283
30302
  }
30284
30303
  function getHeaderTitle($xetable, opts, column) {
30285
- var headerExportMethod = column.headerExportMethod;
30286
- return headerExportMethod ? headerExportMethod({
30304
+ var columnOpts = $xetable.columnOpts;
30305
+ var headExportMethod = column.headerExportMethod || columnOpts.headerExportMethod;
30306
+ return headExportMethod ? headExportMethod({
30287
30307
  column: column,
30308
+ options: opts,
30288
30309
  $table: $xetable
30289
30310
  }) : (opts.original ? column.property : column.getTitle()) || '';
30290
30311
  }
30291
30312
  function getFooterCellValue($xetable, opts, items, column) {
30313
+ var columnOpts = $xetable.columnOpts;
30292
30314
  var renderOpts = column.editRender || column.cellRender;
30293
- var exportLabelMethod = column.footerExportMethod;
30294
- if (!exportLabelMethod && renderOpts && renderOpts.name) {
30315
+ var footLabelMethod = column.footerExportMethod;
30316
+ if (!footLabelMethod && renderOpts && renderOpts.name) {
30295
30317
  var compConf = v_x_e_table.renderer.get(renderOpts.name);
30296
30318
  if (compConf) {
30297
- exportLabelMethod = compConf.footerExportMethod || compConf.footerCellExportMethod;
30319
+ footLabelMethod = compConf.footerExportMethod || compConf.footerCellExportMethod;
30298
30320
  }
30299
30321
  }
30322
+ if (!footLabelMethod) {
30323
+ footLabelMethod = columnOpts.footerExportMethod;
30324
+ }
30300
30325
  var _columnIndex = $xetable.getVTColumnIndex(column);
30301
- var cellValue = exportLabelMethod ? exportLabelMethod({
30326
+ var cellValue = footLabelMethod ? footLabelMethod({
30302
30327
  $table: $xetable,
30303
30328
  items: items,
30304
30329
  itemIndex: _columnIndex,