src/js/serializers/PlatformSerializer.js
branchnew-model
changeset 858 ad1ffe0c0955
parent 856 41c574c807d1
child 860 7fd843e0dc4e
--- a/src/js/serializers/PlatformSerializer.js	Wed Apr 11 16:39:03 2012 +0200
+++ b/src/js/serializers/PlatformSerializer.js	Thu Apr 12 15:54:33 2012 +0200
@@ -10,7 +10,7 @@
                 serialized_name : "medias",
                 model_name : "media",
                 deserializer : function(_data) {
-                    var _res = new IriSP.Model.Media(_data.id, _data);
+                    var _res = new IriSP.Model.Media(_data.id, _container);
                     _res.url = _data.href;
                     _res.title = _data.meta["dc:title"];
                     _res.description = _data.meta["dc:description"];
@@ -19,10 +19,19 @@
                 }
             },
             {
+                serialized_name : "tags",
+                model_name : "tag",
+                deserializer : function(_data) {
+                    var _res = new IriSP.Model.Tag(_data.id, _container);
+                    _res.title = _data["dc:title"];
+                    return _res;        
+                }
+            },
+            {
                 serialized_name : "annotation-types",
                 model_name : "annotationType",
                 deserializer : function(_data) {
-                    var _res = new IriSP.Model.AnnotationType(_data.id, _data);
+                    var _res = new IriSP.Model.AnnotationType(_data.id, _container);
                     _res.title = _data["dc:title"];
                     _res.description = _data["dc:description"];
                     return _res;        
@@ -32,11 +41,12 @@
                 serialized_name : "annotations",
                 model_name : "annotation",
                 deserializer : function(_data) {
-                    var _res = new IriSP.Model.Annotation(_data.id, _data);
+                    var _res = new IriSP.Model.Annotation(_data.id, _container);
                     _res.title = _data.content.title;
                     _res.description = _data.content.description;
                     _res.setMedia(_data.media, _container);
-                    _res.setAnnotationType(_data.meta["id-ref"], _container);
+                    _res.setAnnotationType(_data.meta["id-ref"]);
+                    _res.setTags(IriSP._(_data.tags).pluck("id-ref"));
                     _res.setBegin(_data.begin);
                     _res.setEnd(_data.end);
                     return _res;
@@ -46,7 +56,7 @@
         
         IriSP._(_types).each(function(_type) {
             if (typeof _data[_type.serialized_name] !== "undefined") {
-                var _list = new IriSP.Model.List();
+                var _list = new IriSP.Model.List(_container.directory);
                 IriSP._(_data[_type.serialized_name]).each(function(_el) {
                     _list.addElement(_type.deserializer(_el));
                 });
@@ -55,7 +65,7 @@
         });
         
         if (typeof _data.meta !== "undefined" && typeof _data.meta.main_media !== "undefined" && typeof _data.meta.main_media["id-ref"] !== "undefined") {
-            _container.setCurrentMediaById(_data.meta.main_media["id-ref"]);
+            _container.setCurrentMediaId(_data.meta.main_media["id-ref"]);
         }
         _container.setDefaultCurrentMedia();
     }