@@ -84,34 +84,67 @@ function fixOldData(oldData: any) {
84
84
if ( ! Boolean ( oldData ) ) return ;
85
85
let { events, resourcesEvents, ...data } = oldData ;
86
86
let allEvents : any [ ] = [ ] ;
87
+ let isDynamicEventData = false ;
87
88
88
89
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 ;
99
104
}
100
105
}
101
106
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 ( _ ) { }
113
120
}
114
121
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
+
115
148
if ( allEvents . length ) {
116
149
return {
117
150
...data ,
@@ -121,11 +154,23 @@ function fixOldData(oldData: any) {
121
154
} ,
122
155
mapData : {
123
156
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
+ }
124
168
} ,
125
169
optionType : "manual" ,
126
170
} ,
127
171
} ;
128
172
}
173
+
129
174
return {
130
175
...data ,
131
176
events,
0 commit comments