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 } |