tabulator-tables 5.0.8 → 5.0.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 (70) hide show
  1. package/bower.json +1 -1
  2. package/build/rollup.js +1 -1
  3. package/dist/css/tabulator.css +4 -0
  4. package/dist/css/tabulator.css.map +1 -1
  5. package/dist/css/tabulator.min.css +1 -1
  6. package/dist/css/tabulator.min.css.map +1 -1
  7. package/dist/css/tabulator_bootstrap3.css +4 -0
  8. package/dist/css/tabulator_bootstrap3.css.map +1 -1
  9. package/dist/css/tabulator_bootstrap3.min.css +1 -1
  10. package/dist/css/tabulator_bootstrap3.min.css.map +1 -1
  11. package/dist/css/tabulator_bootstrap4.css +4 -0
  12. package/dist/css/tabulator_bootstrap4.css.map +1 -1
  13. package/dist/css/tabulator_bootstrap4.min.css +1 -1
  14. package/dist/css/tabulator_bootstrap4.min.css.map +1 -1
  15. package/dist/css/tabulator_bulma.css +4 -0
  16. package/dist/css/tabulator_bulma.css.map +1 -1
  17. package/dist/css/tabulator_bulma.min.css +1 -1
  18. package/dist/css/tabulator_bulma.min.css.map +1 -1
  19. package/dist/css/tabulator_materialize.css +4 -0
  20. package/dist/css/tabulator_materialize.css.map +1 -1
  21. package/dist/css/tabulator_materialize.min.css +1 -1
  22. package/dist/css/tabulator_materialize.min.css.map +1 -1
  23. package/dist/css/tabulator_midnight.css +4 -0
  24. package/dist/css/tabulator_midnight.css.map +1 -1
  25. package/dist/css/tabulator_midnight.min.css +1 -1
  26. package/dist/css/tabulator_midnight.min.css.map +1 -1
  27. package/dist/css/tabulator_modern.css +4 -0
  28. package/dist/css/tabulator_modern.css.map +1 -1
  29. package/dist/css/tabulator_modern.min.css +1 -1
  30. package/dist/css/tabulator_modern.min.css.map +1 -1
  31. package/dist/css/tabulator_semanticui.css +4 -0
  32. package/dist/css/tabulator_semanticui.css.map +1 -1
  33. package/dist/css/tabulator_semanticui.min.css +1 -1
  34. package/dist/css/tabulator_semanticui.min.css.map +1 -1
  35. package/dist/css/tabulator_simple.css +4 -0
  36. package/dist/css/tabulator_simple.css.map +1 -1
  37. package/dist/css/tabulator_simple.min.css +1 -1
  38. package/dist/css/tabulator_simple.min.css.map +1 -1
  39. package/dist/css/tabulator_site.css +4 -0
  40. package/dist/css/tabulator_site.css.map +1 -1
  41. package/dist/css/tabulator_site.min.css +1 -1
  42. package/dist/css/tabulator_site.min.css.map +1 -1
  43. package/dist/js/tabulator.js +158 -69
  44. package/dist/js/tabulator.js.map +1 -1
  45. package/dist/js/tabulator.min.js +2 -2
  46. package/dist/js/tabulator.min.js.map +1 -1
  47. package/dist/js/tabulator_esm.js +191 -104
  48. package/dist/js/tabulator_esm.js.map +1 -1
  49. package/dist/js/tabulator_esm.min.js +2 -2
  50. package/dist/js/tabulator_esm.min.js.map +1 -1
  51. package/package.json +1 -1
  52. package/src/js/core/ColumnManager.js +1 -1
  53. package/src/js/core/CoreFeature.js +1 -5
  54. package/src/js/core/RowManager.js +8 -2
  55. package/src/js/core/column/Column.js +1 -1
  56. package/src/js/core/defaults/options.js +1 -1
  57. package/src/js/core/rendering/Renderer.js +2 -1
  58. package/src/js/core/rendering/renderers/VirtualDomVertical.js +1 -1
  59. package/src/js/core/tools/DataLoader.js +1 -1
  60. package/src/js/core/tools/InteractionMonitor.js +123 -49
  61. package/src/js/modules/ColumnCalcs/ColumnCalcs.js +13 -0
  62. package/src/js/modules/DataTree/DataTree.js +18 -9
  63. package/src/js/modules/Download/defaults/downloaders/pdf.js +0 -2
  64. package/src/js/modules/Download/defaults/downloaders/xlsx.js +3 -2
  65. package/src/js/modules/Edit/Edit.js +1 -8
  66. package/src/js/modules/Export/Export.js +1 -1
  67. package/src/js/modules/GroupRows/Group.js +6 -2
  68. package/src/js/modules/Page/Page.js +6 -9
  69. package/src/js/modules/SelectRow/SelectRow.js +3 -8
  70. package/src/scss/tabulator.scss +4 -0
