diff --git a/html/admin/js/graphViewer/graph/nodeShaper.js b/html/admin/js/graphViewer/graph/nodeShaper.js
index 9c25818459..9a0aae2db6 100644
--- a/html/admin/js/graphViewer/graph/nodeShaper.js
+++ b/html/admin/js/graphViewer/graph/nodeShaper.js
@@ -56,7 +56,7 @@ function NodeShaper(parent, flags, idfunc) {
parseLabelFlag,
userDefinedUpdate = function(){},
idFunction = function(d) {
- return d.id;
+ return d._id;
},
additionalShaping = function(node) {
return;
diff --git a/html/admin/js/graphViewer/graphViewer.js b/html/admin/js/graphViewer/graphViewer.js
index 5ba2b37443..e4d372d1f0 100644
--- a/html/admin/js/graphViewer/graphViewer.js
+++ b/html/admin/js/graphViewer/graphViewer.js
@@ -128,7 +128,7 @@ function GraphViewer(svg, width, height,
nodeContainer = svg.append("svg:g");
- if (nodeShaperConfig.childrenCentrality) {
+ if (nodeShaperConfig.childrenCentrality !== undefined) {
fixedSize = nodeShaperConfig.size || 12;
nodeShaperConfig.size = function(node) {
if (node._expanded) {
@@ -144,11 +144,15 @@ function GraphViewer(svg, width, height,
return fixedSize;
};
}
- if (nodeShaperConfig.dragable) {
+ if (nodeShaperConfig.dragable !== undefined) {
nodeShaperConfig.ondrag = layouter.drag;
}
- nodeShaper = new NodeShaper(nodeContainer, nodeShaperConfig);
+ if (nodeShaperConfig.idfunc !== undefined) {
+ nodeShaper = new NodeShaper(nodeContainer, nodeShaperConfig, nodeShaperConfig.idfunc);
+ } else {
+ nodeShaper = new NodeShaper(nodeContainer, nodeShaperConfig);
+ }
layouter.setCombinedUpdateFunction(nodeShaper, edgeShaper);
diff --git a/html/admin/js/graphViewer/jasmine_test/specGraphViewer/graphViewerSpec.js b/html/admin/js/graphViewer/jasmine_test/specGraphViewer/graphViewerSpec.js
index 3b8c3c07f3..d52c452c7b 100644
--- a/html/admin/js/graphViewer/jasmine_test/specGraphViewer/graphViewerSpec.js
+++ b/html/admin/js/graphViewer/jasmine_test/specGraphViewer/graphViewerSpec.js
@@ -161,9 +161,13 @@ describe("Graph Viewer", function() {
beforeEach(function() {
var aconf = {type: "json", path: "../test_data/"},
+ nsconf = {idfunc: function(node) {
+ return node.id;
+ }},
+ esconf = {},
lconf = {type: "force"},
evconf = { expander: true };
- viewer = new GraphViewer(svg, 10, 10, aconf, {}, {}, lconf, evconf);
+ viewer = new GraphViewer(svg, 10, 10, aconf, nsconf, esconf, lconf, evconf);
this.addMatchers({
toBeDisplayed: function() {