@inertiajs/core 2.1.4 → 2.1.6

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/dist/index.js CHANGED
@@ -444,6 +444,7 @@ var CurrentPage = class {
444
444
  this.listeners = [];
445
445
  this.isFirstPageLoad = true;
446
446
  this.cleared = false;
447
+ this.pendingDeferredProps = null;
447
448
  }
448
449
  init({ initialPage, swapComponent, resolveComponent }) {
449
450
  this.page = initialPage;
@@ -456,6 +457,13 @@ var CurrentPage = class {
456
457
  preserveScroll = false,
457
458
  preserveState = false
458
459
  } = {}) {
460
+ if (Object.keys(page2.deferredProps || {}).length) {
461
+ this.pendingDeferredProps = {
462
+ deferredProps: page2.deferredProps,
463
+ component: page2.component,
464
+ url: page2.url
465
+ };
466
+ }
459
467
  this.componentId = {};
460
468
  const componentId = this.componentId;
461
469
  if (page2.clearHistory) {
@@ -485,7 +493,10 @@ var CurrentPage = class {
485
493
  if (!preserveScroll) {
486
494
  Scroll.reset();
487
495
  }
488
- eventHandler.fireInternalEvent("loadDeferredProps");
496
+ if (this.pendingDeferredProps && this.pendingDeferredProps.component === page2.component && this.pendingDeferredProps.url === page2.url) {
497
+ eventHandler.fireInternalEvent("loadDeferredProps", this.pendingDeferredProps.deferredProps);
498
+ }
499
+ this.pendingDeferredProps = null;
489
500
  if (!replace) {
490
501
  fireNavigateEvent(page2);
491
502
  }
@@ -785,8 +796,8 @@ var EventHandler = class {
785
796
  page.clear();
786
797
  this.fireInternalEvent("missingHistoryItem");
787
798
  }
788
- fireInternalEvent(event) {
789
- this.internalListeners.filter((listener) => listener.event === event).forEach((listener) => listener.listener());
799
+ fireInternalEvent(event, ...args) {
800
+ this.internalListeners.filter((listener) => listener.event === event).forEach((listener) => listener.listener(...args));
790
801
  }
791
802
  registerListener(type, listener) {
792
803
  document.addEventListener(type, listener);
@@ -1443,6 +1454,7 @@ var Response = class _Response {
1443
1454
  this.requestParams = requestParams;
1444
1455
  this.response = response;
1445
1456
  this.originatingPage = originatingPage;
1457
+ this.wasPrefetched = false;
1446
1458
  }
1447
1459
  static create(params, response, originatingPage) {
1448
1460
  return new _Response(params, response, originatingPage);
@@ -1457,6 +1469,7 @@ var Response = class _Response {
1457
1469
  }
1458
1470
  async process() {
1459
1471
  if (this.requestParams.all().prefetch) {
1472
+ this.wasPrefetched = true;
1460
1473
  this.requestParams.all().prefetch = false;
1461
1474
  this.requestParams.all().onPrefetched(this.response, this.requestParams.all());
1462
1475
  firePrefetchedEvent(this.response, this.requestParams.all());
@@ -1476,6 +1489,9 @@ var Response = class _Response {
1476
1489
  return this.requestParams.all().onError(scopedErrors);
1477
1490
  }
1478
1491
  router.flushByCacheTags(this.requestParams.all().invalidateCacheTags || []);
1492
+ if (!this.wasPrefetched) {
1493
+ router.flush(page.get().url);
1494
+ }
1479
1495
  fireSuccessEvent(page.get());
1480
1496
  await this.requestParams.all().onSuccess(page.get());
1481
1497
  history.preserveUrl = false;
@@ -1822,8 +1838,8 @@ var Router = class {
1822
1838
  this.visit(window.location.href, { preserveState: true, preserveScroll: true, replace: true });
1823
1839
  }
1824
1840
  });
1825
- eventHandler.on("loadDeferredProps", () => {
1826
- this.loadDeferredProps();
1841
+ eventHandler.on("loadDeferredProps", (deferredProps) => {
1842
+ this.loadDeferredProps(deferredProps);
1827
1843
  });
1828
1844
  }
1829
1845
  get(url, data = {}, options = {}) {
@@ -2098,8 +2114,7 @@ var Router = class {
2098
2114
  })
2099
2115
  };
2100
2116
  }
2101
- loadDeferredProps() {
2102
- const deferred = page.get()?.deferredProps;
2117
+ loadDeferredProps(deferred) {
2103
2118
  if (deferred) {
2104
2119
  Object.entries(deferred).forEach(([_, group]) => {
2105
2120
  this.reload({ only: group });