Привет. Я пытаюсь перетащить вершину из кнопки создания в канаву mxGraph. То же, что и в draw.io.
Мой TS выглядит так:
addShape(shape: string,event) {
event.stopPropagation();
const doc = (<any>window).mxUtils.createXmlDocument();
var node = doc.createElement("aaa");
node.setAttribute(AppSettings.SINGLE_LINE_DIAGRAM_ATTRIBUTES.LABEL, this.DEFAULT_TEXT);
node.setAttribute(AppSettings.SINGLE_LINE_DIAGRAM_ATTRIBUTES.CELL_TYPE, 'vertex');
try {
const parent = this.graph.getDefaultParent();
this.graph.getModel().beginUpdate();
var vertex = this.graph.insertVertex(parent, uuid.v4(), node, event.offsetX, event.offsetY, 60, 60, `shape=${shape};strokeColor=#000000;fillColor=#ffffff;`, '');
this.graph.setSelectionCell(vertex);
} finally {
this.graph.getModel().endUpdate();
}
}
Мой html код выглядит следующим образом:
<div fxFlex="100" fxLayout="column" fXLayoutAlign="center space-between" class="mw-100 mh-100">
<mat-toolbar *ngIf="isEditor" class="header-title toolbar-xs" fxLayout="row" fxLayoutAlign="start center">
<button mat-button title="Add Circle" (mousedown)="addShape('ellipse',$event)"><i
class="material-icons mi-30">radio_button_unchecked</i></button>
</mat-toolbar>
<div fxFlex #graphContainer id="graphContainer" [ngClass]="{editor: isEditor}" (contextmenu)="onRightClick($event)"
(click)="onClickOnGraph($event)">
<button mat-button [matMenuTriggerFor]="menu" id="menuBtn" style="display:none;"></button>
<mat-menu #menu="matMenu" (close)="onMenuClosed()">
<button class="menuOpnBtn" mat-menu-item *ngFor="let opn of addTextToOpns" (click)="editCell(opn)">
{{ opn }}
</button>
</mat-menu>
</div>
Форма добавлена, но я теряю перетаскивание и вынужден снова щелкнуть, чтобы перетащить его. Может кто-нибудь помочь мне с решением?