@@ -264,6 +264,7 @@ let CalendarBasicComp = (function () {
264
264
const [ licensed , setLicensed ] = useState < boolean > ( props . licenseKey !== "" ) ;
265
265
const [ currentSlotLabelFormat , setCurrentSlotLabelFormat ] = useState ( slotLabelFormat ) ;
266
266
const [ initDataMap , setInitDataMap ] = useState < Record < string , number > > ( { } ) ;
267
+ const [ hoverEventId , setHoverEvent ] = useState < string > ( ) ;
267
268
268
269
useEffect ( ( ) => {
269
270
setLicensed ( props . licenseKey !== "" ) ;
@@ -490,36 +491,45 @@ let CalendarBasicComp = (function () {
490
491
: "" ;
491
492
return (
492
493
< Suspense fallback = { null } >
493
- < Event
494
- className = { `event ${ sizeClass } ${ stateClass } ` }
495
- theme = { theme ?. theme }
496
- $isList = { isList }
497
- $allDay = { Boolean ( props . showAllDay ) }
498
- $style = { props . style }
499
- $backgroundColor = { eventInfo . backgroundColor }
500
- $extendedProps = { eventInfo ?. event ?. extendedProps }
494
+ < Tooltip
495
+ title = { eventInfo ?. event ?. extendedProps ?. detail }
496
+ open = {
497
+ isList
498
+ && Boolean ( eventInfo ?. event ?. extendedProps ?. detail )
499
+ && hoverEventId === eventInfo . event . id
500
+ }
501
501
>
502
- < div className = "event-time" > { eventInfo ?. timeText } </ div >
503
- < div className = "event-title" > { eventInfo ?. event ?. title } </ div >
504
- < div className = "event-detail" > { eventInfo ?. event ?. extendedProps ?. detail } </ div >
505
- < Remove
502
+ < Event
503
+ className = { `event ${ sizeClass } ${ stateClass } ` }
504
+ theme = { theme ?. theme }
506
505
$isList = { isList }
507
- className = "event-remove"
508
- onClick = { ( e ) => {
509
- e . stopPropagation ( ) ;
510
- const events = props . events . filter (
511
- ( item : EventType ) => item . id !== eventInfo . event . id
512
- ) ;
513
- handleEventDataChange ( events ) ;
514
- } }
515
- onMouseDown = { ( e ) => {
516
- e . stopPropagation ( ) ;
517
- e . preventDefault ( ) ;
518
- } }
506
+ $allDay = { Boolean ( props . showAllDay ) }
507
+ $style = { props . style }
508
+ $backgroundColor = { eventInfo . backgroundColor }
509
+ $extendedProps = { eventInfo ?. event ?. extendedProps }
519
510
>
520
- < CalendarDeleteIcon />
521
- </ Remove >
522
- </ Event >
511
+ < div className = "event-time" > { eventInfo ?. timeText } </ div >
512
+ < div className = "event-title" > { eventInfo ?. event ?. title } </ div >
513
+ { ! isList && < div className = "event-detail" > { eventInfo ?. event ?. extendedProps ?. detail } </ div > }
514
+ < Remove
515
+ $isList = { isList }
516
+ className = "event-remove"
517
+ onClick = { ( e ) => {
518
+ e . stopPropagation ( ) ;
519
+ const events = props . events . filter (
520
+ ( item : EventType ) => item . id !== eventInfo . event . id
521
+ ) ;
522
+ handleEventDataChange ( events ) ;
523
+ } }
524
+ onMouseDown = { ( e ) => {
525
+ e . stopPropagation ( ) ;
526
+ e . preventDefault ( ) ;
527
+ } }
528
+ >
529
+ < CalendarDeleteIcon />
530
+ </ Remove >
531
+ </ Event >
532
+ </ Tooltip >
523
533
</ Suspense >
524
534
) ;
525
535
} , [
@@ -1034,6 +1044,8 @@ let CalendarBasicComp = (function () {
1034
1044
} }
1035
1045
eventDrop = { handleDrop }
1036
1046
eventResize = { handleResize }
1047
+ eventMouseEnter = { ( { event} ) => setHoverEvent ( event . id ) }
1048
+ eventMouseLeave = { ( { event} ) => setHoverEvent ( undefined ) }
1037
1049
/>
1038
1050
</ ErrorBoundary >
1039
1051
</ Wrapper >
0 commit comments