diff options
author | Sebastien Douheret <sebastien.douheret@iot.bzh> | 2017-11-20 17:23:04 +0100 |
---|---|---|
committer | Sebastien Douheret <sebastien.douheret@iot.bzh> | 2017-11-20 23:35:27 +0100 |
commit | 38c0c21a969e621c725245ce91c78e77076c5ce7 (patch) | |
tree | 0fbc61c45dc97836ca77c1426b31764a8ff158f0 /webapp/src/app/@core-xds/services/sdk.service.ts | |
parent | b0d130807fb9bf36f5ac1abe21cbd558eb86d5cc (diff) |
New dashboard look & feel
Dashboard is a fork of ngx-admin release v2.0.1 (sha be7649a9a2da835)
Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
Diffstat (limited to 'webapp/src/app/@core-xds/services/sdk.service.ts')
-rw-r--r-- | webapp/src/app/@core-xds/services/sdk.service.ts | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/webapp/src/app/@core-xds/services/sdk.service.ts b/webapp/src/app/@core-xds/services/sdk.service.ts new file mode 100644 index 0000000..d1daa86 --- /dev/null +++ b/webapp/src/app/@core-xds/services/sdk.service.ts @@ -0,0 +1,66 @@ +import { Injectable, SecurityContext } from '@angular/core'; +import { Observable } from 'rxjs/Observable'; +import { BehaviorSubject } from 'rxjs/BehaviorSubject'; + +import { XDSAgentService } from '../services/xdsagent.service'; + +import 'rxjs/add/observable/throw'; + +export interface ISdk { + id: string; + profile: string; + version: string; + arch: number; + path: string; +} + +@Injectable() +export class SdkService { + public Sdks$: Observable<ISdk[]>; + + private _sdksList = []; + private current: ISdk; + private sdksSubject = <BehaviorSubject<ISdk[]>>new BehaviorSubject(this._sdksList); + + constructor(private xdsSvr: XDSAgentService) { + this.current = null; + this.Sdks$ = this.sdksSubject.asObservable(); + + this.xdsSvr.XdsConfig$.subscribe(cfg => { + if (!cfg || cfg.servers.length < 1) { + return; + } + // FIXME support multiple server + // cfg.servers.forEach(svr => { + this.xdsSvr.getSdks(cfg.servers[0].id).subscribe((s) => { + this._sdksList = s; + this.sdksSubject.next(s); + }); + }); + } + + public setCurrent(s: ISdk) { + this.current = s; + } + + public getCurrent(): ISdk { + return this.current; + } + + public getCurrentId(): string { + if (this.current && this.current.id) { + return this.current.id; + } + return ''; + } + + public add(sdk: ISdk): Observable<ISdk> { + // TODO SEB + return Observable.throw('Not implement yet'); + } + + public delete(sdk: ISdk): Observable<ISdk> { + // TODO SEB + return Observable.throw('Not implement yet'); + } +} |