@@ -213,149 +213,149 @@ interface WorkspacesContext {
213
213
}
214
214
215
215
type WorkspacesEvent =
216
- | { type : "GET_WORKSPACES " ; query ?: string }
216
+ | { type : "UPDATE_FILTER " ; query ?: string }
217
217
| { type : "UPDATE_VERSION" ; workspaceId : string }
218
218
| { type : "NEXT" }
219
219
| { type : "PREVIOUS" }
220
220
| { type : "GO_TO_PAGE" ; page : number }
221
221
222
222
export const workspacesMachine =
223
- /** @xstate -layout N4IgpgJg5mDOIC5QHcD2AnA1rADgQwGM4BlAFz1LADpk8BLUgFVQCUwAzdOACwHUNs+IrADEAD1jlKVPO0roAFAFYADGoCUItFlyESU6rQbM2nHvx1C4AbRUBdRKBypYDOqgB2jkGMQBGAGYANgCqFQAmAE4-cIAOOPDwoIB2ZIAaEABPRHCVKljAv2S-EMiClSUAFliAXxqM7UE9WDIKanYwUgJuOg8oKgJUAFcPUioYUlJeqABhYdGRCE9qXoA3VExqCYsm4TmR0lsHJBBnVynPb18ESsq8uOLk2KCVSqVY4qUM7IQAyqoApElOFKskgpEUn5avUQI1dMJWtIOl0en0BvMxhMpn19gswOh0BgqDgADYUdgYAC2406O3hcFxh3s3jObkuJ2ufyUVEiAXi4QCySUAWBARF3xyaiowuqZShQSCiUidQaAnpLQMVGR3WmNDVVlgVCGOAgFGmdKsplESw8Kw8602RpNbQteitRxZLjZXg5iFitwByTKARUQVulQCiQlCBeeX9sWifihhXBKth+uaiPanR1aLhBppk3NGeEi2WVDWGy2tJLNmZJ1ZFx9oGub25f0jyQqSiUQvi0aUiqoiXCfnecT8kRUwTT+czmu1qP6c+EhexUFdpZtdod1dIm5sfmOTi9TauiFukWlCb5097-tD0cqQ57dw+8cCz9ntY1bS1OaXPVLGaNdi2A0t8UJdBiTJUgKXQalth-D0G1Pdxmx8fximHF5O1uVJKgFAJoxCZIqChPlIhBUMngib9wP0P9F2mMtbSoSQ-xXRikQA6YUJPc50PPBBAhSYcQWBJJcmBfsshyIpxNHLsCiUIFIyCejdm4sARAAcQAUUYAB9XgAHkWAAaWIAAFABBGZ9OIfjTjQ9kW0QABaQiwmKadkhDQjgmSSpow8gIx3Ivkg17KIwSUPxNPVLMRAAVWsgARWzGH0oyADV9JYYgAElTIAOWcxshN9BB4jIsdhReSpIgjJrwlCkU-CoYKlQqQVYniRKDWS0r9IADUYCrXIw64Sm5XsFSSHtR1BQJ2r8f5Xg+KIww+YogiUQb5zaERrJYfTcpKlKnPrATvWEwV-nBUdR0HZqRTDNaNuqZJtu+vaDphLjf0oPTTKMxgwbsgzJsEtzMIQd4gi6ypRNBO4BWeT6wm+37dtmuoYQ8VAIDgbwgazGh6CYVgOC4WA+B-T1Yem-wxUe3sij6uIOujUSeSCKF-MFXlAmBQ6EQXXi0UGA5QJxDEmbu6q-mHVT+oTEIYkIkK5N+K9ARUeIIlHNQRUqcXtP-FFdRl0YqG3RWz2qkIkdeP5XmKEEFujUckZ+0dnj5DGewCC3geza3pYV1DmeEjzAmRlQkz8acgg+ebQqqKhGqFCNIkiIUkmhVUGPDq3c2XH8nVNdcDytR2qvcmrIx5TmhUBJIk6+XXbliLrB369SDZTgGS60svmLzKusTA8eG7hzl-l7YoqKIxUShKJ83n7tOnnC7bwkHMOKcnyvS-t5Z55ZhBin+ajfIxsUIWjfy5pSXlFVDAfQ8Bn8T6ls+c8Y5KybvHUIhE4gqFSAqPqfIdY-HejvWIlFqh8gesfSWkcoBXzjgLROydU7pzBKFdaoQc6XjBOGEUGC2g4OqvHFQV5gpJyTIQoUxDdZeVeJFD4zUIypGKD-OoQA */
223
+ /** @xstate -layout N4IgpgJg5mDOIC5QHcD2AnA1rADgQwGM4BlAFz1LADpk8BLUgFVQCUwAzdOACwHUNs+IrADEAD1jlKVPO0roAFAFYADGoCUItFlyESU6rQbM2nHvx1C4AbRUBdRKBypYDOqgB2jkGMQBGAGYANgCqFQAmAE4-cIAOOPDwoIB2ZIAaEABPRHCVKljAv2S-EMiClSUAFliAXxqM7UE9WDIKanYwUgJuOg8oKgJUAFcPUioYUlJeqABhYdGRCE9qXoA3VExqCYsm4TmR0lsHJBBnVynPb18ESsq8uOLk2KCVSqVY4qUM7IQAyqoApElOFKskgpEUn5avUQI1dMJWtIOl0en0BvMxhMpn19gswOh0BgqDgADYUdgYAC2406O3hcFxh3s3jObkuJ2ufyUVEiAXi4QCySUAWBARF3xyaiowuqZShQSCiUidQaAnpLQMVGR3WmNDVVlgVCGOAgFGmdKsplESw8Kw8602RpNbQteitRxZLjZXg5iFitwByTKARUQVulQCiQlCBeeX9sWifihhXBKth+uaiPanR1aLhBppk3NGeEi2WVDWGy2tJLNmZJ1ZFx9oGub25f0jyQqSiUQvi0aUiqoiXCfnecT8kRUwTT+czmu1qP6c+EhexUFdpZtdod1dIm5sfmOTi9TauiFukWlCb5097-tD0cqQ57dw+8cCz9ntY1bS1OaXPVLGaNdi2A0t8UJdBiTJUgKXQalth-D0G1Pdxmx8fximHF5O1uVJKgFAJoxCZIqChPlIhBUMngib9wP0P9F2mMtbSoSQ-xXRikQA6YUJPc50PPBBAhSYcQWBJJcmBfsshyIpxNHLsCiUIFIyCejdm4sARAAcQAUUYAB9XgAHkWAAaWIAAFABBGZ9OIfjTjQ9kW0QABaQiwmKadkhDQjgmSSpow8gIx3Ivkg17KIwSUPxNPVLMRAAVWsgARWzGH0oyADEAEkABlspYZzGyE30ECePwAVicLkiiJNKjHcJQvC-5Xg+Io+XHYFEoNZK0sy7KjIANX0lhiHy0yADkytcjDrj8NQyNHBUilUYplsiNrvJFJJVEHZqew0mEuN-SgRBm-SAA1GHmwS3MwkSgm5XsFQO4E-FBQI2u+sJqgaiFAeKV7+vnNoRGslh9NG6aUqc+sBO9YTBX+cFR1HQdIgjI6-o6wGojDD5QaUcGEQMPTTKMxhqbsgyHpRyr3iCKhgtE0E7gFZ58YBj4iZBkoybTDxUAgOBvHOrMaHoJhWA4LhYD4H9PUexb-DFdHe26p44hFPxo1EnkgihfzBV5QI+rOn9peYtFBgOUCcQxVWmfc35-nCVTYh9iFwpBEFo0BAEp3iCJRzUEVKnJ7T-xRXUHdGKht1ds9KpCVnXj+V5ihBD7ozWtnEnlPluZ7AIY4u7N4-tl3ULV4SPMCNm7iTZbgg+d7QqqKgXlBYIIxUSIcd5Svbd4vMfydU11wPK1U4q926vCHkdeFKiXjHJ9qjZwcffUwEVGW4XVQYqu49zZcp6xMCtPgeu3eev5pVSSdEjFRUShKbfuSFIJ339hCL2p1T533HjXK+Z9k7LAXk9a4xRPZ3F8tzMUEJoz+TeikXkipQx7wrtbM+4DL5ATvrA9WCAm6hEInEFQqQFSCjqv6IOg5d7-zeIEP4pQx4LgnlAMhjcTYtyPkmac-8hRglCt9UIfcGrdg+LQj43C2j8Mqk3IeQi26iM7hIuSFC7j-ECD7LOdVBRDzqHUIAA */
224
224
createMachine (
225
225
{
226
- tsTypes : { } as import ( "./workspacesXService.typegen" ) . Typegen1 ,
227
- schema : {
228
- context : { } as WorkspacesContext ,
229
- events : { } as WorkspacesEvent ,
230
- services : { } as {
231
- getWorkspaces : {
232
- data : TypesGen . Workspace [ ]
233
- }
234
- getWorkspacesCount : {
235
- data : { count : number }
236
- }
237
- updateWorkspaceRefs : {
238
- data : {
239
- refsToKeep : WorkspaceItemMachineRef [ ]
240
- newWorkspaces : TypesGen . Workspace [ ]
241
- }
242
- }
243
- } ,
244
- } ,
245
- predictableActionArguments : true ,
246
- id : "workspacesState" ,
247
- on : {
248
- GET_WORKSPACES : {
249
- target : ".fetching" ,
250
- actions : "assignFilter" ,
251
- } ,
252
- UPDATE_VERSION : {
253
- actions : "triggerUpdateVersion" ,
254
- } ,
255
- NEXT : {
256
- target : ".fetching" ,
257
- actions : [ "assignNextPage" , "onPageChange" ] ,
258
- } ,
259
- PREVIOUS : {
260
- target : ".fetching" ,
261
- actions : [ "assignPreviousPage" , "onPageChange" ] ,
262
- } ,
263
- GO_TO_PAGE : {
264
- target : ".fetching" ,
265
- actions : [ "assignPage" , "onPageChange" ] ,
226
+ tsTypes : { } as import ( "./workspacesXService.typegen" ) . Typegen1 ,
227
+ schema : {
228
+ context : { } as WorkspacesContext ,
229
+ events : { } as WorkspacesEvent ,
230
+ services : { } as {
231
+ getWorkspaces : {
232
+ data : TypesGen . Workspace [ ]
233
+ }
234
+ getWorkspacesCount : {
235
+ data : { count : number }
236
+ }
237
+ updateWorkspaceRefs : {
238
+ data : {
239
+ refsToKeep : WorkspaceItemMachineRef [ ]
240
+ newWorkspaces : TypesGen . Workspace [ ]
241
+ }
242
+ }
243
+ } ,
244
+ } ,
245
+ predictableActionArguments : true ,
246
+ id : "workspacesState" ,
247
+ on : {
248
+ UPDATE_FILTER : {
249
+ target : ".fetching" ,
250
+ actions : [ "assignFilter" , "resetPage" ] ,
251
+ } ,
252
+ UPDATE_VERSION : {
253
+ actions : "triggerUpdateVersion" ,
254
+ } ,
255
+ NEXT : {
256
+ target : ".fetching" ,
257
+ actions : [ "assignNextPage" , "onPageChange" ] ,
258
+ } ,
259
+ PREVIOUS : {
260
+ target : ".fetching" ,
261
+ actions : [ "assignPreviousPage" , "onPageChange" ] ,
262
+ } ,
263
+ GO_TO_PAGE : {
264
+ target : ".fetching" ,
265
+ actions : [ "assignPage" , "onPageChange" ] ,
266
+ } ,
267
+ } ,
268
+ initial : "fetching" ,
269
+ states : {
270
+ waitToRefreshWorkspaces : {
271
+ after : {
272
+ "5000" : {
273
+ target : "#workspacesState.fetching" ,
274
+ actions : [ ] ,
275
+ internal : false ,
266
276
} ,
267
277
} ,
268
- initial : "fetching" ,
278
+ } ,
279
+ fetching : {
280
+ type : "parallel" ,
269
281
states : {
270
- waitToRefreshWorkspaces : {
271
- after : {
272
- "5000" : {
273
- target : "#workspacesState.fetching" ,
274
- actions : [ ] ,
275
- internal : false ,
282
+ count : {
283
+ initial : "gettingCount" ,
284
+ states : {
285
+ gettingCount : {
286
+ entry : "clearGetCountError" ,
287
+ invoke : {
288
+ src : "getWorkspacesCount" ,
289
+ id : "getWorkspacesCount" ,
290
+ onDone : [
291
+ {
292
+ target : "done" ,
293
+ actions : "assignCount" ,
294
+ } ,
295
+ ] ,
296
+ onError : [
297
+ {
298
+ target : "done" ,
299
+ actions : "assignGetCountError" ,
300
+ } ,
301
+ ] ,
302
+ } ,
303
+ } ,
304
+ done : {
305
+ type : "final" ,
276
306
} ,
277
307
} ,
278
308
} ,
279
- fetching : {
280
- type : "parallel " ,
309
+ workspaces : {
310
+ initial : "gettingWorkspaces " ,
281
311
states : {
282
- count : {
283
- initial : "gettingCount" ,
284
- states : {
285
- gettingCount : {
286
- entry : "clearGetCountError" ,
287
- invoke : {
288
- src : "getWorkspacesCount" ,
289
- id : "getWorkspacesCount" ,
290
- onDone : [
291
- {
292
- target : "done" ,
293
- actions : "assignCount" ,
294
- } ,
295
- ] ,
296
- onError : [
297
- {
298
- target : "done" ,
299
- actions : "assignGetCountError" ,
300
- } ,
301
- ] ,
312
+ updatingWorkspaceRefs : {
313
+ invoke : {
314
+ src : "updateWorkspaceRefs" ,
315
+ id : "updateWorkspaceRefs" ,
316
+ onDone : [
317
+ {
318
+ target : "done" ,
319
+ actions : "assignUpdatedWorkspaceRefs" ,
302
320
} ,
303
- } ,
304
- done : {
305
- type : "final" ,
306
- } ,
321
+ ] ,
307
322
} ,
308
323
} ,
309
- workspaces : {
310
- initial : "gettingWorkspaces" ,
311
- states : {
312
- updatingWorkspaceRefs : {
313
- invoke : {
314
- src : "updateWorkspaceRefs" ,
315
- id : "updateWorkspaceRefs" ,
316
- onDone : [
317
- {
318
- target : "done" ,
319
- actions : "assignUpdatedWorkspaceRefs" ,
320
- } ,
321
- ] ,
324
+ gettingWorkspaces : {
325
+ entry : "clearGetWorkspacesError" ,
326
+ invoke : {
327
+ src : "getWorkspaces" ,
328
+ id : "getWorkspaces" ,
329
+ onDone : [
330
+ {
331
+ target : "done" ,
332
+ cond : "isEmpty" ,
333
+ actions : "assignWorkspaceRefs" ,
322
334
} ,
323
- } ,
324
- gettingWorkspaces : {
325
- entry : "clearGetWorkspacesError" ,
326
- invoke : {
327
- src : "getWorkspaces" ,
328
- id : "getWorkspaces" ,
329
- onDone : [
330
- {
331
- target : "done" ,
332
- cond : "isEmpty" ,
333
- actions : "assignWorkspaceRefs" ,
334
- } ,
335
- {
336
- target : "updatingWorkspaceRefs" ,
337
- } ,
338
- ] ,
339
- onError : [
340
- {
341
- target : "done" ,
342
- actions : "assignGetWorkspacesError" ,
343
- } ,
344
- ] ,
335
+ {
336
+ target : "updatingWorkspaceRefs" ,
345
337
} ,
346
- } ,
347
- done : {
348
- type : "final" ,
349
- } ,
338
+ ] ,
339
+ onError : [
340
+ {
341
+ target : "done" ,
342
+ actions : "assignGetWorkspacesError" ,
343
+ } ,
344
+ ] ,
350
345
} ,
351
346
} ,
352
- } ,
353
- onDone : {
354
- target : "waitToRefreshWorkspaces" ,
347
+ done : {
348
+ type : "final" ,
349
+ } ,
355
350
} ,
356
351
} ,
357
352
} ,
353
+ onDone : {
354
+ target : "waitToRefreshWorkspaces" ,
355
+ } ,
358
356
} ,
357
+ } ,
358
+ } ,
359
359
{
360
360
guards : {
361
361
isEmpty : ( context ) => ! context . workspaceRefs ,
@@ -406,6 +406,9 @@ export const workspacesMachine =
406
406
assignPage : assign ( {
407
407
page : ( _ , event ) => event . page ,
408
408
} ) ,
409
+ resetPage : assign ( {
410
+ page : ( _ ) => 1
411
+ } ) ,
409
412
assignCount : assign ( {
410
413
count : ( _ , event ) => event . data . count ,
411
414
} ) ,
0 commit comments