X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=webapp%2Fsrc%2Fapp%2Fpages%2Fsdks%2Fsdk-management%2Fsdk-install.component.ts;h=68d87d1935e5dd1593f7e5839916ffbdd7f997e0;hb=3009a190cb8984201693a1cf8ecff72f32c7a3b8;hp=e2e334a543197b93f42b59a1abbf0cb0c58d7218;hpb=a2cc38902ff7528870822110c4f04329a3918564;p=src%2Fxds%2Fxds-agent.git diff --git a/webapp/src/app/pages/sdks/sdk-management/sdk-install.component.ts b/webapp/src/app/pages/sdks/sdk-management/sdk-install.component.ts index e2e334a..68d87d1 100644 --- a/webapp/src/app/pages/sdks/sdk-management/sdk-install.component.ts +++ b/webapp/src/app/pages/sdks/sdk-management/sdk-install.component.ts @@ -17,12 +17,13 @@ */ import { Component, OnInit, Input, ViewChild, AfterViewChecked, ElementRef } from '@angular/core'; -import { DomSanitizer } from '@angular/platform-browser'; import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap'; import { AlertService } from '../../../@core-xds/services/alert.service'; import { SdkService, ISdk } from '../../../@core-xds/services/sdk.service'; +import 'rxjs/add/operator/bufferTime'; + @Component({ selector: 'xds-sdk-install-modal', template: ` @@ -41,8 +42,8 @@ import { SdkService, ISdk } from '../../../@core-xds/services/sdk.service';
-
@@ -71,7 +72,6 @@ export class SdkInstallComponent implements OnInit { constructor( private modalRef: NgbActiveModal, - private sanitizer: DomSanitizer, private alert: AlertService, private sdkSvr: SdkService, ) { } @@ -84,32 +84,40 @@ export class SdkInstallComponent implements OnInit { ngOnInit() { this.instStatus = 'in progress...'; - this.onInstallSub = this.sdkSvr.onInstall().subscribe(ev => { - if (ev.exited) { - this.btnName = 'OK'; - this.instStatus = ' Done. '; + this.onInstallSub = this.sdkSvr.onInstall() + .bufferTime(500) // prevent browser freeze + .subscribe(evts => { + let out = ''; + evts.forEach(ev => { + if (ev.exited) { + this.btnName = 'OK'; + this.instStatus = ' Done. '; + + if (ev.code === 0) { + this.alert.info('SDK ' + ev.sdk.name + ' successfully installed.'); - if (ev.code === 0) { - this.alert.info('SDK ' + ev.sdk.name + ' successfully installed.'); + } else { + if (ev.sdk.lastError !== '') { + this.alert.error(ev.sdk.lastError); + } else { + this.alert.error('SDK ' + ev.sdk.name + ' installation failed. ' + ev.error); + } + } - } else { - if (ev.sdk.lastError !== '') { - this.alert.error(ev.sdk.lastError); } else { - this.alert.error('SDK ' + ev.sdk.name + ' installation failed. ' + ev.error); + if (ev.stdout !== '') { + out += ev.stdout; + } + if (ev.stderr !== '') { + out += ev.stderr; + } } + }); + if (out !== '') { + this.installOutput += out; + this._scrollToBottom(); } - - } else { - if (ev.stdout !== '') { - this.installOutput += ev.stdout; - } - if (ev.stderr !== '') { - this.installOutput += ev.stderr; - } - this._scrollToBottom(); - } - }); + }); } onBtnClick(): void {