mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
[ADF-3536] Search categories get collapsed/expanded to initial state after applying filter (#3835)
* [ADF-3536] fix expanded/collapsed issue * [ADF-3536] clean up code
This commit is contained in:
committed by
Eugenio Romano
parent
42f4bee2b4
commit
6237af79d3
@@ -212,39 +212,11 @@ export class SearchFilterComponent implements OnInit, OnDestroy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private parseFacetFields(context: any) {
|
private parseFacetFields(context: any) {
|
||||||
const configFacetFields = this.queryBuilder.config.facetFields && this.queryBuilder.config.facetFields.fields || [];
|
if (!this.responseFacetFields) {
|
||||||
|
const configFacetFields = this.queryBuilder.config.facetFields && this.queryBuilder.config.facetFields.fields || [];
|
||||||
const bkpResponseFacetFields = [...this.responseFacetFields || []];
|
|
||||||
this.responseFacetFields = configFacetFields
|
|
||||||
.map(field => {
|
|
||||||
|
|
||||||
const bkpField = bkpResponseFacetFields.find(item => item.field === field.field);
|
|
||||||
|
|
||||||
let bkpBuckets = (bkpField && bkpField.buckets.items || [])
|
|
||||||
.map(bucket => {
|
|
||||||
const currentlySelected = this.selectedBuckets.find(facetBucket => facetBucket.bucket.label === bucket.label);
|
|
||||||
bucket.count = (currentlySelected ? 0 : null);
|
|
||||||
|
|
||||||
return bucket;
|
|
||||||
});
|
|
||||||
|
|
||||||
let responseField = (context.facetsFields || []).find(response => response.label === field.label);
|
|
||||||
|
|
||||||
if (!responseField && bkpBuckets.length) {
|
|
||||||
responseField = { buckets: [...bkpBuckets] };
|
|
||||||
}
|
|
||||||
|
|
||||||
if (responseField && this.selectedBuckets.length) {
|
|
||||||
responseField.buckets = bkpBuckets.map(bkpBucket => {
|
|
||||||
const responseBucket = responseField.buckets.find(respBucket => respBucket.label === bkpBucket.label);
|
|
||||||
|
|
||||||
if (responseBucket) {
|
|
||||||
bkpBucket.count = responseBucket.count;
|
|
||||||
}
|
|
||||||
return bkpBucket;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
this.responseFacetFields = configFacetFields.map(field => {
|
||||||
|
const responseField = (context.facetsFields || []).find(response => response.label === field.label);
|
||||||
const buckets: FacetFieldBucket[] = ((responseField && responseField.buckets) || []).map(bucket => {
|
const buckets: FacetFieldBucket[] = ((responseField && responseField.buckets) || []).map(bucket => {
|
||||||
const selectedBucket = this.selectedBuckets.find(facetBucket =>
|
const selectedBucket = this.selectedBuckets.find(facetBucket =>
|
||||||
facetBucket.bucket.label === bucket.label && facetBucket.field.field === field.field);
|
facetBucket.bucket.label === bucket.label && facetBucket.field.field === field.field);
|
||||||
@@ -273,6 +245,25 @@ export class SearchFilterComponent implements OnInit, OnDestroy {
|
|||||||
buckets: bucketList
|
buckets: bucketList
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
this.responseFacetFields = this.responseFacetFields
|
||||||
|
.map(field => {
|
||||||
|
|
||||||
|
let responseField = (context.facetsFields || []).find(response => response.label === field.label);
|
||||||
|
|
||||||
|
(field && field.buckets && field.buckets.items || [])
|
||||||
|
.map(bucket => {
|
||||||
|
const responseBucket = ((responseField && responseField.buckets) || []).find(respBucket => respBucket.label === bucket.label);
|
||||||
|
|
||||||
|
bucket.count = responseBucket ? responseBucket.count : 0;
|
||||||
|
return bucket;
|
||||||
|
});
|
||||||
|
|
||||||
|
return field;
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private parseFacetQueries(context: any) {
|
private parseFacetQueries(context: any) {
|
||||||
|
Reference in New Issue
Block a user