@@ -1,4 +1,4 @@
1
- /* Tabulator v5.0.8 (c) Oliver Folkerd 2021 */
1
+ /* Tabulator v5.0.9 (c) Oliver Folkerd 2021 */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
4
4
  typeof define === 'function' && define.amd ? define(factory) :
@@ -239,7 +239,7 @@
239
239
  //build columns from data row structure
240
240
  autoColumnsDefinitions: false,
241
241
  nestedFieldSeparator: ".",
242
- //seperatpr for nested data
242
+ //separator for nested data
243
243
  tooltipGenerationMode: "load",
244
244
  //when to generate tooltips
245
245
  footerElement: false,
@@ -414,11 +414,7 @@
414
414
 
415
415
  }, {
416
416
  key: "options",
417
- value: function options(key, value) {
418
- if (typeof value !== "undefined") {
419
- this.table.options[key] = value;
420
- }
421
-
417
+ value: function options(key) {
422
418
  return this.table.options[key];
423
419
  }
424
420
  }, {
@@ -1257,7 +1253,7 @@
1257
1253
 
1258
1254
  var def = this.definition; //set header tooltips
1259
1255
 
1260
- var tooltip = typeof def.headerTooltip === "undefined" ? def.tooltip : def.headerTooltip;
1256
+ var tooltip = def.headerTooltip;
1261
1257
 
1262
1258
  if (tooltip) {
1263
1259
  if (tooltip === true) {
@@ -2418,6 +2414,7 @@
2418
2414
  offset = Helpers.elOffset(rowEl).top - Helpers.elOffset(_this2.elementVertical).top;
2419
2415
 
2420
2416
  if (offset > 0 && offset < _this2.elementVertical.clientHeight - rowEl.offsetHeight) {
2417
+ resolve();
2421
2418
  return false;
2422
2419
  }
2423
2420
  }
@@ -3317,8 +3314,8 @@
3317
3314
  return this.columnsByIndex[index];
3318
3315
  }
3319
3316
  }, {
3320
- key: "getFirstVisibileColumn",
3321
- value: function getFirstVisibileColumn(index) {
3317
+ key: "getFirstVisibleColumn",
3318
+ value: function getFirstVisibleColumn(index) {
3322
3319
  var index = this.columnsByIndex.findIndex(function (col) {
3323
3320
  return col.visible;
3324
3321
  });
@@ -4350,8 +4347,8 @@
4350
4347
  }
4351
4348
 
4352
4349
  element.style.paddingTop = "";
4353
- element.style.paddingBottom = "";
4354
- element.style.minWidth = "";
4350
+ element.style.paddingBottom = ""; // element.style.minWidth = "";
4351
+
4355
4352
  element.style.minHeight = "";
4356
4353
  element.style.display = "";
4357
4354
  element.style.visibility = "";
@@ -5691,8 +5688,14 @@
5691
5688
  }
5692
5689
  }, {
5693
5690
  key: "getVisibleRows",
5694
- value: function getVisibleRows(viewable) {
5695
- return this.renderer.visibleRows(!viewable);
5691
+ value: function getVisibleRows(chain, viewable) {
5692
+ var rows = Object.assign([], this.renderer.visibleRows(!viewable));
5693
+
5694
+ if (chain) {
5695
+ rows = this.chain("rows-visible", [viewable], rows, rows);
5696
+ }
5697
+
5698
+ return rows;
5696
5699
  } //repeat action accross display rows
5697
5700
 
5698
5701
  }, {
@@ -6107,6 +6110,12 @@
6107
6110
  "tabulator-group": "group",
6108
6111
  "tabulator-col": "column"
6109
6112
  };
6113
+ _this.pseudoTrackers = {
6114
+ "row": null,
6115
+ "cell": null,
6116
+ "group": null,
6117
+ "column": null
6118
+ };
6110
6119
  return _this;
6111
6120
  }
6112
6121
 
@@ -6116,6 +6125,7 @@
6116
6125
  this.el = this.table.element;
6117
6126
  this.buildListenerMap();
6118
6127
  this.bindSubscriptionWatchers();
6128
+ this.bindPseudoEvents();
6119
6129
  }
