|
1
|
1 |
Rkns.Serializers.BasicJson = Rkns.Utils.inherit(Rkns.Serializers._Base); |
|
|
2 |
|
|
|
3 |
Rkns.Serializers.BasicJson.prototype._init = function() { |
|
|
4 |
this.load(this._project._opts.url); |
|
|
5 |
} |
|
|
6 |
|
|
|
7 |
Rkns.Serializers.BasicJson.prototype.load = function(_url) { |
|
|
8 |
var _this = this; |
|
|
9 |
Rkns.$.getJSON(_url, function(_data) { |
|
|
10 |
_this.deserialize(_data); |
|
|
11 |
_this.handleCallbacks(); |
|
|
12 |
}); |
|
|
13 |
} |
|
|
14 |
|
|
|
15 |
Rkns.Serializers.BasicJson.prototype.deserialize = function(_serializedData) { |
|
|
16 |
if (typeof _serializedData === "string") { |
|
|
17 |
_serializedData = JSON.parse(_serializedData); |
|
|
18 |
} |
|
|
19 |
var _proj = this._project; |
|
|
20 |
_proj.title = _serializedData.title || "(untitled project)"; |
|
|
21 |
if (typeof _serializedData.users === "object" && _serializedData.users) { |
|
|
22 |
_proj.users.addElements( |
|
|
23 |
Rkns._(_serializedData.users).map(function(_userData) { |
|
|
24 |
return new Rkns.Model.User(_proj, _userData); |
|
|
25 |
}) |
|
|
26 |
); |
|
|
27 |
} |
|
|
28 |
if (typeof _serializedData.nodes === "object" && _serializedData.nodes) { |
|
|
29 |
_proj.nodes.addElements( |
|
|
30 |
Rkns._(_serializedData.nodes).map(function(_nodeData) { |
|
|
31 |
return new Rkns.Model.Node(_proj, _nodeData); |
|
|
32 |
}) |
|
|
33 |
); |
|
|
34 |
} |
|
|
35 |
if (typeof _serializedData.edges === "object" && _serializedData.edges) { |
|
|
36 |
_proj.edges.addElements( |
|
|
37 |
Rkns._(_serializedData.edges).map(function(_edgeData) { |
|
|
38 |
return new Rkns.Model.Edge(_proj, _edgeData); |
|
|
39 |
}) |
|
|
40 |
); |
|
|
41 |
} |
|
|
42 |
} |