Skip to content

Commit 5f0187c

Browse files
fixed calendar's event list view
1 parent 9e0b8ea commit 5f0187c

File tree

2 files changed

+51
-39
lines changed

2 files changed

+51
-39
lines changed

client/packages/lowcoder-comps/src/comps/calendarComp/calendarComp.tsx

Lines changed: 39 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -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>

client/packages/lowcoder-comps/src/comps/calendarComp/calendarConstants.tsx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,20 @@ export const Wrapper = styled.div<{
6969
.fc-list {
7070
.fc-list-table {
7171
table-layout: fixed;
72+
thead {
73+
position: relative;
74+
left: unset;
75+
visibility: hidden;
76+
}
7277
th {
7378
background-color: ${(props) => props.$style.background};
79+
80+
&:first-child {
81+
width: 150px;
82+
}
83+
&:nth-child(2) {
84+
width: 300px;
85+
}
7486
}
7587
}
7688
.fc-list-event-graphic {
@@ -116,7 +128,6 @@ export const Wrapper = styled.div<{
116128
box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);
117129
border-width: 1px;
118130
margin: 2px 5px;
119-
height: 20px;
120131
.event-title {
121132
margin-left: 15px;
122133
}
@@ -128,8 +139,6 @@ export const Wrapper = styled.div<{
128139
.fc-event {
129140
font-size: 13px;
130141
line-height: 20px;
131-
display: flex;
132-
align-items: center;
133142
&.no-time {
134143
padding-left: 19px;
135144
}
@@ -142,21 +151,15 @@ export const Wrapper = styled.div<{
142151
box-sizing: content-box;
143152
}
144153
.fc-list-event-title {
145-
min-width: 266px;
146-
overflow: hidden;
147-
text-overflow: ellipsis;
148-
white-space: nowrap;
149154
padding: 0 14px 0 0;
150155
cursor: pointer;
151156
.event {
152157
font-size: 13px;
153-
height: 18px;
154158
line-height: 18px;
155159
margin: 3px 5px;
156160
border-width: 0;
157161
align-items: center;
158162
&::before {
159-
height: 14px;
160163
top: 2px;
161164
left: 3px;
162165
}
@@ -165,9 +168,6 @@ export const Wrapper = styled.div<{
165168
}
166169
.event-title {
167170
margin-left: 16px;
168-
overflow: hidden;
169-
text-overflow: ellipsis;
170-
white-space: nowrap;
171171
}
172172
.event-remove {
173173
background-color: inherit;

0 commit comments

Comments
 (0)