diff --git a/html/admin/js/graphViewer/graph/edgeShaper.js b/html/admin/js/graphViewer/graph/edgeShaper.js index 753b12dc45..e7b6f4f31d 100644 --- a/html/admin/js/graphViewer/graph/edgeShaper.js +++ b/html/admin/js/graphViewer/graph/edgeShaper.js @@ -49,6 +49,7 @@ function EdgeShaper(parent, flags, idfunc) { var self = this, edges = [], toplevelSVG, + visibleLabels = true, idFunction = function(d) { return d.source._id + "-" + d.target._id; @@ -120,7 +121,9 @@ function EdgeShaper(parent, flags, idfunc) { addQue = function (line, g) { addShape(line, g); - addLabel(line, g); + if (visibleLabels) { + addLabel(line, g); + } addColor(line, g); addEvents(line, g); addPosition(line, g); @@ -336,7 +339,16 @@ function EdgeShaper(parent, flags, idfunc) { self.reshapeEdges = function() { shapeEdges(); - }; + }; + + self.activateLabel = function(toogle) { + if (toogle) { + visibleLabels = true; + } else { + visibleLabels = false; + } + shapeEdges(); + }; } EdgeShaper.shapes = Object.freeze({ diff --git a/html/admin/js/graphViewer/graph/nodeShaper.js b/html/admin/js/graphViewer/graph/nodeShaper.js index 2d4cff465f..f66fd5fdaa 100644 --- a/html/admin/js/graphViewer/graph/nodeShaper.js +++ b/html/admin/js/graphViewer/graph/nodeShaper.js @@ -64,7 +64,8 @@ function NodeShaper(parent, flags, idfunc) { "use strict"; var self = this, - nodes = [], + nodes = [], + visibleLabels = true, noop = function (node) { }, @@ -120,7 +121,9 @@ function NodeShaper(parent, flags, idfunc) { addQue = function (g) { addShape(g); - addLabel(g); + if (visibleLabels) { + addLabel(g); + } addColor(g); addEvents(g); addDistortion(); @@ -350,6 +353,15 @@ function NodeShaper(parent, flags, idfunc) { shapeNodes(); }; + self.activateLabel = function(toogle) { + if (toogle) { + visibleLabels = true; + } else { + visibleLabels = false; + } + shapeNodes(); + }; + } NodeShaper.shapes = Object.freeze({ diff --git a/html/admin/js/graphViewer/jasmine_test/specEdgeShaper/edgeShaperSpec.js b/html/admin/js/graphViewer/jasmine_test/specEdgeShaper/edgeShaperSpec.js index e800a6810e..e058f8e6be 100644 --- a/html/admin/js/graphViewer/jasmine_test/specEdgeShaper/edgeShaperSpec.js +++ b/html/admin/js/graphViewer/jasmine_test/specEdgeShaper/edgeShaperSpec.js @@ -693,6 +693,32 @@ expect($("#2-1")[0].textContent).toEqual("new"); }); + it('should be possible to toggle label display', function() { + var nodes = helper.createSimpleNodes([1, 2]), + edges = [ + { + "source": nodes[0], + "target": nodes[1], + _data: { + "label": "test" + } + } + ]; + shaper.drawEdges(edges); + + expect($("#1-2")[0].textContent).toEqual("test"); + + shaper.activateLabel(false); + + expect($("#1-2")[0].textContent).toEqual(""); + expect($("#1-2 text").length).toEqual(0); + + shaper.activateLabel(true); + + expect($("#1-2")[0].textContent).toEqual("test"); + }); + + }); describe('using a function for labels', function() { diff --git a/html/admin/js/graphViewer/jasmine_test/specNodeShaper/nodeShaperSpec.js b/html/admin/js/graphViewer/jasmine_test/specNodeShaper/nodeShaperSpec.js index 85fe54638f..996ba42958 100644 --- a/html/admin/js/graphViewer/jasmine_test/specNodeShaper/nodeShaperSpec.js +++ b/html/admin/js/graphViewer/jasmine_test/specNodeShaper/nodeShaperSpec.js @@ -710,6 +710,32 @@ }); + it('should be possible to toggle label display', function() { + var node = [{ + _id: 1, + _data: { + label: "test" + } + }]; + + shaper.drawNodes(node); + + expect($("svg .node text").length).toEqual(1); + expect($("svg .node text")[0].textContent).toEqual("test"); + + + shaper.activateLabel(false); + + expect($("svg .node text").length).toEqual(0); + + + shaper.activateLabel(true); + + expect($("svg .node text").length).toEqual(1); + expect($("svg .node text")[0].textContent).toEqual("test"); + + }); + }); describe('using a function for labels', function () {