@@ -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,