From 073cacd9b3a64cb38a53700ebb68c1a2a441dc5a Mon Sep 17 00:00:00 2001 From: Meina Zhou Date: Fri, 7 Dec 2018 10:19:42 +0800 Subject: [PATCH] fix helm chart did not get global label The root cause is helm chart does not get glboal labels Signed-off-by: Meina Zhou --- .../helm-chart-version.component.html | 4 ++-- .../versions/helm-chart-version.component.ts | 24 +++++++++---------- src/portal/lib/src/service/label.service.ts | 11 ++++----- 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/portal/lib/src/helm-chart/versions/helm-chart-version.component.html b/src/portal/lib/src/helm-chart/versions/helm-chart-version.component.html index 8e5c132e4..1cd96ab41 100644 --- a/src/portal/lib/src/helm-chart/versions/helm-chart-version.component.html +++ b/src/portal/lib/src/helm-chart/versions/helm-chart-version.component.html @@ -54,7 +54,7 @@ diff --git a/src/portal/lib/src/helm-chart/versions/helm-chart-version.component.ts b/src/portal/lib/src/helm-chart/versions/helm-chart-version.component.ts index 67e1eb37f..2cdbefde6 100644 --- a/src/portal/lib/src/helm-chart/versions/helm-chart-version.component.ts +++ b/src/portal/lib/src/helm-chart/versions/helm-chart-version.component.ts @@ -9,7 +9,7 @@ import { EventEmitter } from "@angular/core"; import { Observable, forkJoin } from "rxjs"; -import {finalize, map} from "rxjs/operators"; +import { finalize, map } from "rxjs/operators"; import { TranslateService } from "@ngx-translate/core"; import { State } from "@clr/angular"; @@ -65,7 +65,7 @@ export class ChartVersionComponent implements OnInit { chartVersions: HelmChartVersion[] = []; systemInfo: SystemInfo; selectedRows: HelmChartVersion[] = []; - projectLabels: Label[] = []; + labels: Label[] = []; loading = true; resourceType = ResourceType.CHART_VERSION; @@ -93,7 +93,7 @@ export class ChartVersionComponent implements OnInit { private resrouceLabelService: LabelService, private cdr: ChangeDetectorRef, private operationService: OperationService, - ) {} + ) { } public get registryUrl(): string { return this.systemInfo ? this.systemInfo.registry_url : ""; @@ -105,7 +105,7 @@ export class ChartVersionComponent implements OnInit { .then(systemInfo => (this.systemInfo = systemInfo)) .catch(error => this.errorHandler.error(error)); this.refresh(); - this.getProjectLabels(); + this.getLabels(); this.lastFilteredVersionName = ""; } @@ -114,12 +114,12 @@ export class ChartVersionComponent implements OnInit { this.refresh(); } - getProjectLabels() { - this.resrouceLabelService.getProjectLabels(this.projectId).subscribe( - (labels: Label[]) => { - this.projectLabels = labels; - } - ); + getLabels() { + forkJoin(this.resrouceLabelService.getLabels("g"), this.resrouceLabelService.getProjectLabels(this.projectId)) + .subscribe( + (labels) => { + this.labels = [].concat(...labels); + }); } refresh() { @@ -318,12 +318,12 @@ export class ChartVersionComponent implements OnInit { onLabelChange(version: HelmChartVersion) { this.resrouceLabelService.getChartVersionLabels(this.projectName, this.chartName, version.version) - .subscribe(labels => { + .subscribe(labels => { let versionIdx = this.chartVersions.findIndex(v => v.name === version.name); this.chartVersions[versionIdx].labels = labels; let hnd = setInterval(() => this.cdr.markForCheck(), 200); setTimeout(() => clearInterval(hnd), 5000); - }); + }); } public get developerRoleOrAbove(): boolean { diff --git a/src/portal/lib/src/service/label.service.ts b/src/portal/lib/src/service/label.service.ts index 1d178fa25..f9e1d1a63 100644 --- a/src/portal/lib/src/service/label.service.ts +++ b/src/portal/lib/src/service/label.service.ts @@ -1,7 +1,7 @@ import { Inject, Injectable } from "@angular/core"; import { Http } from "@angular/http"; import { Observable} from "rxjs"; -import { map } from "rxjs/operators"; +import { map, catchError} from "rxjs/operators"; import { RequestQueryParams } from "./RequestQueryParams"; import { Label } from "./interface"; @@ -33,7 +33,7 @@ export abstract class LabelService { projectId?: number, name?: string, queryParams?: RequestQueryParams - ): Observable | Promise; + ): Observable; abstract createLabel( label: Label @@ -149,7 +149,7 @@ export class LabelDefaultService extends LabelService { projectId?: number, name?: string, queryParams?: RequestQueryParams - ): Observable | Promise { + ): Observable { if (!queryParams) { queryParams = new RequestQueryParams(); } @@ -164,9 +164,8 @@ export class LabelDefaultService extends LabelService { } return this.http .get(this.labelUrl, buildHttpRequestOptions(queryParams)) - .toPromise() - .then(response => response.json()) - .catch(error => Promise.reject(error)); + .pipe(map(response => response.json())) + .pipe(catchError(error => Promise.reject(error))); } createLabel(label: Label): Observable | Promise | any {