Texto datilografado / D3 v4 - Contexto disso em d3.drag (). On (“end”, this.dragended)

Estou usando a biblioteca D3 para mover um item dentro de um diagrama de Venn. Quando paro de arrastar, quero determinar a posição do item no diagrama.

item.call(d3.drag()
    .on("start", this.dragstarted)
    .on("drag", this.dragged)
    .on("end", this.dragended)
);

Essas são as funções que eu chamo quando o arrastamento começa, continua e termina.

dragended(d: TCMemberScenario, i: number) {
    d3.select(this).classed("active", false);
    d.calculateRoles();
    this.save();
}

Esta é a função que é chamada quando a arrastar termina. Eu atualizo algumas coisas no diagrama e quero chamar o método save. Este é outro método na classe. No entanto, a variável this está se referindo ao objeto D3 e não à instância da classe. Então, recebo um "TypeError não capturado: não é possível ler a propriedade 'save' of undefined"

Como posso chamar do método arrastado outro método da minha classe?

questionAnswers(3)

yourAnswerToTheQuestion