File tree Expand file tree Collapse file tree 5 files changed +16
-4
lines changed Expand file tree Collapse file tree 5 files changed +16
-4
lines changed Original file line number Diff line number Diff line change @@ -167,11 +167,14 @@ function App() {
167
167
</ div >
168
168
169
169
< div style = { { marginTop : '1rem' } } >
170
- < button id = "buttonAfterShow " > Check the dev console</ button >
170
+ < button id = "buttonCallbacks " > Check the dev console</ button >
171
171
< Tooltip
172
172
place = "bottom"
173
- anchorId = "buttonAfterShow"
174
- afterShow = { ( ) => console . log ( 'Hello world' ) }
173
+ anchorId = "buttonCallbacks"
174
+ // eslint-disable-next-line no-console
175
+ afterShow = { ( ) => console . log ( 'After show' ) }
176
+ // eslint-disable-next-line no-console
177
+ afterHide = { ( ) => console . log ( 'After hide' ) }
175
178
content = "Showing tooltip and calling afterShow method"
176
179
/>
177
180
</ div >
Original file line number Diff line number Diff line change @@ -28,6 +28,7 @@ const Tooltip = ({
28
28
style : externalStyles ,
29
29
position,
30
30
afterShow,
31
+ afterHide,
31
32
// props handled by controller
32
33
isHtmlContent = false ,
33
34
content,
@@ -54,9 +55,13 @@ const Tooltip = ({
54
55
setShow ( value )
55
56
}
56
57
57
- if ( value && afterShow ) {
58
+ // Callbacks
59
+ if ( value === true && afterShow ) {
58
60
afterShow ( )
59
61
}
62
+ if ( value === false && afterHide ) {
63
+ afterHide ( )
64
+ }
60
65
}
61
66
62
67
const handleShowTooltipDelayed = ( ) => {
Original file line number Diff line number Diff line change @@ -55,4 +55,5 @@ export interface ITooltip {
55
55
isOpen ?: boolean
56
56
setIsOpen ?: ( value : boolean ) => void
57
57
afterShow ?: ( ) => void
58
+ afterHide ?: ( ) => void
58
59
}
Original file line number Diff line number Diff line change @@ -36,6 +36,7 @@ const TooltipController = ({
36
36
isOpen,
37
37
setIsOpen,
38
38
afterShow,
39
+ afterHide,
39
40
} : ITooltipController ) => {
40
41
const [ tooltipContent , setTooltipContent ] = useState ( content || html )
41
42
const [ tooltipPlace , setTooltipPlace ] = useState ( place )
@@ -192,6 +193,7 @@ const TooltipController = ({
192
193
isOpen,
193
194
setIsOpen,
194
195
afterShow,
196
+ afterHide,
195
197
}
196
198
197
199
return children ? < Tooltip { ...props } > { children } </ Tooltip > : < Tooltip { ...props } />
Original file line number Diff line number Diff line change @@ -34,6 +34,7 @@ export interface ITooltipController {
34
34
isOpen ?: boolean
35
35
setIsOpen ?: ( value : boolean ) => void
36
36
afterShow ?: ( ) => void
37
+ afterHide ?: ( ) => void
37
38
}
38
39
39
40
declare module 'react' {
You can’t perform that action at this time.
0 commit comments