Skip to content

Commit

Permalink
Fix #42 by calling callbacks with context
Browse files Browse the repository at this point in the history
  • Loading branch information
ErikGartner committed Apr 24, 2020
1 parent 1a9f03a commit d3b08de
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
18 changes: 9 additions & 9 deletions src/builder.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class TreeBuilder {
this.allNodes = this._flatten(this.root);

// calculate node sizes
this.nodeSize = opts.callbacks.nodeSize(
this.nodeSize = opts.callbacks.nodeSize.call(this,
// filter hidden and marriage nodes
_.filter(
this.allNodes,
Expand All @@ -20,7 +20,7 @@ class TreeBuilder {
opts.nodeWidth,
opts.callbacks.textRenderer
)
this.marriageSize = opts.callbacks.marriageSize(
this.marriageSize = opts.callbacks.marriageSize.call(this,
// filter hidden and non marriage nodes
_.filter(
this.allNodes,
Expand Down Expand Up @@ -61,7 +61,7 @@ class TreeBuilder {
// Compute the layout.
this.tree = d3.tree()
.nodeSize([nodeSize[0] * 2,
opts.callbacks.nodeHeightSeperation(nodeSize[0], nodeSize[1])]);
opts.callbacks.nodeHeightSeperation.call(this, nodeSize[0], nodeSize[1])]);

this.tree.separation(function separation(a, b) {
if (a.data.hidden || b.data.hidden) {
Expand Down Expand Up @@ -133,7 +133,7 @@ class TreeBuilder {
})
.html(function(d) {
if (d.data.isMarriage) {
return opts.callbacks.marriageRenderer(
return opts.callbacks.marriageRenderer.call(this,
d.x,
d.y,
marriageSize[0],
Expand All @@ -143,7 +143,7 @@ class TreeBuilder {
d.data.class
)
} else {
return opts.callbacks.nodeRenderer(
return opts.callbacks.nodeRenderer.call(this,
d.data.name,
d.x,
d.y,
Expand All @@ -168,9 +168,9 @@ class TreeBuilder {
return;
}
if (d.data.isMarriage) {
opts.callbacks.marriageClick(d.data.extra, d.data.id)
opts.callbacks.marriageClick.call(this, d.data.extra, d.data.id)
} else {
opts.callbacks.nodeClick(d.data.name, d.data.extra, d.data.id)
opts.callbacks.nodeClick.call(this, d.data.name, d.data.extra, d.data.id)
}
})
.on('contextmenu', function(d)  {
Expand All @@ -179,9 +179,9 @@ class TreeBuilder {
}
d3.event.preventDefault();
if (d.data.isMarriage) {
opts.callbacks.marriageRightClick(d.data.extra, d.data.id)
opts.callbacks.marriageRightClick.call(this, d.data.extra, d.data.id)
} else {
opts.callbacks.nodeRightClick(d.data.name, d.data.extra, d.data.id)
opts.callbacks.nodeRightClick.call(this, d.data.name, d.data.extra, d.data.id)
}
});
}
Expand Down
4 changes: 2 additions & 2 deletions src/dtree.js
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ const dTree = {
_sortPersons: function(persons, opts) {
if (persons != undefined) {
persons.sort(function(a, b) {
return opts.callbacks.nodeSorter(a.name, a.extra, b.name, b.extra);
return opts.callbacks.nodeSorter.call(this, a.name, a.extra, b.name, b.extra);
});
}
return persons;
Expand All @@ -241,7 +241,7 @@ const dTree = {
marriages.sort(function(marriageA, marriageB) {
var a = marriageA.spouse;
var b = marriageB.spouse;
return opts.callbacks.nodeSorter(a.name, a.extra, b.name, b.extra);
return opts.callbacks.nodeSorter.call(this, a.name, a.extra, b.name, b.extra);
});
}
return marriages;
Expand Down

0 comments on commit d3b08de

Please sign in to comment.