diff --git a/src/frontend/app/adv-search/result-list/search-result-list.component.html b/src/frontend/app/adv-search/result-list/search-result-list.component.html index bc8a26e5ace2ea50205cff1b90441603e9efbbe4..d0e62edf060ac2e8def3b14a9dc266eb641e86fc 100644 --- a/src/frontend/app/adv-search/result-list/search-result-list.component.html +++ b/src/frontend/app/adv-search/result-list/search-result-list.component.html @@ -2,7 +2,7 @@ <img style="max-height: 100vh;" *ngIf="thumbnailUrl !== ''" [src]="thumbnailUrl | secureUrl | async" /> </mat-card> <ng-template #filterTemplate> - <app-filter-tool-adv-search #appFilterToolAdvSearch [filters]="dataFilters" (filterChanged)="launchSearch()" *ngIf="!hideFilter && initSearch"></app-filter-tool-adv-search> + <app-filter-tool-adv-search #appFilterToolAdvSearch [filters]="dataFilters" (filterChanged)="launchSearch()" *ngIf="!hideFilter"></app-filter-tool-adv-search> </ng-template> <ng-template #toolTemplate> <div *ngIf="initSearch" class="filtersContent"> diff --git a/src/frontend/app/adv-search/result-list/search-result-list.component.ts b/src/frontend/app/adv-search/result-list/search-result-list.component.ts index 7012621ffc26d23169fb9df895dc96f35714ec8e..c3ae78844a83b2671a813c2bb6be182a292d83d1 100644 --- a/src/frontend/app/adv-search/result-list/search-result-list.component.ts +++ b/src/frontend/app/adv-search/result-list/search-result-list.component.ts @@ -208,6 +208,9 @@ export class SearchResultListComponent implements OnInit, OnDestroy { }); this.appCriteriaTool.selectSearchTemplate(obj, false); this.criteria = this.listProperties.criteria; + if (!this.functions.empty(this.listProperties.filters)) { + this.dataFilters = this.listProperties.filters; + } this.initResultList(); } else if (this.initSearch) { this.initResultList(); @@ -287,6 +290,7 @@ export class SearchResultListComponent implements OnInit, OnDestroy { data = this.processPostData(data); this.templateColumns = data.templateColumns; this.dataFilters = data.filters; + this.criteriaSearchService.updateListsPropertiesFilters(data.filters); this.resultsLength = data.count; this.allResInBasket = data.allResources; return data.resources; diff --git a/src/frontend/service/criteriaSearch.service.ts b/src/frontend/service/criteriaSearch.service.ts index d2f243b0ca1eb6e24426be7c7ccfd6ec5dbfc51e..1af19b797544b00987147f47eec85ba4adae99be 100644 --- a/src/frontend/service/criteriaSearch.service.ts +++ b/src/frontend/service/criteriaSearch.service.ts @@ -7,7 +7,7 @@ interface ListProperties { 'page': number; 'pageSize': number; 'criteria': any[]; - 'filters': any[]; + 'filters': any; 'order': string; 'orderDir': string; } @@ -43,7 +43,7 @@ export class CriteriaSearchService { order: 'creationDate', orderDir: 'DESC', criteria: [], - filters: [] + filters: {} }; } @@ -65,6 +65,11 @@ export class CriteriaSearchService { this.saveListsProperties(); } + updateListsPropertiesFilters(filters: any) { + this.listsProperties.filters = filters; + this.saveListsProperties(); + } + updateListsProperties(listProperties: ListProperties) { this.listsProperties = listProperties; this.saveListsProperties();