gns3-web-ui/src/app/app.module.ts

176 lines
7.7 KiB
TypeScript
Raw Normal View History

import * as Raven from 'raven-js';
2017-09-25 13:07:52 +02:00
import { BrowserModule } from '@angular/platform-browser';
import { NgModule, ErrorHandler } from '@angular/core';
2018-10-26 05:35:02 -07:00
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
2017-11-27 11:55:20 +01:00
import { CdkTableModule } from "@angular/cdk/table";
2018-01-03 14:26:35 +01:00
import { HttpClientModule } from '@angular/common/http';
2017-09-25 13:07:52 +02:00
2017-10-31 14:44:47 +01:00
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
2017-11-27 11:55:20 +01:00
import { D3Service } from 'd3-ng2-service';
import { HotkeyModule } from 'angular2-hotkeys';
2018-04-04 16:05:29 +02:00
import { PersistenceModule } from 'angular-persistence';
import { NgxElectronModule } from 'ngx-electron';
import { FileUploadModule } from 'ng2-file-upload';
2017-11-27 11:55:20 +01:00
import { AppRoutingModule } from './app-routing.module';
2018-06-27 10:29:12 +02:00
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, ServerErrorHandler } from "./services/http-server.service";
2018-06-27 10:29:12 +02:00
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";
2017-11-27 11:55:20 +01:00
2018-06-27 10:34:15 +02:00
import { ProjectsComponent } from './components/projects/projects.component';
import { AddBlankProjectDialogComponent } from './components/projects/add-blank-project-dialog/add-blank-project-dialog.component';
import { ImportProjectDialogComponent } from './components/projects/import-project-dialog/import-project-dialog.component';
import { ConfirmationDialogComponent} from './components/projects/confirmation-dialog/confirmation-dialog.component';
2018-06-26 16:47:40 +02:00
import { DefaultLayoutComponent } from './layouts/default-layout/default-layout.component';
2018-06-27 10:29:12 +02:00
import { ProgressDialogComponent } from './common/progress-dialog/progress-dialog.component';
2017-11-27 11:55:20 +01:00
import { AppComponent } from './app.component';
2018-10-31 10:55:55 +01:00
import { ProjectMapComponent } from './components/project-map/project-map.component';
2018-06-27 10:34:15 +02:00
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';
2018-01-03 16:46:15 +01:00
import { CartographyModule } from './cartography/cartography.module';
2018-06-27 10:29:12 +02:00
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";
2018-07-19 10:00:09 +02:00
import { InRectangleHelper } from "./cartography/helpers/in-rectangle-helper";
2018-06-27 10:29:12 +02:00
import { DrawingsDataSource } from "./cartography/datasources/drawings-datasource";
2018-06-27 10:34:15 +02:00
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';
2018-06-27 10:29:12 +02:00
import { SettingsService } from "./services/settings.service";
2017-11-27 11:55:20 +01:00
2018-06-27 10:34:15 +02:00
import { LocalServerComponent } from './components/local-server/local-server.component';
2018-06-27 10:29:12 +02:00
import { ProgressComponent } from './common/progress/progress.component';
import { ProgressService } from "./common/progress/progress.service";
2018-06-27 12:34:15 +02:00
import { version } from "./version";
2018-07-03 11:40:12 +02:00
import { ToasterErrorHandler } from "./common/error-handlers/toaster-error-handler";
import { environment } from "../environments/environment";
2018-07-03 11:40:12 +02:00
import { RavenState } from "./common/error-handlers/raven-state-communicator";
2018-07-23 21:04:11 +02:00
import { ServerDiscoveryComponent } from "./components/servers/server-discovery/server-discovery.component";
2018-10-10 15:50:10 +02:00
import { ServerDatabase } from './services/server.database';
2018-10-31 10:55:55 +01:00
import { CreateSnapshotDialogComponent } from './components/snapshots/create-snapshot-dialog/create-snapshot-dialog.component';
import { SnapshotsComponent } from './components/snapshots/snapshots.component';
import { SnapshotMenuItemComponent } from './components/snapshots/snapshot-menu-item/snapshot-menu-item.component';
2018-10-31 11:41:47 +01:00
import { MATERIAL_IMPORTS } from './material.imports';
import { DrawingService } from './services/drawing.service';
2018-11-13 15:10:24 -08:00
import { ProjectNameValidator } from './components/projects/models/projectNameValidator';
2018-11-20 13:43:59 +01:00
import { NodeSelectInterfaceComponent } from './components/project-map/node-select-interface/node-select-interface.component';
2018-11-27 13:48:30 +01:00
import { DrawLinkToolComponent } from './components/project-map/draw-link-tool/draw-link-tool.component';
2018-06-27 12:34:15 +02:00
2018-03-30 12:48:27 +02:00
if (environment.production) {
Raven
.config('https://b2b1cfd9b043491eb6b566fd8acee358@sentry.io/842726', {
shouldSendCallback: () => {
return RavenState.shouldSend;
},
release: version
})
.install();
}
2017-09-25 13:07:52 +02:00
@NgModule({
declarations: [
AppComponent,
ProjectMapComponent,
ServersComponent,
2017-10-31 14:44:47 +01:00
AddServerDialogComponent,
2017-11-23 13:18:23 +01:00
CreateSnapshotDialogComponent,
2018-10-31 10:55:55 +01:00
SnapshotMenuItemComponent,
SnapshotsComponent,
2017-09-25 13:07:52 +02:00
ProjectsComponent,
AddBlankProjectDialogComponent,
ImportProjectDialogComponent,
ConfirmationDialogComponent,
DefaultLayoutComponent,
2017-11-27 11:08:15 +01:00
ProgressDialogComponent,
2017-11-29 13:19:53 +01:00
NodeContextMenuComponent,
2017-11-29 16:07:53 +01:00
StartNodeActionComponent,
2017-11-30 08:59:52 +01:00
StopNodeActionComponent,
2017-11-30 10:27:41 +01:00
ApplianceComponent,
ApplianceListDialogComponent,
2018-03-29 12:36:35 +02:00
MoveLayerDownActionComponent,
MoveLayerUpActionComponent,
ProjectMapShortcutsComponent,
2018-04-04 16:05:29 +02:00
SettingsComponent,
2018-06-26 11:13:09 +02:00
LocalServerComponent,
2018-06-26 16:47:40 +02:00
ProgressComponent,
2018-07-23 21:04:11 +02:00
ServerDiscoveryComponent,
2018-11-27 13:48:30 +01:00
NodeSelectInterfaceComponent,
DrawLinkToolComponent
2017-09-25 13:07:52 +02:00
],
imports: [
BrowserModule,
2018-01-03 14:26:35 +01:00
HttpClientModule,
2017-09-25 13:07:52 +02:00
AppRoutingModule,
2017-10-31 14:44:47 +01:00
FormsModule,
2018-10-26 05:35:02 -07:00
ReactiveFormsModule,
2017-10-31 14:44:47 +01:00
BrowserAnimationsModule,
CdkTableModule,
CartographyModule,
2018-04-04 16:05:29 +02:00
HotkeyModule.forRoot(),
PersistenceModule,
2018-10-31 11:41:47 +01:00
NgxElectronModule,
FileUploadModule,
MATERIAL_IMPORTS
2017-09-25 13:07:52 +02:00
],
providers: [
2018-04-04 16:05:29 +02:00
SettingsService,
2018-07-02 12:23:22 +02:00
{ provide: ErrorHandler, useClass: ToasterErrorHandler },
2017-09-25 13:07:52 +02:00
D3Service,
VersionService,
ProjectService,
SymbolService,
ServerService,
2017-11-30 10:27:41 +01:00
ApplianceService,
2017-11-29 16:07:53 +01:00
NodeService,
2017-12-04 12:25:13 +01:00
LinkService,
DrawingService,
2017-09-25 13:07:52 +02:00
IndexedDbService,
HttpServer,
2017-11-27 11:08:15 +01:00
SnapshotService,
ProgressDialogService,
2018-03-19 15:09:22 +01:00
ToasterService,
2018-06-26 16:47:40 +02:00
ProgressService,
2018-03-19 15:09:22 +01:00
ProjectWebServiceHandler,
LinksDataSource,
NodesDataSource,
2018-03-22 15:40:06 +01:00
SymbolsDataSource,
SelectionManager,
2018-03-27 17:21:50 +02:00
InRectangleHelper,
DrawingsDataSource,
2018-10-10 15:50:10 +02:00
ServerErrorHandler,
2018-11-13 15:10:24 -08:00
ServerDatabase,
ProjectNameValidator
2017-09-25 13:07:52 +02:00
],
entryComponents: [
2017-11-23 13:18:23 +01:00
AddServerDialogComponent,
2017-11-27 11:08:15 +01:00
CreateSnapshotDialogComponent,
2017-11-30 10:27:41 +01:00
ProgressDialogComponent,
ApplianceListDialogComponent,
AddBlankProjectDialogComponent,
ImportProjectDialogComponent,
ConfirmationDialogComponent
2017-09-25 13:07:52 +02:00
],
bootstrap: [ AppComponent ]
})
export class AppModule { }