0

При вызове функции addNode() из Vis.js, переменная 'type' пустая

HTML

<div id="editNode" *ngIf="editNode">
   <div>Type: <select [(ngModel)]="type"><option *ngFor="let t of ts" [ngValue]="t.title">{{t.title}}</option></select></div>
   <div><button (click)="addNodeMode()">Add / Edit SCO</button></div>
</div>
<div id="graph"></div>

Controler

public graphCanvas = null;
public network = null;
public type = '';

public ngOnInit(): void {
   this.graphCanvas = document.querySelector('#graph');
   this.buildGraph();
}

private buildGraph() {

   let graphData = {
      nodes: new vis.DataSet([]),
      edges: new vis.DataSet([])
   };

   let options = {
      manipulation: {
         enabled: false,
         initiallyActive: true,
         addNode: this.addNode,
         editNode: this.addNode
      },
   };

   this.network = new vis.Network(this.graphCanvas, graphData, options);
}

private addNode(nodeData, callback) {
   nodeData.value = {
      type: this.type
   };

   callback(nodeData)
}

public addNodeMode() {
   this.editNode = false;
   this.network.addNodeMode();
}

0 Answers0