aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webapp/src/app/@core-xds/services/sdk.service.ts3
-rw-r--r--webapp/src/app/pages/build/settings/sdk-select-dropdown.component.ts13
2 files changed, 8 insertions, 8 deletions
diff --git a/webapp/src/app/@core-xds/services/sdk.service.ts b/webapp/src/app/@core-xds/services/sdk.service.ts
index f854744..f7e8c2f 100644
--- a/webapp/src/app/@core-xds/services/sdk.service.ts
+++ b/webapp/src/app/@core-xds/services/sdk.service.ts
@@ -103,7 +103,8 @@ export class SdkService {
// TODO: get previous val from xds-config service / cookie
if (this._sdksList.length > 0) {
- this.current = this._sdksList[0];
+ const installedSdks = this._sdksList.filter(sd => sd.status === StatusType.INSTALLED);
+ this.current = installedSdks.length > 0 ? installedSdks[0] : this._sdksList[0];
this.curSdkSubject.next(this.current);
}
diff --git a/webapp/src/app/pages/build/settings/sdk-select-dropdown.component.ts b/webapp/src/app/pages/build/settings/sdk-select-dropdown.component.ts
index a9eafe7..64de039 100644
--- a/webapp/src/app/pages/build/settings/sdk-select-dropdown.component.ts
+++ b/webapp/src/app/pages/build/settings/sdk-select-dropdown.component.ts
@@ -25,19 +25,15 @@ import { ISdk, SdkService, StatusType } from '../../../@core-xds/services/sdk.se
template: `
<div class="form-group">
<label>SDK</label>
- <select class="form-control">
- <option *ngFor="let sdk of sdks" (click)="select(sdk)">{{sdk.name}}</option>
+ <select class="form-control" [(ngModel)]="curSdk" (click)="select()">
+ <option *ngFor="let sdk of sdks" [ngValue]="sdk">{{sdk.name}}</option>
</select>
</div>
`,
})
export class SdkSelectDropdownComponent implements OnInit {
- // FIXME investigate to understand why not working with sdks as input
- // <xds-sdk-select-dropdown [sdks]="(sdks$ | async)"></xds-sdk-select-dropdown>
- // @Input() sdks: ISdk[];
sdks: ISdk[];
-
curSdk: ISdk;
constructor(private sdkSvr: SdkService) { }
@@ -50,13 +46,16 @@ export class SdkSelectDropdownComponent implements OnInit {
this.sdks = s.filter(ss => ss.status === StatusType.INSTALLED);
if (this.curSdk === null || s.indexOf(this.curSdk) === -1) {
this.sdkSvr.setCurrent(this.curSdk = this.sdks.length ? this.sdks[0] : null);
+ this.curSdk = this.sdkSvr.getCurrent();
}
}
});
}
select(s) {
- this.sdkSvr.setCurrent(this.curSdk = s);
+ if (this.curSdk) {
+ this.sdkSvr.setCurrent(this.curSdk);
+ }
}
}