6120
6130
  }, {
6121
6131
  key: "buildListenerMap",
@@ -6129,6 +6139,53 @@
6129
6139
  });
6130
6140
  this.listeners = listenerMap;
6131
6141
  }
6142
+ }, {
6143
+ key: "bindPseudoEvents",
6144
+ value: function bindPseudoEvents() {
6145
+ var _this2 = this;
6146
+
6147
+ Object.keys(this.pseudoTrackers).forEach(function (key) {
6148
+ _this2.subscribe(key + "-mouseover", _this2.pseudoMouseEnter.bind(_this2, key)); // this.subscribe(key + "-mouseout", this.pseudoMouseLeave.bind(this, key));
6149
+
6150
+ });
6151
+ }
6152
+ }, {
6153
+ key: "pseudoMouseEnter",
6154
+ value: function pseudoMouseEnter(key, e, target) {
6155
+ if (this.pseudoTrackers[key] !== target) {
6156
+ if (this.pseudoTrackers[key]) {
6157
+ this.dispatch(key + "-mouseleave", e, target);
6158
+ }
6159
+
6160
+ this.pseudoMouseLeave(key, e);
6161
+ this.pseudoTrackers[key] = target;
6162
+ this.dispatch(key + "-mouseenter", e, target);
6163
+ }
6164
+ }
6165
+ }, {
6166
+ key: "pseudoMouseLeave",
6167
+ value: function pseudoMouseLeave(key, e) {
6168
+ var _this3 = this;
6169
+
6170
+ var leaveList = Object.keys(this.pseudoTrackers),
6171
+ linkedKeys = {
6172
+ "row": ["cell"],
6173
+ "cell": ["row"]
6174
+ };
6175
+ leaveList = leaveList.filter(function (item) {
6176
+ var links = linkedKeys[key];
6177
+ return item !== key && (!links || links && !links.includes(item));
6178
+ });
6179
+ leaveList.forEach(function (key) {
6180
+ var target = _this3.pseudoTrackers[key];
6181
+
6182
+ if (_this3.pseudoTrackers[key]) {
6183
+ _this3.dispatch(key + "-mouseleave", e, target);
6184
+
6185
+ _this3.pseudoTrackers[key] = null;
6186
+ }
6187
+ });
6188
+ }
6132
6189
  }, {
6133
6190
  key: "bindSubscriptionWatchers",
6134
6191
  value: function bindSubscriptionWatchers() {
@@ -6153,6 +6210,8 @@
6153
6210
  _iterator.f();
6154
6211
  }
6155
6212
  }
6213
+
6214
+ this.subscribe("table-destroy", this.clearWatchers.bind(this));
6156
6215
  }
6157
6216
  }, {
6158
6217
  key: "subscriptionChanged",
@@ -6205,11 +6264,15 @@
6205
6264
  var targets = this.findTargets(path);
6206
6265
  targets = this.bindComponents(type, targets);
6207
6266
  this.triggerEvents(type, e, targets);
6267
+
6268
+ if ((type == "mouseover" || type == "mouseleave") && !Object.keys(targets).length) {
6269
+ this.pseudoMouseLeave("none", e);
6270
+ }
6208
6271
  }
