@@ -218,97 +218,143 @@ type WorkspacesEvent =
218
218
| { type : "PREVIOUS" }
219
219
| { type : "GO_TO_PAGE" ; page : number }
220
220
221
- export const workspacesMachine = createMachine (
221
+ export const workspacesMachine =
222
+ /** @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
+ createMachine (
222
224
{
223
- tsTypes : { } as import ( "./workspacesXService.typegen" ) . Typegen1 ,
224
- schema : {
225
- context : { } as WorkspacesContext ,
226
- events : { } as WorkspacesEvent ,
227
- services : { } as {
228
- getWorkspaces : {
229
- data : TypesGen . Workspace [ ]
230
- }
225
+ tsTypes : { } as import ( "./workspacesXService.typegen" ) . Typegen1 ,
226
+ schema : {
227
+ context : { } as WorkspacesContext ,
228
+ events : { } as WorkspacesEvent ,
229
+ services : { } as {
230
+ getWorkspaces : {
231
+ data : TypesGen . Workspace [ ]
232
+ }
231
233
getWorkspacesCount : {
232
234
data : { count : number }
233
235
}
234
- updateWorkspaceRefs : {
235
- data : {
236
- refsToKeep : WorkspaceItemMachineRef [ ]
237
- newWorkspaces : TypesGen . Workspace [ ]
238
- }
236
+ updateWorkspaceRefs : {
237
+ data : {
238
+ refsToKeep : WorkspaceItemMachineRef [ ]
239
+ newWorkspaces : TypesGen . Workspace [ ]
239
240
}
240
- } ,
241
+ }
241
242
} ,
242
- predictableActionArguments : true ,
243
- id : "workspacesState" ,
244
- on : {
245
- GET_WORKSPACES : {
246
- actions : "assignFilter" ,
247
- target : "gettingWorkspaces" ,
248
- internal : false ,
249
- } ,
250
- UPDATE_VERSION : {
251
- actions : "triggerUpdateVersion" ,
252
- } ,
253
- NEXT : {
254
- actions : [ "assignNextPage" , "onPageChange" ] ,
255
- target : "gettingWorkspaces" ,
256
- } ,
257
- PREVIOUS : {
258
- actions : [ "assignPreviousPage" , "onPageChange" ] ,
259
- target : "gettingWorkspaces" ,
260
- } ,
261
- GO_TO_PAGE : {
262
- actions : [ "assignPage" , "onPageChange" ] ,
263
- target : "gettingWorkspaces" ,
243
+ } ,
244
+ predictableActionArguments : true ,
245
+ id : "workspacesState" ,
246
+ on : {
247
+ GET_WORKSPACES : {
248
+ target : ".fetching" ,
249
+ actions : "assignFilter" ,
250
+ } ,
251
+ UPDATE_VERSION : {
252
+ actions : "triggerUpdateVersion" ,
253
+ } ,
254
+ NEXT : {
255
+ target : ".fetching" ,
256
+ actions : [ "assignNextPage" , "onPageChange" ] ,
257
+ } ,
258
+ PREVIOUS : {
259
+ target : ".fetching" ,
260
+ actions : [ "assignPreviousPage" , "onPageChange" ] ,
261
+ } ,
262
+ GO_TO_PAGE : {
263
+ target : ".fetching" ,
264
+ actions : [ "assignPage" , "onPageChange" ] ,
265
+ } ,
266
+ } ,
267
+ initial : "fetching" ,
268
+ states : {
269
+ waitToRefreshWorkspaces : {
270
+ after : {
271
+ "5000" : {
272
+ target : "#workspacesState.fetching" ,
273
+ actions : [ ] ,
274
+ internal : false ,
275
+ } ,
264
276
} ,
265
277
} ,
266
- initial : "gettingWorkspaces" ,
267
- states : {
268
- gettingWorkspaces : {
269
- entry : "clearGetWorkspacesError" ,
270
- invoke : {
271
- src : "getWorkspaces" ,
272
- id : "getWorkspaces" ,
273
- onDone : [
274
- {
275
- actions : "assignWorkspaceRefs" ,
276
- cond : "isEmpty" ,
277
- target : "waitToRefreshWorkspaces" ,
278
- } ,
279
- {
280
- target : "updatingWorkspaceRefs" ,
278
+ fetching : {
279
+ type : "parallel" ,
280
+ states : {
281
+ count : {
282
+ initial : "gettingCount" ,
283
+ states : {
284
+ gettingCount : {
285
+ entry : "clearGetCountError" ,
286
+ invoke : {
287
+ src : "getWorkspacesCount" ,
288
+ id : "getWorkspacesCount" ,
289
+ onDone : [
290
+ {
291
+ target : "done" ,
292
+ actions : "assignCount" ,
293
+ } ,
294
+ ] ,
295
+ onError : [
296
+ {
297
+ target : "done" ,
298
+ actions : "assignGetCountError" ,
299
+ } ,
300
+ ] ,
301
+ } ,
281
302
} ,
282
- ] ,
283
- onError : [
284
- {
285
- actions : "assignGetWorkspacesError" ,
286
- target : "waitToRefreshWorkspaces" ,
303
+ done : {
304
+ type : "final" ,
287
305
} ,
288
- ] ,
306
+ } ,
289
307
} ,
290
- } ,
291
- updatingWorkspaceRefs : {
292
- invoke : {
293
- src : "updateWorkspaceRefs" ,
294
- id : "updateWorkspaceRefs" ,
295
- onDone : [
296
- {
297
- actions : "assignUpdatedWorkspaceRefs" ,
298
- target : "waitToRefreshWorkspaces" ,
308
+ workspaces : {
309
+ initial : "gettingWorkspaces" ,
310
+ states : {
311
+ updatingWorkspaceRefs : {
312
+ invoke : {
313
+ src : "updateWorkspaceRefs" ,
314
+ id : "updateWorkspaceRefs" ,
315
+ onDone : [
316
+ {
317
+ target : "done" ,
318
+ actions : "assignUpdatedWorkspaceRefs"
319
+ } ,
320
+ ] ,
321
+ } ,
322
+ } ,
323
+ gettingWorkspaces : {
324
+ entry : "clearGetWorkspacesError" ,
325
+ invoke : {
326
+ src : "getWorkspaces" ,
327
+ id : "getWorkspaces" ,
328
+ onDone : [
329
+ {
330
+ target : "done" ,
331
+ cond : "isEmpty" ,
332
+ actions : "assignWorkspaceRefs" ,
333
+ } ,
334
+ {
335
+ target : "updatingWorkspaceRefs" ,
336
+ } ,
337
+ ] ,
338
+ onError : [
339
+ {
340
+ target : "done" ,
341
+ actions : "assignGetWorkspacesError" ,
342
+ } ,
343
+ ] ,
344
+ } ,
345
+ } ,
346
+ done : {
347
+ type : "final" ,
299
348
} ,
300
- ] ,
301
- } ,
302
- } ,
303
- waitToRefreshWorkspaces : {
304
- after : {
305
- "5000" : {
306
- target : "gettingWorkspaces" ,
307
349
} ,
308
350
} ,
309
351
} ,
352
+ onDone : {
353
+ target : "waitToRefreshWorkspaces" ,
354
+ } ,
310
355
} ,
311
356
} ,
357
+ } ,
312
358
{
313
359
guards : {
314
360
isEmpty : ( context ) => ! context . workspaceRefs ,
0 commit comments