8 var _types = [ |
8 var _types = [ |
9 { |
9 { |
10 serialized_name : "medias", |
10 serialized_name : "medias", |
11 model_name : "media", |
11 model_name : "media", |
12 deserializer : function(_data) { |
12 deserializer : function(_data) { |
13 var _res = new IriSP.Model.Media(_data.id, _data); |
13 var _res = new IriSP.Model.Media(_data.id, _container); |
14 _res.url = _data.href; |
14 _res.url = _data.href; |
15 _res.title = _data.meta["dc:title"]; |
15 _res.title = _data.meta["dc:title"]; |
16 _res.description = _data.meta["dc:description"]; |
16 _res.description = _data.meta["dc:description"]; |
17 _res.setDuration(_data.meta["dc:duration"]); |
17 _res.setDuration(_data.meta["dc:duration"]); |
18 return _res; |
18 return _res; |
19 } |
19 } |
20 }, |
20 }, |
21 { |
21 { |
|
22 serialized_name : "tags", |
|
23 model_name : "tag", |
|
24 deserializer : function(_data) { |
|
25 var _res = new IriSP.Model.Tag(_data.id, _container); |
|
26 _res.title = _data["dc:title"]; |
|
27 return _res; |
|
28 } |
|
29 }, |
|
30 { |
22 serialized_name : "annotation-types", |
31 serialized_name : "annotation-types", |
23 model_name : "annotationType", |
32 model_name : "annotationType", |
24 deserializer : function(_data) { |
33 deserializer : function(_data) { |
25 var _res = new IriSP.Model.AnnotationType(_data.id, _data); |
34 var _res = new IriSP.Model.AnnotationType(_data.id, _container); |
26 _res.title = _data["dc:title"]; |
35 _res.title = _data["dc:title"]; |
27 _res.description = _data["dc:description"]; |
36 _res.description = _data["dc:description"]; |
28 return _res; |
37 return _res; |
29 } |
38 } |
30 }, |
39 }, |
31 { |
40 { |
32 serialized_name : "annotations", |
41 serialized_name : "annotations", |
33 model_name : "annotation", |
42 model_name : "annotation", |
34 deserializer : function(_data) { |
43 deserializer : function(_data) { |
35 var _res = new IriSP.Model.Annotation(_data.id, _data); |
44 var _res = new IriSP.Model.Annotation(_data.id, _container); |
36 _res.title = _data.content.title; |
45 _res.title = _data.content.title; |
37 _res.description = _data.content.description; |
46 _res.description = _data.content.description; |
38 _res.setMedia(_data.media, _container); |
47 _res.setMedia(_data.media, _container); |
39 _res.setAnnotationType(_data.meta["id-ref"], _container); |
48 _res.setAnnotationType(_data.meta["id-ref"]); |
|
49 _res.setTags(IriSP._(_data.tags).pluck("id-ref")); |
40 _res.setBegin(_data.begin); |
50 _res.setBegin(_data.begin); |
41 _res.setEnd(_data.end); |
51 _res.setEnd(_data.end); |
42 return _res; |
52 return _res; |
43 } |
53 } |
44 } |
54 } |
45 ]; |
55 ]; |
46 |
56 |
47 IriSP._(_types).each(function(_type) { |
57 IriSP._(_types).each(function(_type) { |
48 if (typeof _data[_type.serialized_name] !== "undefined") { |
58 if (typeof _data[_type.serialized_name] !== "undefined") { |
49 var _list = new IriSP.Model.List(); |
59 var _list = new IriSP.Model.List(_container.directory); |
50 IriSP._(_data[_type.serialized_name]).each(function(_el) { |
60 IriSP._(_data[_type.serialized_name]).each(function(_el) { |
51 _list.addElement(_type.deserializer(_el)); |
61 _list.addElement(_type.deserializer(_el)); |
52 }); |
62 }); |
53 _container.addList(_type.model_name, _list); |
63 _container.addList(_type.model_name, _list); |
54 } |
64 } |
55 }); |
65 }); |
56 |
66 |
57 if (typeof _data.meta !== "undefined" && typeof _data.meta.main_media !== "undefined" && typeof _data.meta.main_media["id-ref"] !== "undefined") { |
67 if (typeof _data.meta !== "undefined" && typeof _data.meta.main_media !== "undefined" && typeof _data.meta.main_media["id-ref"] !== "undefined") { |
58 _container.setCurrentMediaById(_data.meta.main_media["id-ref"]); |
68 _container.setCurrentMediaId(_data.meta.main_media["id-ref"]); |
59 } |
69 } |
60 _container.setDefaultCurrentMedia(); |
70 _container.setDefaultCurrentMedia(); |
61 } |
71 } |
62 } |
72 } |