@react-navigation/routers 8.0.0-alpha.5 → 8.0.0-alpha.7
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/lib/module/StackRouter.js +155 -123
- package/lib/module/StackRouter.js.map +1 -1
- package/lib/typescript/src/StackRouter.d.ts +26 -3
- package/lib/typescript/src/StackRouter.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +0 -10
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/StackRouter.tsx +308 -138
- package/src/types.tsx +0 -11
|
@@ -45,8 +45,50 @@ export const StackActions = {
|
|
|
45
45
|
merge: options?.merge
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
+
},
|
|
49
|
+
retain(enable) {
|
|
50
|
+
return {
|
|
51
|
+
type: 'RETAIN',
|
|
52
|
+
payload: {
|
|
53
|
+
enable
|
|
54
|
+
}
|
|
55
|
+
};
|
|
48
56
|
}
|
|
49
57
|
};
|
|
58
|
+
function retainRoutes(previousState, nextState) {
|
|
59
|
+
if (!nextState.retainedRouteKeys.length) {
|
|
60
|
+
return nextState;
|
|
61
|
+
}
|
|
62
|
+
const retainedRouteKeySet = new Set(nextState.retainedRouteKeys);
|
|
63
|
+
const nextRouteKeySet = new Set(nextState.routes.map(route => route.key));
|
|
64
|
+
const retainedRoutes = getActiveRoutes(previousState).filter(route => retainedRouteKeySet.has(route.key) && !nextRouteKeySet.has(route.key));
|
|
65
|
+
if (!retainedRoutes.length) {
|
|
66
|
+
return nextState;
|
|
67
|
+
}
|
|
68
|
+
const removedRetainedRouteKeys = new Set(retainedRoutes.map(route => route.key));
|
|
69
|
+
return getStateWithRoutes(nextState, getActiveRoutes(nextState), getPreloadedRoutes(nextState), retainedRoutes.concat(getRetainedRoutes(nextState).filter(route => !removedRetainedRouteKeys.has(route.key))));
|
|
70
|
+
}
|
|
71
|
+
const getActiveRoutes = state => state.routes.slice(0, state.index + 1);
|
|
72
|
+
const getInactiveRoutes = state => state.routes.slice(state.index + 1);
|
|
73
|
+
const getPreloadedRoutes = state => {
|
|
74
|
+
const retainedRouteKeySet = new Set(state.retainedRouteKeys);
|
|
75
|
+
return getInactiveRoutes(state).filter(route => !retainedRouteKeySet.has(route.key));
|
|
76
|
+
};
|
|
77
|
+
const getRetainedRoutes = state => {
|
|
78
|
+
const retainedRouteKeySet = new Set(state.retainedRouteKeys);
|
|
79
|
+
return getInactiveRoutes(state).filter(route => retainedRouteKeySet.has(route.key));
|
|
80
|
+
};
|
|
81
|
+
const getStateWithRoutes = (state, activeRoutes, preloadedRoutes = getPreloadedRoutes(state), retainedRoutes = getRetainedRoutes(state)) => {
|
|
82
|
+
const routeKeySet = new Set(activeRoutes.map(route => route.key));
|
|
83
|
+
const retainedRouteKeySet = new Set(state.retainedRouteKeys);
|
|
84
|
+
const filteredRetainedRoutes = retainedRoutes.filter(route => !routeKeySet.has(route.key));
|
|
85
|
+
const filteredPreloadedRoutes = preloadedRoutes.filter(route => !retainedRouteKeySet.has(route.key) && !routeKeySet.has(route.key));
|
|
86
|
+
return {
|
|
87
|
+
...state,
|
|
88
|
+
index: activeRoutes.length - 1,
|
|
89
|
+
routes: activeRoutes.concat(filteredRetainedRoutes, filteredPreloadedRoutes)
|
|
90
|
+
};
|
|
91
|
+
};
|
|
50
92
|
export function StackRouter(options) {
|
|
51
93
|
const router = {
|
|
52
94
|
...BaseRouter,
|
|
@@ -62,7 +104,7 @@ export function StackRouter(options) {
|
|
|
62
104
|
key: `stack-${nanoid()}`,
|
|
63
105
|
index: 0,
|
|
64
106
|
routeNames,
|
|
65
|
-
|
|
107
|
+
retainedRouteKeys: [],
|
|
66
108
|
routes: [{
|
|
67
109
|
key: `${initialRouteName}-${nanoid()}`,
|
|
68
110
|
name: initialRouteName,
|
|
@@ -86,14 +128,6 @@ export function StackRouter(options) {
|
|
|
86
128
|
...route.params
|
|
87
129
|
} : route.params
|
|
88
130
|
}));
|
|
89
|
-
const preloadedRoutes = state.preloadedRoutes?.filter(route => routeNames.includes(route.name)).map(route => ({
|
|
90
|
-
...route,
|
|
91
|
-
key: route.key || `${route.name}-${nanoid()}`,
|
|
92
|
-
params: routeParamList[route.name] !== undefined ? {
|
|
93
|
-
...routeParamList[route.name],
|
|
94
|
-
...route.params
|
|
95
|
-
} : route.params
|
|
96
|
-
})) ?? [];
|
|
97
131
|
if (routes.length === 0) {
|
|
98
132
|
const initialRouteName = options.initialRouteName !== undefined ? options.initialRouteName : routeNames[0];
|
|
99
133
|
routes.push({
|
|
@@ -102,14 +136,17 @@ export function StackRouter(options) {
|
|
|
102
136
|
params: routeParamList[initialRouteName]
|
|
103
137
|
});
|
|
104
138
|
}
|
|
139
|
+
const index = Math.min(Math.max(state.index ?? routes.length - 1, 0), routes.length - 1);
|
|
140
|
+
const routeKeys = new Set(routes.map(route => route.key));
|
|
141
|
+
const retainedRouteKeys = state.retainedRouteKeys?.filter(key => routeKeys.has(key)) ?? [];
|
|
105
142
|
return {
|
|
106
143
|
stale: false,
|
|
107
144
|
type: 'stack',
|
|
108
145
|
key: `stack-${nanoid()}`,
|
|
109
|
-
index
|
|
146
|
+
index,
|
|
110
147
|
routeNames,
|
|
111
148
|
routes,
|
|
112
|
-
|
|
149
|
+
retainedRouteKeys
|
|
113
150
|
};
|
|
114
151
|
},
|
|
115
152
|
getStateForRouteNamesChange(state, {
|
|
@@ -117,7 +154,9 @@ export function StackRouter(options) {
|
|
|
117
154
|
routeParamList,
|
|
118
155
|
routeKeyChanges
|
|
119
156
|
}) {
|
|
120
|
-
const routes = state.
|
|
157
|
+
const routes = getActiveRoutes(state).filter(route => routeNames.includes(route.name) && !routeKeyChanges.includes(route.name));
|
|
158
|
+
const preloadedRoutes = getPreloadedRoutes(state).filter(route => routeNames.includes(route.name) && !routeKeyChanges.includes(route.name));
|
|
159
|
+
const retainedRoutes = getRetainedRoutes(state).filter(route => routeNames.includes(route.name) && !routeKeyChanges.includes(route.name));
|
|
121
160
|
if (routes.length === 0) {
|
|
122
161
|
const initialRouteName = options.initialRouteName !== undefined && routeNames.includes(options.initialRouteName) ? options.initialRouteName : routeNames[0];
|
|
123
162
|
routes.push({
|
|
@@ -126,32 +165,33 @@ export function StackRouter(options) {
|
|
|
126
165
|
params: routeParamList[initialRouteName]
|
|
127
166
|
});
|
|
128
167
|
}
|
|
129
|
-
|
|
168
|
+
const routeKeys = new Set([...routes, ...preloadedRoutes, ...retainedRoutes].map(route => route.key));
|
|
169
|
+
const retainedRouteKeys = state.retainedRouteKeys.filter(key => routeKeys.has(key));
|
|
170
|
+
return getStateWithRoutes({
|
|
130
171
|
...state,
|
|
131
172
|
routeNames,
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
};
|
|
173
|
+
retainedRouteKeys
|
|
174
|
+
}, routes, preloadedRoutes, retainedRoutes);
|
|
135
175
|
},
|
|
136
176
|
getStateForRouteFocus(state, key) {
|
|
137
|
-
const
|
|
177
|
+
const routes = getActiveRoutes(state);
|
|
178
|
+
const index = routes.findIndex(r => r.key === key);
|
|
138
179
|
if (index === -1 || index === state.index) {
|
|
139
180
|
return state;
|
|
140
181
|
}
|
|
141
|
-
return
|
|
142
|
-
...state,
|
|
143
|
-
index,
|
|
144
|
-
routes: state.routes.slice(0, index + 1)
|
|
145
|
-
};
|
|
182
|
+
return retainRoutes(state, getStateWithRoutes(state, routes.slice(0, index + 1)));
|
|
146
183
|
},
|
|
147
184
|
getStateForAction(state, action, options) {
|
|
148
185
|
const {
|
|
149
186
|
routeParamList
|
|
150
187
|
} = options;
|
|
188
|
+
const routes = getActiveRoutes(state);
|
|
189
|
+
const preloadedRoutes = getPreloadedRoutes(state);
|
|
190
|
+
const inactiveRoutes = getInactiveRoutes(state);
|
|
151
191
|
switch (action.type) {
|
|
152
192
|
case 'REPLACE':
|
|
153
193
|
{
|
|
154
|
-
const currentIndex = action.target === state.key && action.source ?
|
|
194
|
+
const currentIndex = action.target === state.key && action.source ? routes.findIndex(r => r.key === action.source) : state.index;
|
|
155
195
|
if (currentIndex === -1) {
|
|
156
196
|
return null;
|
|
157
197
|
}
|
|
@@ -163,8 +203,8 @@ export function StackRouter(options) {
|
|
|
163
203
|
params: action.payload.params
|
|
164
204
|
});
|
|
165
205
|
|
|
166
|
-
// Re-use
|
|
167
|
-
let route =
|
|
206
|
+
// Re-use inactive route if available
|
|
207
|
+
let route = inactiveRoutes.find(route => route.name === action.payload.name && id === getId?.({
|
|
168
208
|
params: route.params
|
|
169
209
|
}));
|
|
170
210
|
if (!route) {
|
|
@@ -173,11 +213,7 @@ export function StackRouter(options) {
|
|
|
173
213
|
routeParamList
|
|
174
214
|
});
|
|
175
215
|
}
|
|
176
|
-
return
|
|
177
|
-
...state,
|
|
178
|
-
routes: state.routes.map((r, i) => i === currentIndex ? route : r),
|
|
179
|
-
preloadedRoutes: state.preloadedRoutes.filter(r => r.key !== route.key)
|
|
180
|
-
};
|
|
216
|
+
return retainRoutes(state, getStateWithRoutes(state, routes.map((r, i) => i === currentIndex ? route : r), preloadedRoutes.filter(r => r.key !== route.key)));
|
|
181
217
|
}
|
|
182
218
|
case 'PUSH':
|
|
183
219
|
case 'NAVIGATE':
|
|
@@ -191,15 +227,15 @@ export function StackRouter(options) {
|
|
|
191
227
|
});
|
|
192
228
|
let route;
|
|
193
229
|
if (action.type === 'NAVIGATE') {
|
|
194
|
-
const currentRoute =
|
|
230
|
+
const currentRoute = routes[state.index];
|
|
195
231
|
if (id !== undefined) {
|
|
196
232
|
if (currentRoute.name === action.payload.name && id === getId?.({
|
|
197
233
|
params: currentRoute.params
|
|
198
234
|
})) {
|
|
199
235
|
route = currentRoute;
|
|
200
236
|
} else if (action.payload.pop) {
|
|
201
|
-
for (let i =
|
|
202
|
-
const r =
|
|
237
|
+
for (let i = routes.length - 1; i >= 0; i--) {
|
|
238
|
+
const r = routes[i];
|
|
203
239
|
if (r.name !== action.payload.name) {
|
|
204
240
|
continue;
|
|
205
241
|
}
|
|
@@ -233,12 +269,12 @@ export function StackRouter(options) {
|
|
|
233
269
|
if (action.payload.name === currentRoute.name) {
|
|
234
270
|
route = currentRoute;
|
|
235
271
|
} else if (action.payload.pop) {
|
|
236
|
-
route =
|
|
272
|
+
route = routes.findLast(route => route.name === action.payload.name);
|
|
237
273
|
}
|
|
238
274
|
}
|
|
239
275
|
}
|
|
240
276
|
if (!route) {
|
|
241
|
-
route =
|
|
277
|
+
route = inactiveRoutes.find(route => route.name === action.payload.name && id === getId?.({
|
|
242
278
|
params: route.params
|
|
243
279
|
}));
|
|
244
280
|
}
|
|
@@ -255,50 +291,52 @@ export function StackRouter(options) {
|
|
|
255
291
|
routeParamList
|
|
256
292
|
});
|
|
257
293
|
}
|
|
258
|
-
let
|
|
294
|
+
let nextRoutes;
|
|
259
295
|
if (route) {
|
|
260
296
|
if (action.type === 'NAVIGATE' && action.payload.pop) {
|
|
261
|
-
|
|
297
|
+
nextRoutes = [];
|
|
262
298
|
|
|
263
299
|
// Get all routes until the matching one
|
|
264
|
-
for (const r of
|
|
300
|
+
for (const r of routes) {
|
|
265
301
|
if (r.key === route.key) {
|
|
266
|
-
|
|
302
|
+
nextRoutes.push({
|
|
267
303
|
...route,
|
|
268
304
|
path: action.payload.path !== undefined ? action.payload.path : route.path,
|
|
269
305
|
params
|
|
270
306
|
});
|
|
271
307
|
break;
|
|
272
308
|
}
|
|
273
|
-
|
|
309
|
+
nextRoutes.push(r);
|
|
310
|
+
}
|
|
311
|
+
if (!nextRoutes.some(r => r.key === route.key)) {
|
|
312
|
+
nextRoutes.push({
|
|
313
|
+
...route,
|
|
314
|
+
path: action.payload.path !== undefined ? action.payload.path : route.path,
|
|
315
|
+
params
|
|
316
|
+
});
|
|
274
317
|
}
|
|
275
318
|
} else {
|
|
276
|
-
|
|
277
|
-
|
|
319
|
+
nextRoutes = routes.filter(r => r.key !== route.key);
|
|
320
|
+
nextRoutes.push({
|
|
278
321
|
...route,
|
|
279
322
|
path: action.type === 'NAVIGATE' && action.payload.path !== undefined ? action.payload.path : route.path,
|
|
280
323
|
params
|
|
281
324
|
});
|
|
282
325
|
}
|
|
283
326
|
} else {
|
|
284
|
-
|
|
327
|
+
nextRoutes = [...routes, {
|
|
285
328
|
key: `${action.payload.name}-${nanoid()}`,
|
|
286
329
|
name: action.payload.name,
|
|
287
330
|
path: action.type === 'NAVIGATE' ? action.payload.path : undefined,
|
|
288
331
|
params
|
|
289
332
|
}];
|
|
290
333
|
}
|
|
291
|
-
return
|
|
292
|
-
...state,
|
|
293
|
-
index: routes.length - 1,
|
|
294
|
-
preloadedRoutes: state.preloadedRoutes.filter(route => routes[routes.length - 1].key !== route.key),
|
|
295
|
-
routes
|
|
296
|
-
};
|
|
334
|
+
return retainRoutes(state, getStateWithRoutes(state, nextRoutes, preloadedRoutes.filter(route => nextRoutes[nextRoutes.length - 1].key !== route.key)));
|
|
297
335
|
}
|
|
298
336
|
case 'POP':
|
|
299
337
|
{
|
|
300
|
-
let currentIndex = action.target === state.key && action.source ?
|
|
301
|
-
let route =
|
|
338
|
+
let currentIndex = action.target === state.key && action.source ? routes.findIndex(r => r.key === action.source) : state.index;
|
|
339
|
+
let route = routes[currentIndex];
|
|
302
340
|
|
|
303
341
|
/**
|
|
304
342
|
* When popping entries,
|
|
@@ -311,42 +349,38 @@ export function StackRouter(options) {
|
|
|
311
349
|
*/
|
|
312
350
|
if (route.history?.length || currentIndex > 0) {
|
|
313
351
|
let count = action.payload.count;
|
|
314
|
-
let
|
|
352
|
+
let nextRoutes = routes;
|
|
315
353
|
while (count > 0 && (route.history?.length || currentIndex > 0)) {
|
|
316
354
|
if (route.history?.length) {
|
|
317
|
-
|
|
355
|
+
nextRoutes = [...nextRoutes];
|
|
318
356
|
const end = Math.min(count, route.history.length);
|
|
319
357
|
const last = route.history.at(-end);
|
|
320
358
|
const history = route.history.slice(0, -end);
|
|
321
359
|
const removed = route.history.length - history.length;
|
|
322
360
|
count = count - removed;
|
|
323
|
-
|
|
361
|
+
nextRoutes[currentIndex] = {
|
|
324
362
|
...route,
|
|
325
363
|
params: last?.type === 'params' ? last.params : route.params,
|
|
326
364
|
history
|
|
327
365
|
};
|
|
328
366
|
}
|
|
329
367
|
if (currentIndex > 0 && count > 0) {
|
|
330
|
-
const length =
|
|
368
|
+
const length = nextRoutes.length;
|
|
331
369
|
const end = Math.max(currentIndex - count + 1, 1);
|
|
332
|
-
|
|
333
|
-
const removed = length -
|
|
370
|
+
nextRoutes = nextRoutes.slice(0, end).concat(nextRoutes.slice(currentIndex + 1));
|
|
371
|
+
const removed = length - nextRoutes.length;
|
|
334
372
|
count = count - removed;
|
|
335
|
-
currentIndex =
|
|
336
|
-
route =
|
|
373
|
+
currentIndex = nextRoutes.length - 1;
|
|
374
|
+
route = nextRoutes[currentIndex];
|
|
337
375
|
}
|
|
338
376
|
}
|
|
339
|
-
return
|
|
340
|
-
...state,
|
|
341
|
-
index: routes.length - 1,
|
|
342
|
-
routes
|
|
343
|
-
};
|
|
377
|
+
return retainRoutes(state, getStateWithRoutes(state, nextRoutes));
|
|
344
378
|
}
|
|
345
379
|
return null;
|
|
346
380
|
}
|
|
347
381
|
case 'POP_TO_TOP':
|
|
348
382
|
{
|
|
349
|
-
let route =
|
|
383
|
+
let route = routes[0];
|
|
350
384
|
if (state.index > 0 || route.history?.length) {
|
|
351
385
|
if (route.history?.length) {
|
|
352
386
|
route = {
|
|
@@ -354,17 +388,13 @@ export function StackRouter(options) {
|
|
|
354
388
|
history: undefined
|
|
355
389
|
};
|
|
356
390
|
}
|
|
357
|
-
return
|
|
358
|
-
...state,
|
|
359
|
-
index: 0,
|
|
360
|
-
routes: [route]
|
|
361
|
-
};
|
|
391
|
+
return retainRoutes(state, getStateWithRoutes(state, [route]));
|
|
362
392
|
}
|
|
363
393
|
return null;
|
|
364
394
|
}
|
|
365
395
|
case 'POP_TO':
|
|
366
396
|
{
|
|
367
|
-
const currentIndex = action.target === state.key && action.source ?
|
|
397
|
+
const currentIndex = action.target === state.key && action.source ? routes.findLastIndex(r => r.key === action.source) : state.index;
|
|
368
398
|
if (currentIndex === -1) {
|
|
369
399
|
return null;
|
|
370
400
|
}
|
|
@@ -381,7 +411,7 @@ export function StackRouter(options) {
|
|
|
381
411
|
});
|
|
382
412
|
if (id !== undefined) {
|
|
383
413
|
for (let i = currentIndex; i >= 0; i--) {
|
|
384
|
-
const r =
|
|
414
|
+
const r = routes[i];
|
|
385
415
|
if (r.name !== action.payload.name) {
|
|
386
416
|
continue;
|
|
387
417
|
}
|
|
@@ -406,11 +436,11 @@ export function StackRouter(options) {
|
|
|
406
436
|
}
|
|
407
437
|
}
|
|
408
438
|
}
|
|
409
|
-
} else if (
|
|
439
|
+
} else if (routes[currentIndex].name === action.payload.name) {
|
|
410
440
|
index = currentIndex;
|
|
411
441
|
} else {
|
|
412
442
|
for (let i = currentIndex; i >= 0; i--) {
|
|
413
|
-
if (
|
|
443
|
+
if (routes[i].name === action.payload.name) {
|
|
414
444
|
index = i;
|
|
415
445
|
break;
|
|
416
446
|
}
|
|
@@ -419,8 +449,8 @@ export function StackRouter(options) {
|
|
|
419
449
|
|
|
420
450
|
// If the route doesn't exist, remove the current route and add the new one
|
|
421
451
|
if (index === -1) {
|
|
422
|
-
// Re-use
|
|
423
|
-
let route =
|
|
452
|
+
// Re-use inactive route if available
|
|
453
|
+
let route = inactiveRoutes.find(route => route.name === action.payload.name && id === getId?.({
|
|
424
454
|
params: route.params
|
|
425
455
|
}));
|
|
426
456
|
if (!route) {
|
|
@@ -429,15 +459,10 @@ export function StackRouter(options) {
|
|
|
429
459
|
routeParamList
|
|
430
460
|
});
|
|
431
461
|
}
|
|
432
|
-
const
|
|
433
|
-
return
|
|
434
|
-
...state,
|
|
435
|
-
index: routes.length - 1,
|
|
436
|
-
routes,
|
|
437
|
-
preloadedRoutes: state.preloadedRoutes.filter(r => r.key !== route.key)
|
|
438
|
-
};
|
|
462
|
+
const nextRoutes = routes.slice(0, currentIndex).concat(route);
|
|
463
|
+
return retainRoutes(state, getStateWithRoutes(state, nextRoutes, preloadedRoutes.filter(r => r.key !== route.key)));
|
|
439
464
|
}
|
|
440
|
-
const route =
|
|
465
|
+
const route = routes[index];
|
|
441
466
|
let baseParams = route.params;
|
|
442
467
|
let history = route.history;
|
|
443
468
|
if (historyIndex !== undefined && route.history) {
|
|
@@ -457,18 +482,14 @@ export function StackRouter(options) {
|
|
|
457
482
|
routeParamList
|
|
458
483
|
});
|
|
459
484
|
}
|
|
460
|
-
return {
|
|
461
|
-
...
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
params,
|
|
466
|
-
history
|
|
467
|
-
} : state.routes[index]]
|
|
468
|
-
};
|
|
485
|
+
return retainRoutes(state, getStateWithRoutes(state, [...routes.slice(0, index), params !== baseParams || historyIndex !== undefined ? {
|
|
486
|
+
...route,
|
|
487
|
+
params,
|
|
488
|
+
history
|
|
489
|
+
} : routes[index]]));
|
|
469
490
|
}
|
|
470
491
|
case 'GO_BACK':
|
|
471
|
-
if (state.index > 0 ||
|
|
492
|
+
if (state.index > 0 || routes[state.index].history?.length) {
|
|
472
493
|
return router.getStateForAction(state, {
|
|
473
494
|
type: 'POP',
|
|
474
495
|
payload: {
|
|
@@ -479,6 +500,29 @@ export function StackRouter(options) {
|
|
|
479
500
|
}, options);
|
|
480
501
|
}
|
|
481
502
|
return null;
|
|
503
|
+
case 'RETAIN':
|
|
504
|
+
{
|
|
505
|
+
const routeKey = action.source ?? routes[state.index].key;
|
|
506
|
+
if (!state.routes.some(route => route.key === routeKey)) {
|
|
507
|
+
return null;
|
|
508
|
+
}
|
|
509
|
+
if (action.payload.enable) {
|
|
510
|
+
if (state.retainedRouteKeys.includes(routeKey)) {
|
|
511
|
+
return state;
|
|
512
|
+
}
|
|
513
|
+
return {
|
|
514
|
+
...state,
|
|
515
|
+
retainedRouteKeys: [...state.retainedRouteKeys, routeKey]
|
|
516
|
+
};
|
|
517
|
+
}
|
|
518
|
+
if (!state.retainedRouteKeys.includes(routeKey)) {
|
|
519
|
+
return state;
|
|
520
|
+
}
|
|
521
|
+
return getStateWithRoutes({
|
|
522
|
+
...state,
|
|
523
|
+
retainedRouteKeys: state.retainedRouteKeys.filter(key => key !== routeKey)
|
|
524
|
+
}, routes, preloadedRoutes.filter(route => route.key !== routeKey));
|
|
525
|
+
}
|
|
482
526
|
case 'PRELOAD':
|
|
483
527
|
{
|
|
484
528
|
const getId = options.routeGetIdList[action.payload.name];
|
|
@@ -491,53 +535,41 @@ export function StackRouter(options) {
|
|
|
491
535
|
});
|
|
492
536
|
let route;
|
|
493
537
|
if (action.payload.reuse) {
|
|
494
|
-
route =
|
|
538
|
+
route = preloadedRoutes.findLast(route => route.name === action.payload.name && (id === undefined || id === getId?.({
|
|
495
539
|
params: route.params
|
|
496
540
|
})));
|
|
497
541
|
if (route) {
|
|
498
|
-
return {
|
|
499
|
-
...
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
params
|
|
503
|
-
} : r)
|
|
504
|
-
};
|
|
542
|
+
return getStateWithRoutes(state, routes, preloadedRoutes.map(r => r.key === route?.key && r.params !== params ? {
|
|
543
|
+
...r,
|
|
544
|
+
params
|
|
545
|
+
} : r));
|
|
505
546
|
}
|
|
506
547
|
}
|
|
507
548
|
if (id !== undefined) {
|
|
508
|
-
route =
|
|
549
|
+
route = routes.findLast(route => route.name === action.payload.name && id === getId?.({
|
|
509
550
|
params: route.params
|
|
510
551
|
}));
|
|
511
552
|
} else if (action.payload.reuse) {
|
|
512
|
-
route =
|
|
553
|
+
route = routes.findLast(route => route.name === action.payload.name);
|
|
513
554
|
}
|
|
514
555
|
if (route) {
|
|
515
|
-
return {
|
|
516
|
-
...
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
params
|
|
520
|
-
} : r)
|
|
521
|
-
};
|
|
556
|
+
return getStateWithRoutes(state, routes.map(r => r.key === route.key && r.params !== params ? {
|
|
557
|
+
...r,
|
|
558
|
+
params
|
|
559
|
+
} : r), preloadedRoutes);
|
|
522
560
|
} else {
|
|
523
|
-
return {
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
routeParamList
|
|
530
|
-
}))
|
|
531
|
-
};
|
|
561
|
+
return getStateWithRoutes(state, routes, preloadedRoutes.filter(r => r.name !== action.payload.name || id !== getId?.({
|
|
562
|
+
params: r.params
|
|
563
|
+
})).concat(createRouteFromAction({
|
|
564
|
+
action,
|
|
565
|
+
routeParamList
|
|
566
|
+
})));
|
|
532
567
|
}
|
|
533
568
|
}
|
|
534
569
|
default:
|
|
535
570
|
return BaseRouter.getStateForAction(state, action);
|
|
536
571
|
}
|
|
537
572
|
},
|
|
538
|
-
getRoutesFromState(state) {
|
|
539
|
-
return [...state.routes, ...state.preloadedRoutes];
|
|
540
|
-
},
|
|
541
573
|
actionCreators: StackActions
|
|
542
574
|
};
|
|
543
575
|
return router;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["nanoid","BaseRouter","createParamsFromAction","createRouteFromAction","StackActions","replace","name","params","type","payload","push","pop","count","popToTop","popTo","options","merge","StackRouter","router","getInitialState","routeNames","routeParamList","initialRouteName","undefined","includes","stale","key","index","preloadedRoutes","routes","getRehydratedState","partialState","state","filter","route","map","length","getStateForRouteNamesChange","routeKeyChanges","Math","min","getStateForRouteFocus","findIndex","r","slice","getStateForAction","action","currentIndex","target","source","getId","routeGetIdList","id","find","i","currentRoute","history","j","findLast","path","end","last","at","removed","max","concat","findLastIndex","historyIndex","baseParams","reuse","getRoutesFromState","actionCreators"],"sourceRoot":"../../src","sources":["StackRouter.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["nanoid","BaseRouter","createParamsFromAction","createRouteFromAction","StackActions","replace","name","params","type","payload","push","pop","count","popToTop","popTo","options","merge","retain","enable","retainRoutes","previousState","nextState","retainedRouteKeys","length","retainedRouteKeySet","Set","nextRouteKeySet","routes","map","route","key","retainedRoutes","getActiveRoutes","filter","has","removedRetainedRouteKeys","getStateWithRoutes","getPreloadedRoutes","concat","getRetainedRoutes","state","slice","index","getInactiveRoutes","activeRoutes","preloadedRoutes","routeKeySet","filteredRetainedRoutes","filteredPreloadedRoutes","StackRouter","router","getInitialState","routeNames","routeParamList","initialRouteName","undefined","includes","stale","getRehydratedState","partialState","Math","min","max","routeKeys","getStateForRouteNamesChange","routeKeyChanges","getStateForRouteFocus","findIndex","r","getStateForAction","action","inactiveRoutes","currentIndex","target","source","getId","routeGetIdList","id","find","i","currentRoute","history","j","findLast","nextRoutes","path","some","end","last","at","removed","findLastIndex","historyIndex","baseParams","routeKey","reuse","actionCreators"],"sourceRoot":"../../src","sources":["StackRouter.tsx"],"mappings":"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","ignoreList":[]}
|