mirror of
https://github.com/GNS3/gns3-web-ui.git
synced 2025-06-24 17:15:22 +00:00
Compare commits
138 Commits
v3.0.0b2
...
master-3.0
Author | SHA1 | Date | |
---|---|---|---|
255fdae3e2 | |||
b18b617b24 | |||
cdf1b0ab72 | |||
8222417c91 | |||
c7ebc354b9 | |||
82905ea72f | |||
c49e5d2573 | |||
de186fef4c | |||
346e3d988f | |||
4a34007cf4 | |||
aeb26b0f17 | |||
6a9505fc0a | |||
445ce5a864 | |||
050d4158ed | |||
6b28370111 | |||
8ec03968df | |||
097efdcbcd | |||
cd483e047b | |||
64cc001512 | |||
55bc69389d | |||
10c1461d93 | |||
86db2e208c | |||
80884a7929 | |||
9523cd7703 | |||
042eb79e36 | |||
67b597d8ec | |||
7fd37610ee | |||
c8ccf4d475 | |||
1a49bec3d4 | |||
64f9631946 | |||
b02fe4c751 | |||
84169a2c1e | |||
2a9ced5cbd | |||
7c7e20d95f | |||
e959a947cc | |||
7b633c29dd | |||
c24517d1f0 | |||
9043c5b97c | |||
2227d11932 | |||
2e581c4495 | |||
ee5b88e19a | |||
cddce63e2b | |||
180c65351b | |||
27eb8eb9c3 | |||
ab84d1eea6 | |||
89a7588612 | |||
ab5d298d7b | |||
608fcfd04e | |||
99c6502a65 | |||
28d27194be | |||
bbb7f08925 | |||
c1fa038f27 | |||
52f772676b | |||
e424a7f410 | |||
27eecf2ec9 | |||
8068751032 | |||
28f8de0da1 | |||
8cc4fb6f75 | |||
1196742e3b | |||
d398efe229 | |||
33e8fa7f5f | |||
b9833aa00b | |||
fc66124ea9 | |||
9d0d88337a | |||
5283d074e7 | |||
3f74a916d4 | |||
ff78754fd5 | |||
323255286b | |||
a9314b65f8 | |||
9cb21c7dd1 | |||
e5b3a101b8 | |||
8b2d20e8e9 | |||
26023fe884 | |||
9a2e06471c | |||
98f4ec1ce0 | |||
4d695274bb | |||
e5af89821d | |||
78b910504d | |||
93aabe0cbc | |||
27446f8d14 | |||
a026374e75 | |||
4f303921c6 | |||
dea6a5021d | |||
46c7c58402 | |||
0df3525bbf | |||
9667e2363c | |||
24ec96a2dd | |||
9844a2f88f | |||
0cdbeb98a2 | |||
dc40d3be6e | |||
2015917767 | |||
f3b3f35d58 | |||
19b50fda9d | |||
6c292aeb24 | |||
a3d149dcbe | |||
9287706185 | |||
84a145a701 | |||
6ccddac32c | |||
9447622e1f | |||
a27a7ff4ee | |||
3c48ef67dc | |||
d411ece90e | |||
c9c043b726 | |||
040447ffdf | |||
21f1d3e624 | |||
4c597ce3af | |||
8f268e374c | |||
a9bca2e265 | |||
948c600e1a | |||
1c55972b00 | |||
360d77d2ef | |||
d40324377e | |||
75c3d8ed97 | |||
3880d28ec1 | |||
f94d59206e | |||
5b41f9789a | |||
ac84106dbc | |||
21f2267960 | |||
a9781943d5 | |||
6fc2f6f964 | |||
cd5773e58a | |||
f4bcb844dc | |||
24cf0f5623 | |||
5e02a3d757 | |||
42599dafb5 | |||
9c754f3444 | |||
6772f0cb16 | |||
2730ee6f6e | |||
de058e175b | |||
e9487c5ada | |||
035c846f85 | |||
80239229aa | |||
c12a7acb2c | |||
23bf5ad2f3 | |||
bed98624cc | |||
eb82af94c9 | |||
20be9027fd | |||
63389812b5 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -11,7 +11,6 @@
|
||||
/scripts/build
|
||||
/scripts/dist
|
||||
/env
|
||||
/.angular
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
|
@ -5,5 +5,5 @@
|
||||
"tabWidth": 2,
|
||||
"semi": true,
|
||||
"bracketSpacing": true,
|
||||
"jsxBracketSameLine": false,
|
||||
}
|
||||
"jsxBracketSameLine": false
|
||||
}
|
||||
|
2
dist/index.html
vendored
2
dist/index.html
vendored
@ -46,6 +46,6 @@
|
||||
|
||||
gtag('config', 'G-5D6FZL9923');
|
||||
</script>
|
||||
<script src="runtime.24fa95b7061d7056.js" type="module"></script><script src="polyfills.319c79dd175e50d0.js" type="module"></script><script src="main.7e71ec76e973117c.js" type="module"></script>
|
||||
<script src="runtime.24fa95b7061d7056.js" type="module"></script><script src="polyfills.319c79dd175e50d0.js" type="module"></script><script src="main.25127687b7793fef.js" type="module"></script>
|
||||
|
||||
</body></html>
|
1
dist/main.25127687b7793fef.js
vendored
Normal file
1
dist/main.25127687b7793fef.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/main.7e71ec76e973117c.js
vendored
1
dist/main.7e71ec76e973117c.js
vendored
File diff suppressed because one or more lines are too long
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "gns3-web-ui",
|
||||
"version": "3.0.0b2",
|
||||
"version": "3.0.5",
|
||||
"author": {
|
||||
"name": "GNS3 Technology Inc.",
|
||||
"email": "developers@gns3.com"
|
||||
|
@ -1,6 +1,6 @@
|
||||
setuptools==65.5.1
|
||||
setuptools==71.1.0
|
||||
cx_Freeze==5.1.1
|
||||
requests==2.31.0
|
||||
requests==2.32.3
|
||||
packaging==20.9
|
||||
appdirs==1.4.4
|
||||
psutil==5.8.0
|
||||
|
@ -1,74 +1,74 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { RouterModule, Routes } from '@angular/router';
|
||||
import { BundledControllerFinderComponent } from './components/bundled-controller-finder/bundled-controller-finder.component';
|
||||
import { DirectLinkComponent } from './components/direct-link/direct-link.component';
|
||||
import { HelpComponent } from './components/help/help.component';
|
||||
import { InstalledSoftwareComponent } from './components/installed-software/installed-software.component';
|
||||
import { LoginComponent } from './components/login/login.component';
|
||||
import { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';
|
||||
import { BuiltInPreferencesComponent } from './components/preferences/built-in/built-in-preferences.component';
|
||||
import { CloudNodesAddTemplateComponent } from './components/preferences/built-in/cloud-nodes/cloud-nodes-add-template/cloud-nodes-add-template.component';
|
||||
import { CloudNodesTemplateDetailsComponent } from './components/preferences/built-in/cloud-nodes/cloud-nodes-template-details/cloud-nodes-template-details.component';
|
||||
import { CloudNodesTemplatesComponent } from './components/preferences/built-in/cloud-nodes/cloud-nodes-templates/cloud-nodes-templates.component';
|
||||
import { EthernetHubsAddTemplateComponent } from './components/preferences/built-in/ethernet-hubs/ethernet-hubs-add-template/ethernet-hubs-add-template.component';
|
||||
import { EthernetHubsTemplateDetailsComponent } from './components/preferences/built-in/ethernet-hubs/ethernet-hubs-template-details/ethernet-hubs-template-details.component';
|
||||
import { EthernetHubsTemplatesComponent } from './components/preferences/built-in/ethernet-hubs/ethernet-hubs-templates/ethernet-hubs-templates.component';
|
||||
import { EthernetSwitchesAddTemplateComponent } from './components/preferences/built-in/ethernet-switches/ethernet-switches-add-template/ethernet-switches-add-template.component';
|
||||
import { EthernetSwitchesTemplateDetailsComponent } from './components/preferences/built-in/ethernet-switches/ethernet-switches-template-details/ethernet-switches-template-details.component';
|
||||
import { EthernetSwitchesTemplatesComponent } from './components/preferences/built-in/ethernet-switches/ethernet-switches-templates/ethernet-switches-templates.component';
|
||||
import { AddDockerTemplateComponent } from './components/preferences/docker/add-docker-template/add-docker-template.component';
|
||||
import { CopyDockerTemplateComponent } from './components/preferences/docker/copy-docker-template/copy-docker-template.component';
|
||||
import { DockerTemplateDetailsComponent } from './components/preferences/docker/docker-template-details/docker-template-details.component';
|
||||
import { DockerTemplatesComponent } from './components/preferences/docker/docker-templates/docker-templates.component';
|
||||
import { AddIosTemplateComponent } from './components/preferences/dynamips/add-ios-template/add-ios-template.component';
|
||||
import { CopyIosTemplateComponent } from './components/preferences/dynamips/copy-ios-template/copy-ios-template.component';
|
||||
import { IosTemplateDetailsComponent } from './components/preferences/dynamips/ios-template-details/ios-template-details.component';
|
||||
import { IosTemplatesComponent } from './components/preferences/dynamips/ios-templates/ios-templates.component';
|
||||
import { AddIouTemplateComponent } from './components/preferences/ios-on-unix/add-iou-template/add-iou-template.component';
|
||||
import { CopyIouTemplateComponent } from './components/preferences/ios-on-unix/copy-iou-template/copy-iou-template.component';
|
||||
import { IouTemplateDetailsComponent } from './components/preferences/ios-on-unix/iou-template-details/iou-template-details.component';
|
||||
import { IouTemplatesComponent } from './components/preferences/ios-on-unix/iou-templates/iou-templates.component';
|
||||
import { PreferencesComponent } from './components/preferences/preferences.component';
|
||||
import { AddQemuVmTemplateComponent } from './components/preferences/qemu/add-qemu-vm-template/add-qemu-vm-template.component';
|
||||
import { CopyQemuVmTemplateComponent } from './components/preferences/qemu/copy-qemu-vm-template/copy-qemu-vm-template.component';
|
||||
import { QemuVmTemplateDetailsComponent } from './components/preferences/qemu/qemu-vm-template-details/qemu-vm-template-details.component';
|
||||
import { QemuVmTemplatesComponent } from './components/preferences/qemu/qemu-vm-templates/qemu-vm-templates.component';
|
||||
import { AddVirtualBoxTemplateComponent } from './components/preferences/virtual-box/add-virtual-box-template/add-virtual-box-template.component';
|
||||
import { VirtualBoxTemplateDetailsComponent } from './components/preferences/virtual-box/virtual-box-template-details/virtual-box-template-details.component';
|
||||
import { VirtualBoxTemplatesComponent } from './components/preferences/virtual-box/virtual-box-templates/virtual-box-templates.component';
|
||||
import { AddVmwareTemplateComponent } from './components/preferences/vmware/add-vmware-template/add-vmware-template.component';
|
||||
import { VmwareTemplateDetailsComponent } from './components/preferences/vmware/vmware-template-details/vmware-template-details.component';
|
||||
import { VmwareTemplatesComponent } from './components/preferences/vmware/vmware-templates/vmware-templates.component';
|
||||
import { AddVpcsTemplateComponent } from './components/preferences/vpcs/add-vpcs-template/add-vpcs-template.component';
|
||||
import { VpcsTemplateDetailsComponent } from './components/preferences/vpcs/vpcs-template-details/vpcs-template-details.component';
|
||||
import { VpcsTemplatesComponent } from './components/preferences/vpcs/vpcs-templates/vpcs-templates.component';
|
||||
import { ProjectMapComponent } from './components/project-map/project-map.component';
|
||||
import { ProjectsComponent } from './components/projects/projects.component';
|
||||
import { ControllersComponent } from './components/controllers/controllers.component';
|
||||
import { ConsoleComponent } from './components/settings/console/console.component';
|
||||
import { SettingsComponent } from './components/settings/settings.component';
|
||||
import { ListOfSnapshotsComponent } from './components/snapshots/list-of-snapshots/list-of-snapshots.component';
|
||||
import { SystemStatusComponent } from './components/system-status/system-status.component';
|
||||
import { WebConsoleFullWindowComponent } from './components/web-console-full-window/web-console-full-window.component';
|
||||
import { BundledControllerFinderComponent } from '@components/bundled-controller-finder/bundled-controller-finder.component';
|
||||
import { DirectLinkComponent } from '@components/direct-link/direct-link.component';
|
||||
import { HelpComponent } from '@components/help/help.component';
|
||||
import { InstalledSoftwareComponent } from '@components/installed-software/installed-software.component';
|
||||
import { LoginComponent } from '@components/login/login.component';
|
||||
import { PageNotFoundComponent } from '@components/page-not-found/page-not-found.component';
|
||||
import { BuiltInPreferencesComponent } from '@components/preferences/built-in/built-in-preferences.component';
|
||||
import { CloudNodesAddTemplateComponent } from '@components/preferences/built-in/cloud-nodes/cloud-nodes-add-template/cloud-nodes-add-template.component';
|
||||
import { CloudNodesTemplateDetailsComponent } from '@components/preferences/built-in/cloud-nodes/cloud-nodes-template-details/cloud-nodes-template-details.component';
|
||||
import { CloudNodesTemplatesComponent } from '@components/preferences/built-in/cloud-nodes/cloud-nodes-templates/cloud-nodes-templates.component';
|
||||
import { EthernetHubsAddTemplateComponent } from '@components/preferences/built-in/ethernet-hubs/ethernet-hubs-add-template/ethernet-hubs-add-template.component';
|
||||
import { EthernetHubsTemplateDetailsComponent } from '@components/preferences/built-in/ethernet-hubs/ethernet-hubs-template-details/ethernet-hubs-template-details.component';
|
||||
import { EthernetHubsTemplatesComponent } from '@components/preferences/built-in/ethernet-hubs/ethernet-hubs-templates/ethernet-hubs-templates.component';
|
||||
import { EthernetSwitchesAddTemplateComponent } from '@components/preferences/built-in/ethernet-switches/ethernet-switches-add-template/ethernet-switches-add-template.component';
|
||||
import { EthernetSwitchesTemplateDetailsComponent } from '@components/preferences/built-in/ethernet-switches/ethernet-switches-template-details/ethernet-switches-template-details.component';
|
||||
import { EthernetSwitchesTemplatesComponent } from '@components/preferences/built-in/ethernet-switches/ethernet-switches-templates/ethernet-switches-templates.component';
|
||||
import { AddDockerTemplateComponent } from '@components/preferences/docker/add-docker-template/add-docker-template.component';
|
||||
import { CopyDockerTemplateComponent } from '@components/preferences/docker/copy-docker-template/copy-docker-template.component';
|
||||
import { DockerTemplateDetailsComponent } from '@components/preferences/docker/docker-template-details/docker-template-details.component';
|
||||
import { DockerTemplatesComponent } from '@components/preferences/docker/docker-templates/docker-templates.component';
|
||||
import { AddIosTemplateComponent } from '@components/preferences/dynamips/add-ios-template/add-ios-template.component';
|
||||
import { CopyIosTemplateComponent } from '@components/preferences/dynamips/copy-ios-template/copy-ios-template.component';
|
||||
import { IosTemplateDetailsComponent } from '@components/preferences/dynamips/ios-template-details/ios-template-details.component';
|
||||
import { IosTemplatesComponent } from '@components/preferences/dynamips/ios-templates/ios-templates.component';
|
||||
import { AddIouTemplateComponent } from '@components/preferences/ios-on-unix/add-iou-template/add-iou-template.component';
|
||||
import { CopyIouTemplateComponent } from '@components/preferences/ios-on-unix/copy-iou-template/copy-iou-template.component';
|
||||
import { IouTemplateDetailsComponent } from '@components/preferences/ios-on-unix/iou-template-details/iou-template-details.component';
|
||||
import { IouTemplatesComponent } from '@components/preferences/ios-on-unix/iou-templates/iou-templates.component';
|
||||
import { PreferencesComponent } from '@components/preferences/preferences.component';
|
||||
import { AddQemuVmTemplateComponent } from '@components/preferences/qemu/add-qemu-vm-template/add-qemu-vm-template.component';
|
||||
import { CopyQemuVmTemplateComponent } from '@components/preferences/qemu/copy-qemu-vm-template/copy-qemu-vm-template.component';
|
||||
import { QemuVmTemplateDetailsComponent } from '@components/preferences/qemu/qemu-vm-template-details/qemu-vm-template-details.component';
|
||||
import { QemuVmTemplatesComponent } from '@components/preferences/qemu/qemu-vm-templates/qemu-vm-templates.component';
|
||||
import { AddVirtualBoxTemplateComponent } from '@components/preferences/virtual-box/add-virtual-box-template/add-virtual-box-template.component';
|
||||
import { VirtualBoxTemplateDetailsComponent } from '@components/preferences/virtual-box/virtual-box-template-details/virtual-box-template-details.component';
|
||||
import { VirtualBoxTemplatesComponent } from '@components/preferences/virtual-box/virtual-box-templates/virtual-box-templates.component';
|
||||
import { AddVmwareTemplateComponent } from '@components/preferences/vmware/add-vmware-template/add-vmware-template.component';
|
||||
import { VmwareTemplateDetailsComponent } from '@components/preferences/vmware/vmware-template-details/vmware-template-details.component';
|
||||
import { VmwareTemplatesComponent } from '@components/preferences/vmware/vmware-templates/vmware-templates.component';
|
||||
import { AddVpcsTemplateComponent } from '@components/preferences/vpcs/add-vpcs-template/add-vpcs-template.component';
|
||||
import { VpcsTemplateDetailsComponent } from '@components/preferences/vpcs/vpcs-template-details/vpcs-template-details.component';
|
||||
import { VpcsTemplatesComponent } from '@components/preferences/vpcs/vpcs-templates/vpcs-templates.component';
|
||||
import { ProjectMapComponent } from '@components/project-map/project-map.component';
|
||||
import { ProjectsComponent } from '@components/projects/projects.component';
|
||||
import { ControllersComponent } from '@components/controllers/controllers.component';
|
||||
import { ConsoleComponent } from '@components/settings/console/console.component';
|
||||
import { SettingsComponent } from '@components/settings/settings.component';
|
||||
import { ListOfSnapshotsComponent } from '@components/snapshots/list-of-snapshots/list-of-snapshots.component';
|
||||
import { SystemStatusComponent } from '@components/system-status/system-status.component';
|
||||
import { WebConsoleFullWindowComponent } from '@components/web-console-full-window/web-console-full-window.component';
|
||||
import { ConsoleGuard } from './guards/console-guard';
|
||||
import { LoginGuard } from './guards/login-guard';
|
||||
import { DefaultLayoutComponent } from './layouts/default-layout/default-layout.component';
|
||||
import { ControllerResolve } from './resolvers/controller-resolve';
|
||||
import { UserManagementComponent } from './components/user-management/user-management.component';
|
||||
import { LoggedUserComponent } from './components/users/logged-user/logged-user.component';
|
||||
import { ImageManagerComponent } from './components/image-manager/image-manager.component';
|
||||
import { UserDetailComponent } from "./components/user-management/user-detail/user-detail.component";
|
||||
import { UserDetailResolver } from "./resolvers/user-detail.resolver";
|
||||
import { ManagementComponent } from "./components/management/management.component";
|
||||
import { UserGroupsResolver } from "./resolvers/user-groups.resolver";
|
||||
import { GroupManagementComponent } from "./components/group-management/group-management.component";
|
||||
import { RoleManagementComponent } from "./components/role-management/role-management.component";
|
||||
import { GroupDetailsComponent } from "./components/group-details/group-details.component";
|
||||
import { GroupMembersResolver } from "./resolvers/group-members.resolver";
|
||||
import { GroupResolver } from "./resolvers/group.resolver";
|
||||
import { GroupRoleResolver } from "./resolvers/group-role.resolver";
|
||||
import { RoleDetailComponent } from "./components/role-management/role-detail/role-detail.component";
|
||||
import { RoleDetailResolver } from "./resolvers/role-detail.resolver";
|
||||
import { ControllerResolve } from '@resolvers/controller-resolve';
|
||||
import { UserManagementComponent } from '@components/user-management/user-management.component';
|
||||
import { LoggedUserComponent } from '@components/users/logged-user/logged-user.component';
|
||||
import { ImageManagerComponent } from '@components/image-manager/image-manager.component';
|
||||
import { UserDetailComponent } from "@components/user-management/user-detail/user-detail.component";
|
||||
import { UserDetailResolver } from "@resolvers/user-detail.resolver";
|
||||
import { ManagementComponent } from "@components/management/management.component";
|
||||
import { UserGroupsResolver } from "@resolvers/user-groups.resolver";
|
||||
import { GroupManagementComponent } from "@components/group-management/group-management.component";
|
||||
import { RoleManagementComponent } from "@components/role-management/role-management.component";
|
||||
import { GroupDetailsComponent } from "@components/group-details/group-details.component";
|
||||
import { GroupMembersResolver } from "@resolvers/group-members.resolver";
|
||||
import { GroupResolver } from "@resolvers/group.resolver";
|
||||
import { GroupRoleResolver } from "@resolvers/group-role.resolver";
|
||||
import { RoleDetailComponent } from "@components/role-management/role-detail/role-detail.component";
|
||||
import { RoleDetailResolver } from "@resolvers/role-detail.resolver";
|
||||
import { AclManagementComponent } from "@components/acl-management/acl-management.component";
|
||||
import { ResourcePoolsManagementComponent } from "@components/resource-pools-management/resource-pools-management.component";
|
||||
import { ResourcePoolDetailsComponent } from "@components/resource-pool-details/resource-pool-details.component";
|
||||
|
@ -1,4 +1,4 @@
|
||||
<div [ngClass]="{ dark: darkThemeEnabled, light: !darkThemeEnabled }">
|
||||
<router-outlet></router-outlet>
|
||||
<app-adbutler></app-adbutler>
|
||||
<!-- <app-adbutler></app-adbutler> -->
|
||||
</div>
|
||||
|
@ -5,7 +5,7 @@ import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { ElectronService, NgxElectronModule } from 'ngx-electron';
|
||||
import { AppComponent } from './app.component';
|
||||
import { ProgressService } from './common/progress/progress.service';
|
||||
import { SettingsService } from './services/settings.service';
|
||||
import { SettingsService } from '@services/settings.service';
|
||||
|
||||
import createSpyObj = jasmine.createSpyObj;
|
||||
// import 'jasmine';
|
||||
|
@ -5,8 +5,8 @@ import { DomSanitizer } from '@angular/platform-browser';
|
||||
import { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';
|
||||
import { ElectronService } from 'ngx-electron';
|
||||
import { ProgressService } from './common/progress/progress.service';
|
||||
import { SettingsService } from './services/settings.service';
|
||||
import { ThemeService } from './services/theme.service';
|
||||
import { SettingsService } from '@services/settings.service';
|
||||
import { ThemeService } from '@services/theme.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-root',
|
||||
|
@ -29,302 +29,307 @@ import { ProgressDialogComponent } from './common/progress-dialog/progress-dialo
|
||||
import { ProgressDialogService } from './common/progress-dialog/progress-dialog.service';
|
||||
import { ProgressComponent } from './common/progress/progress.component';
|
||||
import { ProgressService } from './common/progress/progress.service';
|
||||
import { AdbutlerComponent } from './components/adbutler/adbutler.component';
|
||||
import { BundledControllerFinderComponent } from './components/bundled-controller-finder/bundled-controller-finder.component';
|
||||
import { InformationDialogComponent } from './components/dialogs/information-dialog.component';
|
||||
import { DirectLinkComponent } from './components/direct-link/direct-link.component';
|
||||
import { DrawingAddedComponent } from './components/drawings-listeners/drawing-added/drawing-added.component';
|
||||
import { DrawingDraggedComponent } from './components/drawings-listeners/drawing-dragged/drawing-dragged.component';
|
||||
import { DrawingResizedComponent } from './components/drawings-listeners/drawing-resized/drawing-resized.component';
|
||||
import { InterfaceLabelDraggedComponent } from './components/drawings-listeners/interface-label-dragged/interface-label-dragged.component';
|
||||
import { LinkCreatedComponent } from './components/drawings-listeners/link-created/link-created.component';
|
||||
import { NodeDraggedComponent } from './components/drawings-listeners/node-dragged/node-dragged.component';
|
||||
import { NodeLabelDraggedComponent } from './components/drawings-listeners/node-label-dragged/node-label-dragged.component';
|
||||
import { TextAddedComponent } from './components/drawings-listeners/text-added/text-added.component';
|
||||
import { TextEditedComponent } from './components/drawings-listeners/text-edited/text-edited.component';
|
||||
import { HelpComponent } from './components/help/help.component';
|
||||
import { InstallSoftwareComponent } from './components/installed-software/install-software/install-software.component';
|
||||
import { InstalledSoftwareComponent } from './components/installed-software/installed-software.component';
|
||||
import { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';
|
||||
import { BuiltInPreferencesComponent } from './components/preferences/built-in/built-in-preferences.component';
|
||||
import { CloudNodesAddTemplateComponent } from './components/preferences/built-in/cloud-nodes/cloud-nodes-add-template/cloud-nodes-add-template.component';
|
||||
import { CloudNodesTemplateDetailsComponent } from './components/preferences/built-in/cloud-nodes/cloud-nodes-template-details/cloud-nodes-template-details.component';
|
||||
import { CloudNodesTemplatesComponent } from './components/preferences/built-in/cloud-nodes/cloud-nodes-templates/cloud-nodes-templates.component';
|
||||
import { EthernetHubsAddTemplateComponent } from './components/preferences/built-in/ethernet-hubs/ethernet-hubs-add-template/ethernet-hubs-add-template.component';
|
||||
import { EthernetHubsTemplateDetailsComponent } from './components/preferences/built-in/ethernet-hubs/ethernet-hubs-template-details/ethernet-hubs-template-details.component';
|
||||
import { EthernetHubsTemplatesComponent } from './components/preferences/built-in/ethernet-hubs/ethernet-hubs-templates/ethernet-hubs-templates.component';
|
||||
import { EthernetSwitchesAddTemplateComponent } from './components/preferences/built-in/ethernet-switches/ethernet-switches-add-template/ethernet-switches-add-template.component';
|
||||
import { EthernetSwitchesTemplateDetailsComponent } from './components/preferences/built-in/ethernet-switches/ethernet-switches-template-details/ethernet-switches-template-details.component';
|
||||
import { EthernetSwitchesTemplatesComponent } from './components/preferences/built-in/ethernet-switches/ethernet-switches-templates/ethernet-switches-templates.component';
|
||||
import { CustomAdaptersTableComponent } from './components/preferences/common/custom-adapters-table/custom-adapters-table.component';
|
||||
import { CustomAdaptersComponent } from './components/preferences/common/custom-adapters/custom-adapters.component';
|
||||
import { DeleteConfirmationDialogComponent } from './components/preferences/common/delete-confirmation-dialog/delete-confirmation-dialog.component';
|
||||
import { DeleteTemplateComponent } from './components/preferences/common/delete-template-component/delete-template.component';
|
||||
import { EmptyTemplatesListComponent } from './components/preferences/common/empty-templates-list/empty-templates-list.component';
|
||||
import { PortsComponent } from './components/preferences/common/ports/ports.component';
|
||||
import { SymbolsMenuComponent } from './components/preferences/common/symbols-menu/symbols-menu.component';
|
||||
import { SymbolsComponent } from './components/preferences/common/symbols/symbols.component';
|
||||
import { UdpTunnelsComponent } from './components/preferences/common/udp-tunnels/udp-tunnels.component';
|
||||
import { AddDockerTemplateComponent } from './components/preferences/docker/add-docker-template/add-docker-template.component';
|
||||
import { CopyDockerTemplateComponent } from './components/preferences/docker/copy-docker-template/copy-docker-template.component';
|
||||
import { DockerTemplateDetailsComponent } from './components/preferences/docker/docker-template-details/docker-template-details.component';
|
||||
import { DockerTemplatesComponent } from './components/preferences/docker/docker-templates/docker-templates.component';
|
||||
import { AddIosTemplateComponent } from './components/preferences/dynamips/add-ios-template/add-ios-template.component';
|
||||
import { CopyIosTemplateComponent } from './components/preferences/dynamips/copy-ios-template/copy-ios-template.component';
|
||||
import { DynamipsPreferencesComponent } from './components/preferences/dynamips/dynamips-preferences/dynamips-preferences.component';
|
||||
import { IosTemplateDetailsComponent } from './components/preferences/dynamips/ios-template-details/ios-template-details.component';
|
||||
import { IosTemplatesComponent } from './components/preferences/dynamips/ios-templates/ios-templates.component';
|
||||
import { GeneralPreferencesComponent } from './components/preferences/general/general-preferences.component';
|
||||
import { AddIouTemplateComponent } from './components/preferences/ios-on-unix/add-iou-template/add-iou-template.component';
|
||||
import { CopyIouTemplateComponent } from './components/preferences/ios-on-unix/copy-iou-template/copy-iou-template.component';
|
||||
import { IouTemplateDetailsComponent } from './components/preferences/ios-on-unix/iou-template-details/iou-template-details.component';
|
||||
import { IouTemplatesComponent } from './components/preferences/ios-on-unix/iou-templates/iou-templates.component';
|
||||
import { PreferencesComponent } from './components/preferences/preferences.component';
|
||||
import { AddQemuVmTemplateComponent } from './components/preferences/qemu/add-qemu-vm-template/add-qemu-vm-template.component';
|
||||
import { CopyQemuVmTemplateComponent } from './components/preferences/qemu/copy-qemu-vm-template/copy-qemu-vm-template.component';
|
||||
import { QemuPreferencesComponent } from './components/preferences/qemu/qemu-preferences/qemu-preferences.component';
|
||||
import { QemuVmTemplateDetailsComponent } from './components/preferences/qemu/qemu-vm-template-details/qemu-vm-template-details.component';
|
||||
import { QemuVmTemplatesComponent } from './components/preferences/qemu/qemu-vm-templates/qemu-vm-templates.component';
|
||||
import { AddVirtualBoxTemplateComponent } from './components/preferences/virtual-box/add-virtual-box-template/add-virtual-box-template.component';
|
||||
import { VirtualBoxPreferencesComponent } from './components/preferences/virtual-box/virtual-box-preferences/virtual-box-preferences.component';
|
||||
import { VirtualBoxTemplateDetailsComponent } from './components/preferences/virtual-box/virtual-box-template-details/virtual-box-template-details.component';
|
||||
import { VirtualBoxTemplatesComponent } from './components/preferences/virtual-box/virtual-box-templates/virtual-box-templates.component';
|
||||
import { AddVmwareTemplateComponent } from './components/preferences/vmware/add-vmware-template/add-vmware-template.component';
|
||||
import { VmwarePreferencesComponent } from './components/preferences/vmware/vmware-preferences/vmware-preferences.component';
|
||||
import { VmwareTemplateDetailsComponent } from './components/preferences/vmware/vmware-template-details/vmware-template-details.component';
|
||||
import { VmwareTemplatesComponent } from './components/preferences/vmware/vmware-templates/vmware-templates.component';
|
||||
import { AddVpcsTemplateComponent } from './components/preferences/vpcs/add-vpcs-template/add-vpcs-template.component';
|
||||
import { VpcsPreferencesComponent } from './components/preferences/vpcs/vpcs-preferences/vpcs-preferences.component';
|
||||
import { VpcsTemplateDetailsComponent } from './components/preferences/vpcs/vpcs-template-details/vpcs-template-details.component';
|
||||
import { VpcsTemplatesComponent } from './components/preferences/vpcs/vpcs-templates/vpcs-templates.component';
|
||||
import { ChangeHostnameDialogComponent } from './components/project-map/change-hostname-dialog/change-hostname-dialog.component';
|
||||
import { ChangeSymbolDialogComponent } from './components/project-map/change-symbol-dialog/change-symbol-dialog.component';
|
||||
import { ConsoleWrapperComponent } from './components/project-map/console-wrapper/console-wrapper.component';
|
||||
import { ContextConsoleMenuComponent } from './components/project-map/context-console-menu/context-console-menu.component';
|
||||
import { AlignHorizontallyActionComponent } from './components/project-map/context-menu/actions/align-horizontally/align-horizontally.component';
|
||||
import { AlignVerticallyActionComponent } from './components/project-map/context-menu/actions/align_vertically/align-vertically.component';
|
||||
import { BringToFrontActionComponent } from './components/project-map/context-menu/actions/bring-to-front-action/bring-to-front-action.component';
|
||||
import { ChangeHostnameActionComponent } from './components/project-map/context-menu/actions/change-hostname/change-hostname-action.component';
|
||||
import { ChangeSymbolActionComponent } from './components/project-map/context-menu/actions/change-symbol/change-symbol-action.component';
|
||||
import { ConfigActionComponent } from './components/project-map/context-menu/actions/config-action/config-action.component';
|
||||
import { ConsoleDeviceActionBrowserComponent } from './components/project-map/context-menu/actions/console-device-action-browser/console-device-action-browser.component';
|
||||
import { ConsoleDeviceActionComponent } from './components/project-map/context-menu/actions/console-device-action/console-device-action.component';
|
||||
import { DeleteActionComponent } from './components/project-map/context-menu/actions/delete-action/delete-action.component';
|
||||
import { DuplicateActionComponent } from './components/project-map/context-menu/actions/duplicate-action/duplicate-action.component';
|
||||
import { EditConfigActionComponent } from './components/project-map/context-menu/actions/edit-config/edit-config-action.component';
|
||||
import { EditStyleActionComponent } from './components/project-map/context-menu/actions/edit-style-action/edit-style-action.component';
|
||||
import { EditLinkStyleActionComponent } from './components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component';
|
||||
import { EditTextActionComponent } from './components/project-map/context-menu/actions/edit-text-action/edit-text-action.component';
|
||||
import { ExportConfigActionComponent } from './components/project-map/context-menu/actions/export-config/export-config-action.component';
|
||||
import { HttpConsoleNewTabActionComponent } from './components/project-map/context-menu/actions/http-console-new-tab/http-console-new-tab-action.component';
|
||||
import { HttpConsoleActionComponent } from './components/project-map/context-menu/actions/http-console/http-console-action.component';
|
||||
import { ImportConfigActionComponent } from './components/project-map/context-menu/actions/import-config/import-config-action.component';
|
||||
import { LockActionComponent } from './components/project-map/context-menu/actions/lock-action/lock-action.component';
|
||||
import { MoveLayerDownActionComponent } from './components/project-map/context-menu/actions/move-layer-down-action/move-layer-down-action.component';
|
||||
import { MoveLayerUpActionComponent } from './components/project-map/context-menu/actions/move-layer-up-action/move-layer-up-action.component';
|
||||
import { OpenFileExplorerActionComponent } from './components/project-map/context-menu/actions/open-file-explorer/open-file-explorer-action.component';
|
||||
import { PacketFiltersActionComponent } from './components/project-map/context-menu/actions/packet-filters-action/packet-filters-action.component';
|
||||
import { ReloadNodeActionComponent } from './components/project-map/context-menu/actions/reload-node-action/reload-node-action.component';
|
||||
import { ResumeLinkActionComponent } from './components/project-map/context-menu/actions/resume-link-action/resume-link-action.component';
|
||||
import { ShowNodeActionComponent } from './components/project-map/context-menu/actions/show-node-action/show-node-action.component';
|
||||
import { StartCaptureOnStartedLinkActionComponent } from './components/project-map/context-menu/actions/start-capture-on-started-link/start-capture-on-started-link.component';
|
||||
import { StartCaptureActionComponent } from './components/project-map/context-menu/actions/start-capture/start-capture-action.component';
|
||||
import { StartNodeActionComponent } from './components/project-map/context-menu/actions/start-node-action/start-node-action.component';
|
||||
import { StopCaptureActionComponent } from './components/project-map/context-menu/actions/stop-capture/stop-capture-action.component';
|
||||
import { IsolateNodeActionComponent } from './components/project-map/context-menu/actions/isolate-node-action/isolate-node-action.component';
|
||||
import { UnisolateNodeActionComponent } from './components/project-map/context-menu/actions/unisolate-node-action/unisolate-node-action.component';
|
||||
import {StopNodeActionComponent } from './components/project-map/context-menu/actions/stop-node-action/stop-node-action.component';
|
||||
import { SuspendLinkActionComponent } from './components/project-map/context-menu/actions/suspend-link/suspend-link-action.component';
|
||||
import { SuspendNodeActionComponent } from './components/project-map/context-menu/actions/suspend-node-action/suspend-node-action.component';
|
||||
import { ContextMenuComponent } from './components/project-map/context-menu/context-menu.component';
|
||||
import { ConfigDialogComponent } from './components/project-map/context-menu/dialogs/config-dialog/config-dialog.component';
|
||||
import { DrawLinkToolComponent } from './components/project-map/draw-link-tool/draw-link-tool.component';
|
||||
import { StyleEditorDialogComponent } from './components/project-map/drawings-editors/style-editor/style-editor.component';
|
||||
import { LinkStyleEditorDialogComponent } from './components/project-map/drawings-editors/link-style-editor/link-style-editor.component';
|
||||
import { TextEditorDialogComponent } from './components/project-map/drawings-editors/text-editor/text-editor.component';
|
||||
import { HelpDialogComponent } from './components/project-map/help-dialog/help-dialog.component';
|
||||
import { NodeCreatedLabelStylesFixer } from './components/project-map/helpers/node-created-label-styles-fixer';
|
||||
import { ImportApplianceComponent } from './components/project-map/import-appliance/import-appliance.component';
|
||||
import { InfoDialogComponent } from './components/project-map/info-dialog/info-dialog.component';
|
||||
import { LogConsoleComponent } from './components/project-map/log-console/log-console.component';
|
||||
import { LogEventsDataSource } from './components/project-map/log-console/log-events-datasource';
|
||||
import { ApplianceInfoDialogComponent } from './components/project-map/new-template-dialog/appliance-info-dialog/appliance-info-dialog.component';
|
||||
import { NewTemplateDialogComponent } from './components/project-map/new-template-dialog/new-template-dialog.component';
|
||||
import { TemplateNameDialogComponent } from './components/project-map/new-template-dialog/template-name-dialog/template-name-dialog.component';
|
||||
import { ConfigEditorDialogComponent } from './components/project-map/node-editors/config-editor/config-editor.component';
|
||||
import { ConfiguratorDialogAtmSwitchComponent } from './components/project-map/node-editors/configurator/atm_switch/configurator-atm-switch.component';
|
||||
import { ConfiguratorDialogCloudComponent } from './components/project-map/node-editors/configurator/cloud/configurator-cloud.component';
|
||||
import { ConfiguratorDialogDockerComponent } from './components/project-map/node-editors/configurator/docker/configurator-docker.component';
|
||||
import { ConfigureCustomAdaptersDialogComponent } from './components/project-map/node-editors/configurator/docker/configure-custom-adapters/configure-custom-adapters.component';
|
||||
import { EditNetworkConfigurationDialogComponent } from './components/project-map/node-editors/configurator/docker/edit-network-configuration/edit-network-configuration.component';
|
||||
import { ConfiguratorDialogEthernetSwitchComponent } from './components/project-map/node-editors/configurator/ethernet-switch/configurator-ethernet-switch.component';
|
||||
import { ConfiguratorDialogEthernetHubComponent } from './components/project-map/node-editors/configurator/ethernet_hub/configurator-ethernet-hub.component';
|
||||
import { ConfiguratorDialogIosComponent } from './components/project-map/node-editors/configurator/ios/configurator-ios.component';
|
||||
import { ConfiguratorDialogIouComponent } from './components/project-map/node-editors/configurator/iou/configurator-iou.component';
|
||||
import { ConfiguratorDialogNatComponent } from './components/project-map/node-editors/configurator/nat/configurator-nat.component';
|
||||
import { ConfiguratorDialogQemuComponent } from './components/project-map/node-editors/configurator/qemu/configurator-qemu.component';
|
||||
import { QemuImageCreatorComponent } from './components/project-map/node-editors/configurator/qemu/qemu-image-creator/qemu-image-creator.component';
|
||||
import { ConfiguratorDialogSwitchComponent } from './components/project-map/node-editors/configurator/switch/configurator-switch.component';
|
||||
import { ConfiguratorDialogVirtualBoxComponent } from './components/project-map/node-editors/configurator/virtualbox/configurator-virtualbox.component';
|
||||
import { ConfiguratorDialogVmwareComponent } from './components/project-map/node-editors/configurator/vmware/configurator-vmware.component';
|
||||
import { ConfiguratorDialogVpcsComponent } from './components/project-map/node-editors/configurator/vpcs/configurator-vpcs.component';
|
||||
import { NodeSelectInterfaceComponent } from './components/project-map/node-select-interface/node-select-interface.component';
|
||||
import { NodesMenuComponent } from './components/project-map/nodes-menu/nodes-menu.component';
|
||||
import { PacketFiltersDialogComponent } from './components/project-map/packet-capturing/packet-filters/packet-filters.component';
|
||||
import { StartCaptureDialogComponent } from './components/project-map/packet-capturing/start-capture/start-capture.component';
|
||||
import { ProjectMapMenuComponent } from './components/project-map/project-map-menu/project-map-menu.component';
|
||||
import { ProjectMapComponent } from './components/project-map/project-map.component';
|
||||
import { ProjectReadmeComponent } from './components/project-map/project-readme/project-readme.component';
|
||||
import { ScreenshotDialogComponent } from './components/project-map/screenshot-dialog/screenshot-dialog.component';
|
||||
import { WebConsoleComponent } from './components/project-map/web-console/web-console.component';
|
||||
import { AddBlankProjectDialogComponent } from './components/projects/add-blank-project-dialog/add-blank-project-dialog.component';
|
||||
import { ChooseNameDialogComponent } from './components/projects/choose-name-dialog/choose-name-dialog.component';
|
||||
import { ConfirmationBottomSheetComponent } from './components/projects/confirmation-bottomsheet/confirmation-bottomsheet.component';
|
||||
import { ConfirmationDialogComponent } from './components/projects/confirmation-dialog/confirmation-dialog.component';
|
||||
import { EditProjectDialogComponent } from './components/projects/edit-project-dialog/edit-project-dialog.component';
|
||||
import { ReadmeEditorComponent } from './components/projects/edit-project-dialog/readme-editor/readme-editor.component';
|
||||
import { ImportProjectDialogComponent } from './components/projects/import-project-dialog/import-project-dialog.component';
|
||||
import { ProjectNameValidator } from './components/projects/models/projectNameValidator';
|
||||
import { NavigationDialogComponent } from './components/projects/navigation-dialog/navigation-dialog.component';
|
||||
import { ProjectsComponent } from './components/projects/projects.component';
|
||||
import { SaveProjectDialogComponent } from './components/projects/save-project-dialog/save-project-dialog.component';
|
||||
import { AddControllerDialogComponent } from './components/controllers/add-controller-dialog/add-controller-dialog.component';
|
||||
import { ControllerDiscoveryComponent } from './components/controllers/controller-discovery/controller-discovery.component';
|
||||
import { ControllersComponent } from './components/controllers/controllers.component';
|
||||
import { ConsoleComponent } from './components/settings/console/console.component';
|
||||
import { SettingsComponent } from './components/settings/settings.component';
|
||||
import { CreateSnapshotDialogComponent } from './components/snapshots/create-snapshot-dialog/create-snapshot-dialog.component';
|
||||
import { ListOfSnapshotsComponent } from './components/snapshots/list-of-snapshots/list-of-snapshots.component';
|
||||
import { SnapshotMenuItemComponent } from './components/snapshots/snapshot-menu-item/snapshot-menu-item.component';
|
||||
import { StatusChartComponent } from './components/system-status/status-chart/status-chart.component';
|
||||
import { StatusInfoComponent } from './components/system-status/status-info/status-info.component';
|
||||
import { SystemStatusComponent } from './components/system-status/system-status.component';
|
||||
import { TemplateListDialogComponent } from './components/template/template-list-dialog/template-list-dialog.component';
|
||||
import { TemplateComponent } from './components/template/template.component';
|
||||
import { TopologySummaryComponent } from './components/topology-summary/topology-summary.component';
|
||||
import { WebConsoleFullWindowComponent } from './components/web-console-full-window/web-console-full-window.component';
|
||||
import { DataSourceFilter } from './filters/dataSourceFilter';
|
||||
import { AuthImageFilter } from './filters/authImageFilter';
|
||||
import { DateFilter } from './filters/dateFilter.pipe';
|
||||
import { NameFilter } from './filters/nameFilter.pipe';
|
||||
import { ProjectsFilter } from './filters/projectsFilter.pipe';
|
||||
import { SearchFilter } from './filters/searchFilter.pipe';
|
||||
import { TemplateFilter } from './filters/templateFilter.pipe';
|
||||
import { AdbutlerComponent } from '@components/adbutler/adbutler.component';
|
||||
import { BundledControllerFinderComponent } from '@components/bundled-controller-finder/bundled-controller-finder.component';
|
||||
import { InformationDialogComponent } from '@components/dialogs/information-dialog/information-dialog.component';
|
||||
import { QuestionDialogComponent } from "@components/dialogs/question-dialog/question-dialog.component";
|
||||
import { DirectLinkComponent } from '@components/direct-link/direct-link.component';
|
||||
import { DrawingAddedComponent } from '@components/drawings-listeners/drawing-added/drawing-added.component';
|
||||
import { DrawingDraggedComponent } from '@components/drawings-listeners/drawing-dragged/drawing-dragged.component';
|
||||
import { DrawingResizedComponent } from '@components/drawings-listeners/drawing-resized/drawing-resized.component';
|
||||
import { InterfaceLabelDraggedComponent } from '@components/drawings-listeners/interface-label-dragged/interface-label-dragged.component';
|
||||
import { LinkCreatedComponent } from '@components/drawings-listeners/link-created/link-created.component';
|
||||
import { NodeDraggedComponent } from '@components/drawings-listeners/node-dragged/node-dragged.component';
|
||||
import { NodeLabelDraggedComponent } from '@components/drawings-listeners/node-label-dragged/node-label-dragged.component';
|
||||
import { TextAddedComponent } from '@components/drawings-listeners/text-added/text-added.component';
|
||||
import { TextEditedComponent } from '@components/drawings-listeners/text-edited/text-edited.component';
|
||||
import { HelpComponent } from '@components/help/help.component';
|
||||
import { InstallSoftwareComponent } from '@components/installed-software/install-software/install-software.component';
|
||||
import { InstalledSoftwareComponent } from '@components/installed-software/installed-software.component';
|
||||
import { PageNotFoundComponent } from '@components/page-not-found/page-not-found.component';
|
||||
import { BuiltInPreferencesComponent } from '@components/preferences/built-in/built-in-preferences.component';
|
||||
import { CloudNodesAddTemplateComponent } from '@components/preferences/built-in/cloud-nodes/cloud-nodes-add-template/cloud-nodes-add-template.component';
|
||||
import { CloudNodesTemplateDetailsComponent } from '@components/preferences/built-in/cloud-nodes/cloud-nodes-template-details/cloud-nodes-template-details.component';
|
||||
import { CloudNodesTemplatesComponent } from '@components/preferences/built-in/cloud-nodes/cloud-nodes-templates/cloud-nodes-templates.component';
|
||||
import { EthernetHubsAddTemplateComponent } from '@components/preferences/built-in/ethernet-hubs/ethernet-hubs-add-template/ethernet-hubs-add-template.component';
|
||||
import { EthernetHubsTemplateDetailsComponent } from '@components/preferences/built-in/ethernet-hubs/ethernet-hubs-template-details/ethernet-hubs-template-details.component';
|
||||
import { EthernetHubsTemplatesComponent } from '@components/preferences/built-in/ethernet-hubs/ethernet-hubs-templates/ethernet-hubs-templates.component';
|
||||
import { EthernetSwitchesAddTemplateComponent } from '@components/preferences/built-in/ethernet-switches/ethernet-switches-add-template/ethernet-switches-add-template.component';
|
||||
import { EthernetSwitchesTemplateDetailsComponent } from '@components/preferences/built-in/ethernet-switches/ethernet-switches-template-details/ethernet-switches-template-details.component';
|
||||
import { EthernetSwitchesTemplatesComponent } from '@components/preferences/built-in/ethernet-switches/ethernet-switches-templates/ethernet-switches-templates.component';
|
||||
import { CustomAdaptersTableComponent } from '@components/preferences/common/custom-adapters-table/custom-adapters-table.component';
|
||||
import { CustomAdaptersComponent } from '@components/preferences/common/custom-adapters/custom-adapters.component';
|
||||
import { DeleteConfirmationDialogComponent } from '@components/preferences/common/delete-confirmation-dialog/delete-confirmation-dialog.component';
|
||||
import { DeleteTemplateComponent } from '@components/preferences/common/delete-template-component/delete-template.component';
|
||||
import { EmptyTemplatesListComponent } from '@components/preferences/common/empty-templates-list/empty-templates-list.component';
|
||||
import { PortsComponent } from '@components/preferences/common/ports/ports.component';
|
||||
import { SymbolsMenuComponent } from '@components/preferences/common/symbols-menu/symbols-menu.component';
|
||||
import { SymbolsComponent } from '@components/preferences/common/symbols/symbols.component';
|
||||
import { UdpTunnelsComponent } from '@components/preferences/common/udp-tunnels/udp-tunnels.component';
|
||||
import { AddDockerTemplateComponent } from '@components/preferences/docker/add-docker-template/add-docker-template.component';
|
||||
import { CopyDockerTemplateComponent } from '@components/preferences/docker/copy-docker-template/copy-docker-template.component';
|
||||
import { DockerTemplateDetailsComponent } from '@components/preferences/docker/docker-template-details/docker-template-details.component';
|
||||
import { DockerTemplatesComponent } from '@components/preferences/docker/docker-templates/docker-templates.component';
|
||||
import { AddIosTemplateComponent } from '@components/preferences/dynamips/add-ios-template/add-ios-template.component';
|
||||
import { CopyIosTemplateComponent } from '@components/preferences/dynamips/copy-ios-template/copy-ios-template.component';
|
||||
import { DynamipsPreferencesComponent } from '@components/preferences/dynamips/dynamips-preferences/dynamips-preferences.component';
|
||||
import { IosTemplateDetailsComponent } from '@components/preferences/dynamips/ios-template-details/ios-template-details.component';
|
||||
import { IosTemplatesComponent } from '@components/preferences/dynamips/ios-templates/ios-templates.component';
|
||||
import { GeneralPreferencesComponent } from '@components/preferences/general/general-preferences.component';
|
||||
import { AddIouTemplateComponent } from '@components/preferences/ios-on-unix/add-iou-template/add-iou-template.component';
|
||||
import { CopyIouTemplateComponent } from '@components/preferences/ios-on-unix/copy-iou-template/copy-iou-template.component';
|
||||
import { IouTemplateDetailsComponent } from '@components/preferences/ios-on-unix/iou-template-details/iou-template-details.component';
|
||||
import { IouTemplatesComponent } from '@components/preferences/ios-on-unix/iou-templates/iou-templates.component';
|
||||
import { PreferencesComponent } from '@components/preferences/preferences.component';
|
||||
import { AddQemuVmTemplateComponent } from '@components/preferences/qemu/add-qemu-vm-template/add-qemu-vm-template.component';
|
||||
import { CopyQemuVmTemplateComponent } from '@components/preferences/qemu/copy-qemu-vm-template/copy-qemu-vm-template.component';
|
||||
import { QemuPreferencesComponent } from '@components/preferences/qemu/qemu-preferences/qemu-preferences.component';
|
||||
import { QemuVmTemplateDetailsComponent } from '@components/preferences/qemu/qemu-vm-template-details/qemu-vm-template-details.component';
|
||||
import { QemuVmTemplatesComponent } from '@components/preferences/qemu/qemu-vm-templates/qemu-vm-templates.component';
|
||||
import { AddVirtualBoxTemplateComponent } from '@components/preferences/virtual-box/add-virtual-box-template/add-virtual-box-template.component';
|
||||
import { VirtualBoxPreferencesComponent } from '@components/preferences/virtual-box/virtual-box-preferences/virtual-box-preferences.component';
|
||||
import { VirtualBoxTemplateDetailsComponent } from '@components/preferences/virtual-box/virtual-box-template-details/virtual-box-template-details.component';
|
||||
import { VirtualBoxTemplatesComponent } from '@components/preferences/virtual-box/virtual-box-templates/virtual-box-templates.component';
|
||||
import { AddVmwareTemplateComponent } from '@components/preferences/vmware/add-vmware-template/add-vmware-template.component';
|
||||
import { VmwarePreferencesComponent } from '@components/preferences/vmware/vmware-preferences/vmware-preferences.component';
|
||||
import { VmwareTemplateDetailsComponent } from '@components/preferences/vmware/vmware-template-details/vmware-template-details.component';
|
||||
import { VmwareTemplatesComponent } from '@components/preferences/vmware/vmware-templates/vmware-templates.component';
|
||||
import { AddVpcsTemplateComponent } from '@components/preferences/vpcs/add-vpcs-template/add-vpcs-template.component';
|
||||
import { VpcsPreferencesComponent } from '@components/preferences/vpcs/vpcs-preferences/vpcs-preferences.component';
|
||||
import { VpcsTemplateDetailsComponent } from '@components/preferences/vpcs/vpcs-template-details/vpcs-template-details.component';
|
||||
import { VpcsTemplatesComponent } from '@components/preferences/vpcs/vpcs-templates/vpcs-templates.component';
|
||||
import { ChangeHostnameDialogComponent } from '@components/project-map/change-hostname-dialog/change-hostname-dialog.component';
|
||||
import { ChangeSymbolDialogComponent } from '@components/project-map/change-symbol-dialog/change-symbol-dialog.component';
|
||||
import { ConsoleWrapperComponent } from '@components/project-map/console-wrapper/console-wrapper.component';
|
||||
import { ContextConsoleMenuComponent } from '@components/project-map/context-console-menu/context-console-menu.component';
|
||||
import { AlignHorizontallyActionComponent } from '@components/project-map/context-menu/actions/align-horizontally/align-horizontally.component';
|
||||
import { AlignVerticallyActionComponent } from '@components/project-map/context-menu/actions/align_vertically/align-vertically.component';
|
||||
import { BringToFrontActionComponent } from '@components/project-map/context-menu/actions/bring-to-front-action/bring-to-front-action.component';
|
||||
import { ChangeHostnameActionComponent } from '@components/project-map/context-menu/actions/change-hostname/change-hostname-action.component';
|
||||
import { ChangeSymbolActionComponent } from '@components/project-map/context-menu/actions/change-symbol/change-symbol-action.component';
|
||||
import { ConfigActionComponent } from '@components/project-map/context-menu/actions/config-action/config-action.component';
|
||||
import { ConsoleDeviceActionBrowserComponent } from '@components/project-map/context-menu/actions/console-device-action-browser/console-device-action-browser.component';
|
||||
import { ConsoleDeviceActionComponent } from '@components/project-map/context-menu/actions/console-device-action/console-device-action.component';
|
||||
import { DeleteActionComponent } from '@components/project-map/context-menu/actions/delete-action/delete-action.component';
|
||||
import { DuplicateActionComponent } from '@components/project-map/context-menu/actions/duplicate-action/duplicate-action.component';
|
||||
import { EditConfigActionComponent } from '@components/project-map/context-menu/actions/edit-config/edit-config-action.component';
|
||||
import { EditStyleActionComponent } from '@components/project-map/context-menu/actions/edit-style-action/edit-style-action.component';
|
||||
import { EditLinkStyleActionComponent } from '@components/project-map/context-menu/actions/edit-link-style-action/edit-link-style-action.component';
|
||||
import { EditTextActionComponent } from '@components/project-map/context-menu/actions/edit-text-action/edit-text-action.component';
|
||||
import { ExportConfigActionComponent } from '@components/project-map/context-menu/actions/export-config/export-config-action.component';
|
||||
import { HttpConsoleNewTabActionComponent } from '@components/project-map/context-menu/actions/http-console-new-tab/http-console-new-tab-action.component';
|
||||
import { HttpConsoleActionComponent } from '@components/project-map/context-menu/actions/http-console/http-console-action.component';
|
||||
import { IdlePcActionComponent } from "@components/project-map/context-menu/actions/idle-pc-action/idle-pc-action.component";
|
||||
import { AutoIdlePcActionComponent } from "@components/project-map/context-menu/actions/auto-idle-pc-action/auto-idle-pc-action.component";
|
||||
import { ImportConfigActionComponent } from '@components/project-map/context-menu/actions/import-config/import-config-action.component';
|
||||
import { LockActionComponent } from '@components/project-map/context-menu/actions/lock-action/lock-action.component';
|
||||
import { MoveLayerDownActionComponent } from '@components/project-map/context-menu/actions/move-layer-down-action/move-layer-down-action.component';
|
||||
import { MoveLayerUpActionComponent } from '@components/project-map/context-menu/actions/move-layer-up-action/move-layer-up-action.component';
|
||||
import { OpenFileExplorerActionComponent } from '@components/project-map/context-menu/actions/open-file-explorer/open-file-explorer-action.component';
|
||||
import { PacketFiltersActionComponent } from '@components/project-map/context-menu/actions/packet-filters-action/packet-filters-action.component';
|
||||
import { ReloadNodeActionComponent } from '@components/project-map/context-menu/actions/reload-node-action/reload-node-action.component';
|
||||
import { ResumeLinkActionComponent } from '@components/project-map/context-menu/actions/resume-link-action/resume-link-action.component';
|
||||
import { ShowNodeActionComponent } from '@components/project-map/context-menu/actions/show-node-action/show-node-action.component';
|
||||
import { StartCaptureOnStartedLinkActionComponent } from '@components/project-map/context-menu/actions/start-capture-on-started-link/start-capture-on-started-link.component';
|
||||
import { StartCaptureActionComponent } from '@components/project-map/context-menu/actions/start-capture/start-capture-action.component';
|
||||
import { StartNodeActionComponent } from '@components/project-map/context-menu/actions/start-node-action/start-node-action.component';
|
||||
import { StopCaptureActionComponent } from '@components/project-map/context-menu/actions/stop-capture/stop-capture-action.component';
|
||||
import { IsolateNodeActionComponent } from '@components/project-map/context-menu/actions/isolate-node-action/isolate-node-action.component';
|
||||
import { UnisolateNodeActionComponent } from '@components/project-map/context-menu/actions/unisolate-node-action/unisolate-node-action.component';
|
||||
import { StopNodeActionComponent } from '@components/project-map/context-menu/actions/stop-node-action/stop-node-action.component';
|
||||
import { SuspendLinkActionComponent } from '@components/project-map/context-menu/actions/suspend-link/suspend-link-action.component';
|
||||
import { SuspendNodeActionComponent } from '@components/project-map/context-menu/actions/suspend-node-action/suspend-node-action.component';
|
||||
import { ContextMenuComponent } from '@components/project-map/context-menu/context-menu.component';
|
||||
import { ConfigDialogComponent } from '@components/project-map/context-menu/dialogs/config-dialog/config-dialog.component';
|
||||
import { IdlePCDialogComponent } from "@components/project-map/context-menu/dialogs/idle-pc-dialog/idle-pc-dialog.component";
|
||||
import { DrawLinkToolComponent } from '@components/project-map/draw-link-tool/draw-link-tool.component';
|
||||
import { StyleEditorDialogComponent } from '@components/project-map/drawings-editors/style-editor/style-editor.component';
|
||||
import { LinkStyleEditorDialogComponent } from '@components/project-map/drawings-editors/link-style-editor/link-style-editor.component';
|
||||
import { TextEditorDialogComponent } from '@components/project-map/drawings-editors/text-editor/text-editor.component';
|
||||
import { HelpDialogComponent } from '@components/project-map/help-dialog/help-dialog.component';
|
||||
import { NodeCreatedLabelStylesFixer } from '@components/project-map/helpers/node-created-label-styles-fixer';
|
||||
import { ImportApplianceComponent } from '@components/project-map/import-appliance/import-appliance.component';
|
||||
import { InfoDialogComponent } from '@components/project-map/info-dialog/info-dialog.component';
|
||||
import { LogConsoleComponent } from '@components/project-map/log-console/log-console.component';
|
||||
import { LogEventsDataSource } from '@components/project-map/log-console/log-events-datasource';
|
||||
import { ApplianceInfoDialogComponent } from '@components/project-map/new-template-dialog/appliance-info-dialog/appliance-info-dialog.component';
|
||||
import { NewTemplateDialogComponent } from '@components/project-map/new-template-dialog/new-template-dialog.component';
|
||||
import { TemplateNameDialogComponent } from '@components/project-map/new-template-dialog/template-name-dialog/template-name-dialog.component';
|
||||
import { ConfigEditorDialogComponent } from '@components/project-map/node-editors/config-editor/config-editor.component';
|
||||
import { ConfiguratorDialogAtmSwitchComponent } from '@components/project-map/node-editors/configurator/atm_switch/configurator-atm-switch.component';
|
||||
import { ConfiguratorDialogCloudComponent } from '@components/project-map/node-editors/configurator/cloud/configurator-cloud.component';
|
||||
import { ConfiguratorDialogDockerComponent } from '@components/project-map/node-editors/configurator/docker/configurator-docker.component';
|
||||
import { ConfigureCustomAdaptersDialogComponent } from '@components/project-map/node-editors/configurator/docker/configure-custom-adapters/configure-custom-adapters.component';
|
||||
import { EditNetworkConfigurationDialogComponent } from '@components/project-map/node-editors/configurator/docker/edit-network-configuration/edit-network-configuration.component';
|
||||
import { ConfiguratorDialogEthernetSwitchComponent } from '@components/project-map/node-editors/configurator/ethernet-switch/configurator-ethernet-switch.component';
|
||||
import { ConfiguratorDialogEthernetHubComponent } from '@components/project-map/node-editors/configurator/ethernet_hub/configurator-ethernet-hub.component';
|
||||
import { ConfiguratorDialogIosComponent } from '@components/project-map/node-editors/configurator/ios/configurator-ios.component';
|
||||
import { ConfiguratorDialogIouComponent } from '@components/project-map/node-editors/configurator/iou/configurator-iou.component';
|
||||
import { ConfiguratorDialogNatComponent } from '@components/project-map/node-editors/configurator/nat/configurator-nat.component';
|
||||
import { ConfiguratorDialogQemuComponent } from '@components/project-map/node-editors/configurator/qemu/configurator-qemu.component';
|
||||
import { QemuImageCreatorComponent } from '@components/project-map/node-editors/configurator/qemu/qemu-image-creator/qemu-image-creator.component';
|
||||
import { ConfiguratorDialogSwitchComponent } from '@components/project-map/node-editors/configurator/switch/configurator-switch.component';
|
||||
import { ConfiguratorDialogVirtualBoxComponent } from '@components/project-map/node-editors/configurator/virtualbox/configurator-virtualbox.component';
|
||||
import { ConfiguratorDialogVmwareComponent } from '@components/project-map/node-editors/configurator/vmware/configurator-vmware.component';
|
||||
import { ConfiguratorDialogVpcsComponent } from '@components/project-map/node-editors/configurator/vpcs/configurator-vpcs.component';
|
||||
import { NodeSelectInterfaceComponent } from '@components/project-map/node-select-interface/node-select-interface.component';
|
||||
import { NodesMenuComponent } from '@components/project-map/nodes-menu/nodes-menu.component';
|
||||
import { PacketFiltersDialogComponent } from '@components/project-map/packet-capturing/packet-filters/packet-filters.component';
|
||||
import { StartCaptureDialogComponent } from '@components/project-map/packet-capturing/start-capture/start-capture.component';
|
||||
import { ProjectMapMenuComponent } from '@components/project-map/project-map-menu/project-map-menu.component';
|
||||
import { ProjectMapComponent } from '@components/project-map/project-map.component';
|
||||
import { ProjectReadmeComponent } from '@components/project-map/project-readme/project-readme.component';
|
||||
import { ScreenshotDialogComponent } from '@components/project-map/screenshot-dialog/screenshot-dialog.component';
|
||||
import { WebConsoleComponent } from '@components/project-map/web-console/web-console.component';
|
||||
import { AddBlankProjectDialogComponent } from '@components/projects/add-blank-project-dialog/add-blank-project-dialog.component';
|
||||
import { ChooseNameDialogComponent } from '@components/projects/choose-name-dialog/choose-name-dialog.component';
|
||||
import { ConfirmationBottomSheetComponent } from '@components/projects/confirmation-bottomsheet/confirmation-bottomsheet.component';
|
||||
import { ConfirmationDialogComponent } from '@components/projects/confirmation-dialog/confirmation-dialog.component';
|
||||
import { EditProjectDialogComponent } from '@components/projects/edit-project-dialog/edit-project-dialog.component';
|
||||
import { ReadmeEditorComponent } from '@components/projects/edit-project-dialog/readme-editor/readme-editor.component';
|
||||
import { ImportProjectDialogComponent } from '@components/projects/import-project-dialog/import-project-dialog.component';
|
||||
import { ProjectNameValidator } from '@components/projects/models/projectNameValidator';
|
||||
import { NavigationDialogComponent } from '@components/projects/navigation-dialog/navigation-dialog.component';
|
||||
import { ProjectsComponent } from '@components/projects/projects.component';
|
||||
import { SaveProjectDialogComponent } from '@components/projects/save-project-dialog/save-project-dialog.component';
|
||||
import { AddControllerDialogComponent } from '@components/controllers/add-controller-dialog/add-controller-dialog.component';
|
||||
import { ControllerDiscoveryComponent } from '@components/controllers/controller-discovery/controller-discovery.component';
|
||||
import { ControllersComponent } from '@components/controllers/controllers.component';
|
||||
import { ConsoleComponent } from '@components/settings/console/console.component';
|
||||
import { SettingsComponent } from '@components/settings/settings.component';
|
||||
import { CreateSnapshotDialogComponent } from '@components/snapshots/create-snapshot-dialog/create-snapshot-dialog.component';
|
||||
import { ListOfSnapshotsComponent } from '@components/snapshots/list-of-snapshots/list-of-snapshots.component';
|
||||
import { SnapshotMenuItemComponent } from '@components/snapshots/snapshot-menu-item/snapshot-menu-item.component';
|
||||
import { StatusChartComponent } from '@components/system-status/status-chart/status-chart.component';
|
||||
import { StatusInfoComponent } from '@components/system-status/status-info/status-info.component';
|
||||
import { SystemStatusComponent } from '@components/system-status/system-status.component';
|
||||
import { TemplateListDialogComponent } from '@components/template/template-list-dialog/template-list-dialog.component';
|
||||
import { TemplateComponent } from '@components/template/template.component';
|
||||
import { TopologySummaryComponent } from '@components/topology-summary/topology-summary.component';
|
||||
import { WebConsoleFullWindowComponent } from '@components/web-console-full-window/web-console-full-window.component';
|
||||
import { DataSourceFilter } from '@filters/dataSourceFilter';
|
||||
import { AuthImageFilter } from '@filters/authImageFilter';
|
||||
import { DateFilter } from '@filters/dateFilter.pipe';
|
||||
import { NameFilter } from '@filters/nameFilter.pipe';
|
||||
import { ProjectsFilter } from '@filters/projectsFilter.pipe';
|
||||
import { SearchFilter } from '@filters/searchFilter.pipe';
|
||||
import { TemplateFilter } from '@filters/templateFilter.pipe';
|
||||
import { ConsoleGuard } from './guards/console-guard';
|
||||
import { LoginGuard } from './guards/login-guard';
|
||||
import { ProjectWebServiceHandler } from './handlers/project-web-service-handler';
|
||||
import { DefaultLayoutComponent } from './layouts/default-layout/default-layout.component';
|
||||
import { MATERIAL_IMPORTS } from './material.imports';
|
||||
import { ControllerResolve } from './resolvers/controller-resolve';
|
||||
import { ApplianceService } from './services/appliances.service';
|
||||
import { BuiltInTemplatesConfigurationService } from './services/built-in-templates-configuration.service';
|
||||
import { BuiltInTemplatesService } from './services/built-in-templates.service';
|
||||
import { ComputeService } from './services/compute.service';
|
||||
import { DockerConfigurationService } from './services/docker-configuration.service';
|
||||
import { DockerService } from './services/docker.service';
|
||||
import { DrawingService } from './services/drawing.service';
|
||||
import { ExternalSoftwareDefinitionService } from './services/external-software-definition.service';
|
||||
import { GoogleAnalyticsService } from './services/google-analytics.service';
|
||||
import { HttpController, ControllerErrorHandler } from './services/http-controller.service';
|
||||
import { InfoService } from './services/info.service';
|
||||
import { InstalledSoftwareService } from './services/installed-software.service';
|
||||
import { IosConfigurationService } from './services/ios-configuration.service';
|
||||
import { IosService } from './services/ios.service';
|
||||
import { IouConfigurationService } from './services/iou-configuration.service';
|
||||
import { IouService } from './services/iou.service';
|
||||
import { LinkService } from './services/link.service';
|
||||
import { MapScaleService } from './services/mapScale.service';
|
||||
import { MapSettingsService } from './services/mapsettings.service';
|
||||
import { NodeService } from './services/node.service';
|
||||
import { NodeConsoleService } from './services/nodeConsole.service';
|
||||
import { NotificationService } from './services/notification.service';
|
||||
import { PacketCaptureService } from './services/packet-capture.service';
|
||||
import { PlatformService } from './services/platform.service';
|
||||
import { ProjectService } from './services/project.service';
|
||||
import { QemuConfigurationService } from './services/qemu-configuration.service';
|
||||
import { QemuService } from './services/qemu.service';
|
||||
import { RecentlyOpenedProjectService } from './services/recentlyOpenedProject.service';
|
||||
import { ControllerManagementService } from './services/controller-management.service';
|
||||
import { ControllerSettingsService } from './services/controller-settings.service';
|
||||
import { ControllerDatabase } from './services/controller.database';
|
||||
import { ControllerService } from './services/controller.service';
|
||||
import { SettingsService } from './services/settings.service';
|
||||
import { ConsoleService } from './services/settings/console.service';
|
||||
import { DefaultConsoleService } from './services/settings/default-console.service';
|
||||
import { SnapshotService } from './services/snapshot.service';
|
||||
import { SymbolService } from './services/symbol.service';
|
||||
import { TemplateMocksService } from './services/template-mocks.service';
|
||||
import { TemplateService } from './services/template.service';
|
||||
import { ThemeService } from './services/theme.service';
|
||||
import { ToasterService } from './services/toaster.service';
|
||||
import { ToolsService } from './services/tools.service';
|
||||
import { UpdatesService } from './services/updates.service';
|
||||
import { VersionService } from './services/version.service';
|
||||
import { VirtualBoxConfigurationService } from './services/virtual-box-configuration.service';
|
||||
import { VirtualBoxService } from './services/virtual-box.service';
|
||||
import { VmwareConfigurationService } from './services/vmware-configuration.service';
|
||||
import { VmwareService } from './services/vmware.service';
|
||||
import { VpcsConfigurationService } from './services/vpcs-configuration.service';
|
||||
import { VpcsService } from './services/vpcs.service';
|
||||
import { ControllerResolve } from '@resolvers/controller-resolve';
|
||||
import { ApplianceService } from '@services/appliances.service';
|
||||
import { ProtocolHandlerService } from '@services/protocol-handler.service';
|
||||
import { BuiltInTemplatesConfigurationService } from '@services/built-in-templates-configuration.service';
|
||||
import { BuiltInTemplatesService } from '@services/built-in-templates.service';
|
||||
import { ComputeService } from '@services/compute.service';
|
||||
import { DockerConfigurationService } from '@services/docker-configuration.service';
|
||||
import { DockerService } from '@services/docker.service';
|
||||
import { DrawingService } from '@services/drawing.service';
|
||||
import { ExternalSoftwareDefinitionService } from '@services/external-software-definition.service';
|
||||
import { GoogleAnalyticsService } from '@services/google-analytics.service';
|
||||
import { HttpController, ControllerErrorHandler } from '@services/http-controller.service';
|
||||
import { InfoService } from '@services/info.service';
|
||||
import { InstalledSoftwareService } from '@services/installed-software.service';
|
||||
import { IosConfigurationService } from '@services/ios-configuration.service';
|
||||
import { IosService } from '@services/ios.service';
|
||||
import { IouConfigurationService } from '@services/iou-configuration.service';
|
||||
import { IouService } from '@services/iou.service';
|
||||
import { LinkService } from '@services/link.service';
|
||||
import { MapScaleService } from '@services/mapScale.service';
|
||||
import { MapSettingsService } from '@services/mapsettings.service';
|
||||
import { NodeService } from '@services/node.service';
|
||||
import { NodeConsoleService } from '@services/nodeConsole.service';
|
||||
import { NotificationService } from '@services/notification.service';
|
||||
import { PacketCaptureService } from '@services/packet-capture.service';
|
||||
import { PlatformService } from '@services/platform.service';
|
||||
import { ProjectService } from '@services/project.service';
|
||||
import { QemuConfigurationService } from '@services/qemu-configuration.service';
|
||||
import { QemuService } from '@services/qemu.service';
|
||||
import { RecentlyOpenedProjectService } from '@services/recentlyOpenedProject.service';
|
||||
import { ControllerManagementService } from '@services/controller-management.service';
|
||||
import { ControllerSettingsService } from '@services/controller-settings.service';
|
||||
import { ControllerDatabase } from '@services/controller.database';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
import { SettingsService } from '@services/settings.service';
|
||||
import { ConsoleService } from '@services/settings/console.service';
|
||||
import { DefaultConsoleService } from '@services/settings/default-console.service';
|
||||
import { SnapshotService } from '@services/snapshot.service';
|
||||
import { SymbolService } from '@services/symbol.service';
|
||||
import { TemplateMocksService } from '@services/template-mocks.service';
|
||||
import { TemplateService } from '@services/template.service';
|
||||
import { ThemeService } from '@services/theme.service';
|
||||
import { ToasterService } from '@services/toaster.service';
|
||||
import { ToolsService } from '@services/tools.service';
|
||||
import { UpdatesService } from '@services/updates.service';
|
||||
import { VersionService } from '@services/version.service';
|
||||
import { VirtualBoxConfigurationService } from '@services/virtual-box-configuration.service';
|
||||
import { VirtualBoxService } from '@services/virtual-box.service';
|
||||
import { VmwareConfigurationService } from '@services/vmware-configuration.service';
|
||||
import { VmwareService } from '@services/vmware.service';
|
||||
import { VpcsConfigurationService } from '@services/vpcs-configuration.service';
|
||||
import { VpcsService } from '@services/vpcs.service';
|
||||
import { NonNegativeValidator } from './validators/non-negative-validator';
|
||||
import { RotationValidator } from './validators/rotation-validator';
|
||||
import { MarkedDirective } from './directives/marked.directive';
|
||||
import { LoginComponent } from './components/login/login.component';
|
||||
import { LoginService } from './services/login.service';
|
||||
import { LoginComponent } from '@components/login/login.component';
|
||||
import { LoginService } from '@services/login.service';
|
||||
import { HttpRequestsInterceptor } from './interceptors/http.interceptor';
|
||||
import { UserManagementComponent } from './components/user-management/user-management.component';
|
||||
import { UserService } from './services/user.service';
|
||||
import { LoggedUserComponent } from './components/users/logged-user/logged-user.component';
|
||||
import { AddUserDialogComponent } from './components/user-management/add-user-dialog/add-user-dialog.component';
|
||||
import { UserFilterPipe } from './filters/user-filter.pipe';
|
||||
import { GroupManagementComponent } from './components/group-management/group-management.component';
|
||||
import { GroupFilterPipe } from './filters/group-filter.pipe';
|
||||
import { AddGroupDialogComponent } from './components/group-management/add-group-dialog/add-group-dialog.component';
|
||||
import { DeleteGroupDialogComponent } from './components/group-management/delete-group-dialog/delete-group-dialog.component';
|
||||
import { DeleteUserDialogComponent } from './components/user-management/delete-user-dialog/delete-user-dialog.component';
|
||||
import { GroupDetailsComponent } from './components/group-details/group-details.component';
|
||||
import { UserDetailComponent } from './components/user-management/user-detail/user-detail.component';
|
||||
import { AddUserToGroupDialogComponent } from './components/group-details/add-user-to-group-dialog/add-user-to-group-dialog.component';
|
||||
import { UserManagementComponent } from '@components/user-management/user-management.component';
|
||||
import { UserService } from '@services/user.service';
|
||||
import { LoggedUserComponent } from '@components/users/logged-user/logged-user.component';
|
||||
import { AddUserDialogComponent } from '@components/user-management/add-user-dialog/add-user-dialog.component';
|
||||
import { UserFilterPipe } from '@filters/user-filter.pipe';
|
||||
import { GroupManagementComponent } from '@components/group-management/group-management.component';
|
||||
import { GroupFilterPipe } from '@filters/group-filter.pipe';
|
||||
import { AddGroupDialogComponent } from '@components/group-management/add-group-dialog/add-group-dialog.component';
|
||||
import { DeleteGroupDialogComponent } from '@components/group-management/delete-group-dialog/delete-group-dialog.component';
|
||||
import { DeleteUserDialogComponent } from '@components/user-management/delete-user-dialog/delete-user-dialog.component';
|
||||
import { GroupDetailsComponent } from '@components/group-details/group-details.component';
|
||||
import { UserDetailComponent } from '@components/user-management/user-detail/user-detail.component';
|
||||
import { AddUserToGroupDialogComponent } from '@components/group-details/add-user-to-group-dialog/add-user-to-group-dialog.component';
|
||||
import { RemoveToGroupDialogComponent } from '@components/group-details/remove-to-group-dialog/remove-to-group-dialog.component';
|
||||
import { PaginatorPipe } from './components/group-details/paginator.pipe';
|
||||
import { MembersFilterPipe } from './components/group-details/members-filter.pipe';
|
||||
import { ManagementComponent } from './components/management/management.component';
|
||||
import { PaginatorPipe } from '@components/group-details/paginator.pipe';
|
||||
import { MembersFilterPipe } from '@components/group-details/members-filter.pipe';
|
||||
import { ManagementComponent } from '@components/management/management.component';
|
||||
import {MatCheckboxModule} from "@angular/material/checkbox";
|
||||
import { RoleManagementComponent } from './components/role-management/role-management.component';
|
||||
import { RoleFilterPipe } from './components/role-management/role-filter.pipe';
|
||||
import { AddRoleDialogComponent } from './components/role-management/add-role-dialog/add-role-dialog.component';
|
||||
import { DeleteRoleDialogComponent } from './components/role-management/delete-role-dialog/delete-role-dialog.component';
|
||||
import { RoleDetailComponent } from './components/role-management/role-detail/role-detail.component';
|
||||
import { RoleManagementComponent } from '@components/role-management/role-management.component';
|
||||
import { RoleFilterPipe } from '@components/role-management/role-filter.pipe';
|
||||
import { AddRoleDialogComponent } from '@components/role-management/add-role-dialog/add-role-dialog.component';
|
||||
import { DeleteRoleDialogComponent } from '@components/role-management/delete-role-dialog/delete-role-dialog.component';
|
||||
import { RoleDetailComponent } from '@components/role-management/role-detail/role-detail.component';
|
||||
import {MatSlideToggleModule} from '@angular/material/slide-toggle';
|
||||
import {MatAutocompleteModule} from "@angular/material/autocomplete";;
|
||||
import { AddRoleToGroupComponent } from './components/group-details/add-role-to-group/add-role-to-group.component';
|
||||
import { AddRoleToGroupComponent } from '@components/group-details/add-role-to-group/add-role-to-group.component';
|
||||
import {MatFormFieldModule} from "@angular/material/form-field";
|
||||
import { ChangeUserPasswordComponent } from './components/user-management/user-detail/change-user-password/change-user-password.component';
|
||||
import { ChangeUserPasswordComponent } from '@components/user-management/user-detail/change-user-password/change-user-password.component';
|
||||
import {MatMenuModule} from "@angular/material/menu";
|
||||
import { ImageManagerComponent } from './components/image-manager/image-manager.component';
|
||||
import { AddImageDialogComponent } from './components/image-manager/add-image-dialog/add-image-dialog.component';
|
||||
import { DeleteAllImageFilesDialogComponent } from './components/image-manager/deleteallfiles-dialog/deleteallfiles-dialog.component';
|
||||
import { ImageManagerComponent } from '@components/image-manager/image-manager.component';
|
||||
import { AddImageDialogComponent } from '@components/image-manager/add-image-dialog/add-image-dialog.component';
|
||||
import { DeleteAllImageFilesDialogComponent } from '@components/image-manager/deleteallfiles-dialog/deleteallfiles-dialog.component';
|
||||
import { UploadingProcessbarComponent } from './common/uploading-processbar/uploading-processbar.component';
|
||||
import { ExportPortableProjectComponent } from './components/export-portable-project/export-portable-project.component';
|
||||
import { NodesMenuConfirmationDialogComponent } from './components/project-map/nodes-menu/nodes-menu-confirmation-dialog/nodes-menu-confirmation-dialog.component';
|
||||
import { ConfirmationDeleteAllProjectsComponent } from './components/projects/confirmation-delete-all-projects/confirmation-delete-all-projects.component';
|
||||
import { ProjectMapLockConfirmationDialogComponent } from './components/project-map/project-map-menu/project-map-lock-confirmation-dialog/project-map-lock-confirmation-dialog.component';
|
||||
import { ExportPortableProjectComponent } from '@components/export-portable-project/export-portable-project.component';
|
||||
import { NodesMenuConfirmationDialogComponent } from '@components/project-map/nodes-menu/nodes-menu-confirmation-dialog/nodes-menu-confirmation-dialog.component';
|
||||
import { ConfirmationDeleteAllProjectsComponent } from '@components/projects/confirmation-delete-all-projects/confirmation-delete-all-projects.component';
|
||||
import { ProjectMapLockConfirmationDialogComponent } from '@components/project-map/project-map-menu/project-map-lock-confirmation-dialog/project-map-lock-confirmation-dialog.component';
|
||||
import { AclManagementComponent } from "@components/acl-management/acl-management.component";
|
||||
import { AddAceDialogComponent } from './components/acl-management/add-ace-dialog/add-ace-dialog.component';
|
||||
import { AutocompleteComponent } from './components/acl-management/add-ace-dialog/autocomplete/autocomplete.component';
|
||||
import { DeleteAceDialogComponent } from './components/acl-management/delete-ace-dialog/delete-ace-dialog.component';
|
||||
import { AceFilterPipe } from './filters/ace-filter.pipe';
|
||||
import { AddAceDialogComponent } from '@components/acl-management/add-ace-dialog/add-ace-dialog.component';
|
||||
import { AutocompleteComponent } from '@components/acl-management/add-ace-dialog/autocomplete/autocomplete.component';
|
||||
import { DeleteAceDialogComponent } from '@components/acl-management/delete-ace-dialog/delete-ace-dialog.component';
|
||||
import { AceFilterPipe } from '@filters/ace-filter.pipe';
|
||||
import { CdkAccordionModule } from "@angular/cdk/accordion";
|
||||
import { CdkTreeModule } from "@angular/cdk/tree";
|
||||
|
||||
import { PrivilegeComponent } from './components/role-management/role-detail/privilege/privilege.component';
|
||||
import { GroupPrivilegesPipe } from './components/role-management/role-detail/privilege/group-privileges.pipe';
|
||||
import { ResourcePoolsManagementComponent } from './components/resource-pools-management/resource-pools-management.component';
|
||||
import { AddResourcePoolDialogComponent } from './components/resource-pools-management/add-resource-pool-dialog/add-resource-pool-dialog.component';
|
||||
import { DeleteResourcePoolComponent } from './components/resource-pools-management/delete-resource-pool/delete-resource-pool.component';
|
||||
import { ResourcePoolsFilterPipe } from './components/resource-pools-management/resource-pools-filter.pipe';
|
||||
import { ResourcePoolDetailsComponent } from './components/resource-pool-details/resource-pool-details.component';
|
||||
import { DeleteResourceConfirmationDialogComponent } from './components/resource-pool-details/delete-resource-confirmation-dialog/delete-resource-confirmation-dialog.component';
|
||||
import { PrivilegeComponent } from '@components/role-management/role-detail/privilege/privilege.component';
|
||||
import { GroupPrivilegesPipe } from '@components/role-management/role-detail/privilege/group-privileges.pipe';
|
||||
import { ResourcePoolsManagementComponent } from '@components/resource-pools-management/resource-pools-management.component';
|
||||
import { AddResourcePoolDialogComponent } from '@components/resource-pools-management/add-resource-pool-dialog/add-resource-pool-dialog.component';
|
||||
import { DeleteResourcePoolComponent } from '@components/resource-pools-management/delete-resource-pool/delete-resource-pool.component';
|
||||
import { ResourcePoolsFilterPipe } from '@components/resource-pools-management/resource-pools-filter.pipe';
|
||||
import { ResourcePoolDetailsComponent } from '@components/resource-pool-details/resource-pool-details.component';
|
||||
import { DeleteResourceConfirmationDialogComponent } from '@components/resource-pool-details/delete-resource-confirmation-dialog/delete-resource-confirmation-dialog.component';
|
||||
|
||||
@NgModule({
|
||||
declarations: [
|
||||
@ -492,6 +497,7 @@ import { DeleteResourceConfirmationDialogComponent } from './components/resource
|
||||
AlignVerticallyActionComponent,
|
||||
ConfirmationBottomSheetComponent,
|
||||
ConfigDialogComponent,
|
||||
IdlePCDialogComponent,
|
||||
ImportApplianceComponent,
|
||||
DirectLinkComponent,
|
||||
SystemStatusComponent,
|
||||
@ -499,6 +505,8 @@ import { DeleteResourceConfirmationDialogComponent } from './components/resource
|
||||
StatusChartComponent,
|
||||
OpenFileExplorerActionComponent,
|
||||
HttpConsoleActionComponent,
|
||||
IdlePcActionComponent,
|
||||
AutoIdlePcActionComponent,
|
||||
WebConsoleComponent,
|
||||
ConsoleWrapperComponent,
|
||||
HttpConsoleNewTabActionComponent,
|
||||
@ -510,6 +518,7 @@ import { DeleteResourceConfirmationDialogComponent } from './components/resource
|
||||
ReadmeEditorComponent,
|
||||
MarkedDirective,
|
||||
InformationDialogComponent,
|
||||
QuestionDialogComponent,
|
||||
TemplateNameDialogComponent,
|
||||
ConfigureCustomAdaptersDialogComponent,
|
||||
EditNetworkConfigurationDialogComponent,
|
||||
@ -651,6 +660,7 @@ import { DeleteResourceConfirmationDialogComponent } from './components/resource
|
||||
InfoService,
|
||||
ComputeService,
|
||||
PacketCaptureService,
|
||||
ProtocolHandlerService,
|
||||
NotificationService,
|
||||
ThemeService,
|
||||
GoogleAnalyticsService,
|
||||
|
@ -11,13 +11,13 @@ import {
|
||||
} from '@angular/core';
|
||||
import { select, Selection } from 'd3-selection';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { Link } from '../../../models/link';
|
||||
import { Project } from '../../../models/project';
|
||||
import { Controller } from '../../../models/controller';
|
||||
import { Symbol } from '../../../models/symbol';
|
||||
import { MapScaleService } from '../../../services/mapScale.service';
|
||||
import { MapSettingsService } from '../../../services/mapsettings.service';
|
||||
import { ToolsService } from '../../../services/tools.service';
|
||||
import { Link } from '@models/link';
|
||||
import { Project } from '@models/project';
|
||||
import { Controller } from '@models/controller';
|
||||
import { Symbol } from '@models/symbol';
|
||||
import { MapScaleService } from '@services/mapScale.service';
|
||||
import { MapSettingsService } from '@services/mapsettings.service';
|
||||
import { ToolsService } from '@services/tools.service';
|
||||
import { CanvasSizeDetector } from '../../helpers/canvas-size-detector';
|
||||
import { GraphDataManager } from '../../managers/graph-data-manager';
|
||||
import { MapSettingsManager } from '../../managers/map-settings-manager';
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { EventEmitter } from '@angular/core';
|
||||
import { async, ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing';
|
||||
import { select } from 'd3-selection';
|
||||
import { MapSettingsService } from '../../../services/mapsettings.service';
|
||||
import { MapSettingsService } from '@services/mapsettings.service';
|
||||
import { DraggableDrag, DraggableEnd, DraggableStart } from '../../events/draggable';
|
||||
import { DrawingsEventSource } from '../../events/drawings-event-source';
|
||||
import { LinksEventSource } from '../../events/links-event-source';
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Component, Input, OnDestroy, OnInit } from '@angular/core';
|
||||
import { select } from 'd3-selection';
|
||||
import { merge, Subscription } from 'rxjs';
|
||||
import { MapSettingsService } from '../../../services/mapsettings.service';
|
||||
import { MapSettingsService } from '@services/mapsettings.service';
|
||||
import { DraggableDrag, DraggableEnd, DraggableStart } from '../../events/draggable';
|
||||
import { DrawingsEventSource } from '../../events/drawings-event-source';
|
||||
import { DraggedDataEvent } from '../../events/event-source';
|
||||
|
@ -12,8 +12,8 @@ import {
|
||||
ViewChild,
|
||||
} from '@angular/core';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { Link } from '../../../models/link';
|
||||
import { Symbol } from '../../../models/symbol';
|
||||
import { Link } from '@models/link';
|
||||
import { Symbol } from '@models/symbol';
|
||||
import { CanvasSizeDetector } from '../../helpers/canvas-size-detector';
|
||||
import { GraphDataManager } from '../../managers/graph-data-manager';
|
||||
import { LayersManager } from '../../managers/layers-manager';
|
||||
|
@ -13,7 +13,7 @@ import {
|
||||
} from '@angular/core';
|
||||
import { DomSanitizer } from '@angular/platform-browser';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { Symbol } from '../../../../models/symbol';
|
||||
import { Symbol } from '@models/symbol';
|
||||
import { DraggedDataEvent } from '../../../events/event-source';
|
||||
import { NodesEventSource } from '../../../events/nodes-event-source';
|
||||
import { CssFixer } from '../../../helpers/css-fixer';
|
||||
|
@ -1,10 +1,10 @@
|
||||
import { Renderer2 } from '@angular/core';
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { MockedLinkService } from '../../../components/project-map/project-map.component.spec';
|
||||
import { LinkService } from '../../../services/link.service';
|
||||
import { MapScaleService } from '../../../services/mapScale.service';
|
||||
import { ToolsService } from '../../../services/tools.service';
|
||||
import { MockedLinkService } from '@components/project-map/project-map.component.spec';
|
||||
import { LinkService } from '@services/link.service';
|
||||
import { MapScaleService } from '@services/mapScale.service';
|
||||
import { ToolsService } from '@services/tools.service';
|
||||
import { LinksDataSource } from '../../datasources/links-datasource';
|
||||
import { NodesDataSource } from '../../datasources/nodes-datasource';
|
||||
import { DrawingsEventSource } from '../../events/drawings-event-source';
|
||||
|
@ -11,12 +11,12 @@ import {
|
||||
} from '@angular/core';
|
||||
import { select } from 'd3-selection';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { StyleProperty } from '../../../components/project-map/drawings-editors/text-editor/text-editor.component';
|
||||
import { Link } from '../../../models/link';
|
||||
import { Controller } from '../../../models/controller';
|
||||
import { LinkService } from '../../../services/link.service';
|
||||
import { MapScaleService } from '../../../services/mapScale.service';
|
||||
import { ToolsService } from '../../../services/tools.service';
|
||||
import { StyleProperty } from '@components/project-map/drawings-editors/text-editor/text-editor.component';
|
||||
import { Link } from '@models/link';
|
||||
import { Controller } from '@models/controller';
|
||||
import { LinkService } from '@services/link.service';
|
||||
import { MapScaleService } from '@services/mapScale.service';
|
||||
import { ToolsService } from '@services/tools.service';
|
||||
import { LinksDataSource } from '../../datasources/links-datasource';
|
||||
import { NodesDataSource } from '../../datasources/nodes-datasource';
|
||||
import { DrawingsEventSource } from '../../events/drawings-event-source';
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { LinkNode } from '../../../models/link-node';
|
||||
import { LinkNode } from '@models/link-node';
|
||||
import { MapLinkNode } from '../../models/map/map-link-node';
|
||||
import { Converter } from '../converter';
|
||||
import { LabelToMapLabelConverter } from './label-to-map-label-converter';
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Link } from '../../../models/link';
|
||||
import { Link } from '@models/link';
|
||||
import { MapLink } from '../../models/map/map-link';
|
||||
import { Converter } from '../converter';
|
||||
import { LinkNodeToMapLinkNodeConverter } from './link-node-to-map-link-node-converter';
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { LinkNode } from '../../../models/link-node';
|
||||
import { LinkNode } from '@models/link-node';
|
||||
import { MapLinkNode } from '../../models/map/map-link-node';
|
||||
import { Converter } from '../converter';
|
||||
import { MapLabelToLabelConverter } from './map-label-to-label-converter';
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Link } from '../../../models/link';
|
||||
import { Link } from '@models/link';
|
||||
import { MapLink } from '../../models/map/map-link';
|
||||
import { Converter } from '../converter';
|
||||
import { MapLinkNodeToLinkNodeConverter } from './map-link-node-to-link-node-converter';
|
||||
|
@ -27,6 +27,7 @@ export class MapNodeToNodeConverter implements Converter<MapNode, Node> {
|
||||
node.port_name_format = mapNode.portNameFormat;
|
||||
node.port_segment_size = mapNode.portSegmentSize;
|
||||
node.ports = mapNode.ports ? mapNode.ports.map((mapPort) => this.mapPortToPort.convert(mapPort)) : [];
|
||||
node.properties = mapNode.properties;
|
||||
node.project_id = mapNode.projectId;
|
||||
node.status = mapNode.status;
|
||||
node.symbol = mapNode.symbol;
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Port } from '../../../models/port';
|
||||
import { Port } from '@models/port';
|
||||
import { MapPort } from '../../models/map/map-port';
|
||||
import { Converter } from '../converter';
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Symbol } from '../../../models/symbol';
|
||||
import { Symbol } from '@models/symbol';
|
||||
import { MapSymbol } from '../../models/map/map-symbol';
|
||||
import { Converter } from '../converter';
|
||||
|
||||
|
@ -38,6 +38,7 @@ export class NodeToMapNodeConverter implements Converter<Node, MapNode> {
|
||||
mapNode.portNameFormat = node.port_name_format;
|
||||
mapNode.portSegmentSize = node.port_segment_size;
|
||||
mapNode.ports = node.ports ? node.ports.map((port) => this.portToMapPort.convert(port)) : [];
|
||||
mapNode.properties = node.properties;
|
||||
mapNode.projectId = node.project_id;
|
||||
mapNode.status = node.status;
|
||||
mapNode.symbol = node.symbol;
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Port } from '../../../models/port';
|
||||
import { Port } from '@models/port';
|
||||
import { MapPort } from '../../models/map/map-port';
|
||||
import { Converter } from '../converter';
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Symbol } from '../../../models/symbol';
|
||||
import { Symbol } from '@models/symbol';
|
||||
import { MapSymbol } from '../../models/map/map-symbol';
|
||||
import { Converter } from '../converter';
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { Link } from '../../models/link';
|
||||
import { Link } from '@models/link';
|
||||
import { LinksDataSource } from './links-datasource';
|
||||
|
||||
describe('LinksDataSource', () => {
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Link } from '../../models/link';
|
||||
import { Link } from '@models/link';
|
||||
import { DataSource } from './datasource';
|
||||
|
||||
@Injectable()
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { Symbol } from '../../models/symbol';
|
||||
import { Symbol } from '@models/symbol';
|
||||
import { SymbolsDataSource } from './symbols-datasource';
|
||||
|
||||
describe('SymbolsDataSource', () => {
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Symbol } from '../../models/symbol';
|
||||
import { Symbol } from '@models/symbol';
|
||||
import { DataSource } from './datasource';
|
||||
|
||||
@Injectable()
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testing';
|
||||
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { MapScaleService } from '../../services/mapScale.service';
|
||||
import { MapScaleService } from '@services/mapScale.service';
|
||||
import { MovingEventSource } from '../events/moving-event-source';
|
||||
import { Context } from '../models/context';
|
||||
import { ZoomingCanvasDirective } from './zooming-canvas.directive';
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Directive, ElementRef, OnDestroy, OnInit } from '@angular/core';
|
||||
import { select } from 'd3-selection';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { MapScaleService } from '../../services/mapScale.service';
|
||||
import { MapScaleService } from '@services/mapScale.service';
|
||||
import { MovingEventSource } from '../events/moving-event-source';
|
||||
import { Context } from '../models/context';
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Link } from '../../models/link';
|
||||
import { Symbol } from '../../models/symbol';
|
||||
import { Link } from '@models/link';
|
||||
import { Symbol } from '@models/symbol';
|
||||
import { DrawingToMapDrawingConverter } from '../converters/map/drawing-to-map-drawing-converter';
|
||||
import { LinkToMapLinkConverter } from '../converters/map/link-to-map-link-converter';
|
||||
import { NodeToMapNodeConverter } from '../converters/map/node-to-map-node-converter';
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { Filter } from '../../../models/filter';
|
||||
import { Filter } from '@models/filter';
|
||||
import { Indexed } from '../../datasources/map-datasource';
|
||||
import { MapLinkNode } from './map-link-node';
|
||||
import { MapNode } from './map-node';
|
||||
import { LinkStyle } from '../../../models/link-style';
|
||||
import { LinkStyle } from '@models/link-style';
|
||||
|
||||
export class MapLink implements Indexed {
|
||||
id: string;
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { Indexed } from '../../datasources/map-datasource';
|
||||
import { MapLabel } from './map-label';
|
||||
import { MapPort } from './map-port';
|
||||
import { Properties } from '../node';
|
||||
|
||||
export class MapNode implements Indexed {
|
||||
id: string;
|
||||
@ -19,6 +20,7 @@ export class MapNode implements Indexed {
|
||||
portNameFormat: string;
|
||||
portSegmentSize: number;
|
||||
ports: MapPort[];
|
||||
properties: Properties;
|
||||
projectId: string;
|
||||
status: string;
|
||||
symbol: string;
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { Port } from '../../models/port';
|
||||
import { Port } from '@models/port';
|
||||
import { Label } from './label';
|
||||
|
||||
export class PortsMapping {
|
||||
@ -14,8 +14,15 @@ export class Properties {
|
||||
headless: boolean;
|
||||
linked_clone: boolean;
|
||||
on_close: string;
|
||||
aux: number;
|
||||
aux_type: boolean;
|
||||
ram: number;
|
||||
system_id: string;
|
||||
dynamips_id?: number;
|
||||
npe?: string;
|
||||
midplane?: string;
|
||||
nvram: number;
|
||||
image: string;
|
||||
usage: string;
|
||||
use_any_adapter: boolean;
|
||||
vmname: string;
|
||||
@ -46,16 +53,40 @@ export class Properties {
|
||||
kernel_image: string;
|
||||
kernel_image_md5sum?: any;
|
||||
mac_address: string;
|
||||
mac_addr: string;
|
||||
options: string;
|
||||
platform: string;
|
||||
chassis?: string;
|
||||
iomem?: number;
|
||||
disk0: number;
|
||||
disk1: number;
|
||||
idlepc: string;
|
||||
idlemax: number;
|
||||
idlesleep: number;
|
||||
exec_area: number;
|
||||
mmap: boolean;
|
||||
sparsemem: boolean;
|
||||
auto_delete_disks: boolean;
|
||||
process_priority: string;
|
||||
qemu_path: string;
|
||||
environment: string;
|
||||
extra_hosts: string;
|
||||
start_command: string;
|
||||
replicate_network_connection_state: boolean;
|
||||
memory: number;
|
||||
tpm: boolean;
|
||||
uefi: boolean;
|
||||
slot0?: string;
|
||||
slot1?: string;
|
||||
slot2?: string;
|
||||
slot3?: string;
|
||||
slot4?: string;
|
||||
slot5?: string;
|
||||
slot6?: string;
|
||||
slot7?: string;
|
||||
wic0?: string;
|
||||
wic1?: string;
|
||||
wic2?: string;
|
||||
}
|
||||
|
||||
export class Node {
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { MapSettingsService } from '../../services/mapsettings.service';
|
||||
import { MapSettingsService } from '@services/mapsettings.service';
|
||||
import { SelectionManager } from '../managers/selection-manager';
|
||||
import { EllipseElement } from '../models/drawings/ellipse-element';
|
||||
import { LineElement } from '../models/drawings/line-element';
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { select } from 'd3-selection';
|
||||
import { MapSettingsService } from '../../services/mapsettings.service';
|
||||
import { MapSettingsService } from '@services/mapsettings.service';
|
||||
import { LinkStatus } from '../models/link-status';
|
||||
import { MapLink } from '../models/map/map-link';
|
||||
import { SVGSelection } from '../models/types';
|
||||
@ -90,7 +90,7 @@ export class InterfaceStatusWidget implements Widget {
|
||||
.merge(status_started_enter)
|
||||
.attr('class', 'status_started')
|
||||
.attr('width', (ls: LinkStatus) => {
|
||||
return ls.port.length * 8 + 10;
|
||||
return ls.port.length * 10 + 5;
|
||||
})
|
||||
.attr('height', 20)
|
||||
.attr('x', (ls: LinkStatus) => ls.x - 30)
|
||||
@ -122,7 +122,7 @@ export class InterfaceStatusWidget implements Widget {
|
||||
.merge(status_stopped_enter)
|
||||
.attr('class', 'status_stopped')
|
||||
.attr('width', (ls: LinkStatus) => {
|
||||
return ls.port.length * 8 + 10;
|
||||
return ls.port.length * 10 + 5;
|
||||
})
|
||||
.attr('height', 20)
|
||||
.attr('x', (ls: LinkStatus) => ls.x - 30)
|
||||
@ -154,7 +154,7 @@ export class InterfaceStatusWidget implements Widget {
|
||||
.merge(status_suspended_enter)
|
||||
.attr('class', 'status_suspended')
|
||||
.attr('width', (ls: LinkStatus) => {
|
||||
return ls.port.length * 8 + 10;
|
||||
return ls.port.length * 10 + 5;
|
||||
})
|
||||
.attr('height', 20)
|
||||
.attr('x', (ls: LinkStatus) => ls.x - 30)
|
||||
|
@ -4,7 +4,7 @@ import { LinkContextMenu } from '../../events/event-source';
|
||||
import { MapLink } from '../../models/map/map-link';
|
||||
import { SVGSelection } from '../../models/types';
|
||||
import { Widget } from '../widget';
|
||||
import { LinkStyle } from '../../../models/link-style';
|
||||
import { LinkStyle } from '@models/link-style';
|
||||
import { StyleTranslator} from './style-translator';
|
||||
|
||||
class EthernetLinkPath {
|
||||
|
@ -4,7 +4,7 @@ import { LinkContextMenu } from '../../events/event-source';
|
||||
import { MapLink } from '../../models/map/map-link';
|
||||
import { SVGSelection } from '../../models/types';
|
||||
import { Widget } from '../widget';
|
||||
import { LinkStyle } from '../../../models/link-style';
|
||||
import { LinkStyle } from '@models/link-style';
|
||||
import { StyleTranslator} from './style-translator';
|
||||
|
||||
class SerialLinkPath {
|
||||
@ -56,10 +56,10 @@ export class SerialLinkWidget implements Widget {
|
||||
];
|
||||
|
||||
return new SerialLinkPath(
|
||||
[source.x, source.y],
|
||||
angle_source,
|
||||
angle_target,
|
||||
[target.x, target.y],
|
||||
[source.x, source.y],
|
||||
angle_source,
|
||||
angle_target,
|
||||
[target.x, target.y],
|
||||
link.link_style.color ? link.link_style : this.defaultSerialLinkStyle);
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { LinkStyle } from '../../../models/link-style';
|
||||
import { LinkStyle } from '@models/link-style';
|
||||
|
||||
export class StyleTranslator {
|
||||
static getLinkStyle(linkStyle: LinkStyle) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { EventEmitter, Injectable } from '@angular/core';
|
||||
import { event, select } from 'd3-selection';
|
||||
import { MapSettingsService } from '../../services/mapsettings.service';
|
||||
import { MapSettingsService } from '@services/mapsettings.service';
|
||||
import { ClickedDataEvent } from '../events/event-source';
|
||||
import { NodeClicked, NodeContextMenu } from '../events/nodes';
|
||||
import { NodesEventSource } from '../events/nodes-event-source';
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { Injector } from '@angular/core';
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { SettingsService } from '../../services/settings.service';
|
||||
import { ToasterService } from '../../services/toaster.service';
|
||||
import { MockedToasterService } from '../../services/toaster.service.spec';
|
||||
import { SettingsService } from '@services/settings.service';
|
||||
import { ToasterService } from '@services/toaster.service';
|
||||
import { MockedToasterService } from '@services/toaster.service.spec';
|
||||
import { SentryErrorHandler } from './sentry-error-handler';
|
||||
import { ToasterErrorHandler } from './toaster-error-handler';
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { ToasterService } from '../../services/toaster.service';
|
||||
import { ToasterService } from '@services/toaster.service';
|
||||
import { SentryErrorHandler } from './sentry-error-handler';
|
||||
|
||||
@Injectable()
|
||||
|
@ -1,4 +1,4 @@
|
||||
import {Endpoint, RessourceType} from "../../../models/api/endpoint";
|
||||
import {Endpoint, RessourceType} from "@models/api/endpoint";
|
||||
|
||||
export interface EndpointNode {
|
||||
endpoint: string;
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { AdButlerResponse } from '../../models/adbutler';
|
||||
import { ThemeService } from '../../services/theme.service';
|
||||
import { AdButlerResponse } from '@models/adbutler';
|
||||
import { ThemeService } from '@services/theme.service';
|
||||
import { Location } from '@angular/common';
|
||||
|
||||
const adButlerResponseBodyRegex: RegExp = /<a href="(.*)">(.*)<\/a><br\/>(.*)<br\/>\s*<button><a .*>(.*)<\/a>\s*<\/button>/i;
|
||||
|
@ -4,9 +4,9 @@ import { By } from '@angular/platform-browser';
|
||||
import { Router } from '@angular/router';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { ProgressService } from '../../common/progress/progress.service';
|
||||
import{ Controller } from '../../models/controller';
|
||||
import { ControllerService } from '../../services/controller.service';
|
||||
import { MockedControllerService } from '../../services/controller.service.spec';
|
||||
import { Controller } from '@models/controller';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
import { MockedControllerService } from '@services/controller.service.spec';
|
||||
import { MockedProgressService } from '../project-map/project-map.component.spec';
|
||||
import { BundledControllerFinderComponent } from './bundled-controller-finder.component';
|
||||
|
||||
@ -24,7 +24,7 @@ describe('BundledControllerFinderComponent', () => {
|
||||
navigate: jasmine.createSpy('navigate'),
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
controllerServiceMock = jasmine.createSpyObj<ControllerService>([
|
||||
"getLocalController"
|
||||
|
@ -2,8 +2,8 @@ import { DOCUMENT } from '@angular/common';
|
||||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { Router } from '@angular/router';
|
||||
import { ProgressService } from '../../common/progress/progress.service';
|
||||
import{ Controller } from '../../models/controller';
|
||||
import { ControllerService } from '../../services/controller.service';
|
||||
import { Controller } from '@models/controller';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-bundled-controller-finder',
|
||||
@ -22,7 +22,7 @@ export class BundledControllerFinderComponent implements OnInit {
|
||||
this.progressService.activate();
|
||||
setTimeout(() => {
|
||||
let port;
|
||||
|
||||
|
||||
if (parseInt(this.document.location.port, 10)) {
|
||||
port = parseInt(this.document.location.port, 10);
|
||||
} else if (this.document.location.protocol == "https:") {
|
||||
@ -31,7 +31,7 @@ export class BundledControllerFinderComponent implements OnInit {
|
||||
port = 80;
|
||||
}
|
||||
|
||||
this.controllerService.getLocalController(this.document.location.hostname, port).then((controller:Controller ) => {
|
||||
this.controllerService.getLocalController(this.document.location.hostname, port).then((controller: Controller ) => {
|
||||
this.router.navigate(['/controller', controller.id, 'projects']);
|
||||
this.progressService.deactivate();
|
||||
});
|
||||
|
@ -2,9 +2,9 @@ import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
import { ElectronService } from 'ngx-electron';
|
||||
import { Controller } from '../../../models/controller';
|
||||
import { ControllerService } from '../../../services/controller.service';
|
||||
import { ToasterService } from '../../../services/toaster.service';
|
||||
import { Controller } from '@models/controller';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
import { ToasterService } from '@services/toaster.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-add-controller-dialog',
|
||||
@ -124,7 +124,7 @@ export class AddControllerDialogComponent implements OnInit {
|
||||
return;
|
||||
}
|
||||
|
||||
const controller:Controller = Object.assign({}, this.controllerForm.value);
|
||||
const controller: Controller = Object.assign({}, this.controllerForm.value);
|
||||
this.controllerService.checkControllerVersion(controller).subscribe(
|
||||
(controllerInfo) => {
|
||||
if (controllerInfo.version.split('.')[0] >= 3) {
|
||||
|
@ -2,13 +2,13 @@ import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testin
|
||||
import { MatCardModule } from '@angular/material/card';
|
||||
import { MatDividerModule } from '@angular/material/divider';
|
||||
import { Observable } from 'rxjs/Rx';
|
||||
import{ Controller } from '../../../models/controller';
|
||||
import { Version } from '../../../models/version';
|
||||
import { ControllerDatabase } from '../../../services/controller.database';
|
||||
import { ControllerService } from '../../../services/controller.service';
|
||||
import { MockedControllerService } from '../../../services/controller.service.spec';
|
||||
import { VersionService } from '../../../services/version.service';
|
||||
import { MockedVersionService } from '../../../services/version.service.spec';
|
||||
import { Controller } from '@models/controller';
|
||||
import { Version } from '@models/version';
|
||||
import { ControllerDatabase } from '@services/controller.database';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
import { MockedControllerService } from '@services/controller.service.spec';
|
||||
import { VersionService } from '@services/version.service';
|
||||
import { MockedVersionService } from '@services/version.service.spec';
|
||||
import { ControllerDiscoveryComponent } from './controller-discovery.component';
|
||||
|
||||
xdescribe('ControllerDiscoveryComponent', () => {
|
||||
@ -112,7 +112,7 @@ describe('discovery', () => {
|
||||
});
|
||||
|
||||
describe('discoverFirstAvailableController', () => {
|
||||
let controller:Controller ;
|
||||
let controller: Controller;
|
||||
|
||||
beforeEach(function () {
|
||||
controller = new Controller ();
|
||||
@ -142,7 +142,7 @@ describe('discoverFirstAvailableController', () => {
|
||||
});
|
||||
|
||||
describe('accepting and ignoring found controller', () => {
|
||||
let controller:Controller ;
|
||||
let controller: Controller;
|
||||
beforeEach(() => {
|
||||
controller = new Controller ();
|
||||
(controller.host = '199.111.111.1'), (controller.port = 3333);
|
||||
|
@ -3,11 +3,11 @@ import { ActivatedRoute } from '@angular/router';
|
||||
import { forkJoin, from } from 'rxjs';
|
||||
import { map } from 'rxjs//operators';
|
||||
import { Observable } from 'rxjs/Rx';
|
||||
import { Controller, ControllerProtocol } from '../../../models/controller';
|
||||
import { Version } from '../../../models/version';
|
||||
import { ControllerDatabase } from '../../../services/controller.database';
|
||||
import { ControllerService } from '../../../services/controller.service';
|
||||
import { VersionService } from '../../../services/version.service';
|
||||
import { Controller, ControllerProtocol } from '@models/controller';
|
||||
import { Version } from '@models/version';
|
||||
import { ControllerDatabase } from '@services/controller.database';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
import { VersionService } from '@services/version.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-controller-discovery',
|
||||
|
@ -4,11 +4,11 @@ import { MatDialog, MatDialogModule } from '@angular/material/dialog';
|
||||
import { MatIconModule } from '@angular/material/icon';
|
||||
import { MatMenuModule } from '@angular/material/menu';
|
||||
import { MatToolbarModule } from '@angular/material/toolbar';
|
||||
import { ControllerDatabase } from '../../services/controller.database';
|
||||
import { ControllerService } from '../../services/controller.service';
|
||||
import { ControllerDatabase } from '@services/controller.database';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
import { MockedControllerService } from 'app/services/controller.service.spec';
|
||||
import { ControllersComponent } from './controllers.component';
|
||||
import { ControllerManagementService } from '../../services/controller-management.service';
|
||||
import { ControllerManagementService } from '@services/controller-management.service';
|
||||
import { ElectronService } from 'ngx-electron';
|
||||
import { ChildProcessService } from 'ngx-childprocess';
|
||||
import { MatBottomSheet, MatBottomSheetModule } from '@angular/material/bottom-sheet';
|
||||
|
@ -7,10 +7,10 @@ import { ChildProcessService } from 'ngx-childprocess';
|
||||
import { ElectronService } from 'ngx-electron';
|
||||
import { merge, Observable, Subscription } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
import {Controller , ControllerProtocol } from '../../models/controller';
|
||||
import { ControllerManagementService } from '../../services/controller-management.service';
|
||||
import { ControllerDatabase } from '../../services/controller.database';
|
||||
import { ControllerService } from '../../services/controller.service';
|
||||
import {Controller, ControllerProtocol } from '@models/controller';
|
||||
import { ControllerManagementService } from '@services/controller-management.service';
|
||||
import { ControllerDatabase } from '@services/controller.database';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
import { ConfirmationBottomSheetComponent } from '../projects/confirmation-bottomsheet/confirmation-bottomsheet.component';
|
||||
import { AddControllerDialogComponent } from './add-controller-dialog/add-controller-dialog.component';
|
||||
|
||||
@ -41,7 +41,7 @@ export class ControllersComponent implements OnInit, OnDestroy {
|
||||
getControllers() {
|
||||
const runningControllerNames = this.controllerManagement.getRunningControllers();
|
||||
|
||||
this.controllerService.findAll().then((controllers:Controller []) => {
|
||||
this.controllerService.findAll().then((controllers: Controller []) => {
|
||||
controllers.forEach((controller) => {
|
||||
const controllerIndex = runningControllerNames.findIndex((controllerName) => controller.name === controllerName);
|
||||
if (controllerIndex >= 0) {
|
||||
@ -122,14 +122,14 @@ export class ControllersComponent implements OnInit, OnDestroy {
|
||||
|
||||
dialogRef.afterClosed().subscribe((controller) => {
|
||||
if (controller) {
|
||||
this.controllerService.create(controller).then((created:Controller ) => {
|
||||
this.controllerService.create(controller).then((created: Controller ) => {
|
||||
this.controllerDatabase.addController(created);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
getControllerStatus(controller:Controller ) {
|
||||
getControllerStatus(controller: Controller ) {
|
||||
if (controller.location === 'local') {
|
||||
if (controller.status === undefined) {
|
||||
return 'stopped';
|
||||
@ -138,7 +138,7 @@ export class ControllersComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
}
|
||||
|
||||
deleteController(controller:Controller ) {
|
||||
deleteController(controller: Controller ) {
|
||||
this.bottomSheet.open(ConfirmationBottomSheetComponent);
|
||||
let bottomSheetRef = this.bottomSheet._openedBottomSheetRef;
|
||||
bottomSheetRef.instance.message = 'Do you want to delete the controller?';
|
||||
@ -151,11 +151,11 @@ export class ControllersComponent implements OnInit, OnDestroy {
|
||||
});
|
||||
}
|
||||
|
||||
async startController(controller:Controller ) {
|
||||
async startController(controller: Controller ) {
|
||||
await this.controllerManagement.start(controller);
|
||||
}
|
||||
|
||||
async stopController(controller:Controller ) {
|
||||
async stopController(controller: Controller ) {
|
||||
await this.controllerManagement.stop(controller);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,8 @@
|
||||
<h1 mat-dialog-title>{{ data.title }}</h1>
|
||||
<div mat-dialog-content>
|
||||
<p>{{ data.question }}</p>
|
||||
</div>
|
||||
<div mat-dialog-actions>
|
||||
<button mat-button (click)="onNoClick()">No</button>
|
||||
<button mat-button (click)="onYesClick()">Yes</button>
|
||||
</div>
|
@ -0,0 +1,21 @@
|
||||
import { Component, Inject } from '@angular/core';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
|
||||
@Component({
|
||||
selector: 'app-question-dialog',
|
||||
templateUrl: './question-dialog.component.html',
|
||||
})
|
||||
export class QuestionDialogComponent {
|
||||
constructor(
|
||||
public dialogRef: MatDialogRef<QuestionDialogComponent>,
|
||||
@Inject(MAT_DIALOG_DATA) public data: { title: string, question: string}
|
||||
) {}
|
||||
|
||||
onNoClick(): void {
|
||||
this.dialogRef.close(false);
|
||||
}
|
||||
|
||||
onYesClick(): void {
|
||||
this.dialogRef.close(true);
|
||||
}
|
||||
}
|
@ -1,10 +1,10 @@
|
||||
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import{ Controller } from '../../models/controller';
|
||||
import { ControllerDatabase } from '../../services/controller.database';
|
||||
import { ControllerService } from '../../services/controller.service';
|
||||
import { ToasterService } from '../../services/toaster.service';
|
||||
import { Controller } from '@models/controller';
|
||||
import { ControllerDatabase } from '@services/controller.database';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
import { ToasterService } from '@services/toaster.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-direct-link',
|
||||
@ -72,7 +72,7 @@ export class DirectLinkComponent implements OnInit {
|
||||
return;
|
||||
}
|
||||
|
||||
let controllerToAdd:Controller = new Controller ();
|
||||
let controllerToAdd: Controller = new Controller ();
|
||||
controllerToAdd.host = this.controllerIp;
|
||||
controllerToAdd.port = this.controllerPort;
|
||||
|
||||
@ -80,7 +80,7 @@ export class DirectLinkComponent implements OnInit {
|
||||
controllerToAdd.location = this.controllerForm.get('location').value;
|
||||
controllerToAdd.protocol = this.controllerForm.get('protocol').value;
|
||||
|
||||
this.controllerService.create(controllerToAdd).then((addedController:Controller ) => {
|
||||
this.controllerService.create(controllerToAdd).then((addedController: Controller ) => {
|
||||
this.router.navigate(['/controller', addedController.id, 'project', this.projectId]);
|
||||
});
|
||||
}
|
||||
|
@ -9,8 +9,8 @@ import { EllipseElementFactory } from '../../../cartography/helpers/drawings-fac
|
||||
import { LineElementFactory } from '../../../cartography/helpers/drawings-factory/line-element-factory';
|
||||
import { RectangleElementFactory } from '../../../cartography/helpers/drawings-factory/rectangle-element-factory';
|
||||
import { TextElementFactory } from '../../../cartography/helpers/drawings-factory/text-element-factory';
|
||||
import { Project } from '../../../models/project';
|
||||
import { DrawingService } from '../../../services/drawing.service';
|
||||
import { Project } from '@models/project';
|
||||
import { DrawingService } from '@services/drawing.service';
|
||||
import { MockedDrawingsDataSource, MockedDrawingService } from '../../project-map/project-map.component.spec';
|
||||
import { DrawingAddedComponent } from './drawing-added.component';
|
||||
|
||||
|
@ -6,9 +6,9 @@ import { DrawingsEventSource } from '../../../cartography/events/drawings-event-
|
||||
import { AddedDataEvent } from '../../../cartography/events/event-source';
|
||||
import { DefaultDrawingsFactory } from '../../../cartography/helpers/default-drawings-factory';
|
||||
import { Drawing } from '../../../cartography/models/drawing';
|
||||
import { Project } from '../../../models/project';
|
||||
import{ Controller } from '../../../models/controller';
|
||||
import { DrawingService } from '../../../services/drawing.service';
|
||||
import { Project } from '@models/project';
|
||||
import { Controller } from '@models/controller';
|
||||
import { DrawingService } from '@services/drawing.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-drawing-added',
|
||||
|
@ -5,7 +5,7 @@ import { DrawingsEventSource } from '../../../cartography/events/drawings-event-
|
||||
import { DraggedDataEvent } from '../../../cartography/events/event-source';
|
||||
import { DrawingElement } from '../../../cartography/models/drawings/drawing-element';
|
||||
import { MapDrawing } from '../../../cartography/models/map/map-drawing';
|
||||
import { DrawingService } from '../../../services/drawing.service';
|
||||
import { DrawingService } from '@services/drawing.service';
|
||||
import { MockedDrawingsDataSource, MockedDrawingService } from '../../project-map/project-map.component.spec';
|
||||
import { DrawingDraggedComponent } from './drawing-dragged.component';
|
||||
|
||||
|
@ -5,9 +5,9 @@ import { DrawingsEventSource } from '../../../cartography/events/drawings-event-
|
||||
import { DraggedDataEvent } from '../../../cartography/events/event-source';
|
||||
import { Drawing } from '../../../cartography/models/drawing';
|
||||
import { MapDrawing } from '../../../cartography/models/map/map-drawing';
|
||||
import { Project } from '../../../models/project';
|
||||
import{ Controller } from '../../../models/controller';
|
||||
import { DrawingService } from '../../../services/drawing.service';
|
||||
import { Project } from '@models/project';
|
||||
import { Controller } from '@models/controller';
|
||||
import { DrawingService } from '@services/drawing.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-drawing-dragged',
|
||||
@ -15,7 +15,7 @@ import { DrawingService } from '../../../services/drawing.service';
|
||||
styleUrls: ['./drawing-dragged.component.scss'],
|
||||
})
|
||||
export class DrawingDraggedComponent implements OnInit, OnDestroy {
|
||||
@Input() controller:Controller ;
|
||||
@Input() controller: Controller;
|
||||
@Input() project: Project;
|
||||
private drawingDragged: Subscription;
|
||||
|
||||
|
@ -6,7 +6,7 @@ import { DrawingsEventSource } from '../../../cartography/events/drawings-event-
|
||||
import { ResizedDataEvent } from '../../../cartography/events/event-source';
|
||||
import { DrawingElement } from '../../../cartography/models/drawings/drawing-element';
|
||||
import { MapDrawing } from '../../../cartography/models/map/map-drawing';
|
||||
import { DrawingService } from '../../../services/drawing.service';
|
||||
import { DrawingService } from '@services/drawing.service';
|
||||
import { MockedDrawingsDataSource, MockedDrawingService } from '../../project-map/project-map.component.spec';
|
||||
import { DrawingResizedComponent } from './drawing-resized.component';
|
||||
|
||||
|
@ -6,8 +6,8 @@ import { DrawingsEventSource } from '../../../cartography/events/drawings-event-
|
||||
import { ResizedDataEvent } from '../../../cartography/events/event-source';
|
||||
import { Drawing } from '../../../cartography/models/drawing';
|
||||
import { MapDrawing } from '../../../cartography/models/map/map-drawing';
|
||||
import{ Controller } from '../../../models/controller';
|
||||
import { DrawingService } from '../../../services/drawing.service';
|
||||
import { Controller } from '@models/controller';
|
||||
import { DrawingService } from '@services/drawing.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-drawing-resized',
|
||||
@ -15,7 +15,7 @@ import { DrawingService } from '../../../services/drawing.service';
|
||||
styleUrls: ['./drawing-resized.component.scss'],
|
||||
})
|
||||
export class DrawingResizedComponent implements OnInit, OnDestroy {
|
||||
@Input() controller:Controller ;
|
||||
@Input() controller: Controller;
|
||||
private drawingResized: Subscription;
|
||||
|
||||
constructor(
|
||||
|
@ -6,8 +6,8 @@ import { LinksEventSource } from '../../../cartography/events/links-event-source
|
||||
import { Label } from '../../../cartography/models/label';
|
||||
import { MapLabel } from '../../../cartography/models/map/map-label';
|
||||
import { MapLinkNode } from '../../../cartography/models/map/map-link-node';
|
||||
import { Link } from '../../../models/link';
|
||||
import { LinkService } from '../../../services/link.service';
|
||||
import { Link } from '@models/link';
|
||||
import { LinkService } from '@services/link.service';
|
||||
import { MockedLinkService } from '../../project-map/project-map.component.spec';
|
||||
import { InterfaceLabelDraggedComponent } from './interface-label-dragged.component';
|
||||
|
||||
|
@ -4,9 +4,9 @@ import { LinksDataSource } from '../../../cartography/datasources/links-datasour
|
||||
import { DraggedDataEvent } from '../../../cartography/events/event-source';
|
||||
import { LinksEventSource } from '../../../cartography/events/links-event-source';
|
||||
import { MapLinkNode } from '../../../cartography/models/map/map-link-node';
|
||||
import { Link } from '../../../models/link';
|
||||
import{ Controller } from '../../../models/controller';
|
||||
import { LinkService } from '../../../services/link.service';
|
||||
import { Link } from '@models/link';
|
||||
import { Controller } from '@models/controller';
|
||||
import { LinkService } from '@services/link.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-interface-label-dragged',
|
||||
@ -14,7 +14,7 @@ import { LinkService } from '../../../services/link.service';
|
||||
styleUrls: ['./interface-label-dragged.component.scss'],
|
||||
})
|
||||
export class InterfaceLabelDraggedComponent {
|
||||
@Input() controller:Controller ;
|
||||
@Input() controller: Controller;
|
||||
private interfaceDragged: Subscription;
|
||||
|
||||
constructor(
|
||||
|
@ -12,10 +12,10 @@ import { FontFixer } from '../../../cartography/helpers/font-fixer';
|
||||
import { MapLabel } from '../../../cartography/models/map/map-label';
|
||||
import { MapNode } from '../../../cartography/models/map/map-node';
|
||||
import { MapPort } from '../../../cartography/models/map/map-port';
|
||||
import { Project } from '../../../models/project';
|
||||
import { LinkService } from '../../../services/link.service';
|
||||
import { ProjectService } from '../../../services/project.service';
|
||||
import { MockedProjectService } from '../../../services/project.service.spec';
|
||||
import { Project } from '@models/project';
|
||||
import { LinkService } from '@services/link.service';
|
||||
import { ProjectService } from '@services/project.service';
|
||||
import { MockedProjectService } from '@services/project.service.spec';
|
||||
import { MockedLinkService } from '../../project-map/project-map.component.spec';
|
||||
import { LinkCreatedComponent } from './link-created.component';
|
||||
|
||||
@ -79,6 +79,7 @@ describe('LinkCreatedComponent', () => {
|
||||
portNameFormat: 'samplePortNameFormat',
|
||||
portSegmentSize: 0,
|
||||
ports: [],
|
||||
properties: undefined,
|
||||
projectId: 'sampleProjectId',
|
||||
status: 'sampleStatus',
|
||||
symbol: 'sampleSymbol',
|
||||
|
@ -5,11 +5,11 @@ import { MapPortToPortConverter } from '../../../cartography/converters/map/map-
|
||||
import { LinksDataSource } from '../../../cartography/datasources/links-datasource';
|
||||
import { MapLinkCreated } from '../../../cartography/events/links';
|
||||
import { LinksEventSource } from '../../../cartography/events/links-event-source';
|
||||
import { Link } from '../../../models/link';
|
||||
import { Project } from '../../../models/project';
|
||||
import{ Controller } from '../../../models/controller';
|
||||
import { LinkService } from '../../../services/link.service';
|
||||
import { ProjectService } from '../../../services/project.service';
|
||||
import { Link } from '@models/link';
|
||||
import { Project } from '@models/project';
|
||||
import { Controller } from '@models/controller';
|
||||
import { LinkService } from '@services/link.service';
|
||||
import { ProjectService } from '@services/project.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-link-created',
|
||||
@ -17,7 +17,7 @@ import { ProjectService } from '../../../services/project.service';
|
||||
styleUrls: ['./link-created.component.scss'],
|
||||
})
|
||||
export class LinkCreatedComponent implements OnInit, OnDestroy {
|
||||
@Input() controller:Controller ;
|
||||
@Input() controller: Controller;
|
||||
@Input() project: Project;
|
||||
private linkCreated: Subscription;
|
||||
|
||||
|
@ -5,7 +5,7 @@ import { DraggedDataEvent } from '../../../cartography/events/event-source';
|
||||
import { NodesEventSource } from '../../../cartography/events/nodes-event-source';
|
||||
import { MapLabel } from '../../../cartography/models/map/map-label';
|
||||
import { MapNode } from '../../../cartography/models/map/map-node';
|
||||
import { NodeService } from '../../../services/node.service';
|
||||
import { NodeService } from '@services/node.service';
|
||||
import { MockedNodesDataSource, MockedNodeService } from '../../project-map/project-map.component.spec';
|
||||
import { NodeDraggedComponent } from './node-dragged.component';
|
||||
|
||||
@ -59,6 +59,7 @@ describe('NodeDraggedComponent', () => {
|
||||
portNameFormat: 'samplePortNameFormat',
|
||||
portSegmentSize: 0,
|
||||
ports: [],
|
||||
properties: undefined,
|
||||
projectId: 'sampleProjectId',
|
||||
status: 'sampleStatus',
|
||||
symbol: 'sampleSymbol',
|
||||
|
@ -5,9 +5,9 @@ import { DraggedDataEvent } from '../../../cartography/events/event-source';
|
||||
import { NodesEventSource } from '../../../cartography/events/nodes-event-source';
|
||||
import { MapNode } from '../../../cartography/models/map/map-node';
|
||||
import { Node } from '../../../cartography/models/node';
|
||||
import { Project } from '../../../models/project';
|
||||
import{ Controller } from '../../../models/controller';
|
||||
import { NodeService } from '../../../services/node.service';
|
||||
import { Project } from '@models/project';
|
||||
import { Controller } from '@models/controller';
|
||||
import { NodeService } from '@services/node.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-node-dragged',
|
||||
@ -15,7 +15,7 @@ import { NodeService } from '../../../services/node.service';
|
||||
styleUrls: ['./node-dragged.component.scss'],
|
||||
})
|
||||
export class NodeDraggedComponent implements OnInit, OnDestroy {
|
||||
@Input() controller:Controller ;
|
||||
@Input() controller: Controller;
|
||||
@Input() project: Project;
|
||||
private nodeDragged: Subscription;
|
||||
|
||||
|
@ -8,7 +8,7 @@ import { CssFixer } from '../../../cartography/helpers/css-fixer';
|
||||
import { FontBBoxCalculator } from '../../../cartography/helpers/font-bbox-calculator';
|
||||
import { FontFixer } from '../../../cartography/helpers/font-fixer';
|
||||
import { MapLabel } from '../../../cartography/models/map/map-label';
|
||||
import { NodeService } from '../../../services/node.service';
|
||||
import { NodeService } from '@services/node.service';
|
||||
import { MockedNodesDataSource, MockedNodeService } from '../../project-map/project-map.component.spec';
|
||||
import { NodeLabelDraggedComponent } from './node-label-dragged.component';
|
||||
|
||||
|
@ -6,8 +6,8 @@ import { DraggedDataEvent } from '../../../cartography/events/event-source';
|
||||
import { NodesEventSource } from '../../../cartography/events/nodes-event-source';
|
||||
import { MapLabel } from '../../../cartography/models/map/map-label';
|
||||
import { Node } from '../../../cartography/models/node';
|
||||
import{ Controller } from '../../../models/controller';
|
||||
import { NodeService } from '../../../services/node.service';
|
||||
import { Controller } from '@models/controller';
|
||||
import { NodeService } from '@services/node.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-node-label-dragged',
|
||||
@ -15,7 +15,7 @@ import { NodeService } from '../../../services/node.service';
|
||||
styleUrls: ['./node-label-dragged.component.scss'],
|
||||
})
|
||||
export class NodeLabelDraggedComponent implements OnInit, OnDestroy {
|
||||
@Input() controller:Controller ;
|
||||
@Input() controller: Controller;
|
||||
private nodeLabelDragged: Subscription;
|
||||
|
||||
constructor(
|
||||
|
@ -10,8 +10,8 @@ import { LineElementFactory } from '../../../cartography/helpers/drawings-factor
|
||||
import { RectangleElementFactory } from '../../../cartography/helpers/drawings-factory/rectangle-element-factory';
|
||||
import { TextElementFactory } from '../../../cartography/helpers/drawings-factory/text-element-factory';
|
||||
import { Context } from '../../../cartography/models/context';
|
||||
import { Project } from '../../../models/project';
|
||||
import { DrawingService } from '../../../services/drawing.service';
|
||||
import { Project } from '@models/project';
|
||||
import { DrawingService } from '@services/drawing.service';
|
||||
import { MockedDrawingsDataSource, MockedDrawingService } from '../../project-map/project-map.component.spec';
|
||||
import { TextAddedComponent } from './text-added.component';
|
||||
|
||||
|
@ -8,9 +8,9 @@ import { DefaultDrawingsFactory } from '../../../cartography/helpers/default-dra
|
||||
import { Context } from '../../../cartography/models/context';
|
||||
import { Drawing } from '../../../cartography/models/drawing';
|
||||
import { TextElement } from '../../../cartography/models/drawings/text-element';
|
||||
import { Project } from '../../../models/project';
|
||||
import{ Controller } from '../../../models/controller';
|
||||
import { DrawingService } from '../../../services/drawing.service';
|
||||
import { Project } from '@models/project';
|
||||
import { Controller } from '@models/controller';
|
||||
import { DrawingService } from '@services/drawing.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-text-added',
|
||||
|
@ -5,7 +5,7 @@ import { DrawingsDataSource } from '../../../cartography/datasources/drawings-da
|
||||
import { DrawingsEventSource } from '../../../cartography/events/drawings-event-source';
|
||||
import { TextEditedDataEvent } from '../../../cartography/events/event-source';
|
||||
import { TextElement } from '../../../cartography/models/drawings/text-element';
|
||||
import { DrawingService } from '../../../services/drawing.service';
|
||||
import { DrawingService } from '@services/drawing.service';
|
||||
import { MockedDrawingsDataSource, MockedDrawingService } from '../../project-map/project-map.component.spec';
|
||||
import { TextEditedComponent } from './text-edited.component';
|
||||
|
||||
|
@ -7,8 +7,8 @@ import { TextEditedDataEvent } from '../../../cartography/events/event-source';
|
||||
import { Drawing } from '../../../cartography/models/drawing';
|
||||
import { TextElement } from '../../../cartography/models/drawings/text-element';
|
||||
import { MapDrawing } from '../../../cartography/models/map/map-drawing';
|
||||
import{ Controller } from '../../../models/controller';
|
||||
import { DrawingService } from '../../../services/drawing.service';
|
||||
import { Controller } from '@models/controller';
|
||||
import { DrawingService } from '@services/drawing.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-text-edited',
|
||||
|
@ -7,10 +7,10 @@ import { MatFormFieldModule } from '@angular/material/form-field';
|
||||
import { MatInputModule } from '@angular/material/input';
|
||||
import { MatSelectModule } from '@angular/material/select';
|
||||
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { ProjectService } from '../../services/project.service';
|
||||
import { MockedProjectService } from '../../services/project.service.spec';
|
||||
import { ToasterService } from '../../services/toaster.service';
|
||||
import { MockedToasterService } from '../../services/toaster.service.spec';
|
||||
import { ProjectService } from '@services/project.service';
|
||||
import { MockedProjectService } from '@services/project.service.spec';
|
||||
import { ToasterService } from '@services/toaster.service';
|
||||
import { MockedToasterService } from '@services/toaster.service.spec';
|
||||
import { ExportPortableProjectComponent } from './export-portable-project.component';
|
||||
|
||||
describe('ExportPortableProjectComponent', () => {
|
||||
|
@ -1,9 +1,9 @@
|
||||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
import { Project } from '../../models/project';
|
||||
import{ Controller } from '../../models/controller';
|
||||
import { ProjectService } from '../../services/project.service';
|
||||
import { Project } from '@models/project';
|
||||
import { Controller } from '@models/controller';
|
||||
import { ProjectService } from '@services/project.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-export-portable-project',
|
||||
@ -16,7 +16,7 @@ export class ExportPortableProjectComponent implements OnInit {
|
||||
compression_methods: any = [];
|
||||
compression_level: any = [];
|
||||
compression_filter_value: any = [];
|
||||
controller:Controller ;
|
||||
controller: Controller;
|
||||
project: Project;
|
||||
index: number = 4;
|
||||
fileName: string;
|
||||
|
@ -15,8 +15,8 @@ import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
|
||||
import {UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators} from "@angular/forms";
|
||||
import {groupNameAsyncValidator} from "@components/group-management/add-group-dialog/groupNameAsyncValidator";
|
||||
import {GroupNameValidator} from "@components/group-management/add-group-dialog/GroupNameValidator";
|
||||
import {GroupService} from "../../../services/group.service";
|
||||
import {Controller} from "../../../models/controller";
|
||||
import {GroupService} from "@services/group.service";
|
||||
import {Controller} from "@models/controller";
|
||||
import {BehaviorSubject, forkJoin, timer} from "rxjs";
|
||||
import {User} from "@models/users/user";
|
||||
import {UserService} from "@services/user.service";
|
||||
|
@ -13,8 +13,8 @@
|
||||
import { UntypedFormControl } from '@angular/forms';
|
||||
import { timer } from 'rxjs';
|
||||
import { map, switchMap, tap } from 'rxjs/operators';
|
||||
import { Controller } from "../../../models/controller";
|
||||
import { GroupService } from "../../../services/group.service";
|
||||
import { Controller } from "@models/controller";
|
||||
import { GroupService } from "@services/group.service";
|
||||
|
||||
export const groupNameAsyncValidator = (controller: Controller, groupService: GroupService) => {
|
||||
return (control: UntypedFormControl) => {
|
||||
|
@ -12,11 +12,11 @@
|
||||
*/
|
||||
import {Component, OnInit, QueryList, ViewChild, ViewChildren} from '@angular/core';
|
||||
import {ActivatedRoute, Router} from "@angular/router";
|
||||
import {ControllerService} from "../../services/controller.service";
|
||||
import {ToasterService} from "../../services/toaster.service";
|
||||
import {GroupService} from "../../services/group.service";
|
||||
import {Controller} from "../../models/controller";
|
||||
import {Group} from "../../models/groups/group";
|
||||
import {ControllerService} from "@services/controller.service";
|
||||
import {ToasterService} from "@services/toaster.service";
|
||||
import {GroupService} from "@services/group.service";
|
||||
import {Controller} from "@models/controller";
|
||||
import {Group} from "@models/groups/group";
|
||||
import {MatSort, Sort} from "@angular/material/sort";
|
||||
import {MatDialog} from "@angular/material/dialog";
|
||||
import {AddGroupDialogComponent} from "@components/group-management/add-group-dialog/add-group-dialog.component";
|
||||
|
@ -39,7 +39,7 @@
|
||||
<div class="col-md-4 txt-align" *ngIf="uploaderImage.queue.length <= 0">
|
||||
<input
|
||||
type="file"
|
||||
accept=".bin,.image,.qcow2,.vmdk"
|
||||
accept=".bin,.image,.iol,.qcow2,.vmdk"
|
||||
multiple
|
||||
#file
|
||||
class="non-visible"
|
||||
|
@ -5,10 +5,10 @@ import { MatIconModule } from '@angular/material/icon';
|
||||
import { MatMenuModule } from '@angular/material/menu';
|
||||
import { MatToolbarModule } from '@angular/material/toolbar';
|
||||
import { ImageManagerService } from 'app/services/image-manager.service';
|
||||
import { ControllerService } from '../../../services/controller.service';
|
||||
import { MockedControllerService } from '../../../services/controller.service.spec';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
import { MockedControllerService } from '@services/controller.service.spec';
|
||||
import { of } from 'rxjs';
|
||||
import{ Controller } from '../../../models/controller';
|
||||
import { Controller } from '@models/controller';
|
||||
|
||||
import { AddImageDialogComponent } from './add-image-dialog.component';
|
||||
import { NO_ERRORS_SCHEMA } from '@angular/core';
|
||||
@ -17,7 +17,7 @@ import { MockedToasterService } from 'app/services/toaster.service.spec';
|
||||
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
||||
|
||||
export class MockedImageManagerService {
|
||||
public getImages(controller:Controller ) {
|
||||
public getImages(controller: Controller ) {
|
||||
return of();
|
||||
}
|
||||
|
||||
|
@ -3,9 +3,9 @@ import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
import { UploadServiceService } from 'app/common/uploading-processbar/upload-service.service';
|
||||
import { FileItem, FileUploader, ParsedResponseHeaders } from 'ng2-file-upload';
|
||||
import{ Controller } from '../../../models/controller';
|
||||
import { ImageManagerService } from '../../../services/image-manager.service';
|
||||
import { ToasterService } from '../../../services/toaster.service';
|
||||
import { Controller } from '@models/controller';
|
||||
import { ImageManagerService } from '@services/image-manager.service';
|
||||
import { ToasterService } from '@services/toaster.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-add-image-dialog',
|
||||
@ -20,7 +20,7 @@ import { ToasterService } from '../../../services/toaster.service';
|
||||
],
|
||||
})
|
||||
export class AddImageDialogComponent implements OnInit {
|
||||
controller:Controller ;
|
||||
controller: Controller;
|
||||
isInstallAppliance: boolean = false;
|
||||
install_appliance: boolean = false;
|
||||
selectFile: any = [];
|
||||
|
@ -9,9 +9,9 @@ import { ToasterService } from 'app/services/toaster.service';
|
||||
import { MockedToasterService } from 'app/services/toaster.service.spec';
|
||||
import { Server } from 'http';
|
||||
import { of } from 'rxjs';
|
||||
import { ImageManagerService } from '../../../services/image-manager.service';
|
||||
import { ControllerService } from '../../../services/controller.service';
|
||||
import { MockedControllerService } from '../../../services/controller.service.spec';
|
||||
import { ImageManagerService } from '@services/image-manager.service';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
import { MockedControllerService } from '@services/controller.service.spec';
|
||||
import { ImageManagerComponent } from '../image-manager.component';
|
||||
|
||||
import { DeleteAllImageFilesDialogComponent } from './deleteallfiles-dialog.component';
|
||||
|
@ -1,10 +1,10 @@
|
||||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
||||
import { ImageManagerService } from '../../../services/image-manager.service';
|
||||
import { ToasterService } from '../../../services/toaster.service';
|
||||
import { ImageManagerService } from '@services/image-manager.service';
|
||||
import { ToasterService } from '@services/toaster.service';
|
||||
import { Observable, of } from 'rxjs';
|
||||
import { catchError } from 'rxjs/operators';
|
||||
import { ImageData } from '../../../models/images';
|
||||
import { ImageData } from '@models/images';
|
||||
|
||||
@Component({
|
||||
selector: 'app-deleteallfiles-dialog',
|
||||
|
@ -4,7 +4,7 @@ import { DataSource, SelectionModel } from '@angular/cdk/collections';
|
||||
import { MatSort } from '@angular/material/sort';
|
||||
import { BehaviorSubject, Observable, Subscription, merge } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
import { Image } from '../../models/images';
|
||||
import { Image } from '@models/images';
|
||||
|
||||
|
||||
export class imageDatabase {
|
||||
|
@ -1,19 +1,19 @@
|
||||
<div class="content">
|
||||
<div class="default-header">
|
||||
<div class="row">
|
||||
<div class="col-md-9">
|
||||
<h1>Image Manager</h1>
|
||||
</div>
|
||||
<div class="col-md-3 btn-box">
|
||||
<button class="img-btn" mat-button
|
||||
(click)="addImageDialog()">
|
||||
<mat-icon>add</mat-icon> Add Image
|
||||
</button>
|
||||
</div>
|
||||
<h1 class="col">Image Manager</h1>
|
||||
<button mat-raised-button color="primary" (click)="installAllImages()" class="install-all-button">
|
||||
<mat-icon>done_all</mat-icon> Install all images
|
||||
</button>
|
||||
<button mat-raised-button color="primary" (click)="pruneImages()" class="prune-button">
|
||||
<mat-icon>delete</mat-icon> Prune Images
|
||||
</button>
|
||||
<button mat-raised-button color="primary" (click)="addImageDialog()" class="add-button">
|
||||
<mat-icon>add</mat-icon> Add Image
|
||||
</button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="default-content">
|
||||
<app-controller-discovery></app-controller-discovery>
|
||||
|
||||
@ -49,9 +49,9 @@
|
||||
<mat-header-cell *matHeaderCellDef> Image Size </mat-header-cell>
|
||||
<mat-cell *matCellDef="let row"> {{ (row.image_size/1000000).toFixed()}} MB </mat-cell>
|
||||
</ng-container>
|
||||
|
||||
|
||||
<ng-container matColumnDef="delete" >
|
||||
<mat-header-cell *matHeaderCellDef>
|
||||
<mat-header-cell *matHeaderCellDef>
|
||||
<button mat-button *ngIf="(selection.hasValue() && isAllSelected()) || selection.selected.length > 1" (click)="deleteAllFiles()" aria-label="Example icon button with a delete icon">
|
||||
<mat-icon>delete</mat-icon>
|
||||
</button>
|
||||
@ -67,4 +67,4 @@
|
||||
</mat-table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2,12 +2,22 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
.img-btn{
|
||||
margin: auto;
|
||||
}
|
||||
.btn-box{
|
||||
display: flex;
|
||||
margin-top: 10px;
|
||||
.install-all-button {
|
||||
height: 40px;
|
||||
width: 160px;
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.prune-button {
|
||||
height: 40px;
|
||||
width: 160px;
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.add-button {
|
||||
height: 40px;
|
||||
width: 160px;
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
mat-header-cell, mat-cell {
|
||||
@ -21,4 +31,3 @@ mat-cell, mat-header-cell, mat-footer-cell {
|
||||
min-height: inherit;
|
||||
}
|
||||
|
||||
|
@ -9,25 +9,25 @@ import { ImageManagerService } from 'app/services/image-manager.service';
|
||||
import { ControllerService } from 'app/services/controller.service';
|
||||
import { MockedControllerService } from 'app/services/controller.service.spec';
|
||||
import { of } from 'rxjs';
|
||||
import{ Controller } from '../../models/controller';
|
||||
import { Controller } from '@models/controller';
|
||||
|
||||
import { ImageManagerComponent } from './image-manager.component';
|
||||
import { Image } from '../../models/images';
|
||||
import { Image } from '@models/images';
|
||||
import { ProgressService } from 'app/common/progress/progress.service';
|
||||
import { MockedProgressService } from '../project-map/project-map.component.spec';
|
||||
import { MockedActivatedRoute } from '../preferences/preferences.component.spec';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { MockedVersionService } from '../../services/version.service.spec';
|
||||
import { MockedVersionService } from '@services/version.service.spec';
|
||||
import { VersionService } from 'app/services/version.service';
|
||||
import { ToasterService } from 'app/services/toaster.service';
|
||||
import { MockedToasterService } from 'app/services/toaster.service.spec';
|
||||
|
||||
export class MockedImageManagerService {
|
||||
public getImages(controller:Controller ) {
|
||||
public getImages(controller: Controller ) {
|
||||
return of();
|
||||
}
|
||||
|
||||
public deleteFile(controller:Controller , image_path) {
|
||||
public deleteFile(controller: Controller, image_path) {
|
||||
return of();
|
||||
}
|
||||
|
||||
|
@ -1,17 +1,18 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { ControllerService } from '../../services/controller.service';
|
||||
import { VersionService } from '../../services/version.service';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
import { VersionService } from '@services/version.service';
|
||||
import { ProgressService } from 'app/common/progress/progress.service';
|
||||
import { Image } from '../../models/images';
|
||||
import{ Controller } from '../../models/controller';
|
||||
import { ImageManagerService } from "../../services/image-manager.service";
|
||||
import { DataSource, SelectionModel } from '@angular/cdk/collections';
|
||||
import { Image } from '@models/images';
|
||||
import { Controller } from '@models/controller';
|
||||
import { ImageManagerService } from "@services/image-manager.service";
|
||||
import { SelectionModel } from '@angular/cdk/collections';
|
||||
import { AddImageDialogComponent } from './add-image-dialog/add-image-dialog.component';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { ToasterService } from '../../services/toaster.service';
|
||||
import { ToasterService } from '@services/toaster.service';
|
||||
import { DeleteAllImageFilesDialogComponent } from './deleteallfiles-dialog/deleteallfiles-dialog.component';
|
||||
import { imageDataSource, imageDatabase } from "./image-database-file";
|
||||
import { QuestionDialogComponent } from "@components/dialogs/question-dialog/question-dialog.component";
|
||||
|
||||
@Component({
|
||||
selector: 'app-image-manager',
|
||||
@ -19,7 +20,7 @@ import { imageDataSource, imageDatabase } from "./image-database-file";
|
||||
styleUrls: ['./image-manager.component.scss']
|
||||
})
|
||||
export class ImageManagerComponent implements OnInit {
|
||||
controller:Controller ;
|
||||
controller: Controller;
|
||||
public version: string;
|
||||
dataSource: imageDataSource;
|
||||
imageDatabase = new imageDatabase();
|
||||
@ -36,12 +37,11 @@ export class ImageManagerComponent implements OnInit {
|
||||
private versionService: VersionService,
|
||||
private dialog: MatDialog,
|
||||
private toasterService: ToasterService,
|
||||
|
||||
) { }
|
||||
|
||||
ngOnInit(): void {
|
||||
let controller_id = parseInt(this.route.snapshot.paramMap.get('controller_id'));
|
||||
this.controllerService.get(controller_id).then((controller:Controller ) => {
|
||||
this.controllerService.get(controller_id).then((controller: Controller ) => {
|
||||
this.controller = controller;
|
||||
if (controller.authToken) {
|
||||
this.getImages()
|
||||
@ -60,7 +60,6 @@ export class ImageManagerComponent implements OnInit {
|
||||
},
|
||||
(error) => {
|
||||
this.toasterService.error(error.error.message)
|
||||
|
||||
}
|
||||
);
|
||||
}
|
||||
@ -100,6 +99,49 @@ export class ImageManagerComponent implements OnInit {
|
||||
this.isAllDelete = true;
|
||||
}
|
||||
|
||||
installAllImages() {
|
||||
const dialogRef = this.dialog.open(QuestionDialogComponent, {
|
||||
width: '450px',
|
||||
data: { title: 'Install all images', question: 'This will attempt to automatically create templates based on image checksums. Continue?'}
|
||||
});
|
||||
|
||||
dialogRef.afterClosed().subscribe((result: boolean) => {
|
||||
if (result) {
|
||||
this.imageService.installImages(this.controller).subscribe(() => {
|
||||
this.toasterService.success('Images installed');
|
||||
},
|
||||
(error) => {
|
||||
this.toasterService.error(error.error.message)
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
pruneImages() {
|
||||
const dialogRef = this.dialog.open(QuestionDialogComponent, {
|
||||
width: '450px',
|
||||
data: { title: 'Prune images', question: 'Delete all images not used by a template? This cannot be reverted.'}
|
||||
});
|
||||
|
||||
dialogRef.afterClosed().subscribe((result: boolean) => {
|
||||
if (result) {
|
||||
this.imageService.pruneImages(this.controller).subscribe(
|
||||
() => {
|
||||
this.getImages()
|
||||
this.unChecked()
|
||||
this.toasterService.success('Images pruned');
|
||||
},
|
||||
(error) => {
|
||||
this.getImages()
|
||||
this.unChecked()
|
||||
this.toasterService.error(error.error.message)
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public addImageDialog() {
|
||||
const dialogRef = this.dialog.open(AddImageDialogComponent, {
|
||||
width: '600px',
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { DataSource } from '@angular/cdk/table';
|
||||
import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
|
||||
import { BehaviorSubject, Observable } from 'rxjs';
|
||||
import { InstalledSoftwareService } from '../../services/installed-software.service';
|
||||
import { InstalledSoftwareService } from '@services/installed-software.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-installed-software',
|
||||
|
@ -1,15 +1,15 @@
|
||||
import { Component, DoCheck, OnInit, ViewEncapsulation } from '@angular/core';
|
||||
import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { AuthResponse } from '../../models/authResponse';
|
||||
import{ Controller } from '../../models/controller';
|
||||
import { Version } from '../../models/version';
|
||||
import { LoginService } from '../../services/login.service';
|
||||
import { ControllerDatabase } from '../../services/controller.database';
|
||||
import { ControllerService } from '../../services/controller.service';
|
||||
import { ThemeService } from '../../services/theme.service';
|
||||
import { ToasterService } from '../../services/toaster.service';
|
||||
import { VersionService } from '../../services/version.service';
|
||||
import { AuthResponse } from '@models/authResponse';
|
||||
import { Controller } from '@models/controller';
|
||||
import { Version } from '@models/version';
|
||||
import { LoginService } from '@services/login.service';
|
||||
import { ControllerDatabase } from '@services/controller.database';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
import { ThemeService } from '@services/theme.service';
|
||||
import { ToasterService } from '@services/toaster.service';
|
||||
import { VersionService } from '@services/version.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-login',
|
||||
@ -18,7 +18,7 @@ import { VersionService } from '../../services/version.service';
|
||||
encapsulation: ViewEncapsulation.None,
|
||||
})
|
||||
export class LoginComponent implements OnInit, DoCheck {
|
||||
private controller:Controller ;
|
||||
private controller: Controller;
|
||||
public version: string;
|
||||
public isLightThemeEnabled: boolean = false;
|
||||
public loginError: boolean = false;
|
||||
@ -45,7 +45,7 @@ export class LoginComponent implements OnInit, DoCheck {
|
||||
async ngOnInit() {
|
||||
const controller_id = this.route.snapshot.paramMap.get('controller_id');
|
||||
this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';
|
||||
this.controllerService.get(parseInt(controller_id, 10)).then((controller:Controller ) => {
|
||||
this.controllerService.get(parseInt(controller_id, 10)).then((controller: Controller ) => {
|
||||
this.controller = controller;
|
||||
|
||||
if (controller.authToken) {
|
||||
@ -94,6 +94,7 @@ export class LoginComponent implements OnInit, DoCheck {
|
||||
}
|
||||
},
|
||||
(error) => {
|
||||
this.isRememberMe = false;
|
||||
this.loginError = true;
|
||||
}
|
||||
);
|
||||
|
@ -10,21 +10,21 @@ import { NoopAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { RouterTestingModule } from '@angular/router/testing';
|
||||
import { of } from 'rxjs';
|
||||
import{ Controller } from '../../../../../models/controller';
|
||||
import { CloudTemplate } from '../../../../../models/templates/cloud-template';
|
||||
import { BuiltInTemplatesService } from '../../../../../services/built-in-templates.service';
|
||||
import { ComputeService } from '../../../../../services/compute.service';
|
||||
import { ControllerService } from '../../../../../services/controller.service';
|
||||
import { MockedControllerService } from '../../../../../services/controller.service.spec';
|
||||
import { TemplateMocksService } from '../../../../../services/template-mocks.service';
|
||||
import { ToasterService } from '../../../../../services/toaster.service';
|
||||
import { MockedToasterService } from '../../../../../services/toaster.service.spec';
|
||||
import { Controller } from '@models/controller';
|
||||
import { CloudTemplate } from '@models/templates/cloud-template';
|
||||
import { BuiltInTemplatesService } from '@services/built-in-templates.service';
|
||||
import { ComputeService } from '@services/compute.service';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
import { MockedControllerService } from '@services/controller.service.spec';
|
||||
import { TemplateMocksService } from '@services/template-mocks.service';
|
||||
import { ToasterService } from '@services/toaster.service';
|
||||
import { MockedToasterService } from '@services/toaster.service.spec';
|
||||
import { MockedComputeService } from '../../../../preferences/vpcs/add-vpcs-template/add-vpcs-template.component.spec';
|
||||
import { MockedActivatedRoute } from '../../../preferences.component.spec';
|
||||
import { CloudNodesAddTemplateComponent } from './cloud-nodes-add-template.component';
|
||||
|
||||
export class MockedBuiltInTemplatesService {
|
||||
public addTemplate(controller:Controller , cloudTemplate: CloudTemplate) {
|
||||
public addTemplate(controller: Controller, cloudTemplate: CloudTemplate) {
|
||||
return of(cloudTemplate);
|
||||
}
|
||||
}
|
||||
@ -80,7 +80,7 @@ describe('CloudNodesAddTemplateComponent', () => {
|
||||
it('should call add template', () => {
|
||||
spyOn(mockedBuiltInTemplatesService, 'addTemplate').and.returnValue(of({} as CloudTemplate));
|
||||
component.templateName = 'sample name';
|
||||
component.controller = { id: 1 } as Controller ;
|
||||
component.controller = { id: 1 } as Controller;
|
||||
component.formGroup.controls['templateName'].setValue('template name');
|
||||
|
||||
component.addTemplate();
|
||||
@ -92,7 +92,7 @@ describe('CloudNodesAddTemplateComponent', () => {
|
||||
spyOn(mockedBuiltInTemplatesService, 'addTemplate').and.returnValue(of({} as CloudTemplate));
|
||||
spyOn(mockedToasterService, 'error');
|
||||
component.templateName = '';
|
||||
component.controller = { id: 1 } as Controller ;
|
||||
component.controller = { id: 1 } as Controller;
|
||||
|
||||
component.addTemplate();
|
||||
|
||||
|
@ -2,14 +2,14 @@ import { Component, OnInit } from '@angular/core';
|
||||
import { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { v4 as uuid } from 'uuid';
|
||||
import { Compute } from '../../../../../models/compute';
|
||||
import{ Controller } from '../../../../../models/controller';
|
||||
import { CloudTemplate } from '../../../../../models/templates/cloud-template';
|
||||
import { BuiltInTemplatesService } from '../../../../../services/built-in-templates.service';
|
||||
import { ComputeService } from '../../../../../services/compute.service';
|
||||
import { ControllerService } from '../../../../../services/controller.service';
|
||||
import { TemplateMocksService } from '../../../../../services/template-mocks.service';
|
||||
import { ToasterService } from '../../../../../services/toaster.service';
|
||||
import { Compute } from '@models/compute';
|
||||
import { Controller } from '@models/controller';
|
||||
import { CloudTemplate } from '@models/templates/cloud-template';
|
||||
import { BuiltInTemplatesService } from '@services/built-in-templates.service';
|
||||
import { ComputeService } from '@services/compute.service';
|
||||
import { ControllerService } from '@services/controller.service';
|
||||
import { TemplateMocksService } from '@services/template-mocks.service';
|
||||
import { ToasterService } from '@services/toaster.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-cloud-nodes-add-template',
|
||||
@ -17,7 +17,7 @@ import { ToasterService } from '../../../../../services/toaster.service';
|
||||
styleUrls: ['./cloud-nodes-add-template.component.scss', '../../../preferences.component.scss'],
|
||||
})
|
||||
export class CloudNodesAddTemplateComponent implements OnInit {
|
||||
controller:Controller ;
|
||||
controller: Controller;
|
||||
templateName: string = '';
|
||||
formGroup: UntypedFormGroup;
|
||||
isLocalComputerChosen: boolean = true;
|
||||
@ -39,7 +39,7 @@ export class CloudNodesAddTemplateComponent implements OnInit {
|
||||
|
||||
ngOnInit() {
|
||||
const controller_id = this.route.snapshot.paramMap.get('controller_id');
|
||||
this.controllerService.get(parseInt(controller_id, 10)).then((controller:Controller ) => {
|
||||
this.controllerService.get(parseInt(controller_id, 10)).then((controller: Controller ) => {
|
||||
this.controller = controller;
|
||||
});
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user