@@ -11,20 +11,15 @@ interface IToggleSwitch {
11
11
size ?: string // lg,xl,2xl etc
12
12
tooltipTextId ?: string // formatted message id like "remixApp.mpOp1Tooltip" etc
13
13
disabled ?: boolean
14
- initiallyOn ?: boolean
14
+ isOn ?: boolean
15
+ onClick ?: ( ) => void
15
16
}
16
17
export const ToggleSwitch = ( props : IToggleSwitch ) => {
17
- let { id, onstyle, offstyle, size, tooltipTextId, disabled, initiallyOn } = props
18
+ let { id, onstyle, offstyle, size, tooltipTextId, disabled, isOn , onClick } = props
18
19
size = size || 'lg'
19
20
onstyle = onstyle || 'text-primary'
20
21
offstyle = offstyle || 'text-secondary'
21
- initiallyOn = initiallyOn || true
22
-
23
- const [ isOn , setIsOn ] = useState ( initiallyOn )
24
-
25
-
26
- const handleClick = ( e : any ) => {
27
- }
22
+ isOn = isOn === false ? isOn : true
28
23
29
24
const childJSXWithTooltip = (
30
25
< CustomTooltip
@@ -37,6 +32,7 @@ export const ToggleSwitch = (props: IToggleSwitch) => {
37
32
data-id = { id + "Switch" }
38
33
id = 'matomoAnonAnalyticsSwitch'
39
34
className = { `btn ${ isOn ? onstyle : offstyle } ` }
35
+ onClick = { ( ) => { if ( ! disabled ) onClick ( ) } }
40
36
disabled = { disabled || false }
41
37
>
42
38
{ isOn ? < i className = { `fas fa-toggle-on ${ size ? `fa-${ size } ` : "fa-lg" } ` } > </ i > : < i className = { `fas fa-toggle-off ${ size ? `fa-${ size } ` : "fa-lg" } ` } > </ i > }
@@ -49,6 +45,8 @@ export const ToggleSwitch = (props: IToggleSwitch) => {
49
45
data-id = { id + "Switch" }
50
46
id = 'matomoAnonAnalyticsSwitch'
51
47
className = { `btn ${ isOn ? onstyle : offstyle } ` }
48
+ onClick = { ( ) => { if ( ! disabled ) onClick ( ) } }
49
+ disabled = { disabled || false }
52
50
>
53
51
{ isOn ? < i className = { `fas fa-toggle-on ${ size ? `fa-${ size } ` : "fa-lg" } ` } > </ i > : < i className = { `fas fa-toggle-off ${ size ? `fa-${ size } ` : "fa-lg" } ` } > </ i > }
54
52
</ button >
0 commit comments