aboutsummaryrefslogtreecommitdiffstats
path: root/webapp/src/app/pages/targets/settings/target-select-dropdown.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/src/app/pages/targets/settings/target-select-dropdown.component.ts')
-rw-r--r--webapp/src/app/pages/targets/settings/target-select-dropdown.component.ts57
1 files changed, 57 insertions, 0 deletions
diff --git a/webapp/src/app/pages/targets/settings/target-select-dropdown.component.ts b/webapp/src/app/pages/targets/settings/target-select-dropdown.component.ts
new file mode 100644
index 0000000..c124054
--- /dev/null
+++ b/webapp/src/app/pages/targets/settings/target-select-dropdown.component.ts
@@ -0,0 +1,57 @@
+/**
+* @license
+* Copyright (C) 2018 "IoT.bzh"
+* Author Sebastien Douheret <sebastien@iot.bzh>
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+import { Component, OnInit, Input } from '@angular/core';
+import { Observable } from 'rxjs/Observable';
+
+import { ITarget, TargetService } from '../../../@core-xds/services/target.service';
+
+@Component({
+ selector: 'xds-target-select-dropdown',
+ template: `
+ <div class="form-group row">
+ <label class="col-sm-3 form-control-label" style="margin-top: auto; margin-bottom: auto;">Target</label>
+ <div class="col-sm-9">
+ <select class="form-control" style="min-width: 10rem;" [(ngModel)]="curTgt" (click)="select()">
+ <option *ngFor="let tgt of targets$ | async" [ngValue]="tgt">{{ tgt.name }}</option>
+ </select>
+ </div>
+ </div>
+ `,
+})
+export class TargetSelectDropdownComponent implements OnInit {
+
+ targets$: Observable<ITarget[]>;
+ curTgt: ITarget;
+
+ constructor(private targetSvr: TargetService) { }
+
+ ngOnInit() {
+ this.curTgt = this.targetSvr.getCurrent();
+ this.targets$ = this.targetSvr.targets$;
+ this.targetSvr.curTarget$.subscribe(p => this.curTgt = p);
+ }
+
+ select() {
+ if (this.curTgt) {
+ this.targetSvr.setCurrentById(this.curTgt.id);
+ }
+ }
+}
+
+