@@ -555,14 +555,16 @@ function DockerForm({
555
555
. replace ( / ^ o c i ? : \/ \/ / , '' )
556
556
. replace ( / ^ d o c k e r ? : \/ \/ / , '' )
557
557
. replace ( / ^ h t t p ? : \/ \/ / , '' ) ,
558
- ...( selectedDockerRegistryType . value === RegistryType . ECR
558
+ ...( selectedDockerRegistryType . value === RegistryType . ECR &&
559
+ registryStorageType !== RegistryStorageType . OCI_PUBLIC
559
560
? {
560
561
awsAccessKeyId : customState . awsAccessKeyId . value ?. trim ( ) ,
561
562
awsSecretAccessKey : parsePassword ( customState . awsSecretAccessKey . value ) ,
562
563
awsRegion : awsRegion ,
563
564
}
564
565
: { } ) ,
565
- ...( selectedDockerRegistryType . value === RegistryType . ARTIFACT_REGISTRY ||
566
+ ...( ( selectedDockerRegistryType . value === RegistryType . ARTIFACT_REGISTRY &&
567
+ registryStorageType !== RegistryStorageType . OCI_PUBLIC ) ||
566
568
selectedDockerRegistryType . value === RegistryType . GCR
567
569
? {
568
570
username : trimmedUsername ,
@@ -572,15 +574,17 @@ function DockerForm({
572
574
: `'${ parsePassword ( customState . password . value ) } '` ,
573
575
}
574
576
: { } ) ,
575
- ...( selectedDockerRegistryType . value === RegistryType . DOCKER_HUB ||
576
- selectedDockerRegistryType . value === RegistryType . ACR ||
577
- selectedDockerRegistryType . value === RegistryType . QUAY
577
+ ...( registryStorageType !== RegistryStorageType . OCI_PUBLIC &&
578
+ ( selectedDockerRegistryType . value === RegistryType . DOCKER_HUB ||
579
+ selectedDockerRegistryType . value === RegistryType . ACR ||
580
+ selectedDockerRegistryType . value === RegistryType . QUAY )
578
581
? {
579
582
username : trimmedUsername ,
580
583
password : parsePassword ( customState . password . value ) ,
581
584
}
582
585
: { } ) ,
583
- ...( selectedDockerRegistryType . value === RegistryType . OTHER
586
+ ...( registryStorageType !== RegistryStorageType . OCI_PUBLIC &&
587
+ selectedDockerRegistryType . value === RegistryType . OTHER
584
588
? {
585
589
username : trimmedUsername ,
586
590
password : parsePassword ( customState . password . value ) ,
@@ -692,31 +696,28 @@ function DockerForm({
692
696
693
697
function onValidation ( ) {
694
698
if ( selectedDockerRegistryType . value === RegistryType . ECR ) {
695
- if ( registryStorageType === RegistryStorageType . OCI_PRIVATE ) {
696
- if (
697
- ( ! isIAMAuthType &&
698
- ( ! customState . awsAccessKeyId . value || ! ( customState . awsSecretAccessKey . value || id ) ) ) ||
699
- ! customState . registryUrl . value
700
- ) {
701
- setCustomState ( ( st ) => ( {
702
- ...st ,
703
- awsAccessKeyId : { ...st . awsAccessKeyId , error : st . awsAccessKeyId . value ? '' : 'Mandatory' } ,
704
- awsSecretAccessKey : {
705
- ...st . awsSecretAccessKey ,
706
- error : id || st . awsSecretAccessKey . value ? '' : 'Mandatory' ,
707
- } ,
708
- registryUrl : { ...st . registryUrl , error : st . registryUrl . value ? '' : 'Mandatory' } ,
709
- } ) )
710
- return
711
- }
712
- } else {
713
- if ( ! customState . registryUrl . value ) {
714
- setCustomState ( ( st ) => ( {
715
- ...st ,
716
- registryUrl : { ...st . registryUrl , error : st . registryUrl . value ? '' : 'Mandatory' } ,
717
- } ) )
718
- return
719
- }
699
+ if ( registryStorageType === RegistryStorageType . OCI_PRIVATE &&
700
+ ( ! isIAMAuthType &&
701
+ ( ! customState . awsAccessKeyId . value || ! ( customState . awsSecretAccessKey . value || id ) ) ) ||
702
+ ! customState . registryUrl . value
703
+ ) {
704
+ setCustomState ( ( st ) => ( {
705
+ ...st ,
706
+ awsAccessKeyId : { ...st . awsAccessKeyId , error : st . awsAccessKeyId . value ? '' : 'Mandatory' } ,
707
+ awsSecretAccessKey : {
708
+ ...st . awsSecretAccessKey ,
709
+ error : id || st . awsSecretAccessKey . value ? '' : 'Mandatory' ,
710
+ } ,
711
+ registryUrl : { ...st . registryUrl , error : st . registryUrl . value ? '' : 'Mandatory' } ,
712
+ } ) )
713
+ return
714
+ }
715
+ if ( ! customState . registryUrl . value ) {
716
+ setCustomState ( ( st ) => ( {
717
+ ...st ,
718
+ registryUrl : { ...st . registryUrl , error : st . registryUrl . value ? '' : 'Mandatory' } ,
719
+ } ) )
720
+ return
720
721
}
721
722
} else if ( selectedDockerRegistryType . value === RegistryType . DOCKER_HUB ) {
722
723
if (
@@ -729,34 +730,41 @@ function DockerForm({
729
730
password : { ...st . password , error : id || st . password . value ? '' : 'Mandatory' } ,
730
731
} ) )
731
732
return
733
+ }
734
+ if ( ! customState . registryUrl . value ) {
735
+ setCustomState ( ( st ) => ( {
736
+ ...st ,
737
+ registryUrl : { ...st . registryUrl , error : st . registryUrl . value ? '' : 'Mandatory' } ,
738
+ } ) )
739
+ return
732
740
}
733
741
} else if (
734
742
selectedDockerRegistryType . value === RegistryType . ARTIFACT_REGISTRY ||
735
743
selectedDockerRegistryType . value === RegistryType . GCR
736
744
) {
737
745
const isValidJsonFile = isValidJson ( customState . password . value ) || id
738
746
const isValidJsonStr = isValidJsonFile ? '' : 'Invalid JSON'
739
- if ( registryStorageType === RegistryStorageType . OCI_PRIVATE ) {
740
- if ( ! customState . username . value || ! ( customState . password . value || id ) || ! isValidJsonFile ) {
741
- setCustomState ( ( st ) => ( {
742
- ... st ,
743
- username : { ... st . username , error : st . username . value ? '' : 'Mandatory' } ,
744
- password : {
745
- ... st . password ,
746
- error : id || st . password . value ? isValidJsonStr : 'Mandatory' ,
747
- } ,
748
- registryUrl : { ... st . registryUrl , error : st . registryUrl . value ? '' : 'Mandatory' } ,
749
- } ) )
750
- return
751
- }
752
- } else {
753
- if ( ! customState . registryUrl . value ) {
754
- setCustomState ( ( st ) => ( {
755
- ... st ,
756
- registryUrl : { ...st . registryUrl , error : st . registryUrl . value ? '' : 'Mandatory' } ,
757
- } ) )
758
- return
759
- }
747
+ if (
748
+ registryStorageType === RegistryStorageType . OCI_PRIVATE &&
749
+ ( ! customState . username . value || ! ( customState . password . value || id ) || ! isValidJsonFile )
750
+ ) {
751
+ setCustomState ( ( st ) => ( {
752
+ ... st ,
753
+ username : { ... st . username , error : st . username . value ? '' : 'Mandatory' } ,
754
+ password : {
755
+ ... st . password ,
756
+ error : id || st . password . value ? isValidJsonStr : 'Mandatory' ,
757
+ } ,
758
+ registryUrl : { ... st . registryUrl , error : st . registryUrl . value ? '' : 'Mandatory' } ,
759
+ } ) )
760
+ return
761
+ }
762
+ if ( ! customState . registryUrl . value ) {
763
+ setCustomState ( ( st ) => ( {
764
+ ...st ,
765
+ registryUrl : { ... st . registryUrl , error : st . registryUrl . value ? '' : 'Mandatory' } ,
766
+ } ) )
767
+ return
760
768
}
761
769
} else if (
762
770
selectedDockerRegistryType . value === RegistryType . ACR ||
@@ -1740,18 +1748,19 @@ function DockerForm({
1740
1748
className = "cta flex h-36 delete dc__m-auto ml-0"
1741
1749
data-testid = "delete-container-registry"
1742
1750
type = "button"
1751
+ disabled = { loading }
1743
1752
onClick = { ( ) => toggleConfirmation ( true ) }
1744
1753
>
1745
1754
{ deleting ? < Progressing /> : 'Delete' }
1746
1755
</ button >
1747
1756
) }
1748
- < button className = "cta flex h-36 mr-16 cancel" type = "button" onClick = { setToggleCollapse } >
1757
+ < button className = "cta flex h-36 mr-16 cancel" type = "button" onClick = { setToggleCollapse } disabled = { loading || deleting } >
1749
1758
Cancel
1750
1759
</ button >
1751
1760
< button
1752
1761
className = "cta flex h-36"
1753
1762
type = "submit"
1754
- disabled = { loading }
1763
+ disabled = { loading || deleting }
1755
1764
data-testid = "container-registry-save-button"
1756
1765
>
1757
1766
{ loading ? < Progressing /> : id ? 'Update' : 'Save' }
0 commit comments