@inertiajs/core 2.1.4 → 2.1.5

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.esm.js CHANGED
@@ -395,6 +395,7 @@ var CurrentPage = class {
395
395
  this.listeners = [];
396
396
  this.isFirstPageLoad = true;
397
397
  this.cleared = false;
398
+ this.pendingDeferredProps = null;
398
399
  }
399
400
  init({ initialPage, swapComponent, resolveComponent }) {
400
401
  this.page = initialPage;
@@ -407,6 +408,13 @@ var CurrentPage = class {
407
408
  preserveScroll = false,
408
409
  preserveState = false
409
410
  } = {}) {
411
+ if (Object.keys(page2.deferredProps || {}).length) {
412
+ this.pendingDeferredProps = {
413
+ deferredProps: page2.deferredProps,
414
+ component: page2.component,
415
+ url: page2.url
416
+ };
417
+ }
410
418
  this.componentId = {};
411
419
  const componentId = this.componentId;
412
420
  if (page2.clearHistory) {
@@ -436,7 +444,10 @@ var CurrentPage = class {
436
444
  if (!preserveScroll) {
437
445
  Scroll.reset();
438
446
  }
439
- eventHandler.fireInternalEvent("loadDeferredProps");
447
+ if (this.pendingDeferredProps && this.pendingDeferredProps.component === page2.component && this.pendingDeferredProps.url === page2.url) {
448
+ eventHandler.fireInternalEvent("loadDeferredProps", this.pendingDeferredProps.deferredProps);
449
+ }
450
+ this.pendingDeferredProps = null;
440
451
  if (!replace) {
441
452
  fireNavigateEvent(page2);
442
453
  }
@@ -736,8 +747,8 @@ var EventHandler = class {
736
747
  page.clear();
737
748
  this.fireInternalEvent("missingHistoryItem");
738
749
  }
739
- fireInternalEvent(event) {
740
- this.internalListeners.filter((listener) => listener.event === event).forEach((listener) => listener.listener());
750
+ fireInternalEvent(event, ...args) {
751
+ this.internalListeners.filter((listener) => listener.event === event).forEach((listener) => listener.listener(...args));
741
752
  }
742
753
  registerListener(type, listener) {
743
754
  document.addEventListener(type, listener);
@@ -1773,8 +1784,8 @@ var Router = class {
1773
1784
  this.visit(window.location.href, { preserveState: true, preserveScroll: true, replace: true });
1774
1785
  }
1775
1786
  });
1776
- eventHandler.on("loadDeferredProps", () => {
1777
- this.loadDeferredProps();
1787
+ eventHandler.on("loadDeferredProps", (deferredProps) => {
1788
+ this.loadDeferredProps(deferredProps);
1778
1789
  });
1779
1790
  }
1780
1791
  get(url, data = {}, options = {}) {
@@ -2049,8 +2060,7 @@ var Router = class {
2049
2060
  })
2050
2061
  };
2051
2062
  }
2052
- loadDeferredProps() {
2053
- const deferred = page.get()?.deferredProps;
2063
+ loadDeferredProps(deferred) {
2054
2064
  if (deferred) {
2055
2065
  Object.entries(deferred).forEach(([_, group]) => {
2056
2066
  this.reload({ only: group });