src/js/serializers/PlatformSerializer.js
branchnew-model
changeset 872 d777d05a16e4
parent 868 a525cc2214e7
child 875 43629caa77bc
equal deleted inserted replaced
870:2c025db10a10 872:d777d05a16e4
    75         },
    75         },
    76         annotation : {
    76         annotation : {
    77             serialized_name : "annotations",
    77             serialized_name : "annotations",
    78             deserializer : function(_data, _source) {
    78             deserializer : function(_data, _source) {
    79                 var _res = new IriSP.Model.Annotation(_data.id, _source);
    79                 var _res = new IriSP.Model.Annotation(_data.id, _source);
    80                 _res.title = _data.content.title;
    80                 _res.title = _data.content.title || "";
    81                 _res.description = _data.content.description;
    81                 _res.description = _data.content.description || "";
    82                 _res.created = IriSP.Model.isoToDate(_data.meta["dc:created"]);
    82                 _res.created = IriSP.Model.isoToDate(_data.meta["dc:created"]);
    83                 var _c = parseInt(_data.color).toString(16);
    83                 var _c = parseInt(_data.color).toString(16);
    84                 while (_c.length < 6) {
    84                 while (_c.length < 6) {
    85                     _c = '0' + _c;
    85                     _c = '0' + _c;
    86                 }
    86                 }
    89                 _res.setAnnotationType(_data.meta["id-ref"]);
    89                 _res.setAnnotationType(_data.meta["id-ref"]);
    90                 _res.setTags(IriSP._(_data.tags).pluck("id-ref"));
    90                 _res.setTags(IriSP._(_data.tags).pluck("id-ref"));
    91                 _res.setBegin(_data.begin);
    91                 _res.setBegin(_data.begin);
    92                 _res.setEnd(_data.end);
    92                 _res.setEnd(_data.end);
    93                 _res.creator = _data.meta["dc:creator"];
    93                 _res.creator = _data.meta["dc:creator"];
       
    94                 _res.project = _data.meta.project;
    94                 return _res;
    95                 return _res;
    95             },
    96             },
    96             serializer : function(_data, _source) {
    97             serializer : function(_data, _source) {
    97                 return {
    98                 return {
    98                     id : _source.unNamespace(_data.id),
    99                     id : _source.unNamespace(_data.id),
    99                     content : {
   100                     content : {
   100                         title : _data.title,
   101                         title : _data.title,
   101                         description : _data.description
   102                         description : _data.description
   102                     },
   103                     },
   103                     media : _source.unNamespace(_data.media.contents),
   104                     media : _source.unNamespace(_data.media.id),
   104                     meta : {
   105                     meta : {
   105                         "id-ref" : _source.unNamespace(_data.annotationType.contents),
   106                         "id-ref" : _source.unNamespace(_data.annotationType.id),
   106                         "dc:created" : IriSP.Model.dateToIso(_data.created),
   107                         "dc:created" : IriSP.Model.dateToIso(_data.created),
   107                         "dc:creator" : _data.creator
   108                         "dc:creator" : _data.creator,
       
   109                         project : _source.projectId
   108                     },
   110                     },
   109                     tags : _data.getTags().map(function(_el, _id) {
   111                     tags : IriSP._(_data.tag.id).map(function(_d) {
   110                        return {
   112                        return {
   111                            "id-ref" : _source.unNamespace(_id)
   113                            "id-ref" : _source.unNamespace(_id)
   112                        } 
   114                        } 
   113                     })
   115                     })
   114                 }
   116                 }
   125                 });
   127                 });
   126             }
   128             }
   127         });
   129         });
   128         return _res;
   130         return _res;
   129     },
   131     },
       
   132     loadData : function(_url, _callback) {
       
   133         IriSP.jQuery.getJSON(_url, _callback)
       
   134     },
   130     deSerialize : function(_data, _source) {
   135     deSerialize : function(_data, _source) {
       
   136         if (typeof _data !== "object" && _data === null) {
       
   137             return;
       
   138         }
   131         IriSP._(this.types).forEach(function(_type, _typename) {
   139         IriSP._(this.types).forEach(function(_type, _typename) {
   132             var _listdata = _data[_type.serialized_name];
   140             var _listdata = _data[_type.serialized_name];
   133             if (typeof _listdata !== "undefined") {
   141             if (typeof _listdata !== "undefined") {
   134                 var _list = new IriSP.Model.List(_source.directory);
   142                 var _list = new IriSP.Model.List(_source.directory);
   135                 if (_listdata.hasOwnProperty("length")) {
   143                 if (_listdata.hasOwnProperty("length")) {
   142                 }
   150                 }
   143                 _source.addList(_typename, _list);
   151                 _source.addList(_typename, _list);
   144             }
   152             }
   145         });
   153         });
   146         
   154         
       
   155         if (typeof _data.meta !== "undefined") {
       
   156             _source.projectId = _data.meta.id;
       
   157         }
       
   158         
   147         if (typeof _data.meta !== "undefined" && typeof _data.meta.main_media !== "undefined" && typeof _data.meta.main_media["id-ref"] !== "undefined") {
   159         if (typeof _data.meta !== "undefined" && typeof _data.meta.main_media !== "undefined" && typeof _data.meta.main_media["id-ref"] !== "undefined") {
   148             _source.setCurrentMediaId(_data.meta.main_media["id-ref"]);
   160             _source.setCurrentMediaId(_data.meta.main_media["id-ref"]);
   149         }
   161         }
   150         _source.setDefaultCurrentMedia();
   162         _source.setDefaultCurrentMedia();
   151     }
   163     }