summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2014-11-25 22:45:31 +0200
committerAlon Levy <alon@pobox.com>2014-11-25 22:45:31 +0200
commitb49e8c4574d9a9a14c9400df094f8b4259e7e715 (patch)
treeefa2863f8a00465fef7495bb9f411c00e40f715d
parent0a6c8bae104068ea61dcbf041479da4d3989b096 (diff)
Fixes #154: set suggested names when loading from JSON
-rw-r--r--src/consts.js1
-rw-r--r--src/model/graph.js22
-rw-r--r--src/textanalysis.js4
3 files changed, 16 insertions, 11 deletions
diff --git a/src/consts.js b/src/consts.js
index 0c2af53b..9c833b9a 100644
--- a/src/consts.js
+++ b/src/consts.js
@@ -6,5 +6,6 @@ define(function() {
KEYSTROKE_WHERE_EDIT_NODE: 'keystroke_where_edit_node',
KEYSTROKE_WHERE_DOCUMENT: 'keystroke_where_document',
KEYSTROKE_WHERE_TEXTANALYSIS: 'keystroke_where_textanalysis',
+ SUGGESTED_NAME_ADD: 'suggested_name_add',
};
});
diff --git a/src/model/graph.js b/src/model/graph.js
index 3fefc6c7..b7fd85a6 100644
--- a/src/model/graph.js
+++ b/src/model/graph.js
@@ -563,17 +563,17 @@ function Graph() {
}
this.load_from_json = function(json) {
- var data = JSON.parse(json);
- var i, node, link;
+ var data = JSON.parse(json),
+ added_names,
+ that = this;
clear();
if (data == null) {
console.log('load callback: no data to load');
return;
}
- for(i = 0; i < data["nodes"].length; i++){
- node = data.nodes[i];
- this.__addNode({id:node.id, name:node.name ? node.name : node.id,
+ added_names = data.nodes.map(function(node) {
+ return that.__addNode({id:node.id, name:node.name ? node.name : node.id,
type:node.type,state:"perm",
start:new Date(node.start),
end:new Date(node.end),
@@ -581,12 +581,12 @@ function Graph() {
url:node.url,
x: node.x,
y: node.y,
- }, false);
- }
- for(i = 0; i < data["links"].length; i++){
- link = data.links[i];
- this.addLink(link.__src, link.__dst, link.name, "perm");
- }
+ }, false).name;
+ });
+ data.links.forEach(function(link) {
+ that.addLink(link.__src, link.__dst, link.name, "perm");
+ });
+ signal.signal(consts.SUGGESTED_NAME_ADD, [added_names]);
this.clear_history();
}
diff --git a/src/textanalysis.js b/src/textanalysis.js
index e2d1735a..fbfeab0d 100644
--- a/src/textanalysis.js
+++ b/src/textanalysis.js
@@ -477,7 +477,11 @@ function init()
autoSuggestAddName(node.name.toLowerCase());
}
}
+ function onSuggestedNameAdd(names) {
+ names.map(String.toLowerCase).forEach(autoSuggestAddName);
+ }
signal.slot(consts.APPLIED_GRAPH_DIFF, onNodeAdded);
+ signal.slot(consts.SUGGESTED_NAME_ADD, onSuggestedNameAdd);
}
return {