@inertiajs/svelte 2.3.7 → 2.3.8

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.
@@ -22,20 +22,22 @@ let endElementRef;
22
22
  let loadingPrevious = false;
23
23
  let loadingNext = false;
24
24
  let requestCount = 0;
25
+ let hasPreviousPage = false;
26
+ let hasNextPage = false;
25
27
  $: resolvedItemsElement = resolveHTMLElement(itemsElement, itemsElementRef);
26
28
  $: scrollableParent = resolvedItemsElement ? getScrollableParent(resolvedItemsElement) : null;
27
29
  $: sharedExposed = {
28
30
  loadingPrevious,
29
31
  loadingNext,
30
- hasPrevious: infiniteScrollInstance?.dataManager.hasPrevious() || false,
31
- hasNext: infiniteScrollInstance?.dataManager.hasNext() || false
32
+ hasPrevious: hasPreviousPage,
33
+ hasNext: hasNextPage
32
34
  };
33
35
  $: exposedPrevious = {
34
36
  loading: loadingPrevious,
35
37
  fetch: fetchPrevious,
36
38
  autoMode: headerAutoMode,
37
39
  manualMode: !headerAutoMode,
38
- hasMore: infiniteScrollInstance?.dataManager.hasPrevious() || false,
40
+ hasMore: hasPreviousPage,
39
41
  ...sharedExposed
40
42
  };
41
43
  $: exposedNext = {
@@ -43,7 +45,7 @@ $: exposedNext = {
43
45
  fetch: fetchNext,
44
46
  autoMode: footerAutoMode,
45
47
  manualMode: !footerAutoMode,
46
- hasMore: infiniteScrollInstance?.dataManager.hasNext() || false,
48
+ hasMore: hasNextPage,
47
49
  ...sharedExposed
48
50
  };
49
51
  $: exposedSlot = {
@@ -92,6 +94,11 @@ export function hasNext() {
92
94
  onMount(() => {
93
95
  setTimeout(setupInfiniteScrollInstance);
94
96
  });
97
+ function syncStateFromDataManager() {
98
+ requestCount = infiniteScrollInstance.dataManager.getRequestCount();
99
+ hasPreviousPage = infiniteScrollInstance.dataManager.hasPrevious();
100
+ hasNextPage = infiniteScrollInstance.dataManager.hasNext();
101
+ }
95
102
  function setupInfiniteScrollInstance() {
96
103
  const resolvedItemsElement2 = resolveHTMLElement(itemsElement, itemsElementRef);
97
104
  const resolvedStartElement = resolveHTMLElement(startElement, startElementRef);
@@ -113,16 +120,17 @@ function setupInfiniteScrollInstance() {
113
120
  onBeforePreviousRequest: () => loadingPrevious = true,
114
121
  onBeforeNextRequest: () => loadingNext = true,
115
122
  onCompletePreviousRequest: () => {
116
- requestCount = infiniteScrollInstance.dataManager.getRequestCount();
117
123
  loadingPrevious = false;
124
+ syncStateFromDataManager();
118
125
  },
119
126
  onCompleteNextRequest: () => {
120
- requestCount = infiniteScrollInstance.dataManager.getRequestCount();
121
127
  loadingNext = false;
122
- }
128
+ syncStateFromDataManager();
129
+ },
130
+ onDataReset: syncStateFromDataManager
123
131
  });
124
132
  const { dataManager, elementManager } = infiniteScrollInstance;
125
- requestCount = dataManager.getRequestCount();
133
+ syncStateFromDataManager();
126
134
  elementManager.setupObservers();
127
135
  elementManager.processServerLoadedElements(dataManager.getLastLoadedPage());
128
136
  const shouldAutoScroll = autoScroll !== void 0 ? autoScroll : reverse;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inertiajs/svelte",
3
- "version": "2.3.7",
3
+ "version": "2.3.8",
4
4
  "license": "MIT",
5
5
  "description": "The Svelte adapter for Inertia.js",
6
6
  "contributors": [
@@ -55,7 +55,7 @@
55
55
  "@types/lodash-es": "^4.17.12",
56
56
  "laravel-precognition": "^1.0.0",
57
57
  "lodash-es": "^4.17.21",
58
- "@inertiajs/core": "2.3.7"
58
+ "@inertiajs/core": "2.3.8"
59
59
  },
60
60
  "scripts": {
61
61
  "build": "pnpm package && svelte-check --tsconfig ./tsconfig.json && publint",