6209
6272
  }, {
6210
6273
  key: "findTargets",
6211
6274
  value: function findTargets(path) {
6212
- var _this2 = this;
6275
+ var _this4 = this;
6213
6276
 
6214
6277
  var targets = {};
6215
6278
  var componentMap = Object.keys(this.componentMap);
@@ -6222,7 +6285,7 @@
6222
6285
  var el = _step2.value;
6223
6286
  var classList = el.classList ? _toConsumableArray(el.classList) : [];
6224
6287
  var abort = classList.filter(function (item) {
6225
- return _this2.abortClasses.includes(item);
6288
+ return _this4.abortClasses.includes(item);
6226
6289
  });
6227
6290
 
6228
6291
  if (abort.length) {
@@ -6262,7 +6325,7 @@
6262
6325
  }, {
6263
6326
  key: "bindComponents",
6264
6327
  value: function bindComponents(type, targets) {
6265
- var _this3 = this;
6328
+ var _this5 = this;
6266
6329
 
6267
6330
  //ensure row component is looked up before cell
6268
6331
  var keys = Object.keys(targets).reverse(),
@@ -6277,7 +6340,7 @@
6277
6340
  var key = _step4.value;
6278
6341
  var component = void 0;
6279
6342
  var target = targets[key];
6280
- var previousTarget = _this3.previousTargets[key];
6343
+ var previousTarget = _this5.previousTargets[key];
6281
6344
 
6282
6345
  if (previousTarget && previousTarget.target === target) {
6283
6346
  component = previousTarget.component;
@@ -6286,7 +6349,7 @@
6286
6349
  case "row":
6287
6350
  case "group":
6288
6351
  if (listener.components.includes("row") || listener.components.includes("cell")) {
6289
- var rows = _this3.table.rowManager.getVisibleRows();
6352
+ var rows = _this5.table.rowManager.getVisibleRows(true);
6290
6353
 
6291
6354
  component = rows.find(function (row) {
6292
6355
  return row.getElement() === target;
@@ -6297,7 +6360,7 @@
6297
6360
 
6298
6361
  case "column":
6299
6362
  if (listener.components.includes("column")) {
6300
- component = _this3.table.columnManager.findColumn(target);
6363
+ component = _this5.table.columnManager.findColumn(target);
6301
6364
  }
6302
6365
 
6303
6366
  break;
@@ -6343,6 +6406,18 @@
6343
6406
  }
6344
6407
  }
6345
6408
  }
6409
+ }, {
6410
+ key: "clearWatchers",
6411
+ value: function clearWatchers() {
6412
+ for (var key in this.listeners) {
6413
+ var listener = this.listeners[key];
6414
+
6415
+ if (listener.handler) {
6416
+ this.el.removeEventListener(key, listener.handler);
6417
+ listener.handler = null;
6418
+ }
6419
+ }
6420
+ }
6346
6421
  }]);
6347
6422
 
6348
6423
  return InteractionManager;
@@ -6469,7 +6544,7 @@
6469
6544
  } //get params for request
6470
6545
 
6471
6546
 
6472
- var params = this.chain("data-params", [data, config, silent], params || {}, {});
6547
+ params = this.chain("data-params", [data, config, silent], params || {}, params || {});
6473
6548
  params = this.mapParams(params, this.table.options.dataSendParams);
6474
6549
  var result = this.chain("data-load", [data, params, config, silent], Promise.resolve([]));
6475
6550
  return result.then(function (response) {
@@ -9764,6 +9839,7 @@
9764
9839
  this.subscribe("column-add", this.recalcActiveRows.bind(this));
9765
9840
  this.subscribe("data-refeshed", this.recalcActiveRows.bind(this));
9766
9841
  this.subscribe("table-redraw", this.tableRedraw.bind(this));
9842
+ this.subscribe("rows-visible", this.visibleRows.bind(this));
9767
9843
  this.registerTableFunction("getCalcResults", this.getResults.bind(this));
9768
9844
  this.registerTableFunction("recalc", this.userRecalc.bind(this));
9769
9845
  }
@@ -9787,6 +9863,19 @@
9787
9863
  ///////// Internal Logic //////////
9788
9864
  ///////////////////////////////////
9789
9865
 
9866
+ }, {
9867
+ key: "visibleRows",
9868
+ value: function visibleRows(viewable, rows) {
9869
+ if (this.topRow) {
9870
+ rows.unshift(this.topRow);
9871
+ }
9872
+
9873
+ if (this.botRow) {
9874
+ rows.push(this.botRow);
9875
+ }
9876
+
9877
+ return rows;
9878
+ }
9790
9879
  }, {
9791
9880
  key: "rowsUpdated",
9792
9881
  value: function rowsUpdated(row) {
@@ -10305,11 +10394,9 @@
10305
10394
  value: function initialize() {
10306
10395
  if (this.table.options.dataTree) {
10307
10396
  var dummyEl = null,
10308
- firstCol = this.table.columnManager.getFirstVisibileColumn(),
10309
10397
  options = this.table.options;
10310
10398
  this.field = options.dataTreeChildField;
10311
10399
  this.indent = options.dataTreeChildIndent;
10312
- this.elementField = options.dataTreeElementColumn || (firstCol ? firstCol.field : false);
10313
10400
 
10314
10401
  if (options.dataTreeBranchElement) {
10315
10402
  if (options.dataTreeBranchElement === true) {
@@ -10378,13 +10465,21 @@
10378
10465
 
10379
10466
  this.subscribe("row-init", this.initializeRow.bind(this));
10380
10467
  this.subscribe("row-layout-after", this.layoutRow.bind(this));
10381
- this.subscribe("row-relayout", this.layoutRow.bind(this));
10382
10468
  this.subscribe("row-deleted", this.rowDelete.bind(this), 0);
10383
10469
  this.subscribe("row-data-changed", this.rowDataChanged.bind(this), 10);
10470
+ this.subscribe("cell-value-updated", this.cellValueChanged.bind(this));
10471
+ this.subscribe("edit-cancelled", this.cellValueChanged.bind(this));
10384
10472
  this.subscribe("column-moving-rows", this.columnMoving.bind(this));
10473
+ this.subscribe("table-built", this.initializeElementField.bind(this));
10385
10474
  this.registerDisplayHandler(this.getRows.bind(this), 30);
10386
10475
  }
10387
10476
  }
10477
+ }, {
10478
+ key: "initializeElementField",
10479
+ value: function initializeElementField() {
10480
+ var firstCol = this.table.columnManager.getFirstVisibleColumn();
10481
+ this.elementField = this.table.options.dataTreeElementColumn || (firstCol ? firstCol.field : false);
10482
+ }
10388
10483
  }, {
10389
10484
  key: "getRowChildren",
10390
10485
  value: function getRowChildren(row) {
@@ -10413,6 +10508,15 @@
10413
10508
  }
10414
10509
  }
10415
10510
  }
10511
+ }, {
10512
+ key: "cellValueChanged",
10513
+ value: function cellValueChanged(cell) {
10514
+ var field = cell.column.getField();
10515
+
10516
+ if (field === this.elementField) {
10517
+ this.layoutRow(cell.row);
10518
+ }
10519
+ }
10416
10520
  }, {
10417
10521
  key: "initializeRow",
10418
10522
  value: function initializeRow(row) {
@@ -10824,13 +10928,6 @@
10824
10928
 
10825
10929
  return output;
10826
10930
  }
10827
- }, {
10828
- key: "checkForRestyle",
10829
- value: function checkForRestyle(cell) {
10830
- if (!cell.row.cells.indexOf(cell)) {
10831
- this.layoutRow(cell.row);
10832
- }
10833
- }
10834
10931
  }, {
10835
10932
  key: "getChildField",
10836
10933
  value: function getChildField() {
@@ -10839,6 +10936,7 @@
10839
10936
  }, {
10840
10937
  key: "redrawNeeded",
10841
10938
  value: function redrawNeeded(data) {
10939
+ console.log("needed?", data);
10842
10940
  return (this.field ? typeof data[this.field] !== "undefined" : false) || (this.elementField ? typeof data[this.elementField] !== "undefined" : false);
10843
10941
  }
10844
10942
  }]);
@@ -11015,8 +11113,6 @@
11015
11113
  }
