1- import React , { Component } from 'react' ;
1+ import type { ActionType } from '@rc-component/trigger' ;
2+ import type { OffsetType } from '@rc-component/trigger/lib/interface' ;
23import Tooltip from 'rc-tooltip' ;
4+ import type { CSSProperties } from 'react' ;
5+ import React , { Component } from 'react' ;
36import '../../assets/bootstrap.less' ;
47import { placements } from '../../src/placements' ;
58
6- class Test extends Component {
9+ interface TestState {
10+ destroyTooltipOnHide : boolean ;
11+ destroyTooltipOptions : { name : string ; value : number } [ ] ;
12+ placement : string ;
13+ transitionName : string ;
14+ trigger : Record < ActionType , number > ;
15+ offsetX ?: OffsetType ;
16+ offsetY ?: OffsetType ;
17+ overlayInnerStyle ?: CSSProperties ;
18+ }
19+
20+ class Test extends Component < any , TestState > {
721 state = {
822 destroyTooltipOnHide : false ,
923 destroyTooltipOptions : [
@@ -24,13 +38,15 @@ class Test extends Component {
2438 transitionName : 'rc-tooltip-zoom' ,
2539 trigger : {
2640 hover : 1 ,
27- } ,
41+ click : 0 ,
42+ focus : 0 ,
43+ } as Record < ActionType , number > ,
2844 offsetX : placements . right . offset [ 0 ] ,
2945 offsetY : placements . right . offset [ 1 ] ,
3046 overlayInnerStyle : undefined ,
3147 } ;
3248
33- onPlacementChange = e => {
49+ onPlacementChange = ( e ) => {
3450 const placement = e . target . value ;
3551 const { offset } = placements [ placement ] ;
3652 this . setState ( {
@@ -40,13 +56,13 @@ class Test extends Component {
4056 } ) ;
4157 } ;
4258
43- onTransitionChange = e => {
59+ onTransitionChange = ( e ) => {
4460 this . setState ( {
4561 transitionName : e . target . checked ? e . target . value : '' ,
4662 } ) ;
4763 } ;
4864
49- onTriggerChange = e => {
65+ onTriggerChange = ( e ) => {
5066 const { trigger } = this . state ;
5167 if ( e . target . checked ) {
5268 trigger [ e . target . value ] = 1 ;
@@ -58,38 +74,38 @@ class Test extends Component {
5874 } ) ;
5975 } ;
6076
61- onOffsetXChange = e => {
77+ onOffsetXChange = ( e ) => {
6278 const targetValue = e . target . value ;
6379 this . setState ( {
6480 offsetX : targetValue || undefined ,
6581 } ) ;
6682 } ;
6783
68- onOffsetYChange = e => {
84+ onOffsetYChange = ( e ) => {
6985 const targetValue = e . target . value ;
7086 this . setState ( {
7187 offsetY : targetValue || undefined ,
7288 } ) ;
7389 } ;
7490
75- onVisibleChange = visible => {
91+ onVisibleChange = ( visible ) => {
7692 console . log ( 'tooltip' , visible ) ; // eslint-disable-line no-console
7793 } ;
7894
79- onDestroyChange = e => {
95+ onDestroyChange = ( e ) => {
8096 const { value } = e . target ;
8197 this . setState ( {
82- destroyTooltipOnHide : [ false , { keepParent : false } , { keepParent : true } ] [ value ] ,
98+ destroyTooltipOnHide : [ false , { keepParent : false } , { keepParent : true } ] [ value ] as boolean ,
8399 } ) ;
84100 } ;
85101
86102 onOverlayInnerStyleChange = ( ) => {
87- this . setState ( prevState => ( {
103+ this . setState ( ( prevState ) => ( {
88104 overlayInnerStyle : prevState . overlayInnerStyle ? undefined : { background : 'red' } ,
89105 } ) ) ;
90106 } ;
91107
92- preventDefault = e => {
108+ preventDefault = ( e ) => {
93109 e . preventDefault ( ) ;
94110 } ;
95111
@@ -102,7 +118,7 @@ class Test extends Component {
102118 < label >
103119 placement:
104120 < select value = { this . state . placement } onChange = { this . onPlacementChange } >
105- { Object . keys ( placements ) . map ( p => (
121+ { Object . keys ( placements ) . map ( ( p ) => (
106122 < option key = { p } value = { p } >
107123 { p }
108124 </ option >
@@ -134,7 +150,7 @@ class Test extends Component {
134150 < label >
135151 < input
136152 value = "hover"
137- checked = { trigger . hover }
153+ checked = { ! ! trigger . hover }
138154 type = "checkbox"
139155 onChange = { this . onTriggerChange }
140156 />
@@ -143,7 +159,7 @@ class Test extends Component {
143159 < label >
144160 < input
145161 value = "focus"
146- checked = { trigger . focus }
162+ checked = { ! ! trigger . focus }
147163 type = "checkbox"
148164 onChange = { this . onTriggerChange }
149165 />
@@ -152,7 +168,7 @@ class Test extends Component {
152168 < label >
153169 < input
154170 value = "click"
155- checked = { trigger . click }
171+ checked = { ! ! trigger . click }
156172 type = "checkbox"
157173 onChange = { this . onTriggerChange }
158174 />
@@ -194,7 +210,7 @@ class Test extends Component {
194210 mouseEnterDelay = { 0 }
195211 mouseLeaveDelay = { 0.1 }
196212 destroyTooltipOnHide = { this . state . destroyTooltipOnHide }
197- trigger = { Object . keys ( this . state . trigger ) }
213+ trigger = { Object . keys ( this . state . trigger ) as ActionType [ ] }
198214 onVisibleChange = { this . onVisibleChange }
199215 overlay = { < div style = { { height : 50 , width : 50 } } > i am a tooltip</ div > }
200216 align = { {
0 commit comments