mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-02 16:49:48 +01:00
Fix filter will always show loading when call API failed
Signed-off-by: FangyuanCheng <fangyuanc@vmware.com>
This commit is contained in:
parent
2b5c511c76
commit
5c12da4235
@ -23,7 +23,7 @@ import {
|
|||||||
} from "@angular/core";
|
} from "@angular/core";
|
||||||
import { Filter, ReplicationRule, Endpoint } from "../service/interface";
|
import { Filter, ReplicationRule, Endpoint } from "../service/interface";
|
||||||
import { Subject, Subscription, Observable, zip } from "rxjs";
|
import { Subject, Subscription, Observable, zip } from "rxjs";
|
||||||
import { debounceTime, distinctUntilChanged } from "rxjs/operators";
|
import { debounceTime, distinctUntilChanged, finalize } from "rxjs/operators";
|
||||||
import { FormArray, FormBuilder, FormGroup, Validators, FormControl } from "@angular/forms";
|
import { FormArray, FormBuilder, FormGroup, Validators, FormControl } from "@angular/forms";
|
||||||
import { clone, compareValue, isEmptyObject } from "../utils";
|
import { clone, compareValue, isEmptyObject } from "../utils";
|
||||||
import { InlineAlertComponent } from "../inline-alert/inline-alert.component";
|
import { InlineAlertComponent } from "../inline-alert/inline-alert.component";
|
||||||
@ -86,14 +86,17 @@ export class CreateEditRuleComponent implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
initRegistryInfo(id: number): void {
|
initRegistryInfo(id: number): void {
|
||||||
this.onGoing = true;
|
this.onGoing = true;
|
||||||
this.repService.getRegistryInfo(id).subscribe(adapter => {
|
this.repService.getRegistryInfo(id)
|
||||||
|
.pipe(finalize(() => (this.onGoing = false)))
|
||||||
|
.subscribe(adapter => {
|
||||||
this.supportedFilters = adapter.supported_resource_filters;
|
this.supportedFilters = adapter.supported_resource_filters;
|
||||||
this.supportedFilters.forEach(element => {
|
this.supportedFilters.forEach(element => {
|
||||||
this.filters.push(this.initFilter(element.type));
|
this.filters.push(this.initFilter(element.type));
|
||||||
});
|
});
|
||||||
this.onGoing = false;
|
|
||||||
this.supportedTriggers = adapter.supported_triggers;
|
this.supportedTriggers = adapter.supported_triggers;
|
||||||
this.ruleForm.get("trigger").get("type").setValue(this.supportedTriggers[0]);
|
this.ruleForm.get("trigger").get("type").setValue(this.supportedTriggers[0]);
|
||||||
|
}, (error: any) => {
|
||||||
|
this.inlineAlert.showInlineError(error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -361,12 +364,14 @@ export class CreateEditRuleComponent implements OnInit, OnDestroy {
|
|||||||
this.noEndpointInfo = "REPLICATION.NO_ENDPOINT_INFO";
|
this.noEndpointInfo = "REPLICATION.NO_ENDPOINT_INFO";
|
||||||
}
|
}
|
||||||
if (ruleId) {
|
if (ruleId) {
|
||||||
|
this.onGoing = true;
|
||||||
this.policyId = +ruleId;
|
this.policyId = +ruleId;
|
||||||
this.headerTitle = "REPLICATION.EDIT_POLICY_TITLE";
|
this.headerTitle = "REPLICATION.EDIT_POLICY_TITLE";
|
||||||
this.repService.getReplicationRule(ruleId)
|
this.repService.getReplicationRule(ruleId)
|
||||||
.subscribe((ruleInfo) => {
|
.subscribe((ruleInfo) => {
|
||||||
let srcRegistryId = ruleInfo.src_registry.id;
|
let srcRegistryId = ruleInfo.src_registry.id;
|
||||||
this.repService.getRegistryInfo(srcRegistryId)
|
this.repService.getRegistryInfo(srcRegistryId)
|
||||||
|
.pipe(finalize(() => (this.onGoing = false)))
|
||||||
.subscribe(adapter => {
|
.subscribe(adapter => {
|
||||||
this.setFilterAndTrigger(adapter);
|
this.setFilterAndTrigger(adapter);
|
||||||
this.updateRuleFormAndCopyUpdateForm(ruleInfo);
|
this.updateRuleFormAndCopyUpdateForm(ruleInfo);
|
||||||
@ -374,15 +379,18 @@ export class CreateEditRuleComponent implements OnInit, OnDestroy {
|
|||||||
this.inlineAlert.showInlineError(error);
|
this.inlineAlert.showInlineError(error);
|
||||||
});
|
});
|
||||||
}, (error: any) => {
|
}, (error: any) => {
|
||||||
|
this.onGoing = false;
|
||||||
this.inlineAlert.showInlineError(error);
|
this.inlineAlert.showInlineError(error);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.onGoing = true;
|
this.onGoing = true;
|
||||||
let registryObs = this.repService.getRegistryInfo(0);
|
let registryObs = this.repService.getRegistryInfo(0);
|
||||||
registryObs.subscribe(adapter => {
|
registryObs.pipe(finalize(() => (this.onGoing = false)))
|
||||||
|
.subscribe(adapter => {
|
||||||
this.setFilterAndTrigger(adapter);
|
this.setFilterAndTrigger(adapter);
|
||||||
this.copyUpdateForm = clone(this.ruleForm.value);
|
this.copyUpdateForm = clone(this.ruleForm.value);
|
||||||
this.onGoing = false;
|
}, (error: any) => {
|
||||||
|
this.inlineAlert.showInlineError(error);
|
||||||
});
|
});
|
||||||
this.headerTitle = "REPLICATION.ADD_POLICY";
|
this.headerTitle = "REPLICATION.ADD_POLICY";
|
||||||
this.copyUpdateForm = clone(this.ruleForm.value);
|
this.copyUpdateForm = clone(this.ruleForm.value);
|
||||||
|
Loading…
Reference in New Issue
Block a user