@@ -5,94 +5,25 @@ import {
5
5
Modal ,
6
6
SerializedFormData ,
7
7
} from "@maykin-ui/admin-ui" ;
8
- import {
9
- ActionFunctionArgs ,
10
- LoaderFunctionArgs ,
11
- } from "@remix-run/router/utils" ;
12
8
import { FormEvent , useState } from "react" ;
13
- import { redirect , useLoaderData , useSubmit } from "react-router-dom" ;
9
+ import { useLoaderData , useSubmit } from "react-router-dom" ;
14
10
15
11
import { DestructionList } from "../../../components" ;
16
12
import { User } from "../../../lib/api/auth" ;
17
- import { createDestructionList } from "../../../lib/api/destructionLists" ;
18
- import { listReviewers } from "../../../lib/api/reviewers" ;
19
- import { PaginatedZaken , listZaken } from "../../../lib/api/zaken" ;
20
- import {
21
- canStartDestructionListRequired ,
22
- loginRequired ,
23
- } from "../../../lib/auth/loaders" ;
24
- import {
25
- clearZaakSelection ,
26
- getZaakSelection ,
27
- isZaakSelected ,
28
- } from "../../../lib/zaakSelection/zaakSelection" ;
13
+ import { PaginatedZaken } from "../../../lib/api/zaken" ;
14
+ import { getZaakSelection } from "../../../lib/zaakSelection/zaakSelection" ;
29
15
import { Zaak } from "../../../types" ;
30
16
import "./DestructionListCreate.css" ;
31
17
32
18
/** We need a key to store the zaak selection to, however we don't have a destruction list name yet. */
33
- const DESTRUCTION_LIST_CREATE_KEY = "destruction-list-create" ;
19
+ export const DESTRUCTION_LIST_CREATE_KEY = "destruction-list-create" ;
34
20
35
21
export type DestructionListCreateContext = {
36
22
reviewers : User [ ] ;
37
23
zaken : PaginatedZaken ;
38
24
selectedZaken : Zaak [ ] ;
39
25
} ;
40
26
41
- /**
42
- * React Router loader.
43
- * @param request
44
- */
45
- export const destructionListCreateLoader = loginRequired (
46
- canStartDestructionListRequired ( async ( { request } : LoaderFunctionArgs ) => {
47
- const searchParamsZakenEndpoint : Record < string , string > = {
48
- not_in_destruction_list : "true" ,
49
- } ;
50
- const searchParams = new URL ( request . url ) . searchParams ;
51
- Object . keys ( searchParamsZakenEndpoint ) . forEach ( ( key ) =>
52
- searchParams . set ( key , searchParamsZakenEndpoint [ key ] ) ,
53
- ) ;
54
-
55
- // Get reviewers, zaken and zaaktypen.
56
- const promises = [ listReviewers ( ) , listZaken ( searchParams ) ] ;
57
- const [ reviewers , zaken ] = ( await Promise . all ( promises ) ) as [
58
- User [ ] ,
59
- PaginatedZaken ,
60
- ] ;
61
-
62
- // Get zaak selection.
63
- const isZaakSelectedPromises = zaken . results . map ( ( zaak ) =>
64
- isZaakSelected ( DESTRUCTION_LIST_CREATE_KEY , zaak ) ,
65
- ) ;
66
- const isZaakSelectedResults = await Promise . all ( isZaakSelectedPromises ) ;
67
- const selectedZaken = zaken . results . filter (
68
- ( _ , index ) => isZaakSelectedResults [ index ] ,
69
- ) ;
70
-
71
- return { reviewers, zaken, selectedZaken } ;
72
- } ) ,
73
- ) ;
74
-
75
- /**
76
- * React Router action.
77
- * @param request
78
- */
79
- export async function destructionListCreateAction ( {
80
- request,
81
- } : ActionFunctionArgs ) {
82
- const formData = await request . formData ( ) ;
83
- const name = formData . get ( "name" ) as string ;
84
- const zaakUrls = formData . getAll ( "zaakUrls" ) as string [ ] ;
85
- const assigneeIds = formData . getAll ( "assigneeIds" ) as string [ ] ;
86
-
87
- try {
88
- await createDestructionList ( name , zaakUrls , assigneeIds ) ;
89
- } catch ( e : unknown ) {
90
- return await ( e as Response ) . json ( ) ;
91
- }
92
- await clearZaakSelection ( DESTRUCTION_LIST_CREATE_KEY ) ;
93
- return redirect ( "/" ) ;
94
- }
95
-
96
27
/**
97
28
* Destruction list creation page
98
29
*/
0 commit comments