| author | rougeronj |
| Fri, 24 Apr 2015 11:13:16 +0200 | |
| changeset 426 | 05ed0d95a511 |
| parent 414 | 276042cb477c |
| child 443 | 4c7ab16e5845 |
| permissions | -rw-r--r-- |
| 20 | 1 |
/* Saves the Full JSON at each modification */ |
2 |
||
| 23 | 3 |
Rkns.jsonIO = function(_renkan, _opts) { |
4 |
var _proj = _renkan.project; |
|
|
293
fba23fde14ba
Correct jshint errors and force it on build
ymh <ymh.work@gmail.com>
parents:
282
diff
changeset
|
5 |
if (typeof _opts.http_method === "undefined") { |
| 20 | 6 |
_opts.http_method = 'PUT'; |
7 |
} |
|
| 23 | 8 |
var _load = function() { |
| 307 | 9 |
_renkan.renderer.redrawActive = false; |
|
414
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
10 |
_proj.set({ |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
11 |
loading_status : true |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
12 |
}); |
| 23 | 13 |
Rkns.$.getJSON(_opts.url, function(_data) { |
|
414
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
14 |
_proj.set(_data, { |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
15 |
validate : true |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
16 |
}); |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
17 |
_proj.set({ |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
18 |
loading_status : false |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
19 |
}); |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
20 |
_proj.set({ |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
21 |
save_status : 0 |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
22 |
}); |
| 307 | 23 |
_renkan.renderer.redrawActive = true; |
|
414
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
24 |
_renkan.renderer.fixSize(); |
| 4 | 25 |
}); |
|
170
603ffa4c6fa5
correct ";" and "," in javascripts
ymh <ymh.work@gmail.com>
parents:
160
diff
changeset
|
26 |
}; |
|
114
110f99eb417e
moved options to defaults.js and improved read-only switching
veltr
parents:
105
diff
changeset
|
27 |
var _save = function() { |
|
414
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
28 |
_proj.set({ |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
29 |
save_status : 2 |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
30 |
}); |
|
114
110f99eb417e
moved options to defaults.js and improved read-only switching
veltr
parents:
105
diff
changeset
|
31 |
var _data = _proj.toJSON(); |
|
110f99eb417e
moved options to defaults.js and improved read-only switching
veltr
parents:
105
diff
changeset
|
32 |
if (!_renkan.read_only) { |
| 160 | 33 |
Rkns.$.ajax({ |
|
414
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
34 |
type : _opts.http_method, |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
35 |
url : _opts.url, |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
36 |
contentType : "application/json", |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
37 |
data : JSON.stringify(_data), |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
38 |
success : function(data, textStatus, jqXHR) { |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
39 |
_proj.set({ |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
40 |
save_status : 0 |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
41 |
}); |
| 160 | 42 |
} |
43 |
}); |
|
|
62
f9019462465a
Publishing code is now same as Editing code with renkan.read_only = true
veltr
parents:
36
diff
changeset
|
44 |
} |
|
293
fba23fde14ba
Correct jshint errors and force it on build
ymh <ymh.work@gmail.com>
parents:
282
diff
changeset
|
45 |
|
|
170
603ffa4c6fa5
correct ";" and "," in javascripts
ymh <ymh.work@gmail.com>
parents:
160
diff
changeset
|
46 |
}; |
|
414
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
47 |
var _thrSave = Rkns._.throttle(function() { |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
48 |
setTimeout(_save, 100); |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
49 |
}, 1000); |
| 282 | 50 |
_proj.on("add:nodes add:edges add:users add:views", function(_model) { |
|
114
110f99eb417e
moved options to defaults.js and improved read-only switching
veltr
parents:
105
diff
changeset
|
51 |
_model.on("change remove", function(_model) { |
| 23 | 52 |
_thrSave(); |
53 |
}); |
|
|
114
110f99eb417e
moved options to defaults.js and improved read-only switching
veltr
parents:
105
diff
changeset
|
54 |
_thrSave(); |
|
110f99eb417e
moved options to defaults.js and improved read-only switching
veltr
parents:
105
diff
changeset
|
55 |
}); |
|
110f99eb417e
moved options to defaults.js and improved read-only switching
veltr
parents:
105
diff
changeset
|
56 |
_proj.on("change", function() { |
|
414
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
57 |
if (!(_proj.changedAttributes.length === 1 && _proj |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
58 |
.hasChanged('save_status'))) { |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
59 |
_thrSave(); |
|
276042cb477c
correct fix size, improve control on view save button and related init state
ymh <ymh.work@gmail.com>
parents:
370
diff
changeset
|
60 |
} |
|
114
110f99eb417e
moved options to defaults.js and improved read-only switching
veltr
parents:
105
diff
changeset
|
61 |
}); |
|
293
fba23fde14ba
Correct jshint errors and force it on build
ymh <ymh.work@gmail.com>
parents:
282
diff
changeset
|
62 |
|
|
62
f9019462465a
Publishing code is now same as Editing code with renkan.read_only = true
veltr
parents:
36
diff
changeset
|
63 |
_load(); |
|
170
603ffa4c6fa5
correct ";" and "," in javascripts
ymh <ymh.work@gmail.com>
parents:
160
diff
changeset
|
64 |
}; |