Merge branch 'master' into Create-templates-from-appliances

This commit is contained in:
piotrpekala7
2020-06-17 17:40:01 +02:00
15 changed files with 203 additions and 150 deletions

View File

@ -170,56 +170,16 @@ export class ProjectMapComponent implements OnInit, OnDestroy {
this.mapSettingsService.logConsoleSubject.subscribe(value => this.isConsoleVisible = value);
this.progressService.activate();
const routeSub = this.route.paramMap.subscribe((paramMap: ParamMap) => {
const server_id = parseInt(paramMap.get('server_id'), 10);
from(this.serverService.get(server_id))
.pipe(
mergeMap((server: Server) => {
this.server = server;
return this.projectService.get(server, paramMap.get('project_id')).pipe(
map(project => {
return project;
})
);
}),
mergeMap((project: Project) => {
this.project = project;
this.projectService.open(this.server, this.project.project_id);
this.title.setTitle(this.project.name);
if (this.mapSettingsService.interfaceLabels.has(project.project_id)) {
this.isInterfaceLabelVisible = this.mapSettingsService.interfaceLabels.get(project.project_id);
} else {
this.isInterfaceLabelVisible = this.project.show_interface_labels;
}
this.recentlyOpenedProjectService.setServerId(this.server.id.toString());
this.recentlyOpenedProjectService.setProjectId(this.project.project_id);
if (this.project.status === 'opened') {
return new Observable<Project>(observer => {
observer.next(this.project);
});
} else {
return this.projectService.open(this.server, this.project.project_id);
}
})
)
.subscribe(
(project: Project) => {
this.onProjectLoad(project);
},
error => {
this.progressService.setError(error);
},
() => {
this.progressService.deactivate();
}
);
});
this.projectMapSubscription.add(routeSub);
if (this.serverService.isServiceInitialized) {
this.getData();
} else {
this.projectMapSubscription.add(
this.serverService.serviceInitialized.subscribe((val) => {
if (val) this.getData();
})
);
}
this.projectMapSubscription.add(
this.mapSettingsService.mapRenderedEmitter.subscribe((value: boolean) => {
@ -273,6 +233,63 @@ export class ProjectMapComponent implements OnInit, OnDestroy {
this.addKeyboardListeners();
}
getData() {
const routeSub = this.route.paramMap.subscribe((paramMap: ParamMap) => {
const server_id = parseInt(paramMap.get('server_id'), 10);
from(this.serverService.get(server_id))
.pipe(
mergeMap((server: Server) => {
if (!server ) this.router.navigate(['/servers']);
this.server = server;
return this.projectService.get(server, paramMap.get('project_id')).pipe(
map(project => {
return project;
})
);
}),
mergeMap((project: Project) => {
this.project = project;
if (!project ) this.router.navigate(['/servers']);
this.projectService.open(this.server, this.project.project_id);
this.title.setTitle(this.project.name);
if (this.mapSettingsService.interfaceLabels.has(project.project_id)) {
this.isInterfaceLabelVisible = this.mapSettingsService.interfaceLabels.get(project.project_id);
} else {
this.isInterfaceLabelVisible = this.project.show_interface_labels;
}
this.recentlyOpenedProjectService.setServerId(this.server.id.toString());
this.recentlyOpenedProjectService.setProjectId(this.project.project_id);
if (this.project.status === 'opened') {
return new Observable<Project>(observer => {
observer.next(this.project);
});
} else {
return this.projectService.open(this.server, this.project.project_id);
}
})
)
.subscribe(
(project: Project) => {
this.onProjectLoad(project);
},
error => {
this.progressService.setError(error);
},
() => {
this.progressService.deactivate();
}
);
});
this.projectMapSubscription.add(routeSub);
}
addKeyboardListeners() {
Mousetrap.bind('ctrl++', (event: Event) => {
event.preventDefault();