@inertiajs/vue3 2.3.6 → 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.
package/dist/index.js CHANGED
@@ -108,6 +108,7 @@ function useForm(...args) {
108
108
  let recentlySuccessfulTimeoutId;
109
109
  let transform = (data2) => data2;
110
110
  let validatorRef = null;
111
+ let rememberExcludeKeys = [];
111
112
  let defaultsCalledInOnSuccess = false;
112
113
  const form = (0, import_vue.reactive)({
113
114
  ...restored ? restored.data : (0, import_lodash_es2.cloneDeep)(defaults),
@@ -356,9 +357,19 @@ function useForm(...args) {
356
357
  cancelToken.cancel();
357
358
  }
358
359
  },
360
+ dontRemember(...keys) {
361
+ rememberExcludeKeys = keys;
362
+ return this;
363
+ },
359
364
  __rememberable: rememberKey === null,
360
365
  __remember() {
361
- return { data: this.data(), errors: this.errors };
366
+ const data2 = this.data();
367
+ if (rememberExcludeKeys.length > 0) {
368
+ const filtered = { ...data2 };
369
+ rememberExcludeKeys.forEach((k) => delete filtered[k]);
370
+ return { data: filtered, errors: this.errors };
371
+ }
372
+ return { data: data2, errors: this.errors };
362
373
  },
363
374
  __restore(restored2) {
364
375
  Object.assign(this, restored2.data);
@@ -370,8 +381,10 @@ function useForm(...args) {
370
381
  typedForm,
371
382
  (newValue) => {
372
383
  typedForm.isDirty = !(0, import_lodash_es2.isEqual)(typedForm.data(), defaults);
373
- if (rememberKey) {
374
- import_core2.router.remember((0, import_lodash_es2.cloneDeep)(newValue.__remember()), rememberKey);
384
+ const storedData = import_core2.router.restore(rememberKey);
385
+ const newData = (0, import_lodash_es2.cloneDeep)(newValue.__remember());
386
+ if (rememberKey && !(0, import_lodash_es2.isEqual)(storedData, newData)) {
387
+ import_core2.router.remember(newData, rememberKey);
375
388
  }
376
389
  },
377
390
  { immediate: true, deep: true }
@@ -1082,6 +1095,13 @@ var InfiniteScroll = (0, import_vue7.defineComponent)({
1082
1095
  const loadingPrevious = (0, import_vue7.ref)(false);
1083
1096
  const loadingNext = (0, import_vue7.ref)(false);
1084
1097
  const requestCount = (0, import_vue7.ref)(0);
1098
+ const hasPreviousPage = (0, import_vue7.ref)(false);
1099
+ const hasNextPage = (0, import_vue7.ref)(false);
1100
+ const syncStateFromDataManager = () => {
1101
+ requestCount.value = dataManager.getRequestCount();
1102
+ hasPreviousPage.value = dataManager.hasPrevious();
1103
+ hasNextPage.value = dataManager.hasNext();
1104
+ };
1085
1105
  const {
1086
1106
  dataManager,
1087
1107
  elementManager,
@@ -1103,15 +1123,16 @@ var InfiniteScroll = (0, import_vue7.defineComponent)({
1103
1123
  onBeforePreviousRequest: () => loadingPrevious.value = true,
1104
1124
  onBeforeNextRequest: () => loadingNext.value = true,
1105
1125
  onCompletePreviousRequest: () => {
1106
- requestCount.value = dataManager.getRequestCount();
1107
1126
  loadingPrevious.value = false;
1127
+ syncStateFromDataManager();
1108
1128
  },
1109
1129
  onCompleteNextRequest: () => {
1110
- requestCount.value = dataManager.getRequestCount();
1111
1130
  loadingNext.value = false;
1112
- }
1131
+ syncStateFromDataManager();
1132
+ },
1133
+ onDataReset: syncStateFromDataManager
1113
1134
  });
1114
- requestCount.value = dataManager.getRequestCount();
1135
+ syncStateFromDataManager();
1115
1136
  const autoLoad = (0, import_vue7.computed)(() => !manualMode.value);
1116
1137
  const manualMode = (0, import_vue7.computed)(
1117
1138
  () => props.manual || props.manualAfter > 0 && requestCount.value >= props.manualAfter
@@ -1158,8 +1179,8 @@ var InfiniteScroll = (0, import_vue7.defineComponent)({
1158
1179
  const sharedExposed = {
1159
1180
  loadingPrevious: loadingPrevious.value,
1160
1181
  loadingNext: loadingNext.value,
1161
- hasPrevious: dataManager.hasPrevious(),
1162
- hasNext: dataManager.hasNext()
1182
+ hasPrevious: hasPreviousPage.value,
1183
+ hasNext: hasNextPage.value
1163
1184
  };
1164
1185
  if (!props.startElement) {
1165
1186
  const headerAutoMode = autoLoad.value && !props.onlyNext;
@@ -1168,7 +1189,7 @@ var InfiniteScroll = (0, import_vue7.defineComponent)({
1168
1189
  fetch: dataManager.fetchPrevious,
1169
1190
  autoMode: headerAutoMode,
1170
1191
  manualMode: !headerAutoMode,
1171
- hasMore: dataManager.hasPrevious(),
1192
+ hasMore: hasPreviousPage.value,
1172
1193
  ...sharedExposed
1173
1194
  };
1174
1195
  renderElements.push(
@@ -1197,7 +1218,7 @@ var InfiniteScroll = (0, import_vue7.defineComponent)({
1197
1218
  fetch: dataManager.fetchNext,
1198
1219
  autoMode: footerAutoMode,
1199
1220
  manualMode: !footerAutoMode,
1200
- hasMore: dataManager.hasNext(),
1221
+ hasMore: hasNextPage.value,
1201
1222
  ...sharedExposed
1202
1223
  };
1203
1224
  renderElements.push(
@@ -1584,7 +1605,9 @@ function useRemember(data, key2) {
1584
1605
  const restored = import_core10.router.restore(key2);
1585
1606
  const type = (0, import_vue11.isReactive)(data) ? import_vue11.reactive : import_vue11.ref;
1586
1607
  const hasCallbacks = typeof data.__remember === "function" && typeof data.__restore === "function";
1587
- const remembered = type(restored === void 0 ? data : hasCallbacks ? data.__restore(restored) : restored);
1608
+ const remembered = type(
1609
+ restored === void 0 ? data : hasCallbacks ? data.__restore((0, import_lodash_es5.cloneDeep)(restored)) : (0, import_lodash_es5.cloneDeep)(restored)
1610
+ );
1588
1611
  (0, import_vue11.watch)(
1589
1612
  remembered,
1590
1613
  (newValue) => {
@@ -1646,7 +1669,9 @@ var whenVisible_default = (0, import_vue12.defineComponent)({
1646
1669
  if (exists && !this.always) {
1647
1670
  return;
1648
1671
  }
1649
- this.$nextTick(this.registerObserver);
1672
+ if (!this.observer || !exists) {
1673
+ this.$nextTick(this.registerObserver);
1674
+ }
1650
1675
  },
1651
1676
  { immediate: true }
1652
1677
  );