11016
11114
 
11017
11115
  rowData.push(cell);
11018
- } else {
11019
- rowData.push("");
11020
11116
  }
11021
11117
  });
11022
11118
  return rowData;
@@ -11083,16 +11179,18 @@
11083
11179
  rowData.push(!(col.value instanceof Date) && _typeof(col.value) === "object" ? JSON.stringify(col.value) : col.value);
11084
11180
 
11085
11181
  if (col.width > 1 || col.height > -1) {
11086
- merges.push({
11087
- s: {
11088
- r: i,
11089
- c: j
11090
- },
11091
- e: {
11092
- r: i + col.height - 1,
11093
- c: j + col.width - 1
11094
- }
11095
- });
11182
+ if (col.height > 1 || col.width > 1) {
11183
+ merges.push({
11184
+ s: {
11185
+ r: i,
11186
+ c: j
11187
+ },
11188
+ e: {
11189
+ r: i + col.height - 1,
11190
+ c: j + col.width - 1
11191
+ }
11192
+ });
11193
+ }
11096
11194
  }
11097
11195
  } else {
11098
11196
  rowData.push("");
@@ -13590,6 +13688,7 @@
13590
13688
  cell.column.definition.cellEditCancelled.call(this.table, component);
13591
13689
  }
13592
13690
 
