1
- import { type PageQueryParam } from '@/hooks/use-page-query-params/use-page-query-params.types' ;
1
+ import {
2
+ type PageQueryParamMultiValue ,
3
+ type PageQueryParam ,
4
+ } from '@/hooks/use-page-query-params/use-page-query-params.types' ;
2
5
import parseDateQueryParam from '@/utils/datetime/parse-date-query-param' ;
3
6
import { type SortOrder } from '@/utils/sort-by' ;
4
7
import { type WorkflowStatusClosed } from '@/views/domain-workflows-archival/domain-workflows-archival-header/domain-workflows-archival-header.types' ;
@@ -12,7 +15,7 @@ const domainPageQueryParamsConfig: [
12
15
PageQueryParam < 'inputType' , WorkflowsHeaderInputType > ,
13
16
// Search input
14
17
PageQueryParam < 'search' , string > ,
15
- PageQueryParam < 'status ', WorkflowStatus | undefined > ,
18
+ PageQueryParamMultiValue < 'statuses ', Array < WorkflowStatus > | undefined > ,
16
19
PageQueryParam < 'timeRangeStart' , Date | undefined > ,
17
20
PageQueryParam < 'timeRangeEnd' , Date | undefined > ,
18
21
PageQueryParam < 'sortColumn' , string > ,
@@ -26,7 +29,10 @@ const domainPageQueryParamsConfig: [
26
29
// Archival inputs
27
30
PageQueryParam < 'inputTypeArchival' , WorkflowsHeaderInputType > ,
28
31
PageQueryParam < 'searchArchival' , string > ,
29
- PageQueryParam < 'statusArchival' , WorkflowStatusClosed | undefined > ,
32
+ PageQueryParamMultiValue <
33
+ 'statusesArchival' ,
34
+ Array < WorkflowStatusClosed > | undefined
35
+ > ,
30
36
PageQueryParam < 'timeRangeStartArchival' , Date | undefined > ,
31
37
PageQueryParam < 'timeRangeEndArchival' , Date | undefined > ,
32
38
PageQueryParam < 'sortColumnArchival' , string > ,
@@ -44,9 +50,11 @@ const domainPageQueryParamsConfig: [
44
50
defaultValue : '' ,
45
51
} ,
46
52
{
47
- key : 'status' ,
48
- parseValue : ( value : string ) =>
49
- isWorkflowStatus ( value ) ? value : undefined ,
53
+ key : 'statuses' ,
54
+ queryParamKey : 'status' ,
55
+ isMultiValue : true ,
56
+ parseValue : ( value : Array < string > ) =>
57
+ value . every ( isWorkflowStatus ) ? value : undefined ,
50
58
} ,
51
59
{
52
60
key : 'timeRangeStart' ,
@@ -99,12 +107,16 @@ const domainPageQueryParamsConfig: [
99
107
defaultValue : '' ,
100
108
} ,
101
109
{
102
- key : 'statusArchival ' ,
110
+ key : 'statusesArchival ' ,
103
111
queryParamKey : 'astatus' ,
104
- parseValue : ( value : string ) =>
105
- isWorkflowStatus ( value ) &&
106
- value !== 'WORKFLOW_EXECUTION_CLOSE_STATUS_INVALID'
107
- ? value
112
+ isMultiValue : true ,
113
+ parseValue : ( value : Array < string > ) =>
114
+ value . every (
115
+ ( status ) =>
116
+ isWorkflowStatus ( status ) &&
117
+ status !== 'WORKFLOW_EXECUTION_CLOSE_STATUS_INVALID'
118
+ )
119
+ ? ( value as Array < WorkflowStatusClosed > )
108
120
: undefined ,
109
121
} ,
110
122
{
0 commit comments