diff options
Diffstat (limited to 'webapp/src/app/pages/targets/settings')
-rw-r--r-- | webapp/src/app/pages/targets/settings/target-select-dropdown.component.ts | 57 |
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); + } + } +} + + |