13691
+ this.dispatch("edit-cancelled", cell);
13593
13692
  this.dispatchExternal("cellEditCancelled", component);
13594
13693
  }
13595
13694
  } //return a formatted value for a cell
@@ -13726,10 +13825,6 @@
13726
13825
 
13727
13826
  cell.setValue(value, true);
13728
13827
 
13729
- if (self.table.options.dataTree && self.table.modExists("dataTree")) {
13730
- self.table.modules.dataTree.checkForRestyle(cell);
13731
- }
13732
-
13733
13828
  if (valid !== true) {
13734
13829
  element.classList.add("tabulator-validation-fail");
13735
13830
  self.table.externalEvents.dispatch("validationFailed", cell.getComponent(), value, valid);
@@ -13752,10 +13847,6 @@
13752
13847
  function cancel() {
13753
13848
  if (self.currentCell === cell) {
13754
13849
  self.cancelEdit();
13755
-
13756
- if (self.table.options.dataTree && self.table.modExists("dataTree")) {
13757
- self.table.modules.dataTree.checkForRestyle(cell);
13758
- }
13759
13850
  }
13760
13851
  }
13761
13852
 
@@ -13969,7 +14060,7 @@
13969
14060
  switch (range) {
13970
14061
  case true:
13971
14062
  case "visible":
13972
- rows = this.table.rowManager.getVisibleRows(true);
14063
+ rows = this.table.rowManager.getVisibleRows(false, true);
13973
14064
  break;
13974
14065
 
13975
14066
  case "all":
@@ -17326,7 +17417,7 @@
17326
17417
 
17327
17418
  if (this.groupManager.table.rowManager.getRenderMode() == "classic" && !this.groupManager.table.options.pagination) {
17328
17419
  this.element.classList.add("tabulator-group-visible");
17329
- var prev = this.getElement();
17420
+ var prev = this.generateElement();
17330
17421
 
17331
17422
  if (this.groupList.length) {
17332
17423
  this.groupList.forEach(function (group) {
@@ -17445,7 +17536,12 @@
17445
17536
  }, {
17446
17537
  key: "getElement",
17447
17538
  value: function getElement() {
17448
- this.addBindingsd = false;
17539
+ return this.elementContents ? this.element : this.generateElement();
17540
+ }
17541
+ }, {
17542
+ key: "generateElement",
17543
+ value: function generateElement() {
17544
+ this.addBindings = false;
17449
17545
 
17450
17546
  this._visSet();
17451
17547
 
@@ -20740,9 +20836,6 @@
20740
20836
  _this.dataChanging = false; //flag to check if data is being changed by this module
20741
20837
 
20742
20838
  _this.pageSizes = [];
20743
- _this.dataReceivedNames = {}; //TODO - remove once pagimation update is complete
20744
-
20745
- _this.dataSentNames = {}; //TODO - remove once pagimation update is complete
20746
20839
 
20747
20840
  _this.registerTableOption("pagination", false); //set pagination type
20748
20841
 
@@ -20753,7 +20846,7 @@
20753
20846
  _this.registerTableOption("paginationSize", false); //set number of rows to a page
20754
20847
 
20755
20848
 
20756
- _this.registerTableOption("paginationInitialPage", 1); //initail page to show on load
20849
+ _this.registerTableOption("paginationInitialPage", 1); //initial page to show on load
20757
20850
 
20758
20851
 
20759
20852
  _this.registerTableOption("paginationButtonCount", 5); // set count of page button
@@ -20830,6 +20923,7 @@
20830
20923
  this.subscribe("data-params", this.remotePageParams.bind(this));
20831
20924
  this.subscribe("data-loaded", this._parseRemoteData.bind(this));
20832
20925
  this.subscribe("table-built", this.calculatePageSizes.bind(this));
20926
+ this.subscribe("data-processed", this.initialLoadComplete.bind(this));
20833
20927
  this.initializeProgressive(this.table.options.progressiveLoad);
20834
20928
 
20835
20929
  if (this.table.options.progressiveLoad === "scroll") {
@@ -21190,7 +21284,7 @@
21190
21284
  this.page = 1;
21191
21285
  }
21192
21286
  }
21193
- } //set the maxmum page
21287
+ } //set the maximum page
21194
21288
 
21195
21289
  }, {
21196
21290
  key: "setMaxPage",
@@ -21448,7 +21542,7 @@
21448
21542
  var data, margin;
21449
21543
 
21450
21544
  if (typeof data.last_page === "undefined") {
21451
- console.warn("Remote Pagination Error - Server response missing '" + this.dataReceivedNames.last_page + "' property");
21545
+ console.warn("Remote Pagination Error - Server response missing '" + (this.options("dataReceiveParams").last_page || "last_page") + "' property");
21452
21546
  }
21453
21547
 
21454
21548
  if (data.data) {
@@ -21472,7 +21566,7 @@
21472
21566
  break;
21473
21567
 
21474
21568
  case "progressive_scroll":
21475
- data = this.table.rowManager.getData().concat(data.data);
21569
+ data = this.page === 1 ? data.data : this.table.rowManager.getData().concat(data.data);
21476
21570
  this.table.rowManager.setData(data, this.page !== 1, this.page == 1);
21477
21571
  margin = this.table.options.progressiveLoadScrollMargin || this.table.rowManager.element.clientHeight * 2;
21478
21572
 
@@ -21492,7 +21586,7 @@
21492
21586
  // this.table.columnManager.scrollHorizontal(left);
21493
21587
  }
21494
21588
  } else {
21495
- console.warn("Remote Pagination Error - Server response missing '" + this.dataReceivedNames.data + "' property");
21589
+ console.warn("Remote Pagination Error - Server response missing '" + (this.options("dataReceiveParams").data || "data") + "' property");
21496
21590
  }
21497
21591
 
21498
21592
  return data.data;
@@ -23629,9 +23723,7 @@
23629
23723
  this.childRowSelection(row, true);
23630
23724
  }
23631
23725
 
23632
- if (!silent) {
23633
- this.dispatchExternal("rowSelected", row.getComponent());
23634
- }
23726
+ this.dispatchExternal("rowSelected", row.getComponent());
23635
23727
 
23636
23728
  this._rowSelectionChanged(silent);
23637
23729
  }
@@ -23652,7 +23744,6 @@
23652
23744
  value: function deselectRows(rows, silent) {
23653
23745
  var self = this,
23654
23746
  rowCount;
23655
- console.trace("deselect");
23656
23747
 
23657
23748
  if (typeof rows == "undefined") {
23658
23749
  rowCount = self.selectedRows.length;
@@ -23706,9 +23797,7 @@
23706
23797
  this.childRowSelection(row, false);
23707
23798
  }
23708
23799
 
23709
- if (!silent) {
23710
- this.dispatchExternal("rowDeselected", row.getComponent());
23711
- }
23800
+ this.dispatchExternal("rowDeselected", row.getComponent());
23712
23801
 
23713
23802
  self._rowSelectionChanged(silent);
23714
23803
  }