diff --git a/src/frontend/app/administration/history/history-list.component.html b/src/frontend/app/administration/history/history-list.component.html index 791d92068337ca7f3f0d299c51a4aace890bb6b0..d50e9bfb674917ae154abbae9c94dd0a95aac209 100644 --- a/src/frontend/app/administration/history/history-list.component.html +++ b/src/frontend/app/administration/history/history-list.component.html @@ -18,7 +18,7 @@ shape="round" size="small" slot="start" color="primary" (click)="clearFilters()" [title]="'lang.clearFilters' | translate"> <ion-icon slot="icon-only" name="backspace" color="light"></ion-icon> </ion-button> - <ion-chip *ngFor="let filter of filters.messageTypes" [title]="'lang.actions' | translate" color="light" (click)="removeFilter(filter)"> + <ion-chip *ngFor="let filter of uniqueArray(this.filters.messageTypes)" [title]="'lang.actions' | translate" color="light" (click)="removeFilter(filter)"> <ion-icon name="options-outline"></ion-icon> <ion-label>{{ 'lang.' + filter | translate }}</ion-label> <ion-icon name="close-circle"></ion-icon> diff --git a/src/frontend/app/administration/history/history-list.component.ts b/src/frontend/app/administration/history/history-list.component.ts index 26a0f5184b44c502efcbfb4a06fe59b87a064d4c..1987b152c03560f4f0743135c88e72e8d0ac0869 100644 --- a/src/frontend/app/administration/history/history-list.component.ts +++ b/src/frontend/app/administration/history/history-list.component.ts @@ -91,15 +91,15 @@ export class HistoryListComponent { this.menu.enable(true, 'left-menu'); this.menu.enable(true, 'right-menu'); this.signaturesService.initTemplate(this.rightContent, this.viewContainerRef, 'rightContent'); - this.gesActions(); - this.getDatas().finally(() => { + this.getDatas(); + setTimeout(() => { $(".checkedAction").each((index, element) => { if (this.filters.messageTypes.includes($(element).val())) { $(element).prop("checked", true); } }); - }); + }, 100); } gesActions() { @@ -175,8 +175,8 @@ export class HistoryListComponent { if (this.filters.date.end !== null) { nb++; } - if (this.filters.messageTypes.length > 0) { - nb += this.filters.messageTypes.length; + if (this.uniqueArray(this.filters.messageTypes).length > 0) { + nb += this.uniqueArray(this.filters.messageTypes).length; } return nb; } @@ -223,4 +223,20 @@ export class HistoryListComponent { this.filters.date.end = null; } } + + // to remove duplicates in array + uniqueArray(array: any[]) { + let i: number, j: any; + const length = array.length; + const uniqueArray = []; + const obj = {}; + for (i = 0; i < length; i++) { + obj[array[i]] = 0; + } + for (j in obj) { + uniqueArray.push(j); + } + array = uniqueArray; + return array; + } }