@onehat/data 1.22.28 → 1.22.29

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onehat/data",
3
- "version": "1.22.28",
3
+ "version": "1.22.29",
4
4
  "description": "JS data modeling package with adapters for many storage mediums.",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -480,7 +480,7 @@ class AjaxRepository extends Repository {
480
480
  const
481
481
  currentEntityCount = this.entities.length,
482
482
  newPageSize = this.pageSize;
483
- if (this.page === 1 && currentEntityCount >= newPageSize && this.isPaginated) {
483
+ if (this.previousPage === 1 && this.page === 1 && currentEntityCount >= newPageSize && this.isPaginated) {
484
484
  // Optimization: if we're on page 1 and already have enough entities
485
485
  // for the new page size, just truncate the existing data instead of reloading
486
486
  const entitiesToRemove = this.entities.splice(newPageSize);
@@ -491,7 +491,7 @@ class AjaxRepository extends Repository {
491
491
  console.log(`Truncated entities from ${currentEntityCount} to ${newPageSize}`);
492
492
  }
493
493
  } else {
494
- // We need more data or we're not on page 1, so reload
494
+ // We need more data or weren't already on page 1, so reload
495
495
  return this.reload();
496
496
  }
497
497
  }
@@ -190,6 +190,11 @@ export default class Repository extends EventEmitter {
190
190
  */
191
191
  this.page = 1;
192
192
 
193
+ /**
194
+ * @member {number} previousPage - State: Previous page number in pagination
195
+ */
196
+ this.previousPage = null;
197
+
193
198
  /**
194
199
  * Getter for
195
200
  * @member {number} pageTotal - State: Total number of entities on the current page
@@ -940,6 +945,8 @@ export default class Repository extends EventEmitter {
940
945
  return false;
941
946
  }
942
947
 
948
+ this.previousPage = this.page;
949
+
943
950
  // Reset to page 1 (don't use setPage(), so we can skip _onChangePagination, which we'll do later)
944
951
  this.page = 1;
945
952
  this.emit('changePage');
@@ -975,6 +982,7 @@ export default class Repository extends EventEmitter {
975
982
  return false;
976
983
  }
977
984
 
985
+ this.previousPage = this.page;
978
986
  this.page = page;
979
987
  this.emit('changePage');
980
988
  if (this._onChangePagination) {