| author | ymh <ymh.work@gmail.com> |
| Mon, 25 Jul 2016 16:29:56 +0200 | |
| changeset 98 | 6ff1d74b4afe |
| parent 90 | 00c9bb0f6f37 |
| permissions | -rw-r--r-- |
|
90
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
/* globals Rkns */ |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
/* Saves the Full JSON at each modification */ |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
|
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
Rkns.mtdcJsonIO = function(_renkan, _opts) { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
var _proj = _renkan.project; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
if (typeof _opts.http_method === 'undefined') { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
_opts.http_method = 'PUT'; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
} |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
var _load = function() { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
_proj.set({ |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
loadingStatus : true |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
Rkns.$.getJSON(_opts.url, function(_data) { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
_renkan.dataloader.load(_data); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
_renkan.setCurrentUser(_opts.user_id, _opts.user_name); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
_proj.set({ |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
loadingStatus : false |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
_proj.set({ |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
saveStatus : 0 |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
_proj.on('add:nodes add:edges add:users add:views', function(_model) { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
_model.on('change remove', function() { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
_thrSave(); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
_thrSave(); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
_proj.on('change', function() { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
if (!(_proj.changedAttributes.length === 1 && _proj |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
.hasChanged('saveStatus'))) { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
31 |
_thrSave(); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
} |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
_proj.get('nodes').each(function(_node) { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
_node.on('change remove', function() { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
_thrSave(); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
_proj.get('edges').each(function(_edge) { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
_edge.on('change remove', function() { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
_thrSave(); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
_proj.get('users').each(function(_user) { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
_user.on('change remove', function() { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
46 |
_thrSave(); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
48 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
|
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
}).fail(function(jqXHR, textStatus) { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
_showErrorModal(jqXHR, textStatus); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
52 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
53 |
}; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
54 |
var _save = function() { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
55 |
_proj.set({ |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
56 |
saveStatus : 2 |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
57 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
58 |
var _data = _proj.toJSON(); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
59 |
if (!_renkan.read_only) { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
60 |
Rkns.$.ajax({ |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
61 |
type : _opts.http_method, |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
62 |
url : _opts.url, |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
63 |
contentType : 'application/json', |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
64 |
data : JSON.stringify(_data), |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
65 |
success : function(data) { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
66 |
_proj.set({ |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
67 |
saveStatus : 0, |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
68 |
updated : data.updated |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
69 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
70 |
}, |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
71 |
error: function (jqXHR, textStatus, errorThrown) { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
72 |
_showErrorModal(jqXHR, textStatus, errorThrown); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
73 |
} |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
74 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
75 |
} |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
76 |
|
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
77 |
}; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
78 |
var _thrSave = Rkns._.debounce(_save, 1000); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
79 |
|
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
80 |
|
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
81 |
Rkns.$('#renkanErrorReload').on('click', function(){ |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
82 |
location.reload(); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
83 |
}); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
84 |
|
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
85 |
var errorModal = document.getElementById('renkanErrorModal'); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
86 |
var _showErrorModal = function(jqXHR) { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
87 |
errorModal.style.display = 'block'; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
88 |
switch(jqXHR.status){ |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
89 |
case 400: |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
90 |
var jsonResp = JSON.parse(jqXHR.responseText); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
91 |
if(jsonResp.hasOwnProperty('validation_timestamp')){ |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
92 |
document.getElementById('400Error_timestamp').style.display = 'block'; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
93 |
} |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
94 |
else { |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
95 |
Rkns.$('#400Error_other').append(jqXHR.responseText); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
96 |
document.getElementById('400Error_other').style.display = 'block'; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
97 |
} |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
98 |
break; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
99 |
case 403: |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
100 |
document.getElementById('403Error').style.display = 'block'; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
101 |
break; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
102 |
case 404: |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
103 |
document.getElementById('404Error').style.display = 'block'; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
104 |
break; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
105 |
case 500: |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
106 |
Rkns.$('#500Error').append(jqXHR.responseText); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
107 |
document.getElementById('500Error').style.display = 'block'; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
108 |
break; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
109 |
case 503: |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
110 |
document.getElementById('503Error').style.display = 'block'; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
111 |
break; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
112 |
} |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
113 |
}; |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
114 |
|
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
115 |
_load(); |
|
00c9bb0f6f37
Add asset compilation step to transpile js files for older browser (adn Safari)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
116 |
}; |