mirror of
https://github.com/GNS3/gns3-web-ui.git
synced 2025-05-31 06:20:59 +00:00
Move models
This commit is contained in:
parent
e4e8fe6151
commit
a916b00ef8
@ -67,7 +67,7 @@ import { LinksDataSource } from "./cartography/datasources/links-datasource";
|
|||||||
import { NodesDataSource } from "./cartography/datasources/nodes-datasource";
|
import { NodesDataSource } from "./cartography/datasources/nodes-datasource";
|
||||||
import { SymbolsDataSource } from "./cartography/datasources/symbols-datasource";
|
import { SymbolsDataSource } from "./cartography/datasources/symbols-datasource";
|
||||||
import { SelectionManager } from "./cartography/managers/selection-manager";
|
import { SelectionManager } from "./cartography/managers/selection-manager";
|
||||||
import { InRectangleHelper } from "./cartography/components/map/helpers/in-rectangle-helper";
|
import { InRectangleHelper } from "./cartography/helpers/in-rectangle-helper";
|
||||||
import { DrawingsDataSource } from "./cartography/datasources/drawings-datasource";
|
import { DrawingsDataSource } from "./cartography/datasources/drawings-datasource";
|
||||||
import { MoveLayerDownActionComponent } from './components/project-map/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component';
|
import { MoveLayerDownActionComponent } from './components/project-map/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component';
|
||||||
import { MoveLayerUpActionComponent } from './components/project-map/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component';
|
import { MoveLayerUpActionComponent } from './components/project-map/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component';
|
||||||
|
@ -5,12 +5,12 @@ import { D3, D3Service } from 'd3-ng2-service';
|
|||||||
import {select, Selection} from 'd3-selection';
|
import {select, Selection} from 'd3-selection';
|
||||||
|
|
||||||
import { Node } from "../../models/node";
|
import { Node } from "../../models/node";
|
||||||
import { Link } from "../../models/link";
|
import { Link } from "../../../models/link";
|
||||||
import { GraphLayout } from "../../widgets/graph-layout";
|
import { GraphLayout } from "../../widgets/graph-layout";
|
||||||
import { Context } from "../../models/context";
|
import { Context } from "../../models/context";
|
||||||
import { Size } from "../../models/size";
|
import { Size } from "../../models/size";
|
||||||
import { Drawing } from "../../models/drawing";
|
import { Drawing } from "../../models/drawing";
|
||||||
import {Symbol} from "../../models/symbol";
|
import {Symbol} from "../../../models/symbol";
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
@ -18,7 +18,7 @@ describe('TestDataSource', () => {
|
|||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
dataSource = new TestDataSource();
|
dataSource = new TestDataSource();
|
||||||
dataSource.connect().subscribe((updated: Item[]) => {
|
dataSource.changes.subscribe((updated: Item[]) => {
|
||||||
data = updated;
|
data = updated;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -39,7 +39,7 @@ export abstract class DataSource<T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public connect() {
|
public get changes() {
|
||||||
return this.dataChange;
|
return this.dataChange;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ describe('DrawingsDataSource', () => {
|
|||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
dataSource = new DrawingsDataSource();
|
dataSource = new DrawingsDataSource();
|
||||||
dataSource.connect().subscribe((drawings: Drawing[]) => {
|
dataSource.changes.subscribe((drawings: Drawing[]) => {
|
||||||
data = drawings;
|
data = drawings;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { LinksDataSource } from "./links-datasource";
|
import { LinksDataSource } from "./links-datasource";
|
||||||
import { Link } from "../models/link";
|
import { Link } from "../../models/link";
|
||||||
|
|
||||||
|
|
||||||
describe('LinksDataSource', () => {
|
describe('LinksDataSource', () => {
|
||||||
@ -8,7 +8,7 @@ describe('LinksDataSource', () => {
|
|||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
dataSource = new LinksDataSource();
|
dataSource = new LinksDataSource();
|
||||||
dataSource.connect().subscribe((links: Link[]) => {
|
dataSource.changes.subscribe((links: Link[]) => {
|
||||||
data = links;
|
data = links;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Injectable } from "@angular/core";
|
import { Injectable } from "@angular/core";
|
||||||
|
|
||||||
import { DataSource } from "./datasource";
|
import { DataSource } from "./datasource";
|
||||||
import { Link} from "../models/link";
|
import { Link} from "../../models/link";
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
@ -8,7 +8,7 @@ describe('NodesDataSource', () => {
|
|||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
dataSource = new NodesDataSource();
|
dataSource = new NodesDataSource();
|
||||||
dataSource.connect().subscribe((nodes: Node[]) => {
|
dataSource.changes.subscribe((nodes: Node[]) => {
|
||||||
data = nodes;
|
data = nodes;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { SymbolsDataSource } from "./symbols-datasource";
|
import { SymbolsDataSource } from "./symbols-datasource";
|
||||||
import { Symbol } from "../models/symbol";
|
import { Symbol } from "../../models/symbol";
|
||||||
|
|
||||||
|
|
||||||
describe('SymbolsDataSource', () => {
|
describe('SymbolsDataSource', () => {
|
||||||
@ -8,7 +8,7 @@ describe('SymbolsDataSource', () => {
|
|||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
dataSource = new SymbolsDataSource();
|
dataSource = new SymbolsDataSource();
|
||||||
dataSource.connect().subscribe((symbols: Symbol[]) => {
|
dataSource.changes.subscribe((symbols: Symbol[]) => {
|
||||||
data = symbols;
|
data = symbols;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Injectable } from "@angular/core";
|
import { Injectable } from "@angular/core";
|
||||||
|
|
||||||
import { DataSource } from "./datasource";
|
import { DataSource } from "./datasource";
|
||||||
import { Symbol } from "../models/symbol";
|
import { Symbol } from "../../models/symbol";
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { InRectangleHelper } from "./in-rectangle-helper";
|
import { InRectangleHelper } from "./in-rectangle-helper";
|
||||||
import { Rectangle } from "../../../models/rectangle";
|
import { Rectangle } from "../models/rectangle";
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
|||||||
import { Injectable } from "@angular/core";
|
import { Injectable } from "@angular/core";
|
||||||
|
|
||||||
import { Selectable } from "../../../managers/selection-manager";
|
import { Rectangle } from "../models/rectangle";
|
||||||
import { Rectangle } from "../../../models/rectangle";
|
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
@ -1,4 +1,4 @@
|
|||||||
import {Link} from "../../../models/link";
|
import {Link} from "../../models/link";
|
||||||
|
|
||||||
export class MultiLinkCalculatorHelper {
|
export class MultiLinkCalculatorHelper {
|
||||||
LINK_WIDTH = 2;
|
LINK_WIDTH = 2;
|
@ -1,7 +1,7 @@
|
|||||||
import { LayersManager } from "./layers-manager";
|
import { LayersManager } from "./layers-manager";
|
||||||
import { Node } from "../models/node";
|
import { Node } from "../models/node";
|
||||||
import { Drawing } from "../models/drawing";
|
import { Drawing } from "../models/drawing";
|
||||||
import { Link } from "../models/link";
|
import { Link } from "../../models/link";
|
||||||
|
|
||||||
|
|
||||||
describe('LayersManager', () => {
|
describe('LayersManager', () => {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Layer } from "../models/layer";
|
import { Layer } from "../models/layer";
|
||||||
import { Node } from "../models/node";
|
import { Node } from "../models/node";
|
||||||
import { Drawing } from "../models/drawing";
|
import { Drawing } from "../models/drawing";
|
||||||
import { Link } from "../models/link";
|
import { Link } from "../../models/link";
|
||||||
import { Dictionary } from "../models/types";
|
import { Dictionary } from "../models/types";
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
import { Subject} from "rxjs";
|
import { Subject} from "rxjs";
|
||||||
|
|
||||||
import { Node } from "../models/node";
|
import { Node } from "../models/node";
|
||||||
import { Link } from "../models/link";
|
import { Link } from "../../models/link";
|
||||||
import { Drawing } from "../models/drawing";
|
import { Drawing } from "../models/drawing";
|
||||||
import { Rectangle } from "../models/rectangle";
|
import { Rectangle } from "../models/rectangle";
|
||||||
import { SelectionManager } from "./selection-manager";
|
import { SelectionManager } from "./selection-manager";
|
||||||
import { NodesDataSource } from "../datasources/nodes-datasource";
|
import { NodesDataSource } from "../datasources/nodes-datasource";
|
||||||
import { LinksDataSource } from "../datasources/links-datasource";
|
import { LinksDataSource } from "../datasources/links-datasource";
|
||||||
import { InRectangleHelper } from "../components/map/helpers/in-rectangle-helper";
|
import { InRectangleHelper } from "../helpers/in-rectangle-helper";
|
||||||
import { DrawingsDataSource } from "../datasources/drawings-datasource";
|
import { DrawingsDataSource } from "../datasources/drawings-datasource";
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,9 +6,9 @@ import { Subscription } from "rxjs";
|
|||||||
import { NodesDataSource } from "../datasources/nodes-datasource";
|
import { NodesDataSource } from "../datasources/nodes-datasource";
|
||||||
import { LinksDataSource } from "../datasources/links-datasource";
|
import { LinksDataSource } from "../datasources/links-datasource";
|
||||||
import { Node } from "../models/node";
|
import { Node } from "../models/node";
|
||||||
import { InRectangleHelper } from "../components/map/helpers/in-rectangle-helper";
|
import { InRectangleHelper } from "../helpers/in-rectangle-helper";
|
||||||
import { Rectangle } from "../models/rectangle";
|
import { Rectangle } from "../models/rectangle";
|
||||||
import { Link} from "../models/link";
|
import { Link} from "../../models/link";
|
||||||
import { DataSource } from "../datasources/datasource";
|
import { DataSource } from "../datasources/datasource";
|
||||||
import { Drawing } from "../models/drawing";
|
import { Drawing } from "../models/drawing";
|
||||||
import { InterfaceLabel } from "../models/interface-label";
|
import { InterfaceLabel } from "../models/interface-label";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import {Size} from "./size";
|
import { Size } from "./size";
|
||||||
import {Point} from "./point";
|
import { Point } from "./point";
|
||||||
|
|
||||||
export class Transformation {
|
export class Transformation {
|
||||||
constructor(
|
constructor(
|
||||||
|
8
src/app/cartography/models/graph-link.ts
Normal file
8
src/app/cartography/models/graph-link.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
export class GraphLink {
|
||||||
|
distance: number; // this is not from server
|
||||||
|
length: number; // this is not from server
|
||||||
|
source: Node; // this is not from server
|
||||||
|
target: Node; // this is not from server
|
||||||
|
x: number; // this is not from server
|
||||||
|
y: number; // this is not from server
|
||||||
|
}
|
@ -1,16 +1,13 @@
|
|||||||
import {Drawing} from "./drawing";
|
import {Drawing} from "./drawing";
|
||||||
import {Link} from "./link";
|
import {Link} from "../../models/link";
|
||||||
import {Node} from "./node";
|
import {Node} from "./node";
|
||||||
|
|
||||||
export class Layer {
|
export class Layer {
|
||||||
index: number;
|
constructor(
|
||||||
nodes: Node[];
|
public index?: number,
|
||||||
drawings: Drawing[];
|
public nodes: Node[] = [],
|
||||||
links: Link[];
|
public drawings: Drawing[] = [],
|
||||||
|
public links: Link[] = []
|
||||||
constructor() {
|
) {
|
||||||
this.nodes = [];
|
|
||||||
this.drawings = [];
|
|
||||||
this.links = [];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import {Label} from "./label";
|
import { Label } from "./label";
|
||||||
import {Port} from "../../models/port";
|
import { Port } from "../../models/port";
|
||||||
import {Selectable} from "../managers/selection-manager";
|
import { Selectable } from "../managers/selection-manager";
|
||||||
|
|
||||||
|
|
||||||
export class Node implements Selectable {
|
export class Node implements Selectable {
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
export class Point {
|
export class Point {
|
||||||
constructor(public x: number, public y: number) {}
|
constructor(
|
||||||
|
public x?: number,
|
||||||
|
public y?: number
|
||||||
|
) {}
|
||||||
};
|
};
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
export class Size {
|
export class Size {
|
||||||
constructor(public width: number, public height: number) {}
|
constructor(
|
||||||
|
public width: number,
|
||||||
|
public height: number) {}
|
||||||
}
|
}
|
||||||
|
@ -14,8 +14,11 @@ import { DrawingWidget } from "./drawings/drawing-widget";
|
|||||||
export class DrawingsWidget implements Widget {
|
export class DrawingsWidget implements Widget {
|
||||||
private svgToDrawingConverter: SvgToDrawingConverter;
|
private svgToDrawingConverter: SvgToDrawingConverter;
|
||||||
private drawingWidgets: DrawingWidget[] = [
|
private drawingWidgets: DrawingWidget[] = [
|
||||||
new TextDrawingWidget(), new ImageDrawingWidget(), new RectDrawingWidget(),
|
new TextDrawingWidget(),
|
||||||
new LineDrawingWidget(), new EllipseDrawingWidget()
|
new ImageDrawingWidget(),
|
||||||
|
new RectDrawingWidget(),
|
||||||
|
new LineDrawingWidget(),
|
||||||
|
new EllipseDrawingWidget()
|
||||||
];
|
];
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
|
@ -2,7 +2,7 @@ import { line } from "d3-shape";
|
|||||||
|
|
||||||
import { Widget } from "./widget";
|
import { Widget } from "./widget";
|
||||||
import { SVGSelection } from "../models/types";
|
import { SVGSelection } from "../models/types";
|
||||||
import { Link } from "../models/link";
|
import { Link } from "../../models/link";
|
||||||
|
|
||||||
|
|
||||||
export class EthernetLinkWidget implements Widget {
|
export class EthernetLinkWidget implements Widget {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { Context } from "../models/context";
|
import { Context } from "../models/context";
|
||||||
import { Node } from "../models/node";
|
import { Node } from "../models/node";
|
||||||
import { Link } from "../models/link";
|
import { Link } from "../../models/link";
|
||||||
import { NodesWidget } from "./nodes";
|
import { NodesWidget } from "./nodes";
|
||||||
import { Widget } from "./widget";
|
import { Widget } from "./widget";
|
||||||
import { SVGSelection } from "../models/types";
|
import { SVGSelection } from "../models/types";
|
||||||
|
@ -2,11 +2,12 @@ import { Selection } from "d3-selection";
|
|||||||
|
|
||||||
import { TestSVGCanvas } from "../testing";
|
import { TestSVGCanvas } from "../testing";
|
||||||
import { Node } from "../models/node";
|
import { Node } from "../models/node";
|
||||||
import { Link } from "../models/link";
|
import { Link } from "../../models/link";
|
||||||
import { LinkNode } from "../models/link-node";
|
import { LinkNode } from "../../models/link-node";
|
||||||
import { Label } from "../models/label";
|
import { Label } from "../models/label";
|
||||||
import { InterfaceLabel } from "../models/interface-label";
|
import { InterfaceLabel } from "../models/interface-label";
|
||||||
import { InterfaceLabelWidget } from "./interface-label";
|
import { InterfaceLabelWidget } from "./interface-label";
|
||||||
|
import { CssFixer } from "../helpers/css-fixer";
|
||||||
|
|
||||||
|
|
||||||
describe('InterfaceLabelsWidget', () => {
|
describe('InterfaceLabelsWidget', () => {
|
||||||
@ -66,7 +67,7 @@ describe('InterfaceLabelsWidget', () => {
|
|||||||
.exit()
|
.exit()
|
||||||
.remove();
|
.remove();
|
||||||
|
|
||||||
widget = new InterfaceLabelWidget();
|
widget = new InterfaceLabelWidget(new CssFixer());
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(() => {
|
afterEach(() => {
|
||||||
|
@ -1,18 +1,19 @@
|
|||||||
import { SVGSelection } from "../models/types";
|
import { SVGSelection } from "../models/types";
|
||||||
import { Link } from "../models/link";
|
import { Link } from "../../models/link";
|
||||||
import { InterfaceLabel } from "../models/interface-label";
|
import { InterfaceLabel } from "../models/interface-label";
|
||||||
import { CssFixer } from "../helpers/css-fixer";
|
import { CssFixer } from "../helpers/css-fixer";
|
||||||
import { select } from "d3-selection";
|
import { select } from "d3-selection";
|
||||||
|
import { Inject } from "@angular/core";
|
||||||
|
|
||||||
|
|
||||||
export class InterfaceLabelWidget {
|
export class InterfaceLabelWidget {
|
||||||
static SURROUNDING_TEXT_BORDER = 5;
|
static SURROUNDING_TEXT_BORDER = 5;
|
||||||
|
|
||||||
private cssFixer: CssFixer;
|
|
||||||
private enabled = true;
|
private enabled = true;
|
||||||
|
|
||||||
constructor() {
|
constructor(
|
||||||
this.cssFixer = new CssFixer();
|
@Inject(CssFixer) private cssFixer: CssFixer
|
||||||
|
) {
|
||||||
}
|
}
|
||||||
|
|
||||||
public setEnabled(enabled: boolean) {
|
public setEnabled(enabled: boolean) {
|
||||||
|
@ -6,7 +6,7 @@ import { TestSVGCanvas } from "../testing";
|
|||||||
import { Layer } from "../models/layer";
|
import { Layer } from "../models/layer";
|
||||||
import { LinksWidget } from "./links";
|
import { LinksWidget } from "./links";
|
||||||
import { Node } from "../models/node";
|
import { Node } from "../models/node";
|
||||||
import { Link } from "../models/link";
|
import { Link } from "../../models/link";
|
||||||
import { InterfaceLabelWidget } from "./interface-label";
|
import { InterfaceLabelWidget } from "./interface-label";
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,13 +2,14 @@ import { select } from "d3-selection";
|
|||||||
|
|
||||||
import { Widget } from "./widget";
|
import { Widget } from "./widget";
|
||||||
import { SVGSelection } from "../models/types";
|
import { SVGSelection } from "../models/types";
|
||||||
import { Link } from "../models/link";
|
import { Link } from "../../models/link";
|
||||||
import { LinkStatus } from "../models/link-status";
|
import { LinkStatus } from "../models/link-status";
|
||||||
import { MultiLinkCalculatorHelper } from "../components/map/helpers/multi-link-calculator-helper";
|
import { MultiLinkCalculatorHelper } from "../helpers/multi-link-calculator-helper";
|
||||||
import { SerialLinkWidget } from "./serial-link";
|
import { SerialLinkWidget } from "./serial-link";
|
||||||
import { EthernetLinkWidget } from "./ethernet-link";
|
import { EthernetLinkWidget } from "./ethernet-link";
|
||||||
import { Layer } from "../models/layer";
|
import { Layer } from "../models/layer";
|
||||||
import { InterfaceLabelWidget } from "./interface-label";
|
import { InterfaceLabelWidget } from "./interface-label";
|
||||||
|
import { CssFixer } from "../helpers/css-fixer";
|
||||||
|
|
||||||
|
|
||||||
export class LinksWidget implements Widget {
|
export class LinksWidget implements Widget {
|
||||||
@ -17,7 +18,7 @@ export class LinksWidget implements Widget {
|
|||||||
private interfaceLabelWidget: InterfaceLabelWidget;
|
private interfaceLabelWidget: InterfaceLabelWidget;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.interfaceLabelWidget = new InterfaceLabelWidget();
|
this.interfaceLabelWidget = new InterfaceLabelWidget(new CssFixer());
|
||||||
}
|
}
|
||||||
|
|
||||||
public getInterfaceLabelWidget() {
|
public getInterfaceLabelWidget() {
|
||||||
|
@ -4,7 +4,7 @@ import { D3DragEvent, drag } from "d3-drag";
|
|||||||
import { Widget } from "./widget";
|
import { Widget } from "./widget";
|
||||||
import { Node } from "../models/node";
|
import { Node } from "../models/node";
|
||||||
import { SVGSelection } from "../models/types";
|
import { SVGSelection } from "../models/types";
|
||||||
import { Symbol } from "../models/symbol";
|
import { Symbol } from "../../models/symbol";
|
||||||
import { Layer } from "../models/layer";
|
import { Layer } from "../models/layer";
|
||||||
import { CssFixer } from "../helpers/css-fixer";
|
import { CssFixer } from "../helpers/css-fixer";
|
||||||
import { FontFixer } from "../helpers/font-fixer";
|
import { FontFixer } from "../helpers/font-fixer";
|
||||||
|
@ -2,7 +2,7 @@ import { path } from "d3-path";
|
|||||||
|
|
||||||
import { Widget } from "./widget";
|
import { Widget } from "./widget";
|
||||||
import { SVGSelection } from "../models/types";
|
import { SVGSelection } from "../models/types";
|
||||||
import { Link } from "../models/link";
|
import { Link } from "../../models/link";
|
||||||
|
|
||||||
|
|
||||||
export class SerialLinkWidget implements Widget {
|
export class SerialLinkWidget implements Widget {
|
||||||
|
@ -3,3 +3,14 @@ export interface Widget {
|
|||||||
draw(view: any, datum: any): void;
|
draw(view: any, datum: any): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface OnDraw {
|
||||||
|
draw(view: any): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface OnConnect {
|
||||||
|
onConnect(view: any): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface OnDisconnect {
|
||||||
|
onDisconnect(view: any): void;
|
||||||
|
}
|
||||||
|
@ -8,7 +8,7 @@ import { map, mergeMap } from "rxjs/operators";
|
|||||||
import { Project } from '../../models/project';
|
import { Project } from '../../models/project';
|
||||||
import { Node } from '../../cartography/models/node';
|
import { Node } from '../../cartography/models/node';
|
||||||
import { SymbolService } from '../../services/symbol.service';
|
import { SymbolService } from '../../services/symbol.service';
|
||||||
import { Link } from "../../cartography/models/link";
|
import { Link } from "../../models/link";
|
||||||
import { MapComponent } from "../../cartography/components/map/map.component";
|
import { MapComponent } from "../../cartography/components/map/map.component";
|
||||||
import { ServerService } from "../../services/server.service";
|
import { ServerService } from "../../services/server.service";
|
||||||
import { ProjectService } from '../../services/project.service';
|
import { ProjectService } from '../../services/project.service';
|
||||||
@ -22,7 +22,7 @@ import { Drawing } from "../../cartography/models/drawing";
|
|||||||
import { NodeContextMenuComponent } from "./node-context-menu/node-context-menu.component";
|
import { NodeContextMenuComponent } from "./node-context-menu/node-context-menu.component";
|
||||||
import { Appliance } from "../../models/appliance";
|
import { Appliance } from "../../models/appliance";
|
||||||
import { NodeService } from "../../services/node.service";
|
import { NodeService } from "../../services/node.service";
|
||||||
import { Symbol } from "../../cartography/models/symbol";
|
import { Symbol } from "../../models/symbol";
|
||||||
import { NodeSelectInterfaceComponent } from "./node-select-interface/node-select-interface.component";
|
import { NodeSelectInterfaceComponent } from "./node-select-interface/node-select-interface.component";
|
||||||
import { Port } from "../../models/port";
|
import { Port } from "../../models/port";
|
||||||
import { LinkService } from "../../services/link.service";
|
import { LinkService } from "../../services/link.service";
|
||||||
@ -31,7 +31,7 @@ import { NodesDataSource } from "../../cartography/datasources/nodes-datasource"
|
|||||||
import { LinksDataSource } from "../../cartography/datasources/links-datasource";
|
import { LinksDataSource } from "../../cartography/datasources/links-datasource";
|
||||||
import { ProjectWebServiceHandler } from "../../handlers/project-web-service-handler";
|
import { ProjectWebServiceHandler } from "../../handlers/project-web-service-handler";
|
||||||
import { SelectionManager } from "../../cartography/managers/selection-manager";
|
import { SelectionManager } from "../../cartography/managers/selection-manager";
|
||||||
import { InRectangleHelper } from "../../cartography/components/map/helpers/in-rectangle-helper";
|
import { InRectangleHelper } from "../../cartography/helpers/in-rectangle-helper";
|
||||||
import { DrawingsDataSource } from "../../cartography/datasources/drawings-datasource";
|
import { DrawingsDataSource } from "../../cartography/datasources/drawings-datasource";
|
||||||
import { SettingsService } from "../../services/settings.service";
|
import { SettingsService } from "../../services/settings.service";
|
||||||
import { ProgressService } from "../../common/progress/progress.service";
|
import { ProgressService } from "../../common/progress/progress.service";
|
||||||
@ -134,7 +134,7 @@ export class ProjectMapComponent implements OnInit, OnDestroy {
|
|||||||
);
|
);
|
||||||
|
|
||||||
this.subscriptions.push(
|
this.subscriptions.push(
|
||||||
this.drawingsDataSource.connect().subscribe((drawings: Drawing[]) => {
|
this.drawingsDataSource.changes.subscribe((drawings: Drawing[]) => {
|
||||||
this.drawings = drawings;
|
this.drawings = drawings;
|
||||||
if (this.mapChild) {
|
if (this.mapChild) {
|
||||||
this.mapChild.reload();
|
this.mapChild.reload();
|
||||||
@ -143,7 +143,7 @@ export class ProjectMapComponent implements OnInit, OnDestroy {
|
|||||||
);
|
);
|
||||||
|
|
||||||
this.subscriptions.push(
|
this.subscriptions.push(
|
||||||
this.nodesDataSource.connect().subscribe((nodes: Node[]) => {
|
this.nodesDataSource.changes.subscribe((nodes: Node[]) => {
|
||||||
this.nodes = nodes;
|
this.nodes = nodes;
|
||||||
if (this.mapChild) {
|
if (this.mapChild) {
|
||||||
this.mapChild.reload();
|
this.mapChild.reload();
|
||||||
@ -152,7 +152,7 @@ export class ProjectMapComponent implements OnInit, OnDestroy {
|
|||||||
);
|
);
|
||||||
|
|
||||||
this.subscriptions.push(
|
this.subscriptions.push(
|
||||||
this.linksDataSource.connect().subscribe((links: Link[]) => {
|
this.linksDataSource.changes.subscribe((links: Link[]) => {
|
||||||
this.links = links;
|
this.links = links;
|
||||||
if (this.mapChild) {
|
if (this.mapChild) {
|
||||||
this.mapChild.reload();
|
this.mapChild.reload();
|
||||||
@ -228,7 +228,8 @@ export class ProjectMapComponent implements OnInit, OnDestroy {
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.subscriptions.push(
|
this.subscriptions.push(
|
||||||
this.selectionManager.subscribe(this.mapChild.graphLayout.getSelectionTool().rectangleSelected)
|
this.selectionManager.subscribe(
|
||||||
|
this.mapChild.graphLayout.getSelectionTool().rectangleSelected)
|
||||||
);
|
);
|
||||||
|
|
||||||
this.mapChild.graphLayout.getLinksWidget().getInterfaceLabelWidget().setEnabled(this.project.show_interface_labels);
|
this.mapChild.graphLayout.getLinksWidget().getInterfaceLabelWidget().setEnabled(this.project.show_interface_labels);
|
||||||
|
3
src/app/converters/converter.ts
Normal file
3
src/app/converters/converter.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export interface Converter<TSource, TDestination> {
|
||||||
|
convert(from: TSource): TDestination;
|
||||||
|
}
|
@ -7,7 +7,7 @@ import { NodesDataSource } from "../cartography/datasources/nodes-datasource";
|
|||||||
import { LinksDataSource } from "../cartography/datasources/links-datasource";
|
import { LinksDataSource } from "../cartography/datasources/links-datasource";
|
||||||
import { DrawingsDataSource } from "../cartography/datasources/drawings-datasource";
|
import { DrawingsDataSource } from "../cartography/datasources/drawings-datasource";
|
||||||
import { Node } from "../cartography/models/node";
|
import { Node } from "../cartography/models/node";
|
||||||
import { Link } from "../cartography/models/link";
|
import { Link } from "../models/link";
|
||||||
import { Drawing } from "../cartography/models/drawing";
|
import { Drawing } from "../cartography/models/drawing";
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ import { Subject } from "rxjs";
|
|||||||
import { NodesDataSource } from "../cartography/datasources/nodes-datasource";
|
import { NodesDataSource } from "../cartography/datasources/nodes-datasource";
|
||||||
import { LinksDataSource } from "../cartography/datasources/links-datasource";
|
import { LinksDataSource } from "../cartography/datasources/links-datasource";
|
||||||
import { DrawingsDataSource } from "../cartography/datasources/drawings-datasource";
|
import { DrawingsDataSource } from "../cartography/datasources/drawings-datasource";
|
||||||
import { Link } from "../cartography/models/link";
|
import { Link } from "../models/link";
|
||||||
import { Node } from "../cartography/models/node";
|
import { Node } from "../cartography/models/node";
|
||||||
import { Drawing } from "../cartography/models/drawing";
|
import { Drawing } from "../cartography/models/drawing";
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Label } from "./label";
|
import { Label } from "../cartography/models/label";
|
||||||
|
|
||||||
export class LinkNode {
|
export class LinkNode {
|
||||||
node_id: string;
|
node_id: string;
|
@ -1,6 +1,6 @@
|
|||||||
import { Node } from "./node";
|
import { Node } from "../cartography/models/node";
|
||||||
import { LinkNode } from "./link-node";
|
import { LinkNode } from "./link-node";
|
||||||
import { Selectable } from "../managers/selection-manager";
|
import { Selectable } from "../cartography/managers/selection-manager";
|
||||||
|
|
||||||
|
|
||||||
export class Link implements Selectable {
|
export class Link implements Selectable {
|
||||||
@ -11,12 +11,14 @@ export class Link implements Selectable {
|
|||||||
link_type: string;
|
link_type: string;
|
||||||
nodes: LinkNode[];
|
nodes: LinkNode[];
|
||||||
project_id: string;
|
project_id: string;
|
||||||
|
|
||||||
|
|
||||||
distance: number; // this is not from server
|
distance: number; // this is not from server
|
||||||
length: number; // this is not from server
|
length: number; // this is not from server
|
||||||
source: Node; // this is not from server
|
source: Node; // this is not from server
|
||||||
target: Node; // this is not from server
|
target: Node; // this is not from server
|
||||||
|
|
||||||
is_selected = false;
|
is_selected = false; // this is not from server
|
||||||
x: number;
|
x: number; // this is not from server
|
||||||
y: number;
|
y: number; // this is not from server
|
||||||
}
|
}
|
@ -3,7 +3,7 @@ import { Project } from '../models/project';
|
|||||||
import { Node } from '../cartography/models/node';
|
import { Node } from '../cartography/models/node';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
|
|
||||||
import { Link } from "../cartography/models/link";
|
import { Link } from "../models/link";
|
||||||
import { Server } from "../models/server";
|
import { Server } from "../models/server";
|
||||||
import { HttpServer } from "./http-server.service";
|
import { HttpServer } from "./http-server.service";
|
||||||
import { Drawing } from "../cartography/models/drawing";
|
import { Drawing } from "../cartography/models/drawing";
|
||||||
|
@ -6,7 +6,7 @@ import { HttpServer } from './http-server.service';
|
|||||||
import { Server } from '../models/server';
|
import { Server } from '../models/server';
|
||||||
import { getTestServer } from './testing';
|
import { getTestServer } from './testing';
|
||||||
import { SymbolService } from './symbol.service';
|
import { SymbolService } from './symbol.service';
|
||||||
import { Symbol } from '../cartography/models/symbol';
|
import { Symbol } from '../models/symbol';
|
||||||
import { AppTestingModule } from "../testing/app-testing/app-testing.module";
|
import { AppTestingModule } from "../testing/app-testing/app-testing.module";
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { BehaviorSubject, forkJoin, Observable } from 'rxjs';
|
import { BehaviorSubject, forkJoin, Observable } from 'rxjs';
|
||||||
|
|
||||||
import { Symbol } from '../cartography/models/symbol';
|
import { Symbol } from '../models/symbol';
|
||||||
import { Server } from "../models/server";
|
import { Server } from "../models/server";
|
||||||
import { HttpServer } from "./http-server.service";
|
import { HttpServer } from "./http-server.service";
|
||||||
|
|
||||||
|
@ -4,8 +4,6 @@ import { HttpClient } from '@angular/common/http';
|
|||||||
import { HttpTestingController, HttpClientTestingModule } from '@angular/common/http/testing';
|
import { HttpTestingController, HttpClientTestingModule } from '@angular/common/http/testing';
|
||||||
import { HttpServer } from './http-server.service';
|
import { HttpServer } from './http-server.service';
|
||||||
import { Server } from '../models/server';
|
import { Server } from '../models/server';
|
||||||
import { Node } from '../cartography/models/node';
|
|
||||||
import { Port } from '../models/port';
|
|
||||||
import { getTestServer } from './testing';
|
import { getTestServer } from './testing';
|
||||||
import { VersionService } from './version.service';
|
import { VersionService } from './version.service';
|
||||||
import { AppTestingModule } from "../testing/app-testing/app-testing.module";
|
import { AppTestingModule } from "../testing/app-testing/app-testing.module";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user