diff options
| author | Alon Levy <alon@pobox.com> | 2015-04-13 00:09:42 +0200 |
|---|---|---|
| committer | Alon Levy <alon@pobox.com> | 2015-04-13 00:09:42 +0200 |
| commit | 86c149384b609d2d71e92670efbf77a7c88ddd81 (patch) | |
| tree | ed01b5a770f35d62b3fa413d1f6ebfe022af860c /src/client/view | |
| parent | 15943f4bd5bfa321d3244c245af779f9fb6f55fc (diff) | |
client/zen_mode/force layout: use uniform link distance
Diffstat (limited to 'src/client/view')
| -rw-r--r-- | src/client/view/graph_view.js | 13 | ||||
| -rw-r--r-- | src/client/view/layouts.js | 27 |
2 files changed, 33 insertions, 7 deletions
diff --git a/src/client/view/graph_view.js b/src/client/view/graph_view.js index f87efab5..7f27d3ce 100644 --- a/src/client/view/graph_view.js +++ b/src/client/view/graph_view.js @@ -1240,6 +1240,7 @@ function GraphView(spec) { .on("end", record_position_to_local_storage) .nodes_links(nodes__visible(), links__visible()) .restore() + .zen_mode(zen_mode) .start(); } @@ -1262,13 +1263,17 @@ function GraphView(spec) { gv.link__pass_filter = link__pass_filter; gv.node__pass_filter = node__pass_filter; - gv.zen_mode__toggle = function () { - zen_mode = !zen_mode; + function zen_mode__set(value) { + zen_mode = value; + layout.zen_mode(value); update_view(true); } + gv.zen_mode__set = zen_mode__set; + gv.zen_mode__toggle = function () { + zen_mode__set(!zen_mode); + } gv.zen_mode__cancel = function () { - zen_mode = false; - update_view(true); + zen_mode__set(false); } return gv; } diff --git a/src/client/view/layouts.js b/src/client/view/layouts.js index f93c27a3..ae16143e 100644 --- a/src/client/view/layouts.js +++ b/src/client/view/layouts.js @@ -100,13 +100,25 @@ function(consts, $, d3, _) { return layout__empty(graph, d3.layout.force()) .distance(240) .gravity(0.12) - .charge(-1800) - .linkDistance(function (link) { + .charge(-1800); + } + + function layout__d3_force__link_distance(graph) { + var ret = layout__d3_force(graph); + ret.zen_mode = function (zen_mode) { + if (zen_mode) { + ret.distance(240) + } else { + ret.linkDistance(function (link) { var d_src = graph.degree(link.__src), d_dst = graph.degree(link.__dst), ret = (d_src + d_dst) * 10 + 10; return ret; }); + } + return ret; + } + return ret; } function layout__cola(graph) { @@ -196,6 +208,8 @@ function(consts, $, d3, _) { layout.nodes(nodes); return layout.links(links); }, + // zen_mode callback - to change layout based on it. + zen_mode: donothing, // data graph: graph, _nodes: [], @@ -349,7 +363,7 @@ function(consts, $, d3, _) { var layouts = [ { name: 'Force', - create: layout__d3_force, + create: layout__d3_force__link_distance, clazz: 'btn_layout_d3_force' }, { @@ -359,6 +373,13 @@ function(consts, $, d3, _) { }, /* { + name: 'Force', + create: layout__d3_force, + clazz: 'btn_layout_d3_force' + }, + */ + /* + { name: 'STP-BFS', create: layout__d3_force_stp, clazz: 'btn_layout_d3_force' |
