diff options
Diffstat (limited to 'webapp/src/app/pages/build/settings/project-select-dropdown.component.ts')
-rw-r--r-- | webapp/src/app/pages/build/settings/project-select-dropdown.component.ts | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/webapp/src/app/pages/build/settings/project-select-dropdown.component.ts b/webapp/src/app/pages/build/settings/project-select-dropdown.component.ts index da3580a..a83ec0a 100644 --- a/webapp/src/app/pages/build/settings/project-select-dropdown.component.ts +++ b/webapp/src/app/pages/build/settings/project-select-dropdown.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit, Input } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; import { IProject, ProjectService } from '../../../@core-xds/services/project.service'; @@ -7,33 +8,27 @@ import { IProject, ProjectService } from '../../../@core-xds/services/project.se template: ` <div class="form-group"> <label>Project</label> - <select class="form-control"> - <option *ngFor="let prj of projects" (click)="select(prj)">{{prj.label}}</option> + <select class="form-control" [(ngModel)]="curPrj" (click)="select()"> + <option *ngFor="let prj of projects$ | async" [ngValue]="prj">{{ prj.label }}</option> </select> </div> `, }) export class ProjectSelectDropdownComponent implements OnInit { - projects: IProject[]; + projects$: Observable<IProject[]>; curPrj: IProject; - constructor(private prjSvr: ProjectService) { } + constructor(private projectSvr: ProjectService) { } ngOnInit() { - this.curPrj = this.prjSvr.getCurrent(); - this.prjSvr.Projects$.subscribe((s) => { - if (s) { - this.projects = s; - if (this.curPrj === null || s.indexOf(this.curPrj) === -1) { - this.prjSvr.setCurrent(this.curPrj = s.length ? s[0] : null); - } - } - }); + this.curPrj = this.projectSvr.getCurrent(); + this.projects$ = this.projectSvr.projects$; + this.projectSvr.curProject$.subscribe(p => this.curPrj = p); } - select(s) { - this.prjSvr.setCurrent(this.curPrj = s); + select() { + this.projectSvr.setCurrentById(this.curPrj.id); } } |