Updating list when project removed

This commit is contained in:
piotrpekala7 2020-02-28 14:02:00 +01:00
parent c996c1fe51
commit 52880ddc3e
3 changed files with 11 additions and 1 deletions

View File

@ -73,6 +73,8 @@ export class ProjectsComponent implements OnInit {
this.settings = this.settingsService.getAll(); this.settings = this.settingsService.getAll();
this.projectService.projectListSubject.subscribe(() => this.refresh());
let gns3vmConfig = localStorage.getItem('gns3vmConfig'); let gns3vmConfig = localStorage.getItem('gns3vmConfig');
if (this.electronService.isElectronApp && gns3vmConfig!=='configured') { if (this.electronService.isElectronApp && gns3vmConfig!=='configured') {
const dialogRef = this.dialog.open(ConfigureGns3VMDialogComponent, { const dialogRef = this.dialog.open(ConfigureGns3VMDialogComponent, {

View File

@ -25,7 +25,9 @@ export class ProjectMapGuard implements CanActivate {
map(response => { map(response => {
let projectToOpen = response.find(n => n.project_id === project_id); let projectToOpen = response.find(n => n.project_id === project_id);
if (projectToOpen) return true; if (projectToOpen) return true;
this.toasterService.error('Project could not be opened'); this.toasterService.error('Project could not be opened');
this.projectService.projectListUpdated();
return false; return false;
}) })
) )

View File

@ -1,7 +1,7 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Project } from '../models/project'; import { Project } from '../models/project';
import { Node } from '../cartography/models/node'; import { Node } from '../cartography/models/node';
import { Observable } from 'rxjs'; import { Observable, Subject } from 'rxjs';
import { Link } from '../models/link'; import { Link } from '../models/link';
import { Server } from '../models/server'; import { Server } from '../models/server';
import { HttpServer } from './http-server.service'; import { HttpServer } from './http-server.service';
@ -10,8 +10,14 @@ import { SettingsService } from './settings.service';
@Injectable() @Injectable()
export class ProjectService { export class ProjectService {
public projectListSubject = new Subject<boolean>();
constructor(private httpServer: HttpServer, private settingsService: SettingsService) {} constructor(private httpServer: HttpServer, private settingsService: SettingsService) {}
projectListUpdated() {
this.projectListSubject.next(true);
}
get(server: Server, project_id: string) { get(server: Server, project_id: string) {
return this.httpServer.get<Project>(server, `/projects/${project_id}`); return this.httpServer.get<Project>(server, `/projects/${project_id}`);
} }