mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-27 04:35:16 +01:00
Fix bug when no labels
Signed-off-by: Yogi_Wang <yawang@vmware.com>
This commit is contained in:
parent
fa51ac6406
commit
6ef82d4db9
@ -62,8 +62,8 @@
|
||||
<span class="spinner spinner-inline spinner-position" [hidden]="onGoing === false"></span>
|
||||
<div formArrayName="filters">
|
||||
<div class="filterSelect" *ngFor="let filter of filters.controls; let i=index">
|
||||
<div [formGroupName]="i">
|
||||
<div class="width-70">
|
||||
<div [formGroupName]="i" *ngIf="supportedFilters[i]?.type !=='label' || (supportedFilters[i]?.type==='label' && supportedFilterLabels?.length)">
|
||||
<div class="width-70" >
|
||||
<label>{{"REPLICATION." + supportedFilters[i]?.type.toUpperCase() | translate}}:</label>
|
||||
</div>
|
||||
<label *ngIf="supportedFilters[i]?.style==='input'" aria-haspopup="true" role="tooltip" class="tooltip tooltip-validation tooltip-md tooltip-bottom-left"
|
||||
|
@ -32,6 +32,7 @@ import { ErrorHandler } from "../error-handler/error-handler";
|
||||
import { TranslateService } from "@ngx-translate/core";
|
||||
import { EndpointService } from "../service/endpoint.service";
|
||||
import { cronRegex } from "../utils";
|
||||
import { FilterType } from "../shared/shared.const";
|
||||
|
||||
|
||||
@Component({
|
||||
@ -265,14 +266,13 @@ export class CreateEditRuleComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
|
||||
get filters(): FormArray {
|
||||
console.log(this.ruleForm.get("filters"));
|
||||
return this.ruleForm.get("filters") as FormArray;
|
||||
}
|
||||
setFilter(filters: Filter[]) {
|
||||
const filterFGs = filters.map(filter => {
|
||||
if (filter.type === 'label') {
|
||||
if (filter.type === FilterType.LABEL) {
|
||||
let fbLabel = this.fb.group({
|
||||
type: 'label'
|
||||
type: FilterType.LABEL
|
||||
});
|
||||
let filterLabel = this.fb.array(filter.value);
|
||||
fbLabel.setControl('value', filterLabel);
|
||||
@ -286,7 +286,7 @@ export class CreateEditRuleComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
|
||||
initFilter(name: string) {
|
||||
if (name === 'label') {
|
||||
if (name === FilterType.LABEL) {
|
||||
const labelArray = this.fb.array([]);
|
||||
const labelControl = this.fb.group({type: name});
|
||||
labelControl.setControl('value', labelArray);
|
||||
@ -439,7 +439,7 @@ export class CreateEditRuleComponent implements OnInit, OnDestroy {
|
||||
this.ruleForm.get("trigger").get("type").setValue(this.supportedTriggers[0]);
|
||||
}
|
||||
getLabelListFromAdapter(supportedFilter) {
|
||||
if (supportedFilter.type === 'label') {
|
||||
if (supportedFilter.type === FilterType.LABEL && supportedFilter.values) {
|
||||
this.supportedFilterLabels = [];
|
||||
supportedFilter.values.forEach( value => {
|
||||
this.supportedFilterLabels.push({
|
||||
@ -453,7 +453,7 @@ export class CreateEditRuleComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
getLabelListFromRuleInfo(ruleInfo) {
|
||||
let labelValueObj = ruleInfo.filters.find((currentValue) => {
|
||||
return currentValue.type === 'label';
|
||||
return currentValue.type === FilterType.LABEL;
|
||||
});
|
||||
if (labelValueObj) {
|
||||
for (const labelValue of labelValueObj.value) {
|
||||
@ -533,7 +533,11 @@ export class CreateEditRuleComponent implements OnInit, OnDestroy {
|
||||
}
|
||||
|
||||
if (!findTag) {
|
||||
filtersArray.push({ type: this.supportedFilters[i].type, value: "" });
|
||||
if (this.supportedFilters[i].type === FilterType.LABEL) {
|
||||
filtersArray.push({ type: this.supportedFilters[i].type, value: [] });
|
||||
} else {
|
||||
filtersArray.push({ type: this.supportedFilters[i].type, value: "" });
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -61,6 +61,12 @@ export const CommonRoutes = {
|
||||
export const enum ConfirmationState {
|
||||
NA, CONFIRMED, CANCEL
|
||||
}
|
||||
export const FilterType = {
|
||||
NAME: "name",
|
||||
TAG: "tag",
|
||||
LABEL: "label",
|
||||
RESOURCE: "resource"
|
||||
};
|
||||
|
||||
export const enum ConfirmationButtons {
|
||||
CONFIRM_CANCEL, YES_NO, DELETE_CANCEL, CLOSE, REPLICATE_CANCEL, STOP_CANCEL
|
||||
|
Loading…
Reference in New Issue
Block a user