Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 66b527b

Browse files
fix events data mapping in calendar
1 parent 9afa178 commit 66b527b

File tree

2 files changed

+67
-22
lines changed

2 files changed

+67
-22
lines changed

‎client/packages/lowcoder-comps/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "lowcoder-comps",
3-
"version": "2.4.18",
3+
"version": "2.4.19",
44
"type": "module",
55
"license": "MIT",
66
"dependencies": {

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

Lines changed: 66 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -84,34 +84,67 @@ function fixOldData(oldData: any) {
8484
if(!Boolean(oldData)) return;
8585
let {events, resourcesEvents, ...data } = oldData;
8686
let allEvents: any[] = [];
87+
let isDynamicEventData = false;
8788

8889
if (events && typeof events === 'string') {
89-
let eventsList = JSON.parse(events);
90-
if (eventsList && eventsList.length) {
91-
eventsList = eventsList?.map(event => {
92-
const {title, ...eventData} = event;
93-
return {
94-
...eventData,
95-
label: title, // replace title field with label
96-
}
97-
});
98-
allEvents = allEvents.concat(eventsList);
90+
try {
91+
let eventsList = JSON.parse(events);
92+
if (eventsList && eventsList.length) {
93+
eventsList = eventsList?.map(event => {
94+
const {title, ...eventData} = event;
95+
return {
96+
...eventData,
97+
label: title, // replace title field with label
98+
}
99+
});
100+
allEvents = allEvents.concat(eventsList);
101+
}
102+
} catch (_) {
103+
isDynamicEventData = true;
99104
}
100105
}
101106
if (resourcesEvents && typeof resourcesEvents === 'string') {
102-
let resourceEventsList = JSON.parse(resourcesEvents);
103-
if (resourceEventsList && resourceEventsList.length) {
104-
resourceEventsList = resourceEventsList?.map(event => {
105-
const {title, ...eventData} = event;
106-
return {
107-
...eventData,
108-
label: title, // replace title field with label
109-
}
110-
});
111-
allEvents = allEvents.concat(resourceEventsList);
112-
}
107+
try {
108+
let resourceEventsList = JSON.parse(resourcesEvents);
109+
if (resourceEventsList && resourceEventsList.length) {
110+
resourceEventsList = resourceEventsList?.map(event => {
111+
const {title, ...eventData} = event;
112+
return {
113+
...eventData,
114+
label: title, // replace title field with label
115+
}
116+
});
117+
allEvents = allEvents.concat(resourceEventsList);
118+
}
119+
} catch (_) {}
113120
}
114121

122+
if (isDynamicEventData) {
123+
return {
124+
...data,
125+
events: {
126+
manual: {
127+
manual: allEvents,
128+
},
129+
mapData: {
130+
data: events,
131+
mapData: {
132+
id: "{{item.id}}",
133+
label: "{{item.title}}",
134+
detail: "{{item.detail}}",
135+
start: "{{item.start}}",
136+
end: "{{item.end}}",
137+
color: "{{item.color}}",
138+
allDay: "{{item.allDay}}",
139+
groupId: "{{item.groupId}}",
140+
resourceId: "{{item.resourceId}}",
141+
}
142+
},
143+
optionType: "map",
144+
},
145+
};
146+
}
147+
115148
if (allEvents.length) {
116149
return {
117150
...data,
@@ -121,11 +154,23 @@ function fixOldData(oldData: any) {
121154
},
122155
mapData: {
123156
data: JSON.stringify(allEvents, null, 2),
157+
mapData: {
158+
id: "{{item.id}}",
159+
label: "{{item.title}}",
160+
detail: "{{item.detail}}",
161+
start: "{{item.start}}",
162+
end: "{{item.end}}",
163+
color: "{{item.color}}",
164+
allDay: "{{item.allDay}}",
165+
groupId: "{{item.groupId}}",
166+
resourceId: "{{item.resourceId}}",
167+
}
124168
},
125169
optionType: "manual",
126170
},
127171
};
128172
}
173+
129174
return {
130175
...data,
131176
events,

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /