@@ -264,6 +264,7 @@ let CalendarBasicComp = (function () {
264264 const [ licensed , setLicensed ] = useState < boolean > ( props . licenseKey !== "" ) ;
265265 const [ currentSlotLabelFormat , setCurrentSlotLabelFormat ] = useState ( slotLabelFormat ) ;
266266 const [ initDataMap , setInitDataMap ] = useState < Record < string , number > > ( { } ) ;
267+ const [ hoverEventId , setHoverEvent ] = useState < string > ( ) ;
267268
268269 useEffect ( ( ) => {
269270 setLicensed ( props . licenseKey !== "" ) ;
@@ -490,36 +491,45 @@ let CalendarBasicComp = (function () {
490491 : "" ;
491492 return (
492493 < 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+ }
501501 >
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 }
506505 $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 }
519510 >
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 >
523533 </ Suspense >
524534 ) ;
525535 } , [
@@ -1034,6 +1044,8 @@ let CalendarBasicComp = (function () {
10341044 } }
10351045 eventDrop = { handleDrop }
10361046 eventResize = { handleResize }
1047+ eventMouseEnter = { ( { event} ) => setHoverEvent ( event . id ) }
1048+ eventMouseLeave = { ( { event} ) => setHoverEvent ( undefined ) }
10371049 />
10381050 </ ErrorBoundary >
10391051 </ Wrapper >
0 commit comments