Choose interface menu

This commit is contained in:
ziajka 2017-12-01 14:50:03 +01:00
parent 0b61093dff
commit 12a64f8832
5 changed files with 18 additions and 4 deletions

View File

@ -0,0 +1,3 @@
export class DrawingLineWidget {
}

View File

@ -43,6 +43,6 @@
</div>
<app-node-context-menu [server]="server"></app-node-context-menu>
<app-node-select-interface></app-node-select-interface>
<app-node-select-interface (onChooseInterface)="onChooseInterface($event)"></app-node-select-interface>
</div>

View File

@ -31,6 +31,7 @@ import {Appliance} from "../shared/models/appliance";
import {NodeService} from "../shared/services/node.service";
import {Symbol} from "../shared/models/symbol";
import {NodeSelectInterfaceComponent} from "../shared/node-select-interface/node-select-interface.component";
import {Port} from "../shared/models/port";
@Component({
@ -98,6 +99,7 @@ export class ProjectMapComponent implements OnInit {
this.symbolService.symbols.subscribe((symbols: Symbol[]) => {
this.symbols = symbols;
});
}
onProjectLoad(project: Project) {
@ -190,7 +192,6 @@ export class ProjectMapComponent implements OnInit {
if (this.drawLineMode) {
this.nodeSelectInterfaceMenu.open(node, event.clientY, event.clientX);
}
});
this.mapChild.graphLayout.getNodesWidget().setOnNodeDraggedCallback((event: any, node: Node) => {
@ -264,6 +265,11 @@ export class ProjectMapComponent implements OnInit {
public turnOffDrawLineMode() {
this.drawLineMode = false;
}
public onChooseInterface(port: Port) {
console.log(port);
}
}

View File

@ -1,7 +1,7 @@
<div class="context-menu" [style.left]="leftPosition" [style.top]="topPosition" *ngIf="node">
<span [matMenuTriggerFor]="selectInterfaceMenu"></span>
<mat-menu #selectInterfaceMenu="matMenu">
<button mat-menu-item *ngFor="let port of node.ports">
<button mat-menu-item *ngFor="let port of node.ports" (click)="chooseInterface(port)">
<mat-icon>info</mat-icon>
<span>{{ port.name }}</span>
</button>

View File

@ -1,7 +1,8 @@
import {ChangeDetectorRef, Component, Input, OnInit, ViewChild} from '@angular/core';
import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';
import {MatMenuTrigger} from "@angular/material";
import {DomSanitizer} from "@angular/platform-browser";
import {Node} from "../../cartography/shared/models/node.model";
import {Port} from "../models/port";
@Component({
@ -10,6 +11,7 @@ import {Node} from "../../cartography/shared/models/node.model";
styleUrls: ['./node-select-interface.component.scss']
})
export class NodeSelectInterfaceComponent implements OnInit {
@Output() onChooseInterface = new EventEmitter<any>();
@ViewChild(MatMenuTrigger) contextMenu: MatMenuTrigger;
@ -37,4 +39,7 @@ export class NodeSelectInterfaceComponent implements OnInit {
this.contextMenu.openMenu();
}
public chooseInterface(port: Port) {
this.onChooseInterface.emit(port);
}
}