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=c21cb6656139d56d07fdd9d9ee7d1dcf2015942b;hb=refs%2Fchanges%2F09%2F17309%2F3;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..c21cb66 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: `
@@ -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 {