client/js/full-json.js
author veltr
Thu, 31 Jan 2013 18:53:08 +0100
changeset 52 e0f6f3c31150
parent 36 d249d36ecc37
child 62 f9019462465a
permissions -rw-r--r--
Added colors !
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
20
bd58970ffd16 Refactoring to better fit the MVVM pattern
veltr
parents: 14
diff changeset
     1
/* Saves the Full JSON at each modification */
bd58970ffd16 Refactoring to better fit the MVVM pattern
veltr
parents: 14
diff changeset
     2
23
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
     3
Rkns.jsonIO = function(_renkan, _opts) {
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
     4
    var _proj = _renkan.project;
20
bd58970ffd16 Refactoring to better fit the MVVM pattern
veltr
parents: 14
diff changeset
     5
    if (typeof _opts.http_method == "undefined") {
bd58970ffd16 Refactoring to better fit the MVVM pattern
veltr
parents: 14
diff changeset
     6
        _opts.http_method = 'PUT';
bd58970ffd16 Refactoring to better fit the MVVM pattern
veltr
parents: 14
diff changeset
     7
    }
23
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
     8
    var _load = function() {
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
     9
        Rkns.$.getJSON(_opts.url, function(_data) {
24
121a24be9da4 Added Wikipedia Search
veltr
parents: 23
diff changeset
    10
            _proj.set(_data);
25
b5ada3bb8e53 Bugfixes
veltr
parents: 24
diff changeset
    11
            _renkan.renderer.autoScale();
4
f5297dde9053 Can now add nodes/edges
veltr
parents: 2
diff changeset
    12
        });
1
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    13
    }
23
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    14
    var _save = function() {
24
121a24be9da4 Added Wikipedia Search
veltr
parents: 23
diff changeset
    15
        var _data = _proj.toJSON();
23
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    16
        Rkns.$.ajax({
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    17
            type: _opts.http_method,
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    18
            url: _opts.url,
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    19
            contentType: "application/json",
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    20
            data: JSON.stringify(_data),
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    21
            success: function(data, textStatus, jqXHR) {
4
f5297dde9053 Can now add nodes/edges
veltr
parents: 2
diff changeset
    22
            }
23
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    23
        });
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    24
        
4
f5297dde9053 Can now add nodes/edges
veltr
parents: 2
diff changeset
    25
    }
26
2fad193bae98 Added basic LDT project import
veltr
parents: 25
diff changeset
    26
    var _thrSave = Rkns._.throttle(
2fad193bae98 Added basic LDT project import
veltr
parents: 25
diff changeset
    27
        function() {
2fad193bae98 Added basic LDT project import
veltr
parents: 25
diff changeset
    28
            setTimeout(_save, 100)
2fad193bae98 Added basic LDT project import
veltr
parents: 25
diff changeset
    29
        }, 1000);
23
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    30
    _load();
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    31
    _proj.on("add:nodes add:edges add:users", function(_model) {
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    32
        _model.on("change remove", function(_model) {
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    33
            _thrSave();
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    34
        });
36
d249d36ecc37 Add Edge button, French translation and various bugfixes
veltr
parents: 26
diff changeset
    35
        _thrSave();
23
70c8af9b44ec Rebased Rendering on Backbone Model
veltr
parents: 20
diff changeset
    36
    });
4
f5297dde9053 Can now add nodes/edges
veltr
parents: 2
diff changeset
    37
}