diff options
| author | Alon Levy <alon@pobox.com> | 2014-12-22 11:43:11 +0200 |
|---|---|---|
| committer | Alon Levy <alon@pobox.com> | 2014-12-22 11:50:42 +0200 |
| commit | 13bc5d7cc3db32a7dda5c90c6720abe7ab67d59f (patch) | |
| tree | a1422a45fc24cbe1dffa9040e29334921b456e46 /src/client/model/graph.js | |
| parent | 71573c5d37adb06660cf9e1413e391e2585b1543 (diff) | |
client/model/graph.update_node: dedent, add TODO for fake API
Diffstat (limited to 'src/client/model/graph.js')
| -rw-r--r-- | src/client/model/graph.js | 76 |
1 files changed, 38 insertions, 38 deletions
diff --git a/src/client/model/graph.js b/src/client/model/graph.js index 23e184a8..f628a5f6 100644 --- a/src/client/model/graph.js +++ b/src/client/model/graph.js @@ -377,53 +377,53 @@ function Graph() { this.update_node = function(node, new_node_spec, on_success, on_error) { util.assert(node instanceof model_core.Node); - if (rz_config.backend_enabled){ + // TODO - fake api for client only (debug, demo, ui work) + if (!rz_config.backend_enabled) return; - if (node.name != new_node_spec.name){ - /* - * handle name update collision: suggest removal first - */ - var n_eq_name = findNodeByName(new_node_spec.name); - if (undefined != n_eq_name) { - // delete colliding node on rename - console.warn('update_node: name collision blocked due to node rename'); - undefined != on_error && on_error(); - return; - } - - node['name'] = new_node_spec['name']; // [!] may still fail due to server NAK + if (node.name != new_node_spec.name){ + /* + * handle name update collision: suggest removal first + */ + var n_eq_name = findNodeByName(new_node_spec.name); + if (undefined != n_eq_name) { + // delete colliding node on rename + console.warn('update_node: name collision blocked due to node rename'); + undefined != on_error && on_error(); + return; } - var attr_diff = model_diff.new_attr_diff(); - for (var key in new_node_spec){ - attr_diff.add_node_attr_write(node.id, key, new_node_spec[key]); - } + node['name'] = new_node_spec['name']; // [!] may still fail due to server NAK + } - var on_ajax_success = function(id_to_node_map){ - var node_id = node.id; // original node id - if (id_to_node_map[node_id].id != node_id){ - // TODO: handle incoming ID update - util.assert(false, 'update_node: id attr change'); - } + var attr_diff = model_diff.new_attr_diff(); + for (var key in new_node_spec){ + attr_diff.add_node_attr_write(node.id, key, new_node_spec[key]); + } - var ret_node = id_to_node_map[node_id]; - for (var key in ret_node){ - if ('name' == key || 'id' == key){ - continue; - } - node[key] = ret_node[key]; + var on_ajax_success = function(id_to_node_map){ + var node_id = node.id; // original node id + if (id_to_node_map[node_id].id != node_id){ + // TODO: handle incoming ID update + util.assert(false, 'update_node: id attr change'); + } + + var ret_node = id_to_node_map[node_id]; + for (var key in ret_node){ + if ('name' == key || 'id' == key){ + continue; } + node[key] = ret_node[key]; + } - // TODO: handle NAK: add problem emblem to node - on_success(); - }; + // TODO: handle NAK: add problem emblem to node + on_success(); + }; - var on_ajax_error = function(){ - console.log('error with commit to server: danger robinson!'); - }; + var on_ajax_error = function(){ + console.log('error with commit to server: danger robinson!'); + }; - rz_api_backend.commit_diff__attr(attr_diff, on_ajax_success, on_ajax_error); - } + rz_api_backend.commit_diff__attr(attr_diff, on_ajax_success, on_ajax_error); } this.editNameByName = function(old_name, new_name) { |
