diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index 59d1ae19..cf6fba5a 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -3,12 +3,12 @@ import { environment } from "../environments/environment";
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
-import { ProjectMapComponent } from './project-map/project-map.component';
-import { ServersComponent } from "./servers/servers.component";
-import { ProjectsComponent } from "./projects/projects.component";
-import { DefaultLayoutComponent } from "./default-layout/default-layout.component";
-import { SettingsComponent } from "./settings/settings.component";
-import { LocalServerComponent } from "./local-server/local-server.component";
+import { ProjectMapComponent } from './components/project-map/project-map.component';
+import { ServersComponent } from "./components/servers/servers.component";
+import { ProjectsComponent } from "./components/projects/projects.component";
+import { DefaultLayoutComponent } from "./layouts/default-layout/default-layout.component";
+import { SettingsComponent } from "./components/settings/settings.component";
+import { LocalServerComponent } from "./components/local-server/local-server.component";
const routes: Routes = [
diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts
index 82bc43b4..cf7fcb42 100644
--- a/src/app/app.component.spec.ts
+++ b/src/app/app.component.spec.ts
@@ -3,7 +3,7 @@ import { RouterTestingModule } from '@angular/router/testing';
import { AppComponent } from './app.component';
import { MatIconModule } from "@angular/material";
-import { SettingsService } from "./shared/services/settings.service";
+import { SettingsService } from "./services/settings.service";
import { PersistenceService } from "angular-persistence";
import { ElectronService, NgxElectronModule } from "ngx-electron";
import createSpyObj = jasmine.createSpyObj;
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 123baa5f..0dd59c5d 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core';
import { MatIconRegistry } from "@angular/material";
import { DomSanitizer } from "@angular/platform-browser";
import { ElectronService } from "ngx-electron";
-import { SettingsService } from "./shared/services/settings.service";
+import { SettingsService } from "./services/settings.service";
@Component({
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 7c4ba936..5407a7f3 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -23,7 +23,8 @@ import {
MatListModule,
MatExpansionModule,
MatSortModule,
- MatSelectModule
+ MatSelectModule,
+ MatTooltipModule
} from '@angular/material';
import { D3Service } from 'd3-ng2-service';
@@ -34,55 +35,60 @@ import { NgxElectronModule } from 'ngx-electron';
import { AppRoutingModule } from './app-routing.module';
-import { VersionService } from './shared/services/version.service';
-import { ProjectService } from './shared/services/project.service';
-import { SymbolService } from "./shared/services/symbol.service";
-import { ServerService } from "./shared/services/server.service";
-import { IndexedDbService } from "./shared/services/indexed-db.service";
-import { HttpServer } from "./shared/services/http-server.service";
-import { SnapshotService } from "./shared/services/snapshot.service";
-import { ProgressDialogService } from "./shared/progress-dialog/progress-dialog.service";
-import { NodeService } from "./shared/services/node.service";
-import { ApplianceService } from "./shared/services/appliance.service";
-import { LinkService } from "./shared/services/link.service";
+import { VersionService } from './services/version.service';
+import { ProjectService } from './services/project.service';
+import { SymbolService } from "./services/symbol.service";
+import { ServerService } from "./services/server.service";
+import { IndexedDbService } from "./services/indexed-db.service";
+import { HttpServer } from "./services/http-server.service";
+import { SnapshotService } from "./services/snapshot.service";
+import { ProgressDialogService } from "./common/progress-dialog/progress-dialog.service";
+import { NodeService } from "./services/node.service";
+import { ApplianceService } from "./services/appliance.service";
+import { LinkService } from "./services/link.service";
-import { ProjectsComponent } from './projects/projects.component';
-import { DefaultLayoutComponent } from './default-layout/default-layout.component';
-import { ProgressDialogComponent } from './shared/progress-dialog/progress-dialog.component';
+import { ProjectsComponent } from './components/projects/projects.component';
+import { DefaultLayoutComponent } from './layouts/default-layout/default-layout.component';
+import { ProgressDialogComponent } from './common/progress-dialog/progress-dialog.component';
import { AppComponent } from './app.component';
-import { CreateSnapshotDialogComponent, ProjectMapComponent } from './project-map/project-map.component';
-import { ServersComponent, AddServerDialogComponent } from './servers/servers.component';
-import { NodeContextMenuComponent } from './shared/node-context-menu/node-context-menu.component';
-import { StartNodeActionComponent } from './shared/node-context-menu/actions/start-node-action/start-node-action.component';
-import { StopNodeActionComponent } from './shared/node-context-menu/actions/stop-node-action/stop-node-action.component';
-import { ApplianceComponent } from './appliance/appliance.component';
-import { ApplianceListDialogComponent } from './appliance/appliance-list-dialog/appliance-list-dialog.component';
-import { NodeSelectInterfaceComponent } from './shared/node-select-interface/node-select-interface.component';
+import { CreateSnapshotDialogComponent, ProjectMapComponent } from './components/project-map/project-map.component';
+import { ServersComponent, AddServerDialogComponent } from './components/servers/servers.component';
+import { NodeContextMenuComponent } from './components/project-map/node-context-menu/node-context-menu.component';
+import { StartNodeActionComponent } from './components/project-map/node-context-menu/actions/start-node-action/start-node-action.component';
+import { StopNodeActionComponent } from './components/project-map/node-context-menu/actions/stop-node-action/stop-node-action.component';
+import { ApplianceComponent } from './components/appliance/appliance.component';
+import { ApplianceListDialogComponent } from './components/appliance/appliance-list-dialog/appliance-list-dialog.component';
+import { NodeSelectInterfaceComponent } from './components/project-map/node-select-interface/node-select-interface.component';
import { CartographyModule } from './cartography/cartography.module';
-import { ToasterService } from './shared/services/toaster.service';
-import { ProjectWebServiceHandler } from "./shared/handlers/project-web-service-handler";
-import { LinksDataSource } from "./cartography/shared/datasources/links-datasource";
-import { NodesDataSource } from "./cartography/shared/datasources/nodes-datasource";
-import { SymbolsDataSource } from "./cartography/shared/datasources/symbols-datasource";
-import { SelectionManager } from "./cartography/shared/managers/selection-manager";
-import { InRectangleHelper } from "./cartography/map/helpers/in-rectangle-helper";
-import { DrawingsDataSource } from "./cartography/shared/datasources/drawings-datasource";
-import { MoveLayerDownActionComponent } from './shared/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component';
-import { MoveLayerUpActionComponent } from './shared/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component';
-import { ProjectMapShortcutsComponent } from './project-map/project-map-shortcuts/project-map-shortcuts.component';
-import { SettingsComponent } from './settings/settings.component';
-import { SettingsService } from "./shared/services/settings.service";
+import { ToasterService } from './services/toaster.service';
+import { ProjectWebServiceHandler } from "./handlers/project-web-service-handler";
+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 { 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';
+import { ProjectMapShortcutsComponent } from './components/project-map/project-map-shortcuts/project-map-shortcuts.component';
+import { SettingsComponent } from './components/settings/settings.component';
+import { SettingsService } from "./services/settings.service";
import { RavenErrorHandler } from "./raven-error-handler";
-import { LocalServerComponent } from './local-server/local-server.component';
+import { LocalServerComponent } from './components/local-server/local-server.component';
+import { ProgressComponent } from './common/progress/progress.component';
+import { ProgressService } from "./common/progress/progress.service";
+import { version } from "./version";
+
Raven
- .config('https://b2b1cfd9b043491eb6b566fd8acee358@sentry.io/842726')
+ .config('https://b2b1cfd9b043491eb6b566fd8acee358@sentry.io/842726', {
+ release: version
+ })
.install();
-
@NgModule({
declarations: [
AppComponent,
@@ -104,6 +110,7 @@ Raven
ProjectMapShortcutsComponent,
SettingsComponent,
LocalServerComponent,
+ ProgressComponent,
],
imports: [
NgbModule.forRoot(),
@@ -130,6 +137,7 @@ Raven
MatExpansionModule,
MatSortModule,
MatSelectModule,
+ MatTooltipModule,
CartographyModule,
HotkeyModule.forRoot(),
PersistenceModule,
@@ -151,6 +159,7 @@ Raven
SnapshotService,
ProgressDialogService,
ToasterService,
+ ProgressService,
ProjectWebServiceHandler,
LinksDataSource,
NodesDataSource,
diff --git a/src/app/cartography/cartography.module.ts b/src/app/cartography/cartography.module.ts
index 8ff8462e..e84bda0c 100644
--- a/src/app/cartography/cartography.module.ts
+++ b/src/app/cartography/cartography.module.ts
@@ -1,6 +1,6 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
-import { MapComponent } from './map/map.component';
+import { MapComponent } from './components/map/map.component';
@NgModule({
imports: [
diff --git a/src/app/cartography/map/helpers/in-rectangle-helper.spec.ts b/src/app/cartography/components/map/helpers/in-rectangle-helper.spec.ts
similarity index 90%
rename from src/app/cartography/map/helpers/in-rectangle-helper.spec.ts
rename to src/app/cartography/components/map/helpers/in-rectangle-helper.spec.ts
index 43b1c1c9..7f2f799e 100644
--- a/src/app/cartography/map/helpers/in-rectangle-helper.spec.ts
+++ b/src/app/cartography/components/map/helpers/in-rectangle-helper.spec.ts
@@ -1,5 +1,5 @@
import { InRectangleHelper } from "./in-rectangle-helper";
-import { Rectangle } from "../../shared/models/rectangle";
+import { Rectangle } from "../../../models/rectangle";
diff --git a/src/app/cartography/map/helpers/in-rectangle-helper.ts b/src/app/cartography/components/map/helpers/in-rectangle-helper.ts
similarity index 70%
rename from src/app/cartography/map/helpers/in-rectangle-helper.ts
rename to src/app/cartography/components/map/helpers/in-rectangle-helper.ts
index ddd54448..761b4d45 100644
--- a/src/app/cartography/map/helpers/in-rectangle-helper.ts
+++ b/src/app/cartography/components/map/helpers/in-rectangle-helper.ts
@@ -1,7 +1,7 @@
import { Injectable } from "@angular/core";
-import { Selectable } from "../../shared/managers/selection-manager";
-import { Rectangle } from "../../shared/models/rectangle";
+import { Selectable } from "../../../managers/selection-manager";
+import { Rectangle } from "../../../models/rectangle";
@Injectable()
diff --git a/src/app/cartography/map/helpers/multi-link-calculator-helper.ts b/src/app/cartography/components/map/helpers/multi-link-calculator-helper.ts
similarity index 95%
rename from src/app/cartography/map/helpers/multi-link-calculator-helper.ts
rename to src/app/cartography/components/map/helpers/multi-link-calculator-helper.ts
index 28ea0416..4546af00 100644
--- a/src/app/cartography/map/helpers/multi-link-calculator-helper.ts
+++ b/src/app/cartography/components/map/helpers/multi-link-calculator-helper.ts
@@ -1,4 +1,4 @@
-import {Link} from "../../shared/models/link";
+import {Link} from "../../../models/link";
export class MultiLinkCalculatorHelper {
LINK_WIDTH = 2;
diff --git a/src/app/cartography/map/map.component.html b/src/app/cartography/components/map/map.component.html
similarity index 100%
rename from src/app/cartography/map/map.component.html
rename to src/app/cartography/components/map/map.component.html
diff --git a/src/app/cartography/map/map.component.scss b/src/app/cartography/components/map/map.component.scss
similarity index 100%
rename from src/app/cartography/map/map.component.scss
rename to src/app/cartography/components/map/map.component.scss
diff --git a/src/app/cartography/map/map.component.spec.ts b/src/app/cartography/components/map/map.component.spec.ts
similarity index 100%
rename from src/app/cartography/map/map.component.spec.ts
rename to src/app/cartography/components/map/map.component.spec.ts
diff --git a/src/app/cartography/map/map.component.ts b/src/app/cartography/components/map/map.component.ts
similarity index 93%
rename from src/app/cartography/map/map.component.ts
rename to src/app/cartography/components/map/map.component.ts
index 129d4bd2..87430bb8 100644
--- a/src/app/cartography/map/map.component.ts
+++ b/src/app/cartography/components/map/map.component.ts
@@ -4,13 +4,13 @@ import {
import { D3, D3Service } from 'd3-ng2-service';
import {select, Selection} from 'd3-selection';
-import { Node } from "../shared/models/node";
-import { Link } from "../shared/models/link";
-import { GraphLayout } from "../shared/widgets/graph-layout";
-import { Context } from "../shared/models/context";
-import { Size } from "../shared/models/size";
-import { Drawing } from "../shared/models/drawing";
-import {Symbol} from "../shared/models/symbol";
+import { Node } from "../../models/node";
+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";
@Component({
diff --git a/src/app/cartography/shared/datasources/datasource.spec.ts b/src/app/cartography/datasources/datasource.spec.ts
similarity index 100%
rename from src/app/cartography/shared/datasources/datasource.spec.ts
rename to src/app/cartography/datasources/datasource.spec.ts
diff --git a/src/app/cartography/shared/datasources/datasource.ts b/src/app/cartography/datasources/datasource.ts
similarity index 100%
rename from src/app/cartography/shared/datasources/datasource.ts
rename to src/app/cartography/datasources/datasource.ts
diff --git a/src/app/cartography/shared/datasources/drawings-datasource.spec.ts b/src/app/cartography/datasources/drawings-datasource.spec.ts
similarity index 100%
rename from src/app/cartography/shared/datasources/drawings-datasource.spec.ts
rename to src/app/cartography/datasources/drawings-datasource.spec.ts
diff --git a/src/app/cartography/shared/datasources/drawings-datasource.ts b/src/app/cartography/datasources/drawings-datasource.ts
similarity index 100%
rename from src/app/cartography/shared/datasources/drawings-datasource.ts
rename to src/app/cartography/datasources/drawings-datasource.ts
diff --git a/src/app/cartography/shared/datasources/links-datasource.spec.ts b/src/app/cartography/datasources/links-datasource.spec.ts
similarity index 100%
rename from src/app/cartography/shared/datasources/links-datasource.spec.ts
rename to src/app/cartography/datasources/links-datasource.spec.ts
diff --git a/src/app/cartography/shared/datasources/links-datasource.ts b/src/app/cartography/datasources/links-datasource.ts
similarity index 100%
rename from src/app/cartography/shared/datasources/links-datasource.ts
rename to src/app/cartography/datasources/links-datasource.ts
diff --git a/src/app/cartography/shared/datasources/nodes-datasource.spec.ts b/src/app/cartography/datasources/nodes-datasource.spec.ts
similarity index 100%
rename from src/app/cartography/shared/datasources/nodes-datasource.spec.ts
rename to src/app/cartography/datasources/nodes-datasource.spec.ts
diff --git a/src/app/cartography/shared/datasources/nodes-datasource.ts b/src/app/cartography/datasources/nodes-datasource.ts
similarity index 100%
rename from src/app/cartography/shared/datasources/nodes-datasource.ts
rename to src/app/cartography/datasources/nodes-datasource.ts
diff --git a/src/app/cartography/shared/datasources/symbols-datasource.spec.ts b/src/app/cartography/datasources/symbols-datasource.spec.ts
similarity index 100%
rename from src/app/cartography/shared/datasources/symbols-datasource.spec.ts
rename to src/app/cartography/datasources/symbols-datasource.spec.ts
diff --git a/src/app/cartography/shared/datasources/symbols-datasource.ts b/src/app/cartography/datasources/symbols-datasource.ts
similarity index 100%
rename from src/app/cartography/shared/datasources/symbols-datasource.ts
rename to src/app/cartography/datasources/symbols-datasource.ts
diff --git a/src/app/cartography/shared/helpers/css-fixer.spec.ts b/src/app/cartography/helpers/css-fixer.spec.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/css-fixer.spec.ts
rename to src/app/cartography/helpers/css-fixer.spec.ts
diff --git a/src/app/cartography/shared/helpers/css-fixer.ts b/src/app/cartography/helpers/css-fixer.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/css-fixer.ts
rename to src/app/cartography/helpers/css-fixer.ts
diff --git a/src/app/cartography/shared/helpers/font-fixer.spec.ts b/src/app/cartography/helpers/font-fixer.spec.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/font-fixer.spec.ts
rename to src/app/cartography/helpers/font-fixer.spec.ts
diff --git a/src/app/cartography/shared/helpers/font-fixer.ts b/src/app/cartography/helpers/font-fixer.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/font-fixer.ts
rename to src/app/cartography/helpers/font-fixer.ts
diff --git a/src/app/cartography/shared/helpers/qt-dasharray-fixer.spec.ts b/src/app/cartography/helpers/qt-dasharray-fixer.spec.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/qt-dasharray-fixer.spec.ts
rename to src/app/cartography/helpers/qt-dasharray-fixer.spec.ts
diff --git a/src/app/cartography/shared/helpers/qt-dasharray-fixer.ts b/src/app/cartography/helpers/qt-dasharray-fixer.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/qt-dasharray-fixer.ts
rename to src/app/cartography/helpers/qt-dasharray-fixer.ts
diff --git a/src/app/cartography/shared/helpers/svg-to-drawing-converter.spec.ts b/src/app/cartography/helpers/svg-to-drawing-converter.spec.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/svg-to-drawing-converter.spec.ts
rename to src/app/cartography/helpers/svg-to-drawing-converter.spec.ts
diff --git a/src/app/cartography/shared/helpers/svg-to-drawing-converter.ts b/src/app/cartography/helpers/svg-to-drawing-converter.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/svg-to-drawing-converter.ts
rename to src/app/cartography/helpers/svg-to-drawing-converter.ts
diff --git a/src/app/cartography/shared/helpers/svg-to-drawing-converter/ellipse-converter.spec.ts b/src/app/cartography/helpers/svg-to-drawing-converter/ellipse-converter.spec.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/svg-to-drawing-converter/ellipse-converter.spec.ts
rename to src/app/cartography/helpers/svg-to-drawing-converter/ellipse-converter.spec.ts
diff --git a/src/app/cartography/shared/helpers/svg-to-drawing-converter/ellipse-converter.ts b/src/app/cartography/helpers/svg-to-drawing-converter/ellipse-converter.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/svg-to-drawing-converter/ellipse-converter.ts
rename to src/app/cartography/helpers/svg-to-drawing-converter/ellipse-converter.ts
diff --git a/src/app/cartography/shared/helpers/svg-to-drawing-converter/image-converter.spec.ts b/src/app/cartography/helpers/svg-to-drawing-converter/image-converter.spec.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/svg-to-drawing-converter/image-converter.spec.ts
rename to src/app/cartography/helpers/svg-to-drawing-converter/image-converter.spec.ts
diff --git a/src/app/cartography/shared/helpers/svg-to-drawing-converter/image-converter.ts b/src/app/cartography/helpers/svg-to-drawing-converter/image-converter.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/svg-to-drawing-converter/image-converter.ts
rename to src/app/cartography/helpers/svg-to-drawing-converter/image-converter.ts
diff --git a/src/app/cartography/shared/helpers/svg-to-drawing-converter/line-converter.spec.ts b/src/app/cartography/helpers/svg-to-drawing-converter/line-converter.spec.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/svg-to-drawing-converter/line-converter.spec.ts
rename to src/app/cartography/helpers/svg-to-drawing-converter/line-converter.spec.ts
diff --git a/src/app/cartography/shared/helpers/svg-to-drawing-converter/line-converter.ts b/src/app/cartography/helpers/svg-to-drawing-converter/line-converter.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/svg-to-drawing-converter/line-converter.ts
rename to src/app/cartography/helpers/svg-to-drawing-converter/line-converter.ts
diff --git a/src/app/cartography/shared/helpers/svg-to-drawing-converter/rect-converter.spec.ts b/src/app/cartography/helpers/svg-to-drawing-converter/rect-converter.spec.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/svg-to-drawing-converter/rect-converter.spec.ts
rename to src/app/cartography/helpers/svg-to-drawing-converter/rect-converter.spec.ts
diff --git a/src/app/cartography/shared/helpers/svg-to-drawing-converter/rect-converter.ts b/src/app/cartography/helpers/svg-to-drawing-converter/rect-converter.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/svg-to-drawing-converter/rect-converter.ts
rename to src/app/cartography/helpers/svg-to-drawing-converter/rect-converter.ts
diff --git a/src/app/cartography/shared/helpers/svg-to-drawing-converter/svg-converter.ts b/src/app/cartography/helpers/svg-to-drawing-converter/svg-converter.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/svg-to-drawing-converter/svg-converter.ts
rename to src/app/cartography/helpers/svg-to-drawing-converter/svg-converter.ts
diff --git a/src/app/cartography/shared/helpers/svg-to-drawing-converter/text-converter.spec.ts b/src/app/cartography/helpers/svg-to-drawing-converter/text-converter.spec.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/svg-to-drawing-converter/text-converter.spec.ts
rename to src/app/cartography/helpers/svg-to-drawing-converter/text-converter.spec.ts
diff --git a/src/app/cartography/shared/helpers/svg-to-drawing-converter/text-converter.ts b/src/app/cartography/helpers/svg-to-drawing-converter/text-converter.ts
similarity index 100%
rename from src/app/cartography/shared/helpers/svg-to-drawing-converter/text-converter.ts
rename to src/app/cartography/helpers/svg-to-drawing-converter/text-converter.ts
diff --git a/src/app/cartography/shared/managers/layers-manager.spec.ts b/src/app/cartography/managers/layers-manager.spec.ts
similarity index 100%
rename from src/app/cartography/shared/managers/layers-manager.spec.ts
rename to src/app/cartography/managers/layers-manager.spec.ts
diff --git a/src/app/cartography/shared/managers/layers-manager.ts b/src/app/cartography/managers/layers-manager.ts
similarity index 100%
rename from src/app/cartography/shared/managers/layers-manager.ts
rename to src/app/cartography/managers/layers-manager.ts
diff --git a/src/app/cartography/shared/managers/selection-manager.spec.ts b/src/app/cartography/managers/selection-manager.spec.ts
similarity index 97%
rename from src/app/cartography/shared/managers/selection-manager.spec.ts
rename to src/app/cartography/managers/selection-manager.spec.ts
index 4fc83d8c..9954b015 100644
--- a/src/app/cartography/shared/managers/selection-manager.spec.ts
+++ b/src/app/cartography/managers/selection-manager.spec.ts
@@ -7,7 +7,7 @@ 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 "../../map/helpers/in-rectangle-helper";
+import { InRectangleHelper } from "../components/map/helpers/in-rectangle-helper";
import { DrawingsDataSource } from "../datasources/drawings-datasource";
diff --git a/src/app/cartography/shared/managers/selection-manager.ts b/src/app/cartography/managers/selection-manager.ts
similarity index 98%
rename from src/app/cartography/shared/managers/selection-manager.ts
rename to src/app/cartography/managers/selection-manager.ts
index 300b85e8..74a435c0 100644
--- a/src/app/cartography/shared/managers/selection-manager.ts
+++ b/src/app/cartography/managers/selection-manager.ts
@@ -6,7 +6,7 @@ import { Subscription } from "rxjs/Subscription";
import { NodesDataSource } from "../datasources/nodes-datasource";
import { LinksDataSource } from "../datasources/links-datasource";
import { Node } from "../models/node";
-import { InRectangleHelper } from "../../map/helpers/in-rectangle-helper";
+import { InRectangleHelper } from "../components/map/helpers/in-rectangle-helper";
import { Rectangle } from "../models/rectangle";
import { Link} from "../models/link";
import { DataSource } from "../datasources/datasource";
diff --git a/src/app/cartography/shared/models/context.ts b/src/app/cartography/models/context.ts
similarity index 100%
rename from src/app/cartography/shared/models/context.ts
rename to src/app/cartography/models/context.ts
diff --git a/src/app/cartography/shared/models/drawing-line.ts b/src/app/cartography/models/drawing-line.ts
similarity index 100%
rename from src/app/cartography/shared/models/drawing-line.ts
rename to src/app/cartography/models/drawing-line.ts
diff --git a/src/app/cartography/shared/models/drawing.ts b/src/app/cartography/models/drawing.ts
similarity index 100%
rename from src/app/cartography/shared/models/drawing.ts
rename to src/app/cartography/models/drawing.ts
diff --git a/src/app/cartography/shared/models/drawings/drawing-element.ts b/src/app/cartography/models/drawings/drawing-element.ts
similarity index 100%
rename from src/app/cartography/shared/models/drawings/drawing-element.ts
rename to src/app/cartography/models/drawings/drawing-element.ts
diff --git a/src/app/cartography/shared/models/drawings/ellipse-element.ts b/src/app/cartography/models/drawings/ellipse-element.ts
similarity index 100%
rename from src/app/cartography/shared/models/drawings/ellipse-element.ts
rename to src/app/cartography/models/drawings/ellipse-element.ts
diff --git a/src/app/cartography/shared/models/drawings/image-element.ts b/src/app/cartography/models/drawings/image-element.ts
similarity index 100%
rename from src/app/cartography/shared/models/drawings/image-element.ts
rename to src/app/cartography/models/drawings/image-element.ts
diff --git a/src/app/cartography/shared/models/drawings/line-element.ts b/src/app/cartography/models/drawings/line-element.ts
similarity index 100%
rename from src/app/cartography/shared/models/drawings/line-element.ts
rename to src/app/cartography/models/drawings/line-element.ts
diff --git a/src/app/cartography/shared/models/drawings/rect-element.ts b/src/app/cartography/models/drawings/rect-element.ts
similarity index 100%
rename from src/app/cartography/shared/models/drawings/rect-element.ts
rename to src/app/cartography/models/drawings/rect-element.ts
diff --git a/src/app/cartography/shared/models/drawings/text-element.ts b/src/app/cartography/models/drawings/text-element.ts
similarity index 100%
rename from src/app/cartography/shared/models/drawings/text-element.ts
rename to src/app/cartography/models/drawings/text-element.ts
diff --git a/src/app/cartography/shared/models/font.ts b/src/app/cartography/models/font.ts
similarity index 100%
rename from src/app/cartography/shared/models/font.ts
rename to src/app/cartography/models/font.ts
diff --git a/src/app/cartography/shared/models/interface-label.ts b/src/app/cartography/models/interface-label.ts
similarity index 100%
rename from src/app/cartography/shared/models/interface-label.ts
rename to src/app/cartography/models/interface-label.ts
diff --git a/src/app/cartography/shared/models/label.ts b/src/app/cartography/models/label.ts
similarity index 100%
rename from src/app/cartography/shared/models/label.ts
rename to src/app/cartography/models/label.ts
diff --git a/src/app/cartography/shared/models/layer.ts b/src/app/cartography/models/layer.ts
similarity index 100%
rename from src/app/cartography/shared/models/layer.ts
rename to src/app/cartography/models/layer.ts
diff --git a/src/app/cartography/shared/models/link-node.ts b/src/app/cartography/models/link-node.ts
similarity index 100%
rename from src/app/cartography/shared/models/link-node.ts
rename to src/app/cartography/models/link-node.ts
diff --git a/src/app/cartography/shared/models/link-status.ts b/src/app/cartography/models/link-status.ts
similarity index 100%
rename from src/app/cartography/shared/models/link-status.ts
rename to src/app/cartography/models/link-status.ts
diff --git a/src/app/cartography/shared/models/link.ts b/src/app/cartography/models/link.ts
similarity index 100%
rename from src/app/cartography/shared/models/link.ts
rename to src/app/cartography/models/link.ts
diff --git a/src/app/cartography/shared/models/node.ts b/src/app/cartography/models/node.ts
similarity index 92%
rename from src/app/cartography/shared/models/node.ts
rename to src/app/cartography/models/node.ts
index f53e16b7..a0d8ccae 100644
--- a/src/app/cartography/shared/models/node.ts
+++ b/src/app/cartography/models/node.ts
@@ -1,5 +1,5 @@
import {Label} from "./label";
-import {Port} from "../../../shared/models/port";
+import {Port} from "../../models/port";
import {Selectable} from "../managers/selection-manager";
diff --git a/src/app/cartography/shared/models/point.ts b/src/app/cartography/models/point.ts
similarity index 100%
rename from src/app/cartography/shared/models/point.ts
rename to src/app/cartography/models/point.ts
diff --git a/src/app/cartography/shared/models/rectangle.ts b/src/app/cartography/models/rectangle.ts
similarity index 100%
rename from src/app/cartography/shared/models/rectangle.ts
rename to src/app/cartography/models/rectangle.ts
diff --git a/src/app/cartography/shared/models/size.ts b/src/app/cartography/models/size.ts
similarity index 100%
rename from src/app/cartography/shared/models/size.ts
rename to src/app/cartography/models/size.ts
diff --git a/src/app/cartography/shared/models/symbol.ts b/src/app/cartography/models/symbol.ts
similarity index 100%
rename from src/app/cartography/shared/models/symbol.ts
rename to src/app/cartography/models/symbol.ts
diff --git a/src/app/cartography/shared/models/types.ts b/src/app/cartography/models/types.ts
similarity index 100%
rename from src/app/cartography/shared/models/types.ts
rename to src/app/cartography/models/types.ts
diff --git a/src/app/cartography/shared/tool.ts b/src/app/cartography/tool.ts
similarity index 100%
rename from src/app/cartography/shared/tool.ts
rename to src/app/cartography/tool.ts
diff --git a/src/app/cartography/shared/tools/moving-tool.spec.ts b/src/app/cartography/tools/moving-tool.spec.ts
similarity index 98%
rename from src/app/cartography/shared/tools/moving-tool.spec.ts
rename to src/app/cartography/tools/moving-tool.spec.ts
index c80cfb3a..233c001f 100644
--- a/src/app/cartography/shared/tools/moving-tool.spec.ts
+++ b/src/app/cartography/tools/moving-tool.spec.ts
@@ -1,7 +1,7 @@
import { Context } from "../models/context";
import { SVGSelection } from "../models/types";
import { MovingTool } from "./moving-tool";
-import { TestSVGCanvas } from "../../testing";
+import { TestSVGCanvas } from "../testing";
import { Size } from "../models/size";
diff --git a/src/app/cartography/shared/tools/moving-tool.ts b/src/app/cartography/tools/moving-tool.ts
similarity index 100%
rename from src/app/cartography/shared/tools/moving-tool.ts
rename to src/app/cartography/tools/moving-tool.ts
diff --git a/src/app/cartography/shared/tools/selection-tool.spec.ts b/src/app/cartography/tools/selection-tool.spec.ts
similarity index 98%
rename from src/app/cartography/shared/tools/selection-tool.spec.ts
rename to src/app/cartography/tools/selection-tool.spec.ts
index 5ac810d2..74c34107 100644
--- a/src/app/cartography/shared/tools/selection-tool.spec.ts
+++ b/src/app/cartography/tools/selection-tool.spec.ts
@@ -4,7 +4,7 @@ import { SelectionTool } from "./selection-tool";
import { Context } from "../models/context";
import { SVGSelection } from "../models/types";
import { Rectangle } from "../models/rectangle";
-import { TestSVGCanvas } from "../../testing";
+import { TestSVGCanvas } from "../testing";
describe('SelectionTool', () => {
diff --git a/src/app/cartography/shared/tools/selection-tool.ts b/src/app/cartography/tools/selection-tool.ts
similarity index 100%
rename from src/app/cartography/shared/tools/selection-tool.ts
rename to src/app/cartography/tools/selection-tool.ts
diff --git a/src/app/cartography/shared/widgets/drawing-line.ts b/src/app/cartography/widgets/drawing-line.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/drawing-line.ts
rename to src/app/cartography/widgets/drawing-line.ts
diff --git a/src/app/cartography/shared/widgets/drawings.ts b/src/app/cartography/widgets/drawings.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/drawings.ts
rename to src/app/cartography/widgets/drawings.ts
diff --git a/src/app/cartography/shared/widgets/drawings/drawing-widget.ts b/src/app/cartography/widgets/drawings/drawing-widget.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/drawings/drawing-widget.ts
rename to src/app/cartography/widgets/drawings/drawing-widget.ts
diff --git a/src/app/cartography/shared/widgets/drawings/ellipse-drawing.spec.ts b/src/app/cartography/widgets/drawings/ellipse-drawing.spec.ts
similarity index 97%
rename from src/app/cartography/shared/widgets/drawings/ellipse-drawing.spec.ts
rename to src/app/cartography/widgets/drawings/ellipse-drawing.spec.ts
index 800199f7..4015561f 100644
--- a/src/app/cartography/shared/widgets/drawings/ellipse-drawing.spec.ts
+++ b/src/app/cartography/widgets/drawings/ellipse-drawing.spec.ts
@@ -1,4 +1,4 @@
-import { TestSVGCanvas } from "../../../testing";
+import { TestSVGCanvas } from "../../testing";
import { Drawing } from "../../models/drawing";
import { EllipseDrawingWidget } from "./ellipse-drawing";
import { EllipseElement } from "../../models/drawings/ellipse-element";
diff --git a/src/app/cartography/shared/widgets/drawings/ellipse-drawing.ts b/src/app/cartography/widgets/drawings/ellipse-drawing.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/drawings/ellipse-drawing.ts
rename to src/app/cartography/widgets/drawings/ellipse-drawing.ts
diff --git a/src/app/cartography/shared/widgets/drawings/image-drawing.spec.ts b/src/app/cartography/widgets/drawings/image-drawing.spec.ts
similarity index 96%
rename from src/app/cartography/shared/widgets/drawings/image-drawing.spec.ts
rename to src/app/cartography/widgets/drawings/image-drawing.spec.ts
index a2fbfb43..a722ff23 100644
--- a/src/app/cartography/shared/widgets/drawings/image-drawing.spec.ts
+++ b/src/app/cartography/widgets/drawings/image-drawing.spec.ts
@@ -1,4 +1,4 @@
-import { TestSVGCanvas } from "../../../testing";
+import { TestSVGCanvas } from "../../testing";
import { Drawing } from "../../models/drawing";
import { ImageDrawingWidget } from "./image-drawing";
import { ImageElement } from "../../models/drawings/image-element";
diff --git a/src/app/cartography/shared/widgets/drawings/image-drawing.ts b/src/app/cartography/widgets/drawings/image-drawing.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/drawings/image-drawing.ts
rename to src/app/cartography/widgets/drawings/image-drawing.ts
diff --git a/src/app/cartography/shared/widgets/drawings/line-drawing.spec.ts b/src/app/cartography/widgets/drawings/line-drawing.spec.ts
similarity index 97%
rename from src/app/cartography/shared/widgets/drawings/line-drawing.spec.ts
rename to src/app/cartography/widgets/drawings/line-drawing.spec.ts
index 727129e7..cfe1739e 100644
--- a/src/app/cartography/shared/widgets/drawings/line-drawing.spec.ts
+++ b/src/app/cartography/widgets/drawings/line-drawing.spec.ts
@@ -1,4 +1,4 @@
-import { TestSVGCanvas } from "../../../testing";
+import { TestSVGCanvas } from "../../testing";
import { Drawing } from "../../models/drawing";
import { LineDrawingWidget } from "./line-drawing";
import { LineElement } from "../../models/drawings/line-element";
diff --git a/src/app/cartography/shared/widgets/drawings/line-drawing.ts b/src/app/cartography/widgets/drawings/line-drawing.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/drawings/line-drawing.ts
rename to src/app/cartography/widgets/drawings/line-drawing.ts
diff --git a/src/app/cartography/shared/widgets/drawings/rect-drawing.spec.ts b/src/app/cartography/widgets/drawings/rect-drawing.spec.ts
similarity index 97%
rename from src/app/cartography/shared/widgets/drawings/rect-drawing.spec.ts
rename to src/app/cartography/widgets/drawings/rect-drawing.spec.ts
index a77a4adb..195ef634 100644
--- a/src/app/cartography/shared/widgets/drawings/rect-drawing.spec.ts
+++ b/src/app/cartography/widgets/drawings/rect-drawing.spec.ts
@@ -1,4 +1,4 @@
-import { TestSVGCanvas } from "../../../testing";
+import { TestSVGCanvas } from "../../testing";
import { Drawing } from "../../models/drawing";
import { RectDrawingWidget } from "./rect-drawing";
import { RectElement } from "../../models/drawings/rect-element";
diff --git a/src/app/cartography/shared/widgets/drawings/rect-drawing.ts b/src/app/cartography/widgets/drawings/rect-drawing.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/drawings/rect-drawing.ts
rename to src/app/cartography/widgets/drawings/rect-drawing.ts
diff --git a/src/app/cartography/shared/widgets/drawings/text-drawing.spec.ts b/src/app/cartography/widgets/drawings/text-drawing.spec.ts
similarity index 98%
rename from src/app/cartography/shared/widgets/drawings/text-drawing.spec.ts
rename to src/app/cartography/widgets/drawings/text-drawing.spec.ts
index dd49bdee..e7ce563d 100644
--- a/src/app/cartography/shared/widgets/drawings/text-drawing.spec.ts
+++ b/src/app/cartography/widgets/drawings/text-drawing.spec.ts
@@ -1,4 +1,4 @@
-import { TestSVGCanvas } from "../../../testing";
+import { TestSVGCanvas } from "../../testing";
import { TextDrawingWidget } from "./text-drawing";
import { Drawing } from "../../models/drawing";
import { TextElement } from "../../models/drawings/text-element";
diff --git a/src/app/cartography/shared/widgets/drawings/text-drawing.ts b/src/app/cartography/widgets/drawings/text-drawing.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/drawings/text-drawing.ts
rename to src/app/cartography/widgets/drawings/text-drawing.ts
diff --git a/src/app/cartography/shared/widgets/ethernet-link.ts b/src/app/cartography/widgets/ethernet-link.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/ethernet-link.ts
rename to src/app/cartography/widgets/ethernet-link.ts
diff --git a/src/app/cartography/shared/widgets/graph-layout.spec.ts b/src/app/cartography/widgets/graph-layout.spec.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/graph-layout.spec.ts
rename to src/app/cartography/widgets/graph-layout.spec.ts
diff --git a/src/app/cartography/shared/widgets/graph-layout.ts b/src/app/cartography/widgets/graph-layout.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/graph-layout.ts
rename to src/app/cartography/widgets/graph-layout.ts
diff --git a/src/app/cartography/shared/widgets/interface-label.spec.ts b/src/app/cartography/widgets/interface-label.spec.ts
similarity index 98%
rename from src/app/cartography/shared/widgets/interface-label.spec.ts
rename to src/app/cartography/widgets/interface-label.spec.ts
index 84c151bb..2860baab 100644
--- a/src/app/cartography/shared/widgets/interface-label.spec.ts
+++ b/src/app/cartography/widgets/interface-label.spec.ts
@@ -1,6 +1,6 @@
import { Selection } from "d3-selection";
-import { TestSVGCanvas } from "../../testing";
+import { TestSVGCanvas } from "../testing";
import { Node } from "../models/node";
import { Link } from "../models/link";
import { LinkNode } from "../models/link-node";
diff --git a/src/app/cartography/shared/widgets/interface-label.ts b/src/app/cartography/widgets/interface-label.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/interface-label.ts
rename to src/app/cartography/widgets/interface-label.ts
diff --git a/src/app/cartography/shared/widgets/layers.spec.ts b/src/app/cartography/widgets/layers.spec.ts
similarity index 98%
rename from src/app/cartography/shared/widgets/layers.spec.ts
rename to src/app/cartography/widgets/layers.spec.ts
index 88c55220..4ab9ec08 100644
--- a/src/app/cartography/shared/widgets/layers.spec.ts
+++ b/src/app/cartography/widgets/layers.spec.ts
@@ -1,6 +1,6 @@
import { instance, mock, when } from "ts-mockito";
-import { TestSVGCanvas } from "../../testing";
+import { TestSVGCanvas } from "../testing";
import { LayersWidget } from "./layers";
import { Layer } from "../models/layer";
import { LinksWidget } from "./links";
@@ -30,7 +30,7 @@ describe('LayersWidget', () => {
when(mockedGraphLayout.getDrawingsWidget()).thenReturn(instance(mockedDrawingsWidget));
widget.graphLayout = instance(mockedGraphLayout);
-
+
const layer_1 = new Layer();
layer_1.index = 1;
const layer_2 = new Layer();
diff --git a/src/app/cartography/shared/widgets/layers.ts b/src/app/cartography/widgets/layers.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/layers.ts
rename to src/app/cartography/widgets/layers.ts
diff --git a/src/app/cartography/shared/widgets/links.spec.ts b/src/app/cartography/widgets/links.spec.ts
similarity index 97%
rename from src/app/cartography/shared/widgets/links.spec.ts
rename to src/app/cartography/widgets/links.spec.ts
index 8b16fd5b..06f48fd9 100644
--- a/src/app/cartography/shared/widgets/links.spec.ts
+++ b/src/app/cartography/widgets/links.spec.ts
@@ -2,7 +2,7 @@ import { anything, instance, mock, verify } from "ts-mockito";
import { Selection } from "d3-selection";
-import { TestSVGCanvas } from "../../testing";
+import { TestSVGCanvas } from "../testing";
import { Layer } from "../models/layer";
import { LinksWidget } from "./links";
import { Node } from "../models/node";
diff --git a/src/app/cartography/shared/widgets/links.ts b/src/app/cartography/widgets/links.ts
similarity index 97%
rename from src/app/cartography/shared/widgets/links.ts
rename to src/app/cartography/widgets/links.ts
index a01f9735..9ba7b2e8 100644
--- a/src/app/cartography/shared/widgets/links.ts
+++ b/src/app/cartography/widgets/links.ts
@@ -4,7 +4,7 @@ import { Widget } from "./widget";
import { SVGSelection } from "../models/types";
import { Link } from "../models/link";
import { LinkStatus } from "../models/link-status";
-import { MultiLinkCalculatorHelper } from "../../map/helpers/multi-link-calculator-helper";
+import { MultiLinkCalculatorHelper } from "../components/map/helpers/multi-link-calculator-helper";
import { SerialLinkWidget } from "./serial-link";
import { EthernetLinkWidget } from "./ethernet-link";
import { Layer } from "../models/layer";
diff --git a/src/app/cartography/shared/widgets/nodes.spec.ts b/src/app/cartography/widgets/nodes.spec.ts
similarity index 97%
rename from src/app/cartography/shared/widgets/nodes.spec.ts
rename to src/app/cartography/widgets/nodes.spec.ts
index f2458482..9283d2de 100644
--- a/src/app/cartography/shared/widgets/nodes.spec.ts
+++ b/src/app/cartography/widgets/nodes.spec.ts
@@ -1,5 +1,5 @@
-import { TestSVGCanvas } from "../../testing";
+import { TestSVGCanvas } from "../testing";
import { NodesWidget } from "./nodes";
import { Node } from "../models/node";
import { Label } from "../models/label";
diff --git a/src/app/cartography/shared/widgets/nodes.ts b/src/app/cartography/widgets/nodes.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/nodes.ts
rename to src/app/cartography/widgets/nodes.ts
diff --git a/src/app/cartography/shared/widgets/serial-link.ts b/src/app/cartography/widgets/serial-link.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/serial-link.ts
rename to src/app/cartography/widgets/serial-link.ts
diff --git a/src/app/cartography/shared/widgets/widget.ts b/src/app/cartography/widgets/widget.ts
similarity index 100%
rename from src/app/cartography/shared/widgets/widget.ts
rename to src/app/cartography/widgets/widget.ts
diff --git a/src/app/shared/progress-dialog/progress-dialog.component.html b/src/app/common/progress-dialog/progress-dialog.component.html
similarity index 100%
rename from src/app/shared/progress-dialog/progress-dialog.component.html
rename to src/app/common/progress-dialog/progress-dialog.component.html
diff --git a/src/app/shared/progress-dialog/progress-dialog.component.scss b/src/app/common/progress-dialog/progress-dialog.component.scss
similarity index 100%
rename from src/app/shared/progress-dialog/progress-dialog.component.scss
rename to src/app/common/progress-dialog/progress-dialog.component.scss
diff --git a/src/app/shared/progress-dialog/progress-dialog.component.spec.ts b/src/app/common/progress-dialog/progress-dialog.component.spec.ts
similarity index 100%
rename from src/app/shared/progress-dialog/progress-dialog.component.spec.ts
rename to src/app/common/progress-dialog/progress-dialog.component.spec.ts
diff --git a/src/app/shared/progress-dialog/progress-dialog.component.ts b/src/app/common/progress-dialog/progress-dialog.component.ts
similarity index 100%
rename from src/app/shared/progress-dialog/progress-dialog.component.ts
rename to src/app/common/progress-dialog/progress-dialog.component.ts
diff --git a/src/app/shared/progress-dialog/progress-dialog.service.spec.ts b/src/app/common/progress-dialog/progress-dialog.service.spec.ts
similarity index 100%
rename from src/app/shared/progress-dialog/progress-dialog.service.spec.ts
rename to src/app/common/progress-dialog/progress-dialog.service.spec.ts
diff --git a/src/app/shared/progress-dialog/progress-dialog.service.ts b/src/app/common/progress-dialog/progress-dialog.service.ts
similarity index 100%
rename from src/app/shared/progress-dialog/progress-dialog.service.ts
rename to src/app/common/progress-dialog/progress-dialog.service.ts
diff --git a/src/app/common/progress/progress.component.html b/src/app/common/progress/progress.component.html
new file mode 100644
index 00000000..c240c710
--- /dev/null
+++ b/src/app/common/progress/progress.component.html
@@ -0,0 +1,8 @@
+
+
+
diff --git a/src/app/common/progress/progress.component.scss b/src/app/common/progress/progress.component.scss
new file mode 100644
index 00000000..8bfff484
--- /dev/null
+++ b/src/app/common/progress/progress.component.scss
@@ -0,0 +1,18 @@
+.overlay {
+ position: fixed;
+ width: 100%;
+ height: 100%;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: rgba(0,0,0,0.5);
+ z-index: 1000;
+}
+
+.loading-spinner {
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+}
diff --git a/src/app/common/progress/progress.component.spec.ts b/src/app/common/progress/progress.component.spec.ts
new file mode 100644
index 00000000..5780e205
--- /dev/null
+++ b/src/app/common/progress/progress.component.spec.ts
@@ -0,0 +1,48 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ProgressComponent } from './progress.component';
+import { MatProgressSpinnerModule } from "@angular/material";
+import { ProgressService } from "./progress.service";
+
+describe('ProgressComponent', () => {
+ let component: ProgressComponent;
+ let fixture: ComponentFixture;
+ let progressService: ProgressService;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ imports: [
+ MatProgressSpinnerModule,
+ ],
+ providers: [ ProgressService ],
+ declarations: [ ProgressComponent ]
+ })
+ .compileComponents();
+
+ progressService = TestBed.get(ProgressService);
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(ProgressComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create and be invisible', () => {
+ expect(component).toBeTruthy();
+ expect(component.visible).toEqual(false);
+ });
+
+ it( 'should change visibility when activated', () => {
+ progressService.activate();
+ expect(component.visible).toEqual(true);
+ });
+
+ it( 'should change visibility when deactivated', () => {
+ component.visible = true;
+
+ progressService.deactivate();
+ expect(component.visible).toEqual(false);
+ });
+
+});
diff --git a/src/app/common/progress/progress.component.ts b/src/app/common/progress/progress.component.ts
new file mode 100644
index 00000000..3a823ad2
--- /dev/null
+++ b/src/app/common/progress/progress.component.ts
@@ -0,0 +1,22 @@
+import { Component, OnInit } from '@angular/core';
+import { ProgressService } from "./progress.service";
+
+@Component({
+ selector: 'app-progress',
+ templateUrl: './progress.component.html',
+ styleUrls: ['./progress.component.scss']
+})
+export class ProgressComponent implements OnInit {
+ visible = false;
+
+ constructor(
+ private progressService: ProgressService
+ ) { }
+
+ ngOnInit() {
+ this.progressService.state.subscribe((state) => {
+ this.visible = state.visible;
+ });
+ }
+
+}
diff --git a/src/app/common/progress/progress.service.spec.ts b/src/app/common/progress/progress.service.spec.ts
new file mode 100644
index 00000000..dc375e57
--- /dev/null
+++ b/src/app/common/progress/progress.service.spec.ts
@@ -0,0 +1,16 @@
+import { TestBed, inject } from '@angular/core/testing';
+
+import { ProgressService } from './progress.service';
+
+
+describe('ProgressService', () => {
+ beforeEach(() => {
+ TestBed.configureTestingModule({
+ providers: [ProgressService]
+ });
+ });
+
+ it('should be created', inject([ProgressService], (service: ProgressService) => {
+ expect(service).toBeTruthy();
+ }));
+});
diff --git a/src/app/common/progress/progress.service.ts b/src/app/common/progress/progress.service.ts
new file mode 100644
index 00000000..1ac037a0
--- /dev/null
+++ b/src/app/common/progress/progress.service.ts
@@ -0,0 +1,28 @@
+import { Injectable } from '@angular/core';
+
+import { BehaviorSubject } from "rxjs/BehaviorSubject";
+
+
+export class State {
+ public visible: boolean;
+
+ constructor(visible: boolean) {
+ this.visible = visible;
+ }
+}
+
+@Injectable()
+export class ProgressService {
+ state = new BehaviorSubject(new State(false));
+
+ constructor() {}
+
+ public activate() {
+ this.state.next(new State(true));
+ }
+
+ public deactivate() {
+ this.state.next(new State(false));
+ }
+
+}
diff --git a/src/app/appliance/appliance-list-dialog/appliance-list-dialog.component.html b/src/app/components/appliance/appliance-list-dialog/appliance-list-dialog.component.html
similarity index 100%
rename from src/app/appliance/appliance-list-dialog/appliance-list-dialog.component.html
rename to src/app/components/appliance/appliance-list-dialog/appliance-list-dialog.component.html
diff --git a/src/app/appliance/appliance-list-dialog/appliance-list-dialog.component.scss b/src/app/components/appliance/appliance-list-dialog/appliance-list-dialog.component.scss
similarity index 100%
rename from src/app/appliance/appliance-list-dialog/appliance-list-dialog.component.scss
rename to src/app/components/appliance/appliance-list-dialog/appliance-list-dialog.component.scss
diff --git a/src/app/appliance/appliance-list-dialog/appliance-list-dialog.component.spec.ts b/src/app/components/appliance/appliance-list-dialog/appliance-list-dialog.component.spec.ts
similarity index 100%
rename from src/app/appliance/appliance-list-dialog/appliance-list-dialog.component.spec.ts
rename to src/app/components/appliance/appliance-list-dialog/appliance-list-dialog.component.spec.ts
diff --git a/src/app/appliance/appliance-list-dialog/appliance-list-dialog.component.ts b/src/app/components/appliance/appliance-list-dialog/appliance-list-dialog.component.ts
similarity index 91%
rename from src/app/appliance/appliance-list-dialog/appliance-list-dialog.component.ts
rename to src/app/components/appliance/appliance-list-dialog/appliance-list-dialog.component.ts
index 23b0f7df..f3be6582 100644
--- a/src/app/appliance/appliance-list-dialog/appliance-list-dialog.component.ts
+++ b/src/app/components/appliance/appliance-list-dialog/appliance-list-dialog.component.ts
@@ -1,12 +1,14 @@
-import {Component, ElementRef, Inject, Input, OnInit, ViewChild} from '@angular/core';
+import {Component, ElementRef, Inject, OnInit, ViewChild} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material";
import {DataSource} from "@angular/cdk/collections";
+
import {Observable} from "rxjs/Observable";
-import {Appliance} from "../../shared/models/appliance";
-import {ApplianceService} from "../../shared/services/appliance.service";
-import {Server} from "../../shared/models/server";
import {BehaviorSubject} from "rxjs/BehaviorSubject";
+import { Server } from "../../../models/server";
+import { ApplianceService } from "../../../services/appliance.service";
+import { Appliance } from "../../../models/appliance";
+
import 'rxjs/add/operator/startWith';
import 'rxjs/add/observable/merge';
import 'rxjs/add/operator/map';
diff --git a/src/app/appliance/appliance.component.html b/src/app/components/appliance/appliance.component.html
similarity index 100%
rename from src/app/appliance/appliance.component.html
rename to src/app/components/appliance/appliance.component.html
diff --git a/src/app/appliance/appliance.component.scss b/src/app/components/appliance/appliance.component.scss
similarity index 100%
rename from src/app/appliance/appliance.component.scss
rename to src/app/components/appliance/appliance.component.scss
diff --git a/src/app/appliance/appliance.component.spec.ts b/src/app/components/appliance/appliance.component.spec.ts
similarity index 100%
rename from src/app/appliance/appliance.component.spec.ts
rename to src/app/components/appliance/appliance.component.spec.ts
diff --git a/src/app/appliance/appliance.component.ts b/src/app/components/appliance/appliance.component.ts
similarity index 90%
rename from src/app/appliance/appliance.component.ts
rename to src/app/components/appliance/appliance.component.ts
index 9b18011b..6eb7801f 100644
--- a/src/app/appliance/appliance.component.ts
+++ b/src/app/components/appliance/appliance.component.ts
@@ -2,8 +2,8 @@ import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
import {MatDialog} from "@angular/material";
import {ApplianceListDialogComponent} from "./appliance-list-dialog/appliance-list-dialog.component";
-import {Server} from "../shared/models/server";
-import {Appliance} from "../shared/models/appliance";
+import {Server} from "../../models/server";
+import {Appliance} from "../../models/appliance";
@Component({
selector: 'app-appliance',
diff --git a/src/app/local-server/local-server.component.html b/src/app/components/local-server/local-server.component.html
similarity index 100%
rename from src/app/local-server/local-server.component.html
rename to src/app/components/local-server/local-server.component.html
diff --git a/src/app/local-server/local-server.component.scss b/src/app/components/local-server/local-server.component.scss
similarity index 100%
rename from src/app/local-server/local-server.component.scss
rename to src/app/components/local-server/local-server.component.scss
diff --git a/src/app/components/local-server/local-server.component.spec.ts b/src/app/components/local-server/local-server.component.spec.ts
new file mode 100644
index 00000000..68829ef4
--- /dev/null
+++ b/src/app/components/local-server/local-server.component.spec.ts
@@ -0,0 +1,60 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { LocalServerComponent } from './local-server.component';
+import { Location } from "@angular/common";
+import { RouterTestingModule } from "@angular/router/testing";
+import { Router } from "@angular/router";
+import { ServerService } from "../../services/server.service";
+import { MockedServerService } from "../../services/server.service.spec";
+
+
+class MockedLocation {
+ private _hostname: string;
+ private _port: number;
+
+ get hostname(): string {
+ return this._hostname;
+ }
+
+ set hostname(hostname: string) {
+ this._hostname = hostname;
+ }
+
+ get port(): number {
+ return this._port;
+ }
+
+ set port(port: number) {
+ this._port = port;
+ }
+}
+
+describe('LocalServerComponent', () => {
+ let component: LocalServerComponent;
+ let fixture: ComponentFixture;
+ let router: Router;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ imports: [ RouterTestingModule.withRoutes([]) ],
+ providers: [
+ { provide: Location, useClass: MockedLocation},
+ { provide: ServerService, useClass: MockedServerService }
+ ],
+ declarations: [ LocalServerComponent ]
+ })
+ .compileComponents();
+
+ router = TestBed.get(Router);
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(LocalServerComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/local-server/local-server.component.ts b/src/app/components/local-server/local-server.component.ts
similarity index 85%
rename from src/app/local-server/local-server.component.ts
rename to src/app/components/local-server/local-server.component.ts
index fd1a8964..5e86de50 100644
--- a/src/app/local-server/local-server.component.ts
+++ b/src/app/components/local-server/local-server.component.ts
@@ -2,8 +2,8 @@ import { Component, OnInit } from '@angular/core';
import { Location } from "@angular/common";
import { Router } from "@angular/router";
-import { ServerService } from "../shared/services/server.service";
-import { Server } from "../shared/models/server";
+import { ServerService } from "../../services/server.service";
+import { Server } from "../../models/server";
@Component({
diff --git a/src/app/project-map/create-snapshot-dialog.html b/src/app/components/project-map/create-snapshot-dialog.html
similarity index 100%
rename from src/app/project-map/create-snapshot-dialog.html
rename to src/app/components/project-map/create-snapshot-dialog.html
diff --git a/src/app/shared/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component.html b/src/app/components/project-map/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component.html
similarity index 100%
rename from src/app/shared/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component.html
rename to src/app/components/project-map/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component.html
diff --git a/src/app/shared/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component.spec.ts b/src/app/components/project-map/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component.spec.ts
similarity index 100%
rename from src/app/shared/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component.spec.ts
rename to src/app/components/project-map/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component.spec.ts
diff --git a/src/app/shared/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component.ts b/src/app/components/project-map/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component.ts
similarity index 68%
rename from src/app/shared/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component.ts
rename to src/app/components/project-map/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component.ts
index 81a7051f..709e080e 100644
--- a/src/app/shared/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component.ts
+++ b/src/app/components/project-map/node-context-menu/actions/move-layer-down-action/move-layer-down-action.component.ts
@@ -1,8 +1,8 @@
import { Component, OnInit, Input } from '@angular/core';
-import { Server } from '../../../models/server';
-import { Node } from '../../../../cartography/shared/models/node';
-import { NodesDataSource } from '../../../../cartography/shared/datasources/nodes-datasource';
-import { NodeService } from '../../../services/node.service';
+import { Server } from '../../../../../models/server';
+import { Node } from '../../../../../cartography/models/node';
+import { NodesDataSource } from '../../../../../cartography/datasources/nodes-datasource';
+import { NodeService } from '../../../../../services/node.service';
@Component({
selector: 'app-move-layer-down-action',
diff --git a/src/app/shared/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component.html b/src/app/components/project-map/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component.html
similarity index 100%
rename from src/app/shared/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component.html
rename to src/app/components/project-map/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component.html
diff --git a/src/app/shared/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component.spec.ts b/src/app/components/project-map/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component.spec.ts
similarity index 100%
rename from src/app/shared/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component.spec.ts
rename to src/app/components/project-map/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component.spec.ts
diff --git a/src/app/shared/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component.ts b/src/app/components/project-map/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component.ts
similarity index 66%
rename from src/app/shared/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component.ts
rename to src/app/components/project-map/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component.ts
index 0b55f258..564405e1 100644
--- a/src/app/shared/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component.ts
+++ b/src/app/components/project-map/node-context-menu/actions/move-layer-up-action/move-layer-up-action.component.ts
@@ -1,8 +1,8 @@
import { Component, OnInit, Input } from '@angular/core';
-import { Server } from '../../../models/server';
-import { Node } from '../../../../cartography/shared/models/node';
-import { NodesDataSource } from '../../../../cartography/shared/datasources/nodes-datasource';
-import { NodeService } from '../../../services/node.service';
+import { Server } from '../../../../../models/server';
+import { Node } from '../../../../../cartography/models/node';
+import { NodesDataSource } from '../../../../../cartography/datasources/nodes-datasource';
+import { NodeService } from '../../../../../services/node.service';
@Component({
selector: 'app-move-layer-up-action',
diff --git a/src/app/shared/node-context-menu/actions/start-node-action/start-node-action.component.html b/src/app/components/project-map/node-context-menu/actions/start-node-action/start-node-action.component.html
similarity index 100%
rename from src/app/shared/node-context-menu/actions/start-node-action/start-node-action.component.html
rename to src/app/components/project-map/node-context-menu/actions/start-node-action/start-node-action.component.html
diff --git a/src/app/shared/node-context-menu/actions/start-node-action/start-node-action.component.spec.ts b/src/app/components/project-map/node-context-menu/actions/start-node-action/start-node-action.component.spec.ts
similarity index 100%
rename from src/app/shared/node-context-menu/actions/start-node-action/start-node-action.component.spec.ts
rename to src/app/components/project-map/node-context-menu/actions/start-node-action/start-node-action.component.spec.ts
diff --git a/src/app/shared/node-context-menu/actions/start-node-action/start-node-action.component.ts b/src/app/components/project-map/node-context-menu/actions/start-node-action/start-node-action.component.ts
similarity index 72%
rename from src/app/shared/node-context-menu/actions/start-node-action/start-node-action.component.ts
rename to src/app/components/project-map/node-context-menu/actions/start-node-action/start-node-action.component.ts
index f13e7b73..cd8b6911 100644
--- a/src/app/shared/node-context-menu/actions/start-node-action/start-node-action.component.ts
+++ b/src/app/components/project-map/node-context-menu/actions/start-node-action/start-node-action.component.ts
@@ -1,7 +1,7 @@
import {Component, Input, OnInit} from '@angular/core';
-import {Server} from "../../../models/server";
-import {NodeService} from "../../../services/node.service";
-import {Node} from "../../../../cartography/shared/models/node";
+import {Server} from "../../../../../models/server";
+import {NodeService} from "../../../../../services/node.service";
+import {Node} from "../../../../../cartography/models/node";
@Component({
@@ -20,7 +20,7 @@ export class StartNodeActionComponent implements OnInit {
this.nodeService
.start(this.server, this.node)
.subscribe((n: Node) => {
-
+
});
}
diff --git a/src/app/shared/node-context-menu/actions/stop-node-action/stop-node-action.component.html b/src/app/components/project-map/node-context-menu/actions/stop-node-action/stop-node-action.component.html
similarity index 100%
rename from src/app/shared/node-context-menu/actions/stop-node-action/stop-node-action.component.html
rename to src/app/components/project-map/node-context-menu/actions/stop-node-action/stop-node-action.component.html
diff --git a/src/app/shared/node-context-menu/actions/stop-node-action/stop-node-action.component.spec.ts b/src/app/components/project-map/node-context-menu/actions/stop-node-action/stop-node-action.component.spec.ts
similarity index 100%
rename from src/app/shared/node-context-menu/actions/stop-node-action/stop-node-action.component.spec.ts
rename to src/app/components/project-map/node-context-menu/actions/stop-node-action/stop-node-action.component.spec.ts
diff --git a/src/app/shared/node-context-menu/actions/stop-node-action/stop-node-action.component.ts b/src/app/components/project-map/node-context-menu/actions/stop-node-action/stop-node-action.component.ts
similarity index 72%
rename from src/app/shared/node-context-menu/actions/stop-node-action/stop-node-action.component.ts
rename to src/app/components/project-map/node-context-menu/actions/stop-node-action/stop-node-action.component.ts
index 3885f45d..2edd306b 100644
--- a/src/app/shared/node-context-menu/actions/stop-node-action/stop-node-action.component.ts
+++ b/src/app/components/project-map/node-context-menu/actions/stop-node-action/stop-node-action.component.ts
@@ -1,7 +1,7 @@
import {Component, Input, OnInit} from '@angular/core';
-import {Server} from "../../../models/server";
-import {NodeService} from "../../../services/node.service";
-import {Node} from "../../../../cartography/shared/models/node";
+import {Server} from "../../../../../models/server";
+import {NodeService} from "../../../../../services/node.service";
+import {Node} from "../../../../../cartography/models/node";
@Component({
diff --git a/src/app/shared/node-context-menu/node-context-menu.component.html b/src/app/components/project-map/node-context-menu/node-context-menu.component.html
similarity index 100%
rename from src/app/shared/node-context-menu/node-context-menu.component.html
rename to src/app/components/project-map/node-context-menu/node-context-menu.component.html
diff --git a/src/app/shared/node-context-menu/node-context-menu.component.scss b/src/app/components/project-map/node-context-menu/node-context-menu.component.scss
similarity index 100%
rename from src/app/shared/node-context-menu/node-context-menu.component.scss
rename to src/app/components/project-map/node-context-menu/node-context-menu.component.scss
diff --git a/src/app/shared/node-context-menu/node-context-menu.component.spec.ts b/src/app/components/project-map/node-context-menu/node-context-menu.component.spec.ts
similarity index 100%
rename from src/app/shared/node-context-menu/node-context-menu.component.spec.ts
rename to src/app/components/project-map/node-context-menu/node-context-menu.component.spec.ts
diff --git a/src/app/shared/node-context-menu/node-context-menu.component.ts b/src/app/components/project-map/node-context-menu/node-context-menu.component.ts
similarity index 84%
rename from src/app/shared/node-context-menu/node-context-menu.component.ts
rename to src/app/components/project-map/node-context-menu/node-context-menu.component.ts
index 4f4ad8ea..22927c9e 100644
--- a/src/app/shared/node-context-menu/node-context-menu.component.ts
+++ b/src/app/components/project-map/node-context-menu/node-context-menu.component.ts
@@ -1,10 +1,10 @@
import { ChangeDetectorRef, Component, Input, OnInit, ViewChild } from '@angular/core';
import { MatMenuTrigger } from "@angular/material";
import { DomSanitizer } from "@angular/platform-browser";
-import { Node } from "../../cartography/shared/models/node";
-import { Server } from "../models/server";
-import { Project } from "../models/project";
-import { ProjectService } from "../services/project.service";
+import { Node } from "../../../cartography/models/node";
+import { Server } from "../../../models/server";
+import { Project } from "../../../models/project";
+import { ProjectService } from "../../../services/project.service";
@Component({
diff --git a/src/app/shared/node-select-interface/node-select-interface.component.html b/src/app/components/project-map/node-select-interface/node-select-interface.component.html
similarity index 100%
rename from src/app/shared/node-select-interface/node-select-interface.component.html
rename to src/app/components/project-map/node-select-interface/node-select-interface.component.html
diff --git a/src/app/shared/node-select-interface/node-select-interface.component.scss b/src/app/components/project-map/node-select-interface/node-select-interface.component.scss
similarity index 100%
rename from src/app/shared/node-select-interface/node-select-interface.component.scss
rename to src/app/components/project-map/node-select-interface/node-select-interface.component.scss
diff --git a/src/app/shared/node-select-interface/node-select-interface.component.spec.ts b/src/app/components/project-map/node-select-interface/node-select-interface.component.spec.ts
similarity index 100%
rename from src/app/shared/node-select-interface/node-select-interface.component.spec.ts
rename to src/app/components/project-map/node-select-interface/node-select-interface.component.spec.ts
diff --git a/src/app/shared/node-select-interface/node-select-interface.component.ts b/src/app/components/project-map/node-select-interface/node-select-interface.component.ts
similarity index 93%
rename from src/app/shared/node-select-interface/node-select-interface.component.ts
rename to src/app/components/project-map/node-select-interface/node-select-interface.component.ts
index ecc3818f..8b5100dc 100644
--- a/src/app/shared/node-select-interface/node-select-interface.component.ts
+++ b/src/app/components/project-map/node-select-interface/node-select-interface.component.ts
@@ -1,8 +1,8 @@
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";
-import {Port} from "../models/port";
+import {Node} from "../../../cartography/models/node";
+import {Port} from "../../../models/port";
@Component({
diff --git a/src/app/project-map/project-map-shortcuts/project-map-shortcuts.component.spec.ts b/src/app/components/project-map/project-map-shortcuts/project-map-shortcuts.component.spec.ts
similarity index 81%
rename from src/app/project-map/project-map-shortcuts/project-map-shortcuts.component.spec.ts
rename to src/app/components/project-map/project-map-shortcuts/project-map-shortcuts.component.spec.ts
index 2b611a23..3ff08746 100644
--- a/src/app/project-map/project-map-shortcuts/project-map-shortcuts.component.spec.ts
+++ b/src/app/components/project-map/project-map-shortcuts/project-map-shortcuts.component.spec.ts
@@ -7,19 +7,17 @@ import { HotkeyModule, HotkeysService, Hotkey } from "angular2-hotkeys";
import { Observable } from "rxjs";
import { ProjectMapShortcutsComponent } from './project-map-shortcuts.component';
-import {
- ToasterService,
- MockedToasterService
-} from "../../shared/services/toaster.service";
-import { NodeService } from "../../shared/services/node.service";
-import { HttpServer } from "../../shared/services/http-server.service";
-import { SelectionManager } from "../../cartography/shared/managers/selection-manager";
-import { Server } from "../../shared/models/server";
-import { Node } from "../../cartography/shared/models/node";
-import { Project } from "../../shared/models/project";
-import { ProjectService } from "../../shared/services/project.service";
-import { MockedProjectService } from "../../shared/services/project.service.spec";
-import { SettingsService } from "../../shared/services/settings.service";
+import { ToasterService, } from "../../../services/toaster.service";
+import { NodeService } from "../../../services/node.service";
+import { HttpServer } from "../../../services/http-server.service";
+import { SelectionManager } from "../../../cartography/managers/selection-manager";
+import { Server } from "../../../models/server";
+import { Node } from "../../../cartography/models/node";
+import { Project } from "../../../models/project";
+import { ProjectService } from "../../../services/project.service";
+import { MockedProjectService } from "../../../services/project.service.spec";
+import { SettingsService } from "../../../services/settings.service";
+import { MockedToasterService } from "../../../services/toaster.service.spec";
describe('ProjectMapShortcutsComponent', () => {
diff --git a/src/app/project-map/project-map-shortcuts/project-map-shortcuts.component.ts b/src/app/components/project-map/project-map-shortcuts/project-map-shortcuts.component.ts
similarity index 75%
rename from src/app/project-map/project-map-shortcuts/project-map-shortcuts.component.ts
rename to src/app/components/project-map/project-map-shortcuts/project-map-shortcuts.component.ts
index 493de4c2..1e4813f3 100644
--- a/src/app/project-map/project-map-shortcuts/project-map-shortcuts.component.ts
+++ b/src/app/components/project-map/project-map-shortcuts/project-map-shortcuts.component.ts
@@ -1,12 +1,12 @@
import { Component, OnInit, OnDestroy, Input } from '@angular/core';
import { HotkeysService, Hotkey } from 'angular2-hotkeys';
-import { SelectionManager } from '../../cartography/shared/managers/selection-manager';
-import { NodeService } from '../../shared/services/node.service';
-import { Server } from '../../shared/models/server';
-import { ToasterService } from '../../shared/services/toaster.service';
-import { Project } from "../../shared/models/project";
-import { ProjectService } from "../../shared/services/project.service";
+import { SelectionManager } from '../../../cartography/managers/selection-manager';
+import { NodeService } from '../../../services/node.service';
+import { Server } from '../../../models/server';
+import { ToasterService } from '../../../services/toaster.service';
+import { Project } from "../../../models/project";
+import { ProjectService } from "../../../services/project.service";
@Component({
diff --git a/src/app/project-map/project-map.component.css b/src/app/components/project-map/project-map.component.css
similarity index 100%
rename from src/app/project-map/project-map.component.css
rename to src/app/components/project-map/project-map.component.css
diff --git a/src/app/project-map/project-map.component.html b/src/app/components/project-map/project-map.component.html
similarity index 100%
rename from src/app/project-map/project-map.component.html
rename to src/app/components/project-map/project-map.component.html
diff --git a/src/app/project-map/project-map.component.spec.ts b/src/app/components/project-map/project-map.component.spec.ts
similarity index 100%
rename from src/app/project-map/project-map.component.spec.ts
rename to src/app/components/project-map/project-map.component.spec.ts
diff --git a/src/app/project-map/project-map.component.ts b/src/app/components/project-map/project-map.component.ts
similarity index 83%
rename from src/app/project-map/project-map.component.ts
rename to src/app/components/project-map/project-map.component.ts
index ead5949d..f65b88f0 100644
--- a/src/app/project-map/project-map.component.ts
+++ b/src/app/components/project-map/project-map.component.ts
@@ -11,36 +11,36 @@ import 'rxjs/add/observable/fromPromise';
import 'rxjs/add/observable/dom/webSocket';
-import { Project } from '../shared/models/project';
-import { Node } from '../cartography/shared/models/node';
-import { SymbolService } from '../shared/services/symbol.service';
-import { Link } from "../cartography/shared/models/link";
-import { MapComponent } from "../cartography/map/map.component";
-import { ServerService } from "../shared/services/server.service";
-import { ProjectService } from '../shared/services/project.service';
-import { Server } from "../shared/models/server";
+import { Project } from '../../models/project';
+import { Node } from '../../cartography/models/node';
+import { SymbolService } from '../../services/symbol.service';
+import { Link } from "../../cartography/models/link";
+import { MapComponent } from "../../cartography/components/map/map.component";
+import { ServerService } from "../../services/server.service";
+import { ProjectService } from '../../services/project.service';
+import { Server } from "../../models/server";
import { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from "@angular/material";
-import { SnapshotService } from "../shared/services/snapshot.service";
-import { Snapshot } from "../shared/models/snapshot";
-import { ProgressDialogService } from "../shared/progress-dialog/progress-dialog.service";
-import { ProgressDialogComponent } from "../shared/progress-dialog/progress-dialog.component";
-import { Drawing } from "../cartography/shared/models/drawing";
-import { NodeContextMenuComponent } from "../shared/node-context-menu/node-context-menu.component";
-import { Appliance } from "../shared/models/appliance";
-import { NodeService } from "../shared/services/node.service";
-import { Symbol } from "../cartography/shared/models/symbol";
-import { NodeSelectInterfaceComponent } from "../shared/node-select-interface/node-select-interface.component";
-import { Port } from "../shared/models/port";
-import { LinkService } from "../shared/services/link.service";
-import { ToasterService } from '../shared/services/toaster.service';
-import { NodesDataSource } from "../cartography/shared/datasources/nodes-datasource";
-import { LinksDataSource } from "../cartography/shared/datasources/links-datasource";
-import { ProjectWebServiceHandler } from "../shared/handlers/project-web-service-handler";
-import { SelectionManager } from "../cartography/shared/managers/selection-manager";
-import { InRectangleHelper } from "../cartography/map/helpers/in-rectangle-helper";
-import { DrawingsDataSource } from "../cartography/shared/datasources/drawings-datasource";
+import { SnapshotService } from "../../services/snapshot.service";
+import { Snapshot } from "../../models/snapshot";
+import { ProgressDialogService } from "../../common/progress-dialog/progress-dialog.service";
+import { ProgressDialogComponent } from "../../common/progress-dialog/progress-dialog.component";
+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 { NodeSelectInterfaceComponent } from "./node-select-interface/node-select-interface.component";
+import { Port } from "../../models/port";
+import { LinkService } from "../../services/link.service";
+import { ToasterService } from '../../services/toaster.service';
+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 { DrawingsDataSource } from "../../cartography/datasources/drawings-datasource";
import { Subscription } from "rxjs/Subscription";
-import { SettingsService } from "../shared/services/settings.service";
+import { SettingsService } from "../../services/settings.service";
@Component({
diff --git a/src/app/projects/projects.component.css b/src/app/components/projects/projects.component.css
similarity index 100%
rename from src/app/projects/projects.component.css
rename to src/app/components/projects/projects.component.css
diff --git a/src/app/projects/projects.component.html b/src/app/components/projects/projects.component.html
similarity index 61%
rename from src/app/projects/projects.component.html
rename to src/app/components/projects/projects.component.html
index b839ef4a..6716c27a 100644
--- a/src/app/projects/projects.component.html
+++ b/src/app/components/projects/projects.component.html
@@ -17,9 +17,15 @@
Actions
-
diff --git a/src/app/projects/projects.component.spec.ts b/src/app/components/projects/projects.component.spec.ts
similarity index 84%
rename from src/app/projects/projects.component.spec.ts
rename to src/app/components/projects/projects.component.spec.ts
index 34c0b755..488bd51f 100644
--- a/src/app/projects/projects.component.spec.ts
+++ b/src/app/components/projects/projects.component.spec.ts
@@ -1,6 +1,7 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { ProjectsComponent } from './projects.component';
+import { MatTooltipModule } from "@angular/material";
describe('ProjectsComponent', () => {
let component: ProjectsComponent;
@@ -8,6 +9,9 @@ describe('ProjectsComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
+ imports: [
+ MatTooltipModule,
+ ],
declarations: [ ProjectsComponent ]
})
.compileComponents();
diff --git a/src/app/projects/projects.component.ts b/src/app/components/projects/projects.component.ts
similarity index 71%
rename from src/app/projects/projects.component.ts
rename to src/app/components/projects/projects.component.ts
index 5c9a3711..bd25cb2b 100644
--- a/src/app/projects/projects.component.ts
+++ b/src/app/components/projects/projects.component.ts
@@ -2,14 +2,15 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute, ParamMap } from '@angular/router';
import { MatSort, MatSortable } from "@angular/material";
-import { Project } from "../shared/models/project";
-import { ProjectService } from "../shared/services/project.service";
-import { Server } from "../shared/models/server";
-import { ServerService } from "../shared/services/server.service";
+import { Project } from "../../models/project";
+import { ProjectService } from "../../services/project.service";
+import { Server } from "../../models/server";
+import { ServerService } from "../../services/server.service";
import { BehaviorSubject } from "rxjs/BehaviorSubject";
import { DataSource } from "@angular/cdk/collections";
import { Observable } from "rxjs/Observable";
-import { SettingsService, Settings } from "../shared/services/settings.service";
+import { SettingsService, Settings } from "../../services/settings.service";
+import { ProgressService } from "../../common/progress/progress.service";
@Component({
@@ -29,7 +30,8 @@ export class ProjectsComponent implements OnInit {
constructor(private route: ActivatedRoute,
private serverService: ServerService,
private projectService: ProjectService,
- private settingsService: SettingsService
+ private settingsService: SettingsService,
+ private progressService: ProgressService
) {
}
@@ -50,21 +52,47 @@ export class ProjectsComponent implements OnInit {
})
.subscribe((server: Server) => {
this.server = server;
- this.projectService
- .list(this.server)
- .subscribe((projects: Project[]) => {
- this.projectDatabase.addProjects(projects);
- });
+ this.refresh();
});
this.settings = this.settingsService.getAll();
}
+ refresh() {
+ this.projectService
+ .list(this.server)
+ .subscribe((projects: Project[]) => {
+ this.projectDatabase.addProjects(projects);
+ });
+
+
+ }
+
delete(project: Project) {
this.projectService.delete(this.server, project.project_id).subscribe(() => {
this.projectDatabase.remove(project);
});
}
+
+ open(project: Project) {
+ this.progressService.activate();
+
+ this.projectService.open(this.server, project.project_id).subscribe(() => {
+ this.refresh();
+ }, () => {}, () => {
+ this.progressService.deactivate();
+ });
+ }
+
+ close(project: Project) {
+ this.progressService.activate();
+
+ this.projectService.close(this.server, project.project_id).subscribe(() => {
+ this.refresh();
+ }, () => {}, () => {
+ this.progressService.deactivate();
+ });
+ }
}
diff --git a/src/app/servers/add-server-dialog.html b/src/app/components/servers/add-server-dialog.html
similarity index 100%
rename from src/app/servers/add-server-dialog.html
rename to src/app/components/servers/add-server-dialog.html
diff --git a/src/app/servers/servers.component.css b/src/app/components/servers/servers.component.css
similarity index 100%
rename from src/app/servers/servers.component.css
rename to src/app/components/servers/servers.component.css
diff --git a/src/app/servers/servers.component.html b/src/app/components/servers/servers.component.html
similarity index 100%
rename from src/app/servers/servers.component.html
rename to src/app/components/servers/servers.component.html
diff --git a/src/app/servers/servers.component.spec.ts b/src/app/components/servers/servers.component.spec.ts
similarity index 100%
rename from src/app/servers/servers.component.spec.ts
rename to src/app/components/servers/servers.component.spec.ts
diff --git a/src/app/servers/servers.component.ts b/src/app/components/servers/servers.component.ts
similarity index 96%
rename from src/app/servers/servers.component.ts
rename to src/app/components/servers/servers.component.ts
index d250085b..5dc6c645 100644
--- a/src/app/servers/servers.component.ts
+++ b/src/app/components/servers/servers.component.ts
@@ -12,8 +12,8 @@ import 'rxjs/add/operator/debounceTime';
import 'rxjs/add/operator/distinctUntilChanged';
import 'rxjs/add/observable/fromEvent';
-import { Server } from "../shared/models/server";
-import { ServerService } from "../shared/services/server.service";
+import { Server } from "../../models/server";
+import { ServerService } from "../../services/server.service";
@Component({
diff --git a/src/app/settings/settings.component.html b/src/app/components/settings/settings.component.html
similarity index 100%
rename from src/app/settings/settings.component.html
rename to src/app/components/settings/settings.component.html
diff --git a/src/app/settings/settings.component.scss b/src/app/components/settings/settings.component.scss
similarity index 100%
rename from src/app/settings/settings.component.scss
rename to src/app/components/settings/settings.component.scss
diff --git a/src/app/settings/settings.component.spec.ts b/src/app/components/settings/settings.component.spec.ts
similarity index 89%
rename from src/app/settings/settings.component.spec.ts
rename to src/app/components/settings/settings.component.spec.ts
index feaf3b22..4b7ecaef 100644
--- a/src/app/settings/settings.component.spec.ts
+++ b/src/app/components/settings/settings.component.spec.ts
@@ -1,12 +1,15 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { SettingsComponent } from './settings.component';
import { MatCheckboxModule, MatExpansionModule } from "@angular/material";
import { FormsModule } from "@angular/forms";
-import { SettingsService } from "../shared/services/settings.service";
-import { PersistenceModule } from "angular-persistence";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
-import { MockedToasterService, ToasterService } from "../shared/services/toaster.service";
+
+import { PersistenceModule } from "angular-persistence";
+
+import { SettingsComponent } from './settings.component';
+import { SettingsService } from "../../services/settings.service";
+import { ToasterService } from "../../services/toaster.service";
+import { MockedToasterService } from "../../services/toaster.service.spec";
+
describe('SettingsComponent', () => {
let component: SettingsComponent;
diff --git a/src/app/settings/settings.component.ts b/src/app/components/settings/settings.component.ts
similarity index 80%
rename from src/app/settings/settings.component.ts
rename to src/app/components/settings/settings.component.ts
index 4ed1512d..42592856 100644
--- a/src/app/settings/settings.component.ts
+++ b/src/app/components/settings/settings.component.ts
@@ -1,6 +1,6 @@
import { Component, OnInit } from '@angular/core';
-import { SettingsService } from "../shared/services/settings.service";
-import { ToasterService } from "../shared/services/toaster.service";
+import { SettingsService } from "../../services/settings.service";
+import { ToasterService } from "../../services/toaster.service";
@Component({
selector: 'app-settings',
diff --git a/src/app/shared/handlers/project-web-service-handler.spec.ts b/src/app/handlers/project-web-service-handler.spec.ts
similarity index 91%
rename from src/app/shared/handlers/project-web-service-handler.spec.ts
rename to src/app/handlers/project-web-service-handler.spec.ts
index a3367a49..a16b8c08 100644
--- a/src/app/shared/handlers/project-web-service-handler.spec.ts
+++ b/src/app/handlers/project-web-service-handler.spec.ts
@@ -3,12 +3,12 @@ import { inject, TestBed } from "@angular/core/testing";
import { Subject } from "rxjs/Subject";
import { ProjectWebServiceHandler, WebServiceMessage } from "./project-web-service-handler";
-import { NodesDataSource } from "../../cartography/shared/datasources/nodes-datasource";
-import { LinksDataSource } from "../../cartography/shared/datasources/links-datasource";
-import { DrawingsDataSource } from "../../cartography/shared/datasources/drawings-datasource";
-import { Node } from "../../cartography/shared/models/node";
-import { Link } from "../../cartography/shared/models/link";
-import { Drawing } from "../../cartography/shared/models/drawing";
+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 { Drawing } from "../cartography/models/drawing";
describe('ProjectWebServiceHandler', () => {
diff --git a/src/app/shared/handlers/project-web-service-handler.ts b/src/app/handlers/project-web-service-handler.ts
similarity index 77%
rename from src/app/shared/handlers/project-web-service-handler.ts
rename to src/app/handlers/project-web-service-handler.ts
index 25a7003a..da3d5857 100644
--- a/src/app/shared/handlers/project-web-service-handler.ts
+++ b/src/app/handlers/project-web-service-handler.ts
@@ -1,12 +1,12 @@
import { Injectable } from "@angular/core";
import { Subject } from "rxjs/Subject";
-import { NodesDataSource } from "../../cartography/shared/datasources/nodes-datasource";
-import { LinksDataSource } from "../../cartography/shared/datasources/links-datasource";
-import { DrawingsDataSource } from "../../cartography/shared/datasources/drawings-datasource";
-import { Link } from "../../cartography/shared/models/link";
-import { Node } from "../../cartography/shared/models/node";
-import { Drawing } from "../../cartography/shared/models/drawing";
+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 { Node } from "../cartography/models/node";
+import { Drawing } from "../cartography/models/drawing";
export class WebServiceMessage {
diff --git a/src/app/default-layout/default-layout.component.css b/src/app/layouts/default-layout/default-layout.component.css
similarity index 100%
rename from src/app/default-layout/default-layout.component.css
rename to src/app/layouts/default-layout/default-layout.component.css
diff --git a/src/app/default-layout/default-layout.component.html b/src/app/layouts/default-layout/default-layout.component.html
similarity index 94%
rename from src/app/default-layout/default-layout.component.html
rename to src/app/layouts/default-layout/default-layout.component.html
index cfe2f4e8..0ffd7b58 100644
--- a/src/app/default-layout/default-layout.component.html
+++ b/src/app/layouts/default-layout/default-layout.component.html
@@ -18,6 +18,8 @@
+
+
diff --git a/src/app/default-layout/default-layout.component.spec.ts b/src/app/layouts/default-layout/default-layout.component.spec.ts
similarity index 100%
rename from src/app/default-layout/default-layout.component.spec.ts
rename to src/app/layouts/default-layout/default-layout.component.spec.ts
diff --git a/src/app/default-layout/default-layout.component.ts b/src/app/layouts/default-layout/default-layout.component.ts
similarity index 100%
rename from src/app/default-layout/default-layout.component.ts
rename to src/app/layouts/default-layout/default-layout.component.ts
diff --git a/src/app/local-server/local-server.component.spec.ts b/src/app/local-server/local-server.component.spec.ts
deleted file mode 100644
index 04c04a2b..00000000
--- a/src/app/local-server/local-server.component.spec.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { async, ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { LocalServerComponent } from './local-server.component';
-
-describe('LocalServerComponent', () => {
- let component: LocalServerComponent;
- let fixture: ComponentFixture;
-
- beforeEach(async(() => {
- TestBed.configureTestingModule({
- declarations: [ LocalServerComponent ]
- })
- .compileComponents();
- }));
-
- beforeEach(() => {
- fixture = TestBed.createComponent(LocalServerComponent);
- component = fixture.componentInstance;
- fixture.detectChanges();
- });
-
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-});
diff --git a/src/app/shared/models/appliance.ts b/src/app/models/appliance.ts
similarity index 100%
rename from src/app/shared/models/appliance.ts
rename to src/app/models/appliance.ts
diff --git a/src/app/shared/models/port.ts b/src/app/models/port.ts
similarity index 100%
rename from src/app/shared/models/port.ts
rename to src/app/models/port.ts
diff --git a/src/app/shared/models/project.ts b/src/app/models/project.ts
similarity index 100%
rename from src/app/shared/models/project.ts
rename to src/app/models/project.ts
diff --git a/src/app/shared/models/server.ts b/src/app/models/server.ts
similarity index 100%
rename from src/app/shared/models/server.ts
rename to src/app/models/server.ts
diff --git a/src/app/shared/models/snapshot.ts b/src/app/models/snapshot.ts
similarity index 100%
rename from src/app/shared/models/snapshot.ts
rename to src/app/models/snapshot.ts
diff --git a/src/app/shared/models/version.ts b/src/app/models/version.ts
similarity index 100%
rename from src/app/shared/models/version.ts
rename to src/app/models/version.ts
diff --git a/src/app/raven-error-handler.spec.ts b/src/app/raven-error-handler.spec.ts
index 9c295851..0216aa86 100644
--- a/src/app/raven-error-handler.spec.ts
+++ b/src/app/raven-error-handler.spec.ts
@@ -1,9 +1,7 @@
import { TestBed } from '@angular/core/testing';
import { PersistenceService } from "angular-persistence";
-import * as Raven from 'raven-js';
-
-import { SettingsService } from "./shared/services/settings.service";
+import { SettingsService } from "./services/settings.service";
import { RavenErrorHandler } from "./raven-error-handler";
import { environment } from "../environments/environment";
@@ -32,17 +30,12 @@ describe('RavenErrorHandler', () => {
it('should handle error', () => {
settingsService.set('crash_reports', true);
- const error = new Error("My error");
- const captureException = spyOn(Raven, 'captureException');
environment.production = true;
- handler.handleError(error);
- expect(captureException).toHaveBeenCalledWith(error);
+ expect(handler.shouldSend()).toBeTruthy()
});
- it('should not handle when not in production', () => {
- const captureException = spyOn(Raven, 'captureException');
- environment.production = false;
- handler.handleError(new Error("My error"));
- expect(captureException).not.toHaveBeenCalled();
+ it('should not handle when crash reports are disabled', () => {
+ settingsService.set('crash_reports', false);
+ expect(handler.shouldSend()).toBeFalsy();
});
});
diff --git a/src/app/raven-error-handler.ts b/src/app/raven-error-handler.ts
index 6e85b8de..ccb940ca 100644
--- a/src/app/raven-error-handler.ts
+++ b/src/app/raven-error-handler.ts
@@ -2,7 +2,7 @@ import * as Raven from 'raven-js';
import { ErrorHandler, Inject, Injector } from "@angular/core";
-import { SettingsService } from "./shared/services/settings.service";
+import { SettingsService } from "./services/settings.service";
import { environment } from "../environments/environment";
@@ -10,11 +10,13 @@ export class RavenErrorHandler implements ErrorHandler {
constructor(@Inject(Injector) private injector: Injector) {}
handleError(err: any): void {
- const settingsService: SettingsService = this.injector.get(SettingsService);
- console.error(err.originalError || err);
+ Raven.setShouldSendCallback(this.shouldSend);
- if (environment.production && settingsService.get('crash_reports')) {
- Raven.captureException(err.originalError || err);
- }
+ console.error(err.originalError || err);
+ }
+
+ shouldSend() {
+ const settingsService: SettingsService = this.injector.get(SettingsService);
+ return environment.production && settingsService.get('crash_reports');
}
}
diff --git a/src/app/shared/services/appliance.service.spec.ts b/src/app/services/appliance.service.spec.ts
similarity index 100%
rename from src/app/shared/services/appliance.service.spec.ts
rename to src/app/services/appliance.service.spec.ts
diff --git a/src/app/shared/services/appliance.service.ts b/src/app/services/appliance.service.ts
similarity index 100%
rename from src/app/shared/services/appliance.service.ts
rename to src/app/services/appliance.service.ts
diff --git a/src/app/shared/services/http-server.service.spec.ts b/src/app/services/http-server.service.spec.ts
similarity index 100%
rename from src/app/shared/services/http-server.service.spec.ts
rename to src/app/services/http-server.service.spec.ts
diff --git a/src/app/shared/services/http-server.service.ts b/src/app/services/http-server.service.ts
similarity index 100%
rename from src/app/shared/services/http-server.service.ts
rename to src/app/services/http-server.service.ts
diff --git a/src/app/shared/services/indexed-db.service.spec.ts b/src/app/services/indexed-db.service.spec.ts
similarity index 100%
rename from src/app/shared/services/indexed-db.service.spec.ts
rename to src/app/services/indexed-db.service.spec.ts
diff --git a/src/app/shared/services/indexed-db.service.ts b/src/app/services/indexed-db.service.ts
similarity index 100%
rename from src/app/shared/services/indexed-db.service.ts
rename to src/app/services/indexed-db.service.ts
diff --git a/src/app/shared/services/link.service.spec.ts b/src/app/services/link.service.spec.ts
similarity index 97%
rename from src/app/shared/services/link.service.spec.ts
rename to src/app/services/link.service.spec.ts
index f3de5e94..9d529345 100644
--- a/src/app/shared/services/link.service.spec.ts
+++ b/src/app/services/link.service.spec.ts
@@ -5,7 +5,7 @@ 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/shared/models/node';
+import { Node } from '../cartography/models/node';
import { Port } from '../models/port';
import { getTestServer } from './testing';
diff --git a/src/app/shared/services/link.service.ts b/src/app/services/link.service.ts
similarity index 94%
rename from src/app/shared/services/link.service.ts
rename to src/app/services/link.service.ts
index a3bf09e4..ecbf59a2 100644
--- a/src/app/shared/services/link.service.ts
+++ b/src/app/services/link.service.ts
@@ -1,5 +1,5 @@
import { Injectable } from '@angular/core';
-import { Node } from '../../cartography/shared/models/node';
+import { Node } from '../cartography/models/node';
import 'rxjs/add/operator/map';
import { Server } from "../models/server";
diff --git a/src/app/shared/services/node.service.spec.ts b/src/app/services/node.service.spec.ts
similarity index 98%
rename from src/app/shared/services/node.service.spec.ts
rename to src/app/services/node.service.spec.ts
index 2972d8eb..43fe5b37 100644
--- a/src/app/shared/services/node.service.spec.ts
+++ b/src/app/services/node.service.spec.ts
@@ -4,7 +4,7 @@ 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/shared/models/node';
+import { Node } from '../cartography/models/node';
import { Port } from '../models/port';
import { getTestServer } from './testing';
import { NodeService } from './node.service';
diff --git a/src/app/shared/services/node.service.ts b/src/app/services/node.service.ts
similarity index 95%
rename from src/app/shared/services/node.service.ts
rename to src/app/services/node.service.ts
index f3d78459..346e5b7b 100644
--- a/src/app/shared/services/node.service.ts
+++ b/src/app/services/node.service.ts
@@ -1,6 +1,6 @@
import { Injectable } from '@angular/core';
import { Project } from '../models/project';
-import { Node } from '../../cartography/shared/models/node';
+import { Node } from '../cartography/models/node';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
@@ -47,7 +47,7 @@ export class NodeService {
.put(server, `/projects/${node.project_id}/nodes/${node.node_id}`, {
'x': node.x,
'y': node.y,
- 'z': node.z
+ 'z': node.z
});
}
diff --git a/src/app/shared/services/project.service.spec.ts b/src/app/services/project.service.spec.ts
similarity index 91%
rename from src/app/shared/services/project.service.spec.ts
rename to src/app/services/project.service.spec.ts
index f9ba5236..ecb28bd5 100644
--- a/src/app/shared/services/project.service.spec.ts
+++ b/src/app/services/project.service.spec.ts
@@ -71,6 +71,16 @@ describe('ProjectService', () => {
expect(req.request.body).toEqual({});
}));
+ it('should close the project', inject([ProjectService], (service: ProjectService) => {
+ service.close(server, "myproject").subscribe();
+
+ const req = httpTestingController.expectOne(
+ 'http://127.0.0.1:3080/v2/projects/myproject/close');
+ expect(req.request.method).toEqual("POST");
+ expect(req.request.body).toEqual({});
+ }));
+
+
it('should list projects', inject([ProjectService], (service: ProjectService) => {
service.list(server).subscribe();
diff --git a/src/app/shared/services/project.service.ts b/src/app/services/project.service.ts
similarity index 85%
rename from src/app/shared/services/project.service.ts
rename to src/app/services/project.service.ts
index c3ef1f0c..b32cea85 100644
--- a/src/app/shared/services/project.service.ts
+++ b/src/app/services/project.service.ts
@@ -1,13 +1,13 @@
import { Injectable } from '@angular/core';
import { Project } from '../models/project';
-import { Node } from '../../cartography/shared/models/node';
+import { Node } from '../cartography/models/node';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
-import { Link } from "../../cartography/shared/models/link";
+import { Link } from "../cartography/models/link";
import { Server } from "../models/server";
import { HttpServer } from "./http-server.service";
-import {Drawing} from "../../cartography/shared/models/drawing";
+import {Drawing} from "../cartography/models/drawing";
import { SettingsService } from "./settings.service";
@Injectable()
@@ -26,6 +26,11 @@ export class ProjectService {
.post(server, `/projects/${project_id}/open`, {});
}
+ close(server: Server, project_id: string) {
+ return this.httpServer
+ .post(server, `/projects/${project_id}/close`, {});
+ }
+
list(server: Server) {
return this.httpServer
.get(server, '/projects');
diff --git a/src/app/shared/services/server.service.spec.ts b/src/app/services/server.service.spec.ts
similarity index 52%
rename from src/app/shared/services/server.service.spec.ts
rename to src/app/services/server.service.spec.ts
index 86fb1655..da1a9f63 100644
--- a/src/app/shared/services/server.service.spec.ts
+++ b/src/app/services/server.service.spec.ts
@@ -1,11 +1,22 @@
import { TestBed, inject } from '@angular/core/testing';
import { ServerService } from './server.service';
+import { Server } from "../models/server";
+
+export class MockedServerService {
+ public getLocalServer(hostname: string, port: number) {
+ return new Promise((resolve, reject) => {
+ const server = new Server();
+ server.id = 99;
+ resolve(server);
+ });
+ }
+}
describe('ServerService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
- providers: [ServerService]
+ providers: [ ServerService ]
});
});
diff --git a/src/app/shared/services/server.service.ts b/src/app/services/server.service.ts
similarity index 100%
rename from src/app/shared/services/server.service.ts
rename to src/app/services/server.service.ts
diff --git a/src/app/shared/services/settings.service.spec.ts b/src/app/services/settings.service.spec.ts
similarity index 100%
rename from src/app/shared/services/settings.service.spec.ts
rename to src/app/services/settings.service.spec.ts
diff --git a/src/app/shared/services/settings.service.ts b/src/app/services/settings.service.ts
similarity index 100%
rename from src/app/shared/services/settings.service.ts
rename to src/app/services/settings.service.ts
diff --git a/src/app/shared/services/snapshot.service.spec.ts b/src/app/services/snapshot.service.spec.ts
similarity index 97%
rename from src/app/shared/services/snapshot.service.spec.ts
rename to src/app/services/snapshot.service.spec.ts
index 8cda358f..52f63ee7 100644
--- a/src/app/shared/services/snapshot.service.spec.ts
+++ b/src/app/services/snapshot.service.spec.ts
@@ -4,7 +4,7 @@ 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/shared/models/node';
+import { Node } from '../cartography/models/node';
import { Port } from '../models/port';
import { getTestServer } from './testing';
import { SnapshotService } from './snapshot.service';
diff --git a/src/app/shared/services/snapshot.service.ts b/src/app/services/snapshot.service.ts
similarity index 100%
rename from src/app/shared/services/snapshot.service.ts
rename to src/app/services/snapshot.service.ts
diff --git a/src/app/shared/services/symbol.service.spec.ts b/src/app/services/symbol.service.spec.ts
similarity index 97%
rename from src/app/shared/services/symbol.service.spec.ts
rename to src/app/services/symbol.service.spec.ts
index 90a7ad3d..ef815626 100644
--- a/src/app/shared/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/shared/models/symbol';
+import { Symbol } from '../cartography/models/symbol';
describe('SymbolService', () => {
diff --git a/src/app/shared/services/symbol.service.ts b/src/app/services/symbol.service.ts
similarity index 95%
rename from src/app/shared/services/symbol.service.ts
rename to src/app/services/symbol.service.ts
index ddeffa4d..5c05ebc5 100644
--- a/src/app/shared/services/symbol.service.ts
+++ b/src/app/services/symbol.service.ts
@@ -6,7 +6,7 @@ import 'rxjs/add/operator/map';
import 'rxjs/add/observable/forkJoin';
import 'rxjs/add/observable/of';
-import { Symbol } from '../../cartography/shared/models/symbol';
+import { Symbol } from '../cartography/models/symbol';
import { Server } from "../models/server";
import { HttpServer } from "./http-server.service";
diff --git a/src/app/shared/services/testing.ts b/src/app/services/testing.ts
similarity index 99%
rename from src/app/shared/services/testing.ts
rename to src/app/services/testing.ts
index f4d24b32..dfc50775 100644
--- a/src/app/shared/services/testing.ts
+++ b/src/app/services/testing.ts
@@ -6,4 +6,4 @@ export function getTestServer(): Server {
server.port = 3080;
server.authorization = "none";
return server;
-}
\ No newline at end of file
+}
diff --git a/src/app/shared/services/toaster.service.spec.ts b/src/app/services/toaster.service.spec.ts
similarity index 78%
rename from src/app/shared/services/toaster.service.spec.ts
rename to src/app/services/toaster.service.spec.ts
index 8749e67b..a5bdafd4 100644
--- a/src/app/shared/services/toaster.service.spec.ts
+++ b/src/app/services/toaster.service.spec.ts
@@ -1,7 +1,27 @@
import { TestBed, inject } from '@angular/core/testing';
+import { MatSnackBar } from '@angular/material';
import { ToasterService } from './toaster.service';
-import { MatSnackBar } from '@angular/material';
+
+
+export class MockedToasterService {
+ public errors: string[];
+ public successes: string[];
+
+ constructor() {
+ this.errors = [];
+ this.successes = [];
+ }
+
+ public error(message: string) {
+ this.errors.push(message);
+ }
+
+ public success(message: string) {
+ this.successes.push(message);
+ }
+}
+
class MockedSnackBar {
public open(message: string, ignored: any, options: any) {}
diff --git a/src/app/shared/services/toaster.service.ts b/src/app/services/toaster.service.ts
similarity index 54%
rename from src/app/shared/services/toaster.service.ts
rename to src/app/services/toaster.service.ts
index 472337a9..d85e7b08 100644
--- a/src/app/shared/services/toaster.service.ts
+++ b/src/app/services/toaster.service.ts
@@ -14,22 +14,3 @@ export class ToasterService {
}
}
-
-@Injectable()
-export class MockedToasterService {
- public errors: string[];
- public successes: string[];
-
- constructor() {
- this.errors = [];
- this.successes = [];
- }
-
- public error(message: string) {
- this.errors.push(message);
- }
-
- public success(message: string) {
- this.successes.push(message);
- }
-}
diff --git a/src/app/shared/services/version.service.spec.ts b/src/app/services/version.service.spec.ts
similarity index 96%
rename from src/app/shared/services/version.service.spec.ts
rename to src/app/services/version.service.spec.ts
index 2169b6cb..b3ca1ca2 100644
--- a/src/app/shared/services/version.service.spec.ts
+++ b/src/app/services/version.service.spec.ts
@@ -4,7 +4,7 @@ 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/shared/models/node';
+import { Node } from '../cartography/models/node';
import { Port } from '../models/port';
import { getTestServer } from './testing';
import { VersionService } from './version.service';
diff --git a/src/app/shared/services/version.service.ts b/src/app/services/version.service.ts
similarity index 100%
rename from src/app/shared/services/version.service.ts
rename to src/app/services/version.service.ts
diff --git a/src/app/version.ts b/src/app/version.ts
new file mode 100644
index 00000000..fe13d2ec
--- /dev/null
+++ b/src/app/version.ts
@@ -0,0 +1 @@
+export const version = require('../../package.json').version;