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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy