1
- import { Toggle } from '@devtron-labs/devtron-fe-common-lib'
1
+ import { ConditionalWrap , Toggle } from '@devtron-labs/devtron-fe-common-lib'
2
2
import React from 'react'
3
+ import Tippy from '@tippyjs/react'
3
4
import { ReactComponent as DockerWithImage } from '../../assets/icons/ic-docker-with-image.svg'
4
5
import { PullImageDigestToggleType } from './types'
6
+ import { DIGEST_DISABLE_TOGGLE_MESSAGE } from '../../config'
5
7
6
8
function PullImageDigestToggle ( { formData, setFormData } : PullImageDigestToggleType ) : JSX . Element {
7
- const handleCustomTagToggle = ( ) : void => {
9
+ const handleImageDigestToggle = ( ) : void => {
8
10
const _formData = { ...formData }
9
11
_formData . isDigestEnforcedForPipeline = ! _formData . isDigestEnforcedForPipeline
10
12
setFormData ( _formData )
11
13
}
12
14
15
+ const renderDogestToggle = ( ) => {
16
+ return (
17
+ < ConditionalWrap
18
+ condition = { formData . isDigestEnforcedForEnv }
19
+ wrap = { ( children ) => (
20
+ < Tippy className = "default-tt w-200" content = { DIGEST_DISABLE_TOGGLE_MESSAGE } >
21
+ < div > { children } </ div >
22
+ </ Tippy >
23
+ ) }
24
+ >
25
+ < div className = { `w-32 h-20 ${ formData . isDigestEnforcedForEnv ? 'dc__opacity-0_4' : '' } ` } >
26
+ < Toggle
27
+ selected = { formData . isDigestEnforcedForPipeline }
28
+ onSelect = { handleImageDigestToggle }
29
+ dataTestId = "create-build-pipeline-image-pull-digest-toggle"
30
+ disabled = { formData . isDigestEnforcedForEnv }
31
+ />
32
+ </ div >
33
+ </ ConditionalWrap >
34
+ )
35
+ }
36
+
13
37
const renderImageDigestBody = ( ) : JSX . Element => {
14
38
return (
15
39
< div className = "fs-13" >
@@ -25,13 +49,7 @@ function PullImageDigestToggle({ formData, setFormData }: PullImageDigestToggleT
25
49
</ div >
26
50
</ div >
27
51
</ div >
28
- < div className = "w-32 h-20" >
29
- < Toggle
30
- selected = { formData . isDigestEnforcedForPipeline }
31
- onSelect = { handleCustomTagToggle }
32
- dataTestId = "create-build-pipeline-image-pull-digest-toggle"
33
- />
34
- </ div >
52
+ { renderDogestToggle ( ) }
35
53
</ div >
36
54
< hr />
37
55
</ div >
@@ -40,5 +58,4 @@ function PullImageDigestToggle({ formData, setFormData }: PullImageDigestToggleT
40
58
41
59
return renderImageDigestBody ( )
42
60
}
43
-
44
61
export default PullImageDigestToggle
0 commit comments