Browse Source

make edges and nodes parameters optional. dead vars removal

fixDataView
Maxime Douailin 9 years ago
parent
commit
998bfac3f7
2 changed files with 23 additions and 23 deletions
  1. +1
    -0
      docs/network/index.html
  2. +22
    -23
      lib/network/modules/SelectionHandler.js

+ 1
- 0
docs/network/index.html View File

@ -953,6 +953,7 @@ function releaseFunction (clusterPosition, containedNodesPositions) {
nodes: [Array of nodeIds], nodes: [Array of nodeIds],
edges: [Array of edgeIds] edges: [Array of edgeIds]
}</pre> }</pre>
You can also pass only <code>nodes</code> or <code>edges</code> in <code>selection</code> object.
Available options are: Available options are:
<pre class="code"> <pre class="code">
{ {

+ 22
- 23
lib/network/modules/SelectionHandler.js View File

@ -609,32 +609,35 @@ class SelectionHandler {
setSelection(selection, options = {}) { setSelection(selection, options = {}) {
let i, id; let i, id;
if (!selection || !selection.nodes || !selection.edges)
throw 'Selection must be an object with nodes and edges properties';
// first unselect any selected node
if (!selection || (!selection.nodes && !selection.edges))
throw 'Selection must be an object with nodes and/or edges properties';
// first unselect any selected node, if option is true or undefined
if (options.unselectAll || options.unselectAll === undefined) { if (options.unselectAll || options.unselectAll === undefined) {
this.unselectAll(); this.unselectAll();
} }
if (selection.nodes) {
for (i = 0; i < selection.nodes.length; i++) {
id = selection.nodes[i];
for (i = 0; i < selection.nodes.length; i++) {
id = selection.nodes[i];
let node = this.body.nodes[id];
if (!node) {
throw new RangeError('Node with id "' + id + '" not found');
let node = this.body.nodes[id];
if (!node) {
throw new RangeError('Node with id "' + id + '" not found');
}
// don't select edges with it
this.selectObject(node, options.highlightEdges);
} }
// don't select edges with it
this.selectObject(node, options.highlightEdges);
} }
for (i = 0; i < selection.edges.length; i++) {
id = selection.edges[i];
if (selection.edges) {
for (i = 0; i < selection.edges.length; i++) {
id = selection.edges[i];
let edge = this.body.edges[id];
if (!edge) {
throw new RangeError('Edge with id "' + id + '" not found');
let edge = this.body.edges[id];
if (!edge) {
throw new RangeError('Edge with id "' + id + '" not found');
}
this.selectObject(edge);
} }
this.selectObject(edge);
} }
this.body.emitter.emit('_requestRedraw'); this.body.emitter.emit('_requestRedraw');
} }
@ -647,12 +650,10 @@ class SelectionHandler {
* @param {boolean} [highlightEdges] * @param {boolean} [highlightEdges]
*/ */
selectNodes(selection, highlightEdges = true) { selectNodes(selection, highlightEdges = true) {
let i, id;
if (!selection || (selection.length === undefined)) if (!selection || (selection.length === undefined))
throw 'Selection must be an array with ids'; throw 'Selection must be an array with ids';
this.setSelection({nodes: selection, edges: []}, {highlightEdges: highlightEdges});
this.setSelection({nodes: selection}, {highlightEdges: highlightEdges});
} }
@ -662,12 +663,10 @@ class SelectionHandler {
* selected nodes. * selected nodes.
*/ */
selectEdges(selection) { selectEdges(selection) {
let i, id;
if (!selection || (selection.length === undefined)) if (!selection || (selection.length === undefined))
throw 'Selection must be an array with ids'; throw 'Selection must be an array with ids';
this.setSelection({nodes: [], edges: selection});
this.setSelection({edges: selection});
} }
/** /**

Loading…
Cancel
Save