equal
deleted
inserted
replaced
76 var _res = new IriSP.Model.Tag(_data.id, _source); |
76 var _res = new IriSP.Model.Tag(_data.id, _source); |
77 _res.title = _data.meta["dc:title"]; |
77 _res.title = _data.meta["dc:title"]; |
78 return _res; |
78 return _res; |
79 }, |
79 }, |
80 serializer : function(_data, _source, _dest) { |
80 serializer : function(_data, _source, _dest) { |
|
81 if (_source.regenerateTags && !_data.regenerated) { |
|
82 return; |
|
83 } |
81 var _res = { |
84 var _res = { |
82 id : _data.id, |
85 id : _data.id, |
83 meta : { |
86 meta : { |
84 "dc:title": _data.title || "", |
87 "dc:title": _data.title || "", |
85 "dc:description": _data.description || "", |
88 "dc:description": _data.description || "", |
177 "dc:created" : IriSP.Model.dateToIso(_data.created || _source.created), |
180 "dc:created" : IriSP.Model.dateToIso(_data.created || _source.created), |
178 "dc:modified" : IriSP.Model.dateToIso(_data.modified || _source.modified), |
181 "dc:modified" : IriSP.Model.dateToIso(_data.modified || _source.modified), |
179 "dc:creator" : _data.creator || _source.creator, |
182 "dc:creator" : _data.creator || _source.creator, |
180 "dc:contributor" : _data.contributor || _source.contributor || _data.creator || _source.creator, |
183 "dc:contributor" : _data.contributor || _source.contributor || _data.creator || _source.creator, |
181 // project : _source.projectId |
184 // project : _source.projectId |
182 }, |
185 } |
183 tags : IriSP._(_data.tag.id).map(function(_id) { |
186 } |
|
187 if (_source.regenerateTags) { |
|
188 _res.tags = IriSP._(_data.keywords).map(function(_kw) { |
|
189 return { |
|
190 "id-ref": _source.__keywords[_kw.toLowerCase()].id |
|
191 } |
|
192 }); |
|
193 } else { |
|
194 _res.tags = IriSP._(_data.tag.id).map(function(_id) { |
184 return { |
195 return { |
185 "id-ref" : _id |
196 "id-ref" : _id |
186 } |
197 } |
187 }) |
198 }); |
188 } |
199 } |
189 _res.content.title = _data.title || _res.content.title || ""; |
200 _res.content.title = _data.title || _res.content.title || ""; |
190 _dest.annotations.push(_res); |
201 _dest.annotations.push(_res); |
191 } |
202 } |
192 }, |
203 }, |
246 medias: [], |
257 medias: [], |
247 tags: [], |
258 tags: [], |
248 annotations: [] |
259 annotations: [] |
249 }, |
260 }, |
250 _this = this; |
261 _this = this; |
|
262 if (_source.regenerateTags) { |
|
263 _source.__keywords = {}; |
|
264 _source.getAnnotations().forEach(function(a) { |
|
265 IriSP._(a.keywords).each(function(kw) { |
|
266 var lkw = kw.toLowerCase(); |
|
267 if (typeof _source.__keywords[lkw] === "undefined") { |
|
268 _source.__keywords[lkw] = { |
|
269 id: IriSP.Model.getUID(), |
|
270 title: kw, |
|
271 regenerated: true |
|
272 } |
|
273 } |
|
274 }); |
|
275 }); |
|
276 IriSP._(_source.__keywords).each(function(kw) { |
|
277 _this.types.tag.serializer(kw, _source, _res); |
|
278 }) |
|
279 } |
251 _source.forEach(function(_list, _typename) { |
280 _source.forEach(function(_list, _typename) { |
252 if (typeof _this.types[_typename] !== "undefined") { |
281 if (typeof _this.types[_typename] !== "undefined") { |
253 _list.forEach(function(_el) { |
282 _list.forEach(function(_el) { |
254 _this.types[_typename].serializer(_el, _source, _res); |
283 _this.types[_typename].serializer(_el, _source, _res); |
255 }); |
284 }); |
285 |
314 |
286 if (typeof _data.meta !== "undefined") { |
315 if (typeof _data.meta !== "undefined") { |
287 _source.projectId = _data.meta.id; |
316 _source.projectId = _data.meta.id; |
288 _source.title = _data.meta["dc:title"] || _data.meta.title || ""; |
317 _source.title = _data.meta["dc:title"] || _data.meta.title || ""; |
289 _source.description = _data.meta["dc:description"] || _data.meta.description || ""; |
318 _source.description = _data.meta["dc:description"] || _data.meta.description || ""; |
|
319 _source.creator = _data.meta["dc:creator"] || _data.meta.creator || ""; |
|
320 _source.contributor = _data.meta["dc:contributor"] || _data.meta.contributor || _source.creator; |
|
321 _source.created = IriSP.Model.isoToDate(_data.meta["dc:created"] || _data.meta.created); |
290 } |
322 } |
291 |
323 |
292 if (typeof _data.meta !== "undefined" && typeof _data.meta.main_media !== "undefined" && typeof _data.meta.main_media["id-ref"] !== "undefined") { |
324 if (typeof _data.meta !== "undefined" && typeof _data.meta.main_media !== "undefined" && typeof _data.meta.main_media["id-ref"] !== "undefined") { |
293 _source.currentMedia = _source.getElement(_data.meta.main_media["id-ref"]); |
325 _source.currentMedia = _source.getElement(_data.meta.main_media["id-ref"]); |
294 } |
326 } |