summaryrefslogtreecommitdiffstats
path: root/webapp/src/app/pages/build/settings/project-select-dropdown.component.ts
diff options
context:
space:
mode:
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.ts40
1 files changed, 40 insertions, 0 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
new file mode 100644
index 0000000..da3580a
--- /dev/null
+++ b/webapp/src/app/pages/build/settings/project-select-dropdown.component.ts
@@ -0,0 +1,40 @@
+import { Component, OnInit, Input } from '@angular/core';
+
+import { IProject, ProjectService } from '../../../@core-xds/services/project.service';
+
+@Component({
+ selector: 'xds-project-select-dropdown',
+ 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>
+ </div>
+ `,
+})
+export class ProjectSelectDropdownComponent implements OnInit {
+
+ projects: IProject[];
+ curPrj: IProject;
+
+ constructor(private prjSvr: 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);
+ }
+ }
+ });
+ }
+
+ select(s) {
+ this.prjSvr.setCurrent(this.curPrj = s);
+ }
+}
+
+