summaryrefslogtreecommitdiffstats
path: root/webapp/src/app/sdks/sdkSelectDropdown.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/src/app/sdks/sdkSelectDropdown.component.ts')
-rw-r--r--webapp/src/app/sdks/sdkSelectDropdown.component.ts44
1 files changed, 44 insertions, 0 deletions
diff --git a/webapp/src/app/sdks/sdkSelectDropdown.component.ts b/webapp/src/app/sdks/sdkSelectDropdown.component.ts
new file mode 100644
index 0000000..5122cd2
--- /dev/null
+++ b/webapp/src/app/sdks/sdkSelectDropdown.component.ts
@@ -0,0 +1,44 @@
+import { Component, Input } from "@angular/core";
+
+import { ISdk, SdkService } from "../common/sdk.service";
+
+@Component({
+ selector: 'sdk-select-dropdown',
+ template: `
+ <div class="btn-group" dropdown *ngIf="curSdk" >
+ <button dropdownToggle type="button" class="btn btn-primary dropdown-toggle" style="width: 20em;">
+ {{curSdk.name}} <span class="caret" style="float: right; margin-top: 8px;"></span>
+ </button>
+ <ul *dropdownMenu class="dropdown-menu" role="menu">
+ <li role="menuitem"><a class="dropdown-item" *ngFor="let sdk of sdks" (click)="select(sdk)">
+ {{sdk.name}}</a>
+ </li>
+ </ul>
+ </div>
+ `
+})
+export class SdkSelectDropdownComponent {
+
+ // FIXME investigate to understand why not working with sdks as input
+ // <sdk-select-dropdown [sdks]="(sdks$ | async)"></sdk-select-dropdown>
+ //@Input() sdks: ISdk[];
+ sdks: ISdk[];
+
+ curSdk: ISdk;
+
+ constructor(private sdkSvr: SdkService) { }
+
+ ngOnInit() {
+ this.sdkSvr.Sdks$.subscribe((s) => {
+ this.sdks = s;
+ this.curSdk = this.sdks.length ? this.sdks[0] : null;
+ this.sdkSvr.setCurrent(this.curSdk);
+ });
+ }
+
+ select(s) {
+ this.sdkSvr.setCurrent(this.curSdk = s);
+ }
+}
+
+