From a916b00ef8d1fb2e9216008c2cf3e1ba133be2dd Mon Sep 17 00:00:00 2001 From: ziajka Date: Thu, 19 Jul 2018 10:00:09 +0200 Subject: [PATCH] Move models --- src/app/app.module.ts | 2 +- .../cartography/components/map/map.component.ts | 4 ++-- .../cartography/datasources/datasource.spec.ts | 2 +- src/app/cartography/datasources/datasource.ts | 2 +- .../datasources/drawings-datasource.spec.ts | 2 +- .../datasources/links-datasource.spec.ts | 4 ++-- .../cartography/datasources/links-datasource.ts | 2 +- .../datasources/nodes-datasource.spec.ts | 2 +- .../datasources/symbols-datasource.spec.ts | 4 ++-- .../datasources/symbols-datasource.ts | 2 +- .../helpers/in-rectangle-helper.spec.ts | 2 +- .../map => }/helpers/in-rectangle-helper.ts | 3 +-- .../helpers/multi-link-calculator-helper.ts | 2 +- .../cartography/managers/layers-manager.spec.ts | 2 +- src/app/cartography/managers/layers-manager.ts | 2 +- .../managers/selection-manager.spec.ts | 4 ++-- .../cartography/managers/selection-manager.ts | 4 ++-- src/app/cartography/models/context.ts | 4 ++-- src/app/cartography/models/graph-link.ts | 8 ++++++++ src/app/cartography/models/layer.ts | 17 +++++++---------- src/app/cartography/models/node.ts | 6 +++--- src/app/cartography/models/point.ts | 5 ++++- src/app/cartography/models/size.ts | 4 +++- src/app/cartography/widgets/drawings.ts | 7 +++++-- src/app/cartography/widgets/ethernet-link.ts | 2 +- src/app/cartography/widgets/graph-layout.ts | 2 +- .../cartography/widgets/interface-label.spec.ts | 7 ++++--- src/app/cartography/widgets/interface-label.ts | 9 +++++---- src/app/cartography/widgets/links.spec.ts | 2 +- src/app/cartography/widgets/links.ts | 7 ++++--- src/app/cartography/widgets/nodes.ts | 2 +- src/app/cartography/widgets/serial-link.ts | 2 +- src/app/cartography/widgets/widget.ts | 11 +++++++++++ .../project-map/project-map.component.ts | 15 ++++++++------- src/app/converters/converter.ts | 3 +++ .../project-web-service-handler.spec.ts | 2 +- src/app/handlers/project-web-service-handler.ts | 2 +- src/app/{cartography => }/models/link-node.ts | 2 +- src/app/{cartography => }/models/link.ts | 12 +++++++----- src/app/{cartography => }/models/symbol.ts | 0 src/app/services/project.service.ts | 2 +- src/app/services/symbol.service.spec.ts | 2 +- src/app/services/symbol.service.ts | 2 +- src/app/services/version.service.spec.ts | 2 -- 44 files changed, 107 insertions(+), 77 deletions(-) rename src/app/cartography/{components/map => }/helpers/in-rectangle-helper.spec.ts (91%) rename src/app/cartography/{components/map => }/helpers/in-rectangle-helper.ts (72%) rename src/app/cartography/{components/map => }/helpers/multi-link-calculator-helper.ts (96%) create mode 100644 src/app/cartography/models/graph-link.ts create mode 100644 src/app/converters/converter.ts rename src/app/{cartography => }/models/link-node.ts (67%) rename src/app/{cartography => }/models/link.ts (62%) rename src/app/{cartography => }/models/symbol.ts (100%) diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 2d08e232..0813656d 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -67,7 +67,7 @@ import { LinksDataSource } from "./cartography/datasources/links-datasource"; import { NodesDataSource } from "./cartography/datasources/nodes-datasource"; import { SymbolsDataSource } from "./cartography/datasources/symbols-datasource"; 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 { 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'; diff --git a/src/app/cartography/components/map/map.component.ts b/src/app/cartography/components/map/map.component.ts index 87430bb8..e8a269a7 100644 --- a/src/app/cartography/components/map/map.component.ts +++ b/src/app/cartography/components/map/map.component.ts @@ -5,12 +5,12 @@ import { D3, D3Service } from 'd3-ng2-service'; import {select, Selection} from 'd3-selection'; import { Node } from "../../models/node"; -import { Link } from "../../models/link"; +import { Link } from "../../../models/link"; import { GraphLayout } from "../../widgets/graph-layout"; import { Context } from "../../models/context"; import { Size } from "../../models/size"; import { Drawing } from "../../models/drawing"; -import {Symbol} from "../../models/symbol"; +import {Symbol} from "../../../models/symbol"; @Component({ diff --git a/src/app/cartography/datasources/datasource.spec.ts b/src/app/cartography/datasources/datasource.spec.ts index bd5f87f6..f60958bb 100644 --- a/src/app/cartography/datasources/datasource.spec.ts +++ b/src/app/cartography/datasources/datasource.spec.ts @@ -18,7 +18,7 @@ describe('TestDataSource', () => { beforeEach(() => { dataSource = new TestDataSource(); - dataSource.connect().subscribe((updated: Item[]) => { + dataSource.changes.subscribe((updated: Item[]) => { data = updated; }); }); diff --git a/src/app/cartography/datasources/datasource.ts b/src/app/cartography/datasources/datasource.ts index 99a37558..91be9552 100644 --- a/src/app/cartography/datasources/datasource.ts +++ b/src/app/cartography/datasources/datasource.ts @@ -39,7 +39,7 @@ export abstract class DataSource { } } - public connect() { + public get changes() { return this.dataChange; } diff --git a/src/app/cartography/datasources/drawings-datasource.spec.ts b/src/app/cartography/datasources/drawings-datasource.spec.ts index 5d9c6116..8a5f4fb8 100644 --- a/src/app/cartography/datasources/drawings-datasource.spec.ts +++ b/src/app/cartography/datasources/drawings-datasource.spec.ts @@ -8,7 +8,7 @@ describe('DrawingsDataSource', () => { beforeEach(() => { dataSource = new DrawingsDataSource(); - dataSource.connect().subscribe((drawings: Drawing[]) => { + dataSource.changes.subscribe((drawings: Drawing[]) => { data = drawings; }); }); diff --git a/src/app/cartography/datasources/links-datasource.spec.ts b/src/app/cartography/datasources/links-datasource.spec.ts index e30a617c..54453716 100644 --- a/src/app/cartography/datasources/links-datasource.spec.ts +++ b/src/app/cartography/datasources/links-datasource.spec.ts @@ -1,5 +1,5 @@ import { LinksDataSource } from "./links-datasource"; -import { Link } from "../models/link"; +import { Link } from "../../models/link"; describe('LinksDataSource', () => { @@ -8,7 +8,7 @@ describe('LinksDataSource', () => { beforeEach(() => { dataSource = new LinksDataSource(); - dataSource.connect().subscribe((links: Link[]) => { + dataSource.changes.subscribe((links: Link[]) => { data = links; }); }); diff --git a/src/app/cartography/datasources/links-datasource.ts b/src/app/cartography/datasources/links-datasource.ts index c0fd8238..4b5918df 100644 --- a/src/app/cartography/datasources/links-datasource.ts +++ b/src/app/cartography/datasources/links-datasource.ts @@ -1,7 +1,7 @@ import { Injectable } from "@angular/core"; import { DataSource } from "./datasource"; -import { Link} from "../models/link"; +import { Link} from "../../models/link"; @Injectable() diff --git a/src/app/cartography/datasources/nodes-datasource.spec.ts b/src/app/cartography/datasources/nodes-datasource.spec.ts index 7df11835..98f3d74b 100644 --- a/src/app/cartography/datasources/nodes-datasource.spec.ts +++ b/src/app/cartography/datasources/nodes-datasource.spec.ts @@ -8,7 +8,7 @@ describe('NodesDataSource', () => { beforeEach(() => { dataSource = new NodesDataSource(); - dataSource.connect().subscribe((nodes: Node[]) => { + dataSource.changes.subscribe((nodes: Node[]) => { data = nodes; }); }); diff --git a/src/app/cartography/datasources/symbols-datasource.spec.ts b/src/app/cartography/datasources/symbols-datasource.spec.ts index 959afb2e..c709b07a 100644 --- a/src/app/cartography/datasources/symbols-datasource.spec.ts +++ b/src/app/cartography/datasources/symbols-datasource.spec.ts @@ -1,5 +1,5 @@ import { SymbolsDataSource } from "./symbols-datasource"; -import { Symbol } from "../models/symbol"; +import { Symbol } from "../../models/symbol"; describe('SymbolsDataSource', () => { @@ -8,7 +8,7 @@ describe('SymbolsDataSource', () => { beforeEach(() => { dataSource = new SymbolsDataSource(); - dataSource.connect().subscribe((symbols: Symbol[]) => { + dataSource.changes.subscribe((symbols: Symbol[]) => { data = symbols; }); }); diff --git a/src/app/cartography/datasources/symbols-datasource.ts b/src/app/cartography/datasources/symbols-datasource.ts index effd9f12..fff06c3c 100644 --- a/src/app/cartography/datasources/symbols-datasource.ts +++ b/src/app/cartography/datasources/symbols-datasource.ts @@ -1,7 +1,7 @@ import { Injectable } from "@angular/core"; import { DataSource } from "./datasource"; -import { Symbol } from "../models/symbol"; +import { Symbol } from "../../models/symbol"; @Injectable() diff --git a/src/app/cartography/components/map/helpers/in-rectangle-helper.spec.ts b/src/app/cartography/helpers/in-rectangle-helper.spec.ts similarity index 91% rename from src/app/cartography/components/map/helpers/in-rectangle-helper.spec.ts rename to src/app/cartography/helpers/in-rectangle-helper.spec.ts index 7f2f799e..0eed6901 100644 --- a/src/app/cartography/components/map/helpers/in-rectangle-helper.spec.ts +++ b/src/app/cartography/helpers/in-rectangle-helper.spec.ts @@ -1,5 +1,5 @@ import { InRectangleHelper } from "./in-rectangle-helper"; -import { Rectangle } from "../../../models/rectangle"; +import { Rectangle } from "../models/rectangle"; diff --git a/src/app/cartography/components/map/helpers/in-rectangle-helper.ts b/src/app/cartography/helpers/in-rectangle-helper.ts similarity index 72% rename from src/app/cartography/components/map/helpers/in-rectangle-helper.ts rename to src/app/cartography/helpers/in-rectangle-helper.ts index 761b4d45..a4d732b2 100644 --- a/src/app/cartography/components/map/helpers/in-rectangle-helper.ts +++ b/src/app/cartography/helpers/in-rectangle-helper.ts @@ -1,7 +1,6 @@ import { Injectable } from "@angular/core"; -import { Selectable } from "../../../managers/selection-manager"; -import { Rectangle } from "../../../models/rectangle"; +import { Rectangle } from "../models/rectangle"; @Injectable() diff --git a/src/app/cartography/components/map/helpers/multi-link-calculator-helper.ts b/src/app/cartography/helpers/multi-link-calculator-helper.ts similarity index 96% rename from src/app/cartography/components/map/helpers/multi-link-calculator-helper.ts rename to src/app/cartography/helpers/multi-link-calculator-helper.ts index 4546af00..671d827a 100644 --- a/src/app/cartography/components/map/helpers/multi-link-calculator-helper.ts +++ b/src/app/cartography/helpers/multi-link-calculator-helper.ts @@ -1,4 +1,4 @@ -import {Link} from "../../../models/link"; +import {Link} from "../../models/link"; export class MultiLinkCalculatorHelper { LINK_WIDTH = 2; diff --git a/src/app/cartography/managers/layers-manager.spec.ts b/src/app/cartography/managers/layers-manager.spec.ts index c4a4fb0b..a9f709e9 100644 --- a/src/app/cartography/managers/layers-manager.spec.ts +++ b/src/app/cartography/managers/layers-manager.spec.ts @@ -1,7 +1,7 @@ import { LayersManager } from "./layers-manager"; import { Node } from "../models/node"; import { Drawing } from "../models/drawing"; -import { Link } from "../models/link"; +import { Link } from "../../models/link"; describe('LayersManager', () => { diff --git a/src/app/cartography/managers/layers-manager.ts b/src/app/cartography/managers/layers-manager.ts index aa77cf74..437e7832 100644 --- a/src/app/cartography/managers/layers-manager.ts +++ b/src/app/cartography/managers/layers-manager.ts @@ -1,7 +1,7 @@ import { Layer } from "../models/layer"; import { Node } from "../models/node"; import { Drawing } from "../models/drawing"; -import { Link } from "../models/link"; +import { Link } from "../../models/link"; import { Dictionary } from "../models/types"; diff --git a/src/app/cartography/managers/selection-manager.spec.ts b/src/app/cartography/managers/selection-manager.spec.ts index 84348ba2..b627dd84 100644 --- a/src/app/cartography/managers/selection-manager.spec.ts +++ b/src/app/cartography/managers/selection-manager.spec.ts @@ -1,13 +1,13 @@ import { Subject} from "rxjs"; import { Node } from "../models/node"; -import { Link } from "../models/link"; +import { Link } from "../../models/link"; import { Drawing } from "../models/drawing"; import { Rectangle } from "../models/rectangle"; import { SelectionManager } from "./selection-manager"; import { NodesDataSource } from "../datasources/nodes-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"; diff --git a/src/app/cartography/managers/selection-manager.ts b/src/app/cartography/managers/selection-manager.ts index fa06bc4f..539b2b3a 100644 --- a/src/app/cartography/managers/selection-manager.ts +++ b/src/app/cartography/managers/selection-manager.ts @@ -6,9 +6,9 @@ import { Subscription } from "rxjs"; import { NodesDataSource } from "../datasources/nodes-datasource"; import { LinksDataSource } from "../datasources/links-datasource"; 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 { Link} from "../models/link"; +import { Link} from "../../models/link"; import { DataSource } from "../datasources/datasource"; import { Drawing } from "../models/drawing"; import { InterfaceLabel } from "../models/interface-label"; diff --git a/src/app/cartography/models/context.ts b/src/app/cartography/models/context.ts index 6c8d36da..cf91d7cf 100644 --- a/src/app/cartography/models/context.ts +++ b/src/app/cartography/models/context.ts @@ -1,5 +1,5 @@ -import {Size} from "./size"; -import {Point} from "./point"; +import { Size } from "./size"; +import { Point } from "./point"; export class Transformation { constructor( diff --git a/src/app/cartography/models/graph-link.ts b/src/app/cartography/models/graph-link.ts new file mode 100644 index 00000000..f007abcb --- /dev/null +++ b/src/app/cartography/models/graph-link.ts @@ -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 +} diff --git a/src/app/cartography/models/layer.ts b/src/app/cartography/models/layer.ts index db71a484..9d32a32e 100644 --- a/src/app/cartography/models/layer.ts +++ b/src/app/cartography/models/layer.ts @@ -1,16 +1,13 @@ import {Drawing} from "./drawing"; -import {Link} from "./link"; +import {Link} from "../../models/link"; import {Node} from "./node"; export class Layer { - index: number; - nodes: Node[]; - drawings: Drawing[]; - links: Link[]; - - constructor() { - this.nodes = []; - this.drawings = []; - this.links = []; + constructor( + public index?: number, + public nodes: Node[] = [], + public drawings: Drawing[] = [], + public links: Link[] = [] + ) { } } diff --git a/src/app/cartography/models/node.ts b/src/app/cartography/models/node.ts index a0d8ccae..2f30da3a 100644 --- a/src/app/cartography/models/node.ts +++ b/src/app/cartography/models/node.ts @@ -1,6 +1,6 @@ -import {Label} from "./label"; -import {Port} from "../../models/port"; -import {Selectable} from "../managers/selection-manager"; +import { Label } from "./label"; +import { Port } from "../../models/port"; +import { Selectable } from "../managers/selection-manager"; export class Node implements Selectable { diff --git a/src/app/cartography/models/point.ts b/src/app/cartography/models/point.ts index 238b8375..f83ded3b 100644 --- a/src/app/cartography/models/point.ts +++ b/src/app/cartography/models/point.ts @@ -1,3 +1,6 @@ export class Point { - constructor(public x: number, public y: number) {} + constructor( + public x?: number, + public y?: number + ) {} }; diff --git a/src/app/cartography/models/size.ts b/src/app/cartography/models/size.ts index dbcd7f3e..d9cce857 100644 --- a/src/app/cartography/models/size.ts +++ b/src/app/cartography/models/size.ts @@ -1,3 +1,5 @@ export class Size { - constructor(public width: number, public height: number) {} + constructor( + public width: number, + public height: number) {} } diff --git a/src/app/cartography/widgets/drawings.ts b/src/app/cartography/widgets/drawings.ts index 36555d0d..c6d2b6fe 100644 --- a/src/app/cartography/widgets/drawings.ts +++ b/src/app/cartography/widgets/drawings.ts @@ -14,8 +14,11 @@ import { DrawingWidget } from "./drawings/drawing-widget"; export class DrawingsWidget implements Widget { private svgToDrawingConverter: SvgToDrawingConverter; private drawingWidgets: DrawingWidget[] = [ - new TextDrawingWidget(), new ImageDrawingWidget(), new RectDrawingWidget(), - new LineDrawingWidget(), new EllipseDrawingWidget() + new TextDrawingWidget(), + new ImageDrawingWidget(), + new RectDrawingWidget(), + new LineDrawingWidget(), + new EllipseDrawingWidget() ]; constructor() { diff --git a/src/app/cartography/widgets/ethernet-link.ts b/src/app/cartography/widgets/ethernet-link.ts index c93e2651..1d442afb 100644 --- a/src/app/cartography/widgets/ethernet-link.ts +++ b/src/app/cartography/widgets/ethernet-link.ts @@ -2,7 +2,7 @@ import { line } from "d3-shape"; import { Widget } from "./widget"; import { SVGSelection } from "../models/types"; -import { Link } from "../models/link"; +import { Link } from "../../models/link"; export class EthernetLinkWidget implements Widget { diff --git a/src/app/cartography/widgets/graph-layout.ts b/src/app/cartography/widgets/graph-layout.ts index 24f1bb75..eb7d3d9d 100644 --- a/src/app/cartography/widgets/graph-layout.ts +++ b/src/app/cartography/widgets/graph-layout.ts @@ -1,6 +1,6 @@ import { Context } from "../models/context"; import { Node } from "../models/node"; -import { Link } from "../models/link"; +import { Link } from "../../models/link"; import { NodesWidget } from "./nodes"; import { Widget } from "./widget"; import { SVGSelection } from "../models/types"; diff --git a/src/app/cartography/widgets/interface-label.spec.ts b/src/app/cartography/widgets/interface-label.spec.ts index e407a607..e5b2aac2 100644 --- a/src/app/cartography/widgets/interface-label.spec.ts +++ b/src/app/cartography/widgets/interface-label.spec.ts @@ -2,11 +2,12 @@ import { Selection } from "d3-selection"; import { TestSVGCanvas } from "../testing"; import { Node } from "../models/node"; -import { Link } from "../models/link"; -import { LinkNode } from "../models/link-node"; +import { Link } from "../../models/link"; +import { LinkNode } from "../../models/link-node"; import { Label } from "../models/label"; import { InterfaceLabel } from "../models/interface-label"; import { InterfaceLabelWidget } from "./interface-label"; +import { CssFixer } from "../helpers/css-fixer"; describe('InterfaceLabelsWidget', () => { @@ -66,7 +67,7 @@ describe('InterfaceLabelsWidget', () => { .exit() .remove(); - widget = new InterfaceLabelWidget(); + widget = new InterfaceLabelWidget(new CssFixer()); }); afterEach(() => { diff --git a/src/app/cartography/widgets/interface-label.ts b/src/app/cartography/widgets/interface-label.ts index a69e421f..4c32f8bd 100644 --- a/src/app/cartography/widgets/interface-label.ts +++ b/src/app/cartography/widgets/interface-label.ts @@ -1,18 +1,19 @@ import { SVGSelection } from "../models/types"; -import { Link } from "../models/link"; +import { Link } from "../../models/link"; import { InterfaceLabel } from "../models/interface-label"; import { CssFixer } from "../helpers/css-fixer"; import { select } from "d3-selection"; +import { Inject } from "@angular/core"; export class InterfaceLabelWidget { static SURROUNDING_TEXT_BORDER = 5; - private cssFixer: CssFixer; private enabled = true; - constructor() { - this.cssFixer = new CssFixer(); + constructor( + @Inject(CssFixer) private cssFixer: CssFixer + ) { } public setEnabled(enabled: boolean) { diff --git a/src/app/cartography/widgets/links.spec.ts b/src/app/cartography/widgets/links.spec.ts index 06f48fd9..6ed90ed6 100644 --- a/src/app/cartography/widgets/links.spec.ts +++ b/src/app/cartography/widgets/links.spec.ts @@ -6,7 +6,7 @@ import { TestSVGCanvas } from "../testing"; import { Layer } from "../models/layer"; import { LinksWidget } from "./links"; import { Node } from "../models/node"; -import { Link } from "../models/link"; +import { Link } from "../../models/link"; import { InterfaceLabelWidget } from "./interface-label"; diff --git a/src/app/cartography/widgets/links.ts b/src/app/cartography/widgets/links.ts index 9ba7b2e8..662444b0 100644 --- a/src/app/cartography/widgets/links.ts +++ b/src/app/cartography/widgets/links.ts @@ -2,13 +2,14 @@ import { select } from "d3-selection"; import { Widget } from "./widget"; import { SVGSelection } from "../models/types"; -import { Link } from "../models/link"; +import { Link } from "../../models/link"; 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 { EthernetLinkWidget } from "./ethernet-link"; import { Layer } from "../models/layer"; import { InterfaceLabelWidget } from "./interface-label"; +import { CssFixer } from "../helpers/css-fixer"; export class LinksWidget implements Widget { @@ -17,7 +18,7 @@ export class LinksWidget implements Widget { private interfaceLabelWidget: InterfaceLabelWidget; constructor() { - this.interfaceLabelWidget = new InterfaceLabelWidget(); + this.interfaceLabelWidget = new InterfaceLabelWidget(new CssFixer()); } public getInterfaceLabelWidget() { diff --git a/src/app/cartography/widgets/nodes.ts b/src/app/cartography/widgets/nodes.ts index fe9a2e7a..23458557 100644 --- a/src/app/cartography/widgets/nodes.ts +++ b/src/app/cartography/widgets/nodes.ts @@ -4,7 +4,7 @@ import { D3DragEvent, drag } from "d3-drag"; import { Widget } from "./widget"; import { Node } from "../models/node"; import { SVGSelection } from "../models/types"; -import { Symbol } from "../models/symbol"; +import { Symbol } from "../../models/symbol"; import { Layer } from "../models/layer"; import { CssFixer } from "../helpers/css-fixer"; import { FontFixer } from "../helpers/font-fixer"; diff --git a/src/app/cartography/widgets/serial-link.ts b/src/app/cartography/widgets/serial-link.ts index fd6257f2..c119ab5a 100644 --- a/src/app/cartography/widgets/serial-link.ts +++ b/src/app/cartography/widgets/serial-link.ts @@ -2,7 +2,7 @@ import { path } from "d3-path"; import { Widget } from "./widget"; import { SVGSelection } from "../models/types"; -import { Link } from "../models/link"; +import { Link } from "../../models/link"; export class SerialLinkWidget implements Widget { diff --git a/src/app/cartography/widgets/widget.ts b/src/app/cartography/widgets/widget.ts index 9da1ba61..63d2950b 100644 --- a/src/app/cartography/widgets/widget.ts +++ b/src/app/cartography/widgets/widget.ts @@ -3,3 +3,14 @@ export interface Widget { 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; +} diff --git a/src/app/components/project-map/project-map.component.ts b/src/app/components/project-map/project-map.component.ts index d6dc1894..d21cfa00 100644 --- a/src/app/components/project-map/project-map.component.ts +++ b/src/app/components/project-map/project-map.component.ts @@ -8,7 +8,7 @@ import { map, mergeMap } from "rxjs/operators"; import { Project } from '../../models/project'; import { Node } from '../../cartography/models/node'; 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 { ServerService } from "../../services/server.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 { Appliance } from "../../models/appliance"; 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 { Port } from "../../models/port"; 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 { ProjectWebServiceHandler } from "../../handlers/project-web-service-handler"; 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 { SettingsService } from "../../services/settings.service"; import { ProgressService } from "../../common/progress/progress.service"; @@ -134,7 +134,7 @@ export class ProjectMapComponent implements OnInit, OnDestroy { ); this.subscriptions.push( - this.drawingsDataSource.connect().subscribe((drawings: Drawing[]) => { + this.drawingsDataSource.changes.subscribe((drawings: Drawing[]) => { this.drawings = drawings; if (this.mapChild) { this.mapChild.reload(); @@ -143,7 +143,7 @@ export class ProjectMapComponent implements OnInit, OnDestroy { ); this.subscriptions.push( - this.nodesDataSource.connect().subscribe((nodes: Node[]) => { + this.nodesDataSource.changes.subscribe((nodes: Node[]) => { this.nodes = nodes; if (this.mapChild) { this.mapChild.reload(); @@ -152,7 +152,7 @@ export class ProjectMapComponent implements OnInit, OnDestroy { ); this.subscriptions.push( - this.linksDataSource.connect().subscribe((links: Link[]) => { + this.linksDataSource.changes.subscribe((links: Link[]) => { this.links = links; if (this.mapChild) { this.mapChild.reload(); @@ -228,7 +228,8 @@ export class ProjectMapComponent implements OnInit, OnDestroy { }); 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); diff --git a/src/app/converters/converter.ts b/src/app/converters/converter.ts new file mode 100644 index 00000000..a98b882c --- /dev/null +++ b/src/app/converters/converter.ts @@ -0,0 +1,3 @@ +export interface Converter { + convert(from: TSource): TDestination; +} diff --git a/src/app/handlers/project-web-service-handler.spec.ts b/src/app/handlers/project-web-service-handler.spec.ts index e299a11a..5ab400ab 100644 --- a/src/app/handlers/project-web-service-handler.spec.ts +++ b/src/app/handlers/project-web-service-handler.spec.ts @@ -7,7 +7,7 @@ import { NodesDataSource } from "../cartography/datasources/nodes-datasource"; import { LinksDataSource } from "../cartography/datasources/links-datasource"; import { DrawingsDataSource } from "../cartography/datasources/drawings-datasource"; import { Node } from "../cartography/models/node"; -import { Link } from "../cartography/models/link"; +import { Link } from "../models/link"; import { Drawing } from "../cartography/models/drawing"; diff --git a/src/app/handlers/project-web-service-handler.ts b/src/app/handlers/project-web-service-handler.ts index cf9fcc94..9b6aba5e 100644 --- a/src/app/handlers/project-web-service-handler.ts +++ b/src/app/handlers/project-web-service-handler.ts @@ -4,7 +4,7 @@ import { Subject } from "rxjs"; import { NodesDataSource } from "../cartography/datasources/nodes-datasource"; import { LinksDataSource } from "../cartography/datasources/links-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 { Drawing } from "../cartography/models/drawing"; diff --git a/src/app/cartography/models/link-node.ts b/src/app/models/link-node.ts similarity index 67% rename from src/app/cartography/models/link-node.ts rename to src/app/models/link-node.ts index d2a38635..ac66f27a 100644 --- a/src/app/cartography/models/link-node.ts +++ b/src/app/models/link-node.ts @@ -1,4 +1,4 @@ -import { Label } from "./label"; +import { Label } from "../cartography/models/label"; export class LinkNode { node_id: string; diff --git a/src/app/cartography/models/link.ts b/src/app/models/link.ts similarity index 62% rename from src/app/cartography/models/link.ts rename to src/app/models/link.ts index 8528a4ce..d9b4dc67 100644 --- a/src/app/cartography/models/link.ts +++ b/src/app/models/link.ts @@ -1,6 +1,6 @@ -import { Node } from "./node"; +import { Node } from "../cartography/models/node"; import { LinkNode } from "./link-node"; -import { Selectable } from "../managers/selection-manager"; +import { Selectable } from "../cartography/managers/selection-manager"; export class Link implements Selectable { @@ -11,12 +11,14 @@ export class Link implements Selectable { link_type: string; nodes: LinkNode[]; project_id: string; + + 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 - is_selected = false; - x: number; - y: number; + is_selected = false; // this is not from server + x: number; // this is not from server + y: number; // this is not from server } diff --git a/src/app/cartography/models/symbol.ts b/src/app/models/symbol.ts similarity index 100% rename from src/app/cartography/models/symbol.ts rename to src/app/models/symbol.ts diff --git a/src/app/services/project.service.ts b/src/app/services/project.service.ts index 3a787e80..adfb5c33 100644 --- a/src/app/services/project.service.ts +++ b/src/app/services/project.service.ts @@ -3,7 +3,7 @@ import { Project } from '../models/project'; import { Node } from '../cartography/models/node'; import { Observable } from 'rxjs'; -import { Link } from "../cartography/models/link"; +import { Link } from "../models/link"; import { Server } from "../models/server"; import { HttpServer } from "./http-server.service"; import { Drawing } from "../cartography/models/drawing"; diff --git a/src/app/services/symbol.service.spec.ts b/src/app/services/symbol.service.spec.ts index a77bf3bb..75fbffb2 100644 --- a/src/app/services/symbol.service.spec.ts +++ b/src/app/services/symbol.service.spec.ts @@ -6,7 +6,7 @@ import { HttpServer } from './http-server.service'; import { Server } from '../models/server'; import { getTestServer } from './testing'; 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"; diff --git a/src/app/services/symbol.service.ts b/src/app/services/symbol.service.ts index fe3593e7..df9f07d0 100644 --- a/src/app/services/symbol.service.ts +++ b/src/app/services/symbol.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core'; import { BehaviorSubject, forkJoin, Observable } from 'rxjs'; -import { Symbol } from '../cartography/models/symbol'; +import { Symbol } from '../models/symbol'; import { Server } from "../models/server"; import { HttpServer } from "./http-server.service"; diff --git a/src/app/services/version.service.spec.ts b/src/app/services/version.service.spec.ts index 50799f7c..ef5ca6f4 100644 --- a/src/app/services/version.service.spec.ts +++ b/src/app/services/version.service.spec.ts @@ -4,8 +4,6 @@ import { HttpClient } from '@angular/common/http'; import { HttpTestingController, HttpClientTestingModule } from '@angular/common/http/testing'; import { HttpServer } from './http-server.service'; import { Server } from '../models/server'; -import { Node } from '../cartography/models/node'; -import { Port } from '../models/port'; import { getTestServer } from './testing'; import { VersionService } from './version.service'; import { AppTestingModule } from "../testing/app-testing/app-testing.module";