Перетащите новую вершину в mxGraph canavas - PullRequest
0 голосов
/ 29 марта 2020

Привет. Я пытаюсь перетащить вершину из кнопки создания в канаву 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>

Форма добавлена, но я теряю перетаскивание и вынужден снова щелкнуть, чтобы перетащить его. Может кто-нибудь помочь мне с решением?

...