@@ -34,7 +34,8 @@ import {
34
34
DATES_FILTER ,
35
35
NAME_FILTER ,
36
36
SHOW_UNTAGGED_FILTER ,
37
- GROUP_BY_NONE
37
+ GROUP_BY_NONE ,
38
+ ALL_VERSIONS_PATH
38
39
} from '../../constants'
39
40
import {
40
41
checkForSelectedFunction ,
@@ -76,6 +77,7 @@ const Functions = ({
76
77
fetchFunction,
77
78
fetchFunctions,
78
79
functionsStore,
80
+ isAllVersions = false ,
79
81
removeFunctionsError,
80
82
removeNewFunction
81
83
} ) => {
@@ -104,22 +106,22 @@ const Functions = ({
104
106
105
107
const functionsFiltersConfig = useMemo ( ( ) => {
106
108
return {
107
- [ NAME_FILTER ] : { label : 'Name:' , initialValue : '' , hidden : ! isEmpty ( params . funcName ) } ,
109
+ [ NAME_FILTER ] : { label : 'Name:' , initialValue : '' , hidden : isAllVersions } ,
108
110
[ DATES_FILTER ] : {
109
111
label : 'Updated:' ,
110
112
initialValue : getDatePickerFilterValue (
111
113
datePickerPastOptions ,
112
- params . funcName ? ANY_TIME_DATE_OPTION : PAST_WEEK_DATE_OPTION
114
+ isAllVersions ? ANY_TIME_DATE_OPTION : PAST_WEEK_DATE_OPTION
113
115
)
114
116
} ,
115
117
[ SHOW_UNTAGGED_FILTER ] : {
116
118
label : 'Show untagged:' ,
117
119
initialValue : true ,
118
120
isModal : true ,
119
- hidden : isEmpty ( params . funcName )
121
+ hidden : ! isAllVersions
120
122
}
121
123
}
122
- } , [ params . funcName ] )
124
+ } , [ isAllVersions ] )
123
125
124
126
const functionsFilters = useFiltersFromSearchParams ( functionsFiltersConfig )
125
127
@@ -137,7 +139,7 @@ const Functions = ({
137
139
tag : TAG_LATEST
138
140
}
139
141
140
- if ( params . funcName ) {
142
+ if ( isAllVersions ) {
141
143
delete requestParams . tag
142
144
requestParams . name = params . funcName
143
145
setFunctionVersions ( [ ] )
@@ -175,7 +177,7 @@ const Functions = ({
175
177
)
176
178
}
177
179
178
- if ( params . funcName ) {
180
+ if ( isAllVersions ) {
179
181
setFunctionVersions ( newFunctions )
180
182
} else {
181
183
setFunctions ( newFunctions )
@@ -184,7 +186,7 @@ const Functions = ({
184
186
return newFunctions
185
187
} else {
186
188
const paramsFunction = searchFunctionItem (
187
- params . hash ,
189
+ params . id ,
188
190
params . projectName ,
189
191
params . funcName ,
190
192
[ ] ,
@@ -194,14 +196,14 @@ const Functions = ({
194
196
195
197
if ( ! paramsFunction ) {
196
198
navigate (
197
- `/projects/${ params . projectName } /functions${ params . funcName ? getSavedSearchParams ( window . location . search ) : window . location . search } ` ,
199
+ `/projects/${ params . projectName } /functions${ isAllVersions ? getSavedSearchParams ( window . location . search ) : window . location . search } ` ,
198
200
{
199
201
replace : true
200
202
}
201
203
)
202
204
}
203
205
204
- if ( params . funcName ) {
206
+ if ( isAllVersions ) {
205
207
setFunctionVersions ( [ ] )
206
208
} else {
207
209
setFunctions ( [ ] )
@@ -212,9 +214,10 @@ const Functions = ({
212
214
[
213
215
dispatch ,
214
216
fetchFunctions ,
217
+ isAllVersions ,
215
218
navigate ,
216
219
params . funcName ,
217
- params . hash ,
220
+ params . id ,
218
221
params . projectName ,
219
222
terminateDeleteTasksPolling
220
223
]
@@ -232,10 +235,10 @@ const Functions = ({
232
235
233
236
const tableContent = useMemo (
234
237
( ) =>
235
- ( params . funcName ? functionVersions : functions ) . map ( contentItem =>
236
- createFunctionsRowData ( contentItem , params . projectName , Boolean ( params . funcName ) )
238
+ ( isAllVersions ? functionVersions : functions ) . map ( contentItem =>
239
+ createFunctionsRowData ( contentItem , params . projectName , Boolean ( isAllVersions ) )
237
240
) ,
238
- [ functionVersions , functions , params . funcName , params . projectName ]
241
+ [ functionVersions , functions , isAllVersions , params . projectName ]
239
242
)
240
243
241
244
const removeFunction = useCallback (
@@ -271,12 +274,9 @@ const Functions = ({
271
274
272
275
if ( ! isEmpty ( selectedFunction ) ) {
273
276
setSelectedFunctionMin ( { } )
274
- navigate (
275
- `/projects/${ params . projectName } /functions${ params . funcName ? getSavedSearchParams ( window . location . search ) : window . location . search } ` ,
276
- {
277
- replace : true
278
- }
279
- )
277
+ navigate ( `/projects/${ params . projectName } /functions${ window . location . search } ` , {
278
+ replace : true
279
+ } )
280
280
}
281
281
}
282
282
} )
@@ -289,7 +289,6 @@ const Functions = ({
289
289
fetchData ,
290
290
functionsFilters ,
291
291
navigate ,
292
- params . funcName ,
293
292
params . projectName ,
294
293
selectedFunction
295
294
]
@@ -422,7 +421,7 @@ const Functions = ({
422
421
const showAllVersions = useCallback (
423
422
funcName => {
424
423
navigate (
425
- `/projects/${ params . projectName } /functions/${ funcName } ?${ transformSearchParams ( window . location . search ) } `
424
+ `/projects/${ params . projectName } /functions/${ funcName } / ${ ALL_VERSIONS_PATH } ?${ transformSearchParams ( window . location . search ) } `
426
425
)
427
426
} ,
428
427
[ navigate , params . projectName ]
@@ -438,17 +437,9 @@ const Functions = ({
438
437
navigate ,
439
438
fetchData ,
440
439
filtersStore ,
441
- params . funcName ? null : ( ) => showAllVersions ( selectedFunction . name )
440
+ isAllVersions ? null : ( ) => showAllVersions ( selectedFunction . name )
442
441
) ,
443
- [
444
- dispatch ,
445
- fetchData ,
446
- filtersStore ,
447
- navigate ,
448
- params . funcName ,
449
- selectedFunction ,
450
- showAllVersions
451
- ]
442
+ [ dispatch , fetchData , filtersStore , navigate , isAllVersions , selectedFunction , showAllVersions ]
452
443
)
453
444
454
445
const actionsMenu = useMemo (
@@ -468,7 +459,7 @@ const Functions = ({
468
459
selectedFunction ,
469
460
fetchFunction ,
470
461
false ,
471
- params . funcName ,
462
+ isAllVersions ,
472
463
showAllVersions
473
464
) ,
474
465
[
@@ -481,7 +472,7 @@ const Functions = ({
481
472
deletingFunctions ,
482
473
selectedFunction ,
483
474
fetchFunction ,
484
- params . funcName ,
475
+ isAllVersions ,
485
476
showAllVersions
486
477
]
487
478
)
@@ -500,7 +491,7 @@ const Functions = ({
500
491
useInitialTableFetch ( {
501
492
fetchData,
502
493
filters : functionsFilters ,
503
- requestTrigger : params . funcName
494
+ requestTrigger : isAllVersions
504
495
} )
505
496
506
497
useEffect ( ( ) => {
@@ -512,32 +503,34 @@ const Functions = ({
512
503
setFunctionVersions ( [ ] )
513
504
abortController . abort ( REQUEST_CANCELED )
514
505
}
515
- } , [ params . projectName , params . funcName ] )
506
+ } , [ params . projectName , isAllVersions ] )
516
507
517
508
useEffect ( ( ) => {
518
- if ( params . hash && pageData . details . menu . length > 0 ) {
509
+ if ( params . id && pageData . details . menu . length > 0 ) {
519
510
isDetailsTabExists ( params . tab , pageData . details . menu , navigate , location )
520
511
}
521
- } , [ navigate , pageData . details . menu , location , params . hash , params . tab ] )
512
+ } , [ navigate , pageData . details . menu , location , params . id , params . tab ] )
522
513
523
514
useEffect ( ( ) => {
524
515
checkForSelectedFunction (
525
- params . funcName ? functionVersions : functions ,
526
- params . hash ,
516
+ isAllVersions ? functionVersions : functions ,
517
+ params . id ,
527
518
params . funcName ,
528
519
navigate ,
529
520
params . projectName ,
530
521
setSelectedFunctionMin ,
531
- dispatch
522
+ dispatch ,
523
+ isAllVersions
532
524
)
533
525
} , [
534
526
dispatch ,
535
527
functions ,
536
528
navigate ,
537
- params . hash ,
538
529
params . projectName ,
539
- params . funcName ,
540
- functionVersions
530
+ params . id ,
531
+ functionVersions ,
532
+ isAllVersions ,
533
+ params . funcName
541
534
] )
542
535
543
536
useEffect ( ( ) => {
@@ -601,7 +594,7 @@ const Functions = ({
601
594
if ( currentItem ) {
602
595
// todo need better logic for searching currentItem for cases when the function has no tag
603
596
navigate (
604
- `/projects/${ params . projectName } /functions/${ params . funcName } ${ params . funcName ? '/' : '' } @${ currentItem . hash } /${ tab } ${ window . location . search } `
597
+ `/projects/${ params . projectName } /functions/${ params . funcName } ${ isAllVersions ? `/ ${ ALL_VERSIONS_PATH } ` : '' } / @${ currentItem . hash } /${ tab } ${ window . location . search } `
605
598
)
606
599
}
607
600
dispatch (
@@ -630,7 +623,7 @@ const Functions = ({
630
623
if ( currentItem ) {
631
624
// todo need better logic for searching currentItem for cases when the function has no tag
632
625
navigate (
633
- `/projects/${ params . projectName } /functions/${ params . funcName } ${ params . funcName ? '/' : '' } @${ currentItem . hash } /overview${ window . location . search } `
626
+ `/projects/${ params . projectName } /functions/${ params . funcName } ${ isAllVersions ? `/ ${ ALL_VERSIONS_PATH } ` : '' } / @${ currentItem . hash } /overview${ window . location . search } `
634
627
)
635
628
}
636
629
}
@@ -702,6 +695,7 @@ const Functions = ({
702
695
handleDeployFunctionFailure = { handleDeployFunctionFailure }
703
696
handleDeployFunctionSuccess = { handleDeployFunctionSuccess }
704
697
handleSelectFunction = { handleSelectFunction }
698
+ isAllVersions = { isAllVersions }
705
699
isDemoMode = { isDemoMode }
706
700
pageData = { pageData }
707
701
requestErrorMessage = { requestErrorMessage }
0 commit comments