mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-26 17:24:56 +00:00
[ADF-3134] fix increasing search calls issue (#3444)
This commit is contained in:
parent
bbe0904447
commit
8d363be9b3
@ -15,7 +15,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Component, ViewEncapsulation, OnInit } from '@angular/core';
|
import { Component, ViewEncapsulation, OnInit, OnDestroy } from '@angular/core';
|
||||||
import { MatCheckboxChange } from '@angular/material';
|
import { MatCheckboxChange } from '@angular/material';
|
||||||
import { SearchService, TranslationService } from '@alfresco/adf-core';
|
import { SearchService, TranslationService } from '@alfresco/adf-core';
|
||||||
import { SearchQueryBuilderService } from '../../search-query-builder.service';
|
import { SearchQueryBuilderService } from '../../search-query-builder.service';
|
||||||
@ -33,10 +33,11 @@ import { SearchFilterList } from './models/search-filter-list.model';
|
|||||||
encapsulation: ViewEncapsulation.None,
|
encapsulation: ViewEncapsulation.None,
|
||||||
host: { class: 'adf-search-filter' }
|
host: { class: 'adf-search-filter' }
|
||||||
})
|
})
|
||||||
export class SearchFilterComponent implements OnInit {
|
export class SearchFilterComponent implements OnInit, OnDestroy {
|
||||||
|
|
||||||
private DEFAULT_PAGE_SIZE = 5;
|
private DEFAULT_PAGE_SIZE = 5;
|
||||||
|
|
||||||
|
isAlive = true;
|
||||||
selectedFacetQueries: string[] = [];
|
selectedFacetQueries: string[] = [];
|
||||||
selectedBuckets: FacetFieldBucket[] = [];
|
selectedBuckets: FacetFieldBucket[] = [];
|
||||||
responseFacetQueries: ResponseFacetQueryList;
|
responseFacetQueries: ResponseFacetQueryList;
|
||||||
@ -57,20 +58,28 @@ export class SearchFilterComponent implements OnInit {
|
|||||||
this.facetQueriesExpanded = queryBuilder.config.facetQueries.expanded;
|
this.facetQueriesExpanded = queryBuilder.config.facetQueries.expanded;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.queryBuilder.updated.subscribe(query => {
|
this.queryBuilder.updated
|
||||||
|
.takeWhile(() => this.isAlive)
|
||||||
|
.subscribe(query => {
|
||||||
this.queryBuilder.execute();
|
this.queryBuilder.execute();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
if (this.queryBuilder) {
|
if (this.queryBuilder) {
|
||||||
this.queryBuilder.executed.subscribe(data => {
|
this.queryBuilder.executed
|
||||||
|
.takeWhile(() => this.isAlive)
|
||||||
|
.subscribe(data => {
|
||||||
this.onDataLoaded(data);
|
this.onDataLoaded(data);
|
||||||
this.searchService.dataLoaded.next(data);
|
this.searchService.dataLoaded.next(data);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ngOnDestroy() {
|
||||||
|
this.isAlive = false;
|
||||||
|
}
|
||||||
|
|
||||||
get isFacetQueriesDefined() {
|
get isFacetQueriesDefined() {
|
||||||
return this.queryBuilder.hasFacetQueries;
|
return this.queryBuilder.hasFacetQueries;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user