mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ADF-3435][ADF-3436] fix search chips (#3681)
* fix chip list remove * fix tests * better find criteria * swap to fix e2e test * set 'expanded' for facetFields from config * fix e2e test * remove comments
This commit is contained in:
committed by
Eugenio Romano
parent
c328d70e43
commit
6f313b7c37
@@ -84,13 +84,16 @@
|
|||||||
{ "query": "TYPE:'cm:folder' OR TYPE:'cm:content'" },
|
{ "query": "TYPE:'cm:folder' OR TYPE:'cm:content'" },
|
||||||
{ "query": "NOT cm:creator:System" }
|
{ "query": "NOT cm:creator:System" }
|
||||||
],
|
],
|
||||||
"facetFields": [
|
"facetFields": {
|
||||||
{ "field": "content.mimetype", "mincount": 1, "label": "1:Type" },
|
"expanded": true,
|
||||||
{ "field": "content.size", "mincount": 1, "label": "2:Size" },
|
"fields": [
|
||||||
{ "field": "creator", "mincount": 1, "label": "3:Creator" },
|
{ "field": "content.mimetype", "mincount": 1, "label": "1:Type" },
|
||||||
{ "field": "modifier", "mincount": 1, "label": "4:Modifier" },
|
{ "field": "content.size", "mincount": 1, "label": "2:Size" },
|
||||||
{ "field": "created", "mincount": 1, "label": "5:Created" }
|
{ "field": "creator", "mincount": 1, "label": "3:Creator" },
|
||||||
],
|
{ "field": "modifier", "mincount": 1, "label": "4:Modifier" },
|
||||||
|
{ "field": "created", "mincount": 1, "label": "5:Created" }
|
||||||
|
]
|
||||||
|
},
|
||||||
"facetQueries": {
|
"facetQueries": {
|
||||||
"label": "My facet queries",
|
"label": "My facet queries",
|
||||||
"pageSize": 5,
|
"pageSize": 5,
|
||||||
|
@@ -192,14 +192,14 @@ describe('Search Component - Multi-Select Facet', () => {
|
|||||||
it('[C280056] Multiple items can be selected from multiple search facets', () => {
|
it('[C280056] Multiple items can be selected from multiple search facets', () => {
|
||||||
searchFiltersPage.checkSearchFiltersIsDisplayed();
|
searchFiltersPage.checkSearchFiltersIsDisplayed();
|
||||||
|
|
||||||
searchFiltersPage.filterByFileType('Plain Text');
|
searchFiltersPage.filterByCreator(userUploadingTxt.firstName, userUploadingTxt.lastName);
|
||||||
searchFiltersPage.filterByFileType('JPEG Image');
|
searchFiltersPage.filterByCreator(userUploadingImg.firstName, userUploadingImg.lastName);
|
||||||
|
|
||||||
searchResultsPage.checkContentIsDisplayed(txtFile.entry.name);
|
searchResultsPage.checkContentIsDisplayed(txtFile.entry.name);
|
||||||
searchResultsPage.checkContentIsDisplayed(jpgFile.entry.name);
|
searchResultsPage.checkContentIsDisplayed(jpgFile.entry.name);
|
||||||
|
|
||||||
searchFiltersPage.filterByCreator(userUploadingTxt.firstName, userUploadingTxt.lastName);
|
searchFiltersPage.filterByFileType('Plain Text');
|
||||||
searchFiltersPage.filterByCreator(userUploadingImg.firstName, userUploadingImg.lastName);
|
searchFiltersPage.filterByFileType('JPEG Image');
|
||||||
|
|
||||||
expect(searchResultsPage.numberOfResultsDisplayed()).toBe(2);
|
expect(searchResultsPage.numberOfResultsDisplayed()).toBe(2);
|
||||||
searchResultsPage.checkContentIsDisplayed(txtFile.entry.name);
|
searchResultsPage.checkContentIsDisplayed(txtFile.entry.name);
|
||||||
|
@@ -81,7 +81,6 @@ var SearchFiltersPage = function () {
|
|||||||
|
|
||||||
this.filterByFileType = function (fileType) {
|
this.filterByFileType = function (fileType) {
|
||||||
this.checkFileTypeFilterIsDisplayed();
|
this.checkFileTypeFilterIsDisplayed();
|
||||||
this.clickFileTypeFilter();
|
|
||||||
|
|
||||||
this.checkSearchFileTypeFilterIsDisplayed();
|
this.checkSearchFileTypeFilterIsDisplayed();
|
||||||
this.searchInFileTypeFilter(fileType);
|
this.searchInFileTypeFilter(fileType);
|
||||||
@@ -90,7 +89,6 @@ var SearchFiltersPage = function () {
|
|||||||
|
|
||||||
this.filterByCreator = function (creatorFirstName, creatorLastName) {
|
this.filterByCreator = function (creatorFirstName, creatorLastName) {
|
||||||
this.checkCreatorFilterIsDisplayed();
|
this.checkCreatorFilterIsDisplayed();
|
||||||
this.clickCreatorFilter();
|
|
||||||
|
|
||||||
this.checkSearchCreatorFilterIsDisplayed();
|
this.checkSearchCreatorFilterIsDisplayed();
|
||||||
this.searchInCreatorFilter(`${creatorFirstName} ${creatorLastName}`);
|
this.searchInCreatorFilter(`${creatorFirstName} ${creatorLastName}`);
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
<mat-chip
|
<mat-chip
|
||||||
*ngFor="let query of searchFilter.selectedFacetQueries"
|
*ngFor="let query of searchFilter.selectedFacetQueries"
|
||||||
[removable]="true"
|
[removable]="true"
|
||||||
(remove)="searchFilter.unselectFacetQuery(query)">
|
(removed)="searchFilter.unselectFacetQuery(query)">
|
||||||
{{ query.label | translate }}
|
{{ query.label | translate }}
|
||||||
<mat-icon matChipRemove>cancel</mat-icon>
|
<mat-icon matChipRemove>cancel</mat-icon>
|
||||||
</mat-chip>
|
</mat-chip>
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
<mat-chip
|
<mat-chip
|
||||||
*ngFor="let selection of searchFilter.selectedBuckets"
|
*ngFor="let selection of searchFilter.selectedBuckets"
|
||||||
[removable]="true"
|
[removable]="true"
|
||||||
(remove)="searchFilter.unselectFacetBucket(selection.field, selection.bucket)">
|
(removed)="searchFilter.unselectFacetBucket(selection.field, selection.bucket)">
|
||||||
{{ (selection.bucket.display || selection.bucket.label) | translate }}
|
{{ (selection.bucket.display || selection.bucket.label) | translate }}
|
||||||
<mat-icon matChipRemove>cancel</mat-icon>
|
<mat-icon matChipRemove>cancel</mat-icon>
|
||||||
</mat-chip>
|
</mat-chip>
|
||||||
|
@@ -69,7 +69,8 @@
|
|||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container *ngIf="responseFacetFields">
|
<ng-container *ngIf="responseFacetFields">
|
||||||
<mat-expansion-panel [attr.data-automation-id]="'expansion-panel-'+field.label" *ngFor="let field of responseFacetFields">
|
<mat-expansion-panel [attr.data-automation-id]="'expansion-panel-'+field.label" *ngFor="let field of responseFacetFields"
|
||||||
|
[expanded]="facetFieldsExpanded">
|
||||||
<mat-expansion-panel-header>
|
<mat-expansion-panel-header>
|
||||||
<mat-panel-title>{{ field.label }}</mat-panel-title>
|
<mat-panel-title>{{ field.label }}</mat-panel-title>
|
||||||
</mat-expansion-panel-header>
|
</mat-expansion-panel-header>
|
||||||
|
@@ -190,10 +190,10 @@ describe('SearchFilterComponent', () => {
|
|||||||
|
|
||||||
queryBuilder.config = {
|
queryBuilder.config = {
|
||||||
categories: [],
|
categories: [],
|
||||||
facetFields: [
|
facetFields: { fields: [
|
||||||
{ label: 'f1', field: 'f1' },
|
{ label: 'f1', field: 'f1' },
|
||||||
{ label: 'f2', field: 'f2' }
|
{ label: 'f2', field: 'f2' }
|
||||||
],
|
]},
|
||||||
facetQueries: {
|
facetQueries: {
|
||||||
queries: []
|
queries: []
|
||||||
}
|
}
|
||||||
@@ -221,10 +221,10 @@ describe('SearchFilterComponent', () => {
|
|||||||
|
|
||||||
queryBuilder.config = {
|
queryBuilder.config = {
|
||||||
categories: [],
|
categories: [],
|
||||||
facetFields: [
|
facetFields: { fields: [
|
||||||
{ label: 'f1', field: 'f1' },
|
{ label: 'f1', field: 'f1' },
|
||||||
{ label: 'f2', field: 'f2' }
|
{ label: 'f2', field: 'f2' }
|
||||||
],
|
]},
|
||||||
facetQueries: {
|
facetQueries: {
|
||||||
queries: []
|
queries: []
|
||||||
}
|
}
|
||||||
@@ -257,10 +257,10 @@ describe('SearchFilterComponent', () => {
|
|||||||
it('should fetch facet fields from response payload and update the existing bucket values', () => {
|
it('should fetch facet fields from response payload and update the existing bucket values', () => {
|
||||||
queryBuilder.config = {
|
queryBuilder.config = {
|
||||||
categories: [],
|
categories: [],
|
||||||
facetFields: [
|
facetFields: { fields: [
|
||||||
{ label: 'f1', field: 'f1' },
|
{ label: 'f1', field: 'f1' },
|
||||||
{ label: 'f2', field: 'f2' }
|
{ label: 'f2', field: 'f2' }
|
||||||
],
|
]},
|
||||||
facetQueries: {
|
facetQueries: {
|
||||||
queries: []
|
queries: []
|
||||||
}
|
}
|
||||||
@@ -297,10 +297,10 @@ describe('SearchFilterComponent', () => {
|
|||||||
spyOn(queryBuilder, 'execute').and.stub();
|
spyOn(queryBuilder, 'execute').and.stub();
|
||||||
queryBuilder.config = {
|
queryBuilder.config = {
|
||||||
categories: [],
|
categories: [],
|
||||||
facetFields: [
|
facetFields: { fields: [
|
||||||
{ label: 'f1', field: 'f1' },
|
{ label: 'f1', field: 'f1' },
|
||||||
{ label: 'f2', field: 'f2' }
|
{ label: 'f2', field: 'f2' }
|
||||||
],
|
]},
|
||||||
facetQueries: {
|
facetQueries: {
|
||||||
queries: []
|
queries: []
|
||||||
}
|
}
|
||||||
@@ -312,6 +312,7 @@ describe('SearchFilterComponent', () => {
|
|||||||
{ label: 'b2', count: 1, filterQuery: 'filter2' }] }},
|
{ label: 'b2', count: 1, filterQuery: 'filter2' }] }},
|
||||||
{ label: 'f2', field: 'f2', buckets: {items: [] }}
|
{ label: 'f2', field: 'f2', buckets: {items: [] }}
|
||||||
];
|
];
|
||||||
|
component.queryBuilder.addUserFacetBucket({ label: 'f1', field: 'f1' }, component.responseFacetFields[0].buckets.items[0]);
|
||||||
|
|
||||||
const serverResponseFields: any = [
|
const serverResponseFields: any = [
|
||||||
{ label: 'f1', field: 'f1', buckets: [
|
{ label: 'f1', field: 'f1', buckets: [
|
||||||
@@ -336,10 +337,10 @@ describe('SearchFilterComponent', () => {
|
|||||||
spyOn(queryBuilder, 'execute').and.stub();
|
spyOn(queryBuilder, 'execute').and.stub();
|
||||||
queryBuilder.config = {
|
queryBuilder.config = {
|
||||||
categories: [],
|
categories: [],
|
||||||
facetFields: [
|
facetFields: { fields: [
|
||||||
{ label: 'f1', field: 'f1' },
|
{ label: 'f1', field: 'f1' },
|
||||||
{ label: 'f2', field: 'f2' }
|
{ label: 'f2', field: 'f2' }
|
||||||
],
|
]},
|
||||||
facetQueries: {
|
facetQueries: {
|
||||||
queries: []
|
queries: []
|
||||||
}
|
}
|
||||||
@@ -351,6 +352,7 @@ describe('SearchFilterComponent', () => {
|
|||||||
{ label: 'b2', count: 1, filterQuery: 'filter2' }] }},
|
{ label: 'b2', count: 1, filterQuery: 'filter2' }] }},
|
||||||
{ label: 'f2', field: 'f2', buckets: {items: [] }}
|
{ label: 'f2', field: 'f2', buckets: {items: [] }}
|
||||||
];
|
];
|
||||||
|
component.queryBuilder.addUserFacetBucket({ label: 'f1', field: 'f1' }, component.responseFacetFields[0].buckets.items[0]);
|
||||||
|
|
||||||
const serverResponseFields: any = [
|
const serverResponseFields: any = [
|
||||||
{ label: 'f1', field: 'f1', buckets: [
|
{ label: 'f1', field: 'f1', buckets: [
|
||||||
@@ -375,10 +377,10 @@ describe('SearchFilterComponent', () => {
|
|||||||
spyOn(queryBuilder, 'execute').and.stub();
|
spyOn(queryBuilder, 'execute').and.stub();
|
||||||
queryBuilder.config = {
|
queryBuilder.config = {
|
||||||
categories: [],
|
categories: [],
|
||||||
facetFields: [
|
facetFields: { fields: [
|
||||||
{ label: 'f1', field: 'f1' },
|
{ label: 'f1', field: 'f1' },
|
||||||
{ label: 'f2', field: 'f2' }
|
{ label: 'f2', field: 'f2' }
|
||||||
],
|
]},
|
||||||
facetQueries: {
|
facetQueries: {
|
||||||
queries: []
|
queries: []
|
||||||
}
|
}
|
||||||
@@ -390,6 +392,7 @@ describe('SearchFilterComponent', () => {
|
|||||||
{ label: 'b2', count: 1, filterQuery: 'filter2' }] }},
|
{ label: 'b2', count: 1, filterQuery: 'filter2' }] }},
|
||||||
{ label: 'f2', field: 'f2', buckets: {items: [] }}
|
{ label: 'f2', field: 'f2', buckets: {items: [] }}
|
||||||
];
|
];
|
||||||
|
component.queryBuilder.addUserFacetBucket({ label: 'f1', field: 'f1' }, component.responseFacetFields[0].buckets.items[0]);
|
||||||
const data = {
|
const data = {
|
||||||
list: {
|
list: {
|
||||||
context: {}
|
context: {}
|
||||||
|
@@ -44,6 +44,7 @@ export class SearchFilterComponent implements OnInit, OnDestroy {
|
|||||||
private facetQueriesPageSize = this.DEFAULT_PAGE_SIZE;
|
private facetQueriesPageSize = this.DEFAULT_PAGE_SIZE;
|
||||||
facetQueriesLabel: string = 'Facet Queries';
|
facetQueriesLabel: string = 'Facet Queries';
|
||||||
facetQueriesExpanded = false;
|
facetQueriesExpanded = false;
|
||||||
|
facetFieldsExpanded = false;
|
||||||
canResetSelectedQueries = false;
|
canResetSelectedQueries = false;
|
||||||
|
|
||||||
selectedFacetQueries: Array<FacetQuery> = [];
|
selectedFacetQueries: Array<FacetQuery> = [];
|
||||||
@@ -57,6 +58,9 @@ export class SearchFilterComponent implements OnInit, OnDestroy {
|
|||||||
this.facetQueriesPageSize = queryBuilder.config.facetQueries.pageSize || this.DEFAULT_PAGE_SIZE;
|
this.facetQueriesPageSize = queryBuilder.config.facetQueries.pageSize || this.DEFAULT_PAGE_SIZE;
|
||||||
this.facetQueriesExpanded = queryBuilder.config.facetQueries.expanded;
|
this.facetQueriesExpanded = queryBuilder.config.facetQueries.expanded;
|
||||||
}
|
}
|
||||||
|
if (queryBuilder.config && queryBuilder.config.facetFields) {
|
||||||
|
this.facetFieldsExpanded = queryBuilder.config.facetFields.expanded;
|
||||||
|
}
|
||||||
|
|
||||||
this.queryBuilder.updated.pipe(
|
this.queryBuilder.updated.pipe(
|
||||||
takeWhile(() => this.isAlive)
|
takeWhile(() => this.isAlive)
|
||||||
@@ -114,7 +118,7 @@ export class SearchFilterComponent implements OnInit, OnDestroy {
|
|||||||
for (let field of this.responseFacetFields) {
|
for (let field of this.responseFacetFields) {
|
||||||
if (field.buckets) {
|
if (field.buckets) {
|
||||||
this.selectedBuckets.push(
|
this.selectedBuckets.push(
|
||||||
...field.buckets.items
|
...this.queryBuilder.getUserFacetBuckets(field.field)
|
||||||
.filter(bucket => bucket.checked)
|
.filter(bucket => bucket.checked)
|
||||||
.map(bucket => {
|
.map(bucket => {
|
||||||
return { field, bucket };
|
return { field, bucket };
|
||||||
@@ -208,7 +212,7 @@ export class SearchFilterComponent implements OnInit, OnDestroy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private parseFacetFields(context: any) {
|
private parseFacetFields(context: any) {
|
||||||
const configFacetFields = this.queryBuilder.config.facetFields || [];
|
const configFacetFields = this.queryBuilder.config.facetFields && this.queryBuilder.config.facetFields.fields || [];
|
||||||
|
|
||||||
const bkpResponseFacetFields = [...this.responseFacetFields || []];
|
const bkpResponseFacetFields = [...this.responseFacetFields || []];
|
||||||
this.responseFacetFields = configFacetFields
|
this.responseFacetFields = configFacetFields
|
||||||
@@ -242,7 +246,8 @@ export class SearchFilterComponent implements OnInit, OnDestroy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const buckets: FacetFieldBucket[] = ((responseField && responseField.buckets) || []).map(bucket => {
|
const buckets: FacetFieldBucket[] = ((responseField && responseField.buckets) || []).map(bucket => {
|
||||||
const selectedBucket = this.selectedBuckets.find(facetBucket => facetBucket.bucket.label === bucket.label);
|
const selectedBucket = this.selectedBuckets.find(facetBucket =>
|
||||||
|
facetBucket.bucket.label === bucket.label && facetBucket.field.field === field.field);
|
||||||
|
|
||||||
return <FacetFieldBucket> {
|
return <FacetFieldBucket> {
|
||||||
...bucket,
|
...bucket,
|
||||||
|
@@ -32,7 +32,10 @@ export interface SearchConfiguration {
|
|||||||
expanded?: boolean;
|
expanded?: boolean;
|
||||||
queries: Array<FacetQuery>;
|
queries: Array<FacetQuery>;
|
||||||
};
|
};
|
||||||
facetFields?: Array<FacetField>;
|
facetFields?: {
|
||||||
|
expanded?: boolean;
|
||||||
|
fields: Array<FacetField>;
|
||||||
|
};
|
||||||
sorting?: {
|
sorting?: {
|
||||||
options: Array<SearchSortingDefinition>;
|
options: Array<SearchSortingDefinition>;
|
||||||
defaults: Array<SearchSortingDefinition>;
|
defaults: Array<SearchSortingDefinition>;
|
||||||
|
@@ -190,10 +190,10 @@ describe('SearchQueryBuilder', () => {
|
|||||||
it('should fetch facet from the config by label', () => {
|
it('should fetch facet from the config by label', () => {
|
||||||
const config: SearchConfiguration = {
|
const config: SearchConfiguration = {
|
||||||
categories: [],
|
categories: [],
|
||||||
facetFields: [
|
facetFields: { 'fields': [
|
||||||
{ 'field': 'content.mimetype', 'mincount': 1, 'label': 'Type' },
|
{ 'field': 'content.mimetype', 'mincount': 1, 'label': 'Type' },
|
||||||
{ 'field': 'content.size', 'mincount': 1, 'label': 'Size' }
|
{ 'field': 'content.size', 'mincount': 1, 'label': 'Size' }
|
||||||
]
|
]}
|
||||||
};
|
};
|
||||||
const builder = new SearchQueryBuilderService(buildConfig(config), null);
|
const builder = new SearchQueryBuilderService(buildConfig(config), null);
|
||||||
const field = builder.getFacetField('Size');
|
const field = builder.getFacetField('Size');
|
||||||
@@ -205,10 +205,10 @@ describe('SearchQueryBuilder', () => {
|
|||||||
it('should not fetch facet from the config by label', () => {
|
it('should not fetch facet from the config by label', () => {
|
||||||
const config: SearchConfiguration = {
|
const config: SearchConfiguration = {
|
||||||
categories: [],
|
categories: [],
|
||||||
facetFields: [
|
facetFields: { 'fields': [
|
||||||
{ 'field': 'content.mimetype', 'mincount': 1, 'label': 'Type' },
|
{ 'field': 'content.mimetype', 'mincount': 1, 'label': 'Type' },
|
||||||
{ 'field': 'content.size', 'mincount': 1, 'label': 'Size' }
|
{ 'field': 'content.size', 'mincount': 1, 'label': 'Size' }
|
||||||
]
|
]}
|
||||||
};
|
};
|
||||||
const builder = new SearchQueryBuilderService(buildConfig(config), null);
|
const builder = new SearchQueryBuilderService(buildConfig(config), null);
|
||||||
const field = builder.getFacetField('Missing');
|
const field = builder.getFacetField('Missing');
|
||||||
@@ -359,16 +359,16 @@ describe('SearchQueryBuilder', () => {
|
|||||||
categories: [
|
categories: [
|
||||||
<any> { id: 'cat1', enabled: true }
|
<any> { id: 'cat1', enabled: true }
|
||||||
],
|
],
|
||||||
facetFields: [
|
facetFields: { fields: [
|
||||||
{ field: 'field1', label: 'field1', mincount: 1, limit: null, offset: 0, prefix: null },
|
{ field: 'field1', label: 'field1', mincount: 1, limit: null, offset: 0, prefix: null },
|
||||||
{ field: 'field2', label: 'field2', mincount: 1, limit: null, offset: 0, prefix: null }
|
{ field: 'field2', label: 'field2', mincount: 1, limit: null, offset: 0, prefix: null }
|
||||||
]
|
]}
|
||||||
};
|
};
|
||||||
const builder = new SearchQueryBuilderService(buildConfig(config), null);
|
const builder = new SearchQueryBuilderService(buildConfig(config), null);
|
||||||
builder.queryFragments['cat1'] = 'cm:name:test';
|
builder.queryFragments['cat1'] = 'cm:name:test';
|
||||||
|
|
||||||
const compiled = builder.buildQuery();
|
const compiled = builder.buildQuery();
|
||||||
expect(compiled.facetFields.facets).toEqual(jasmine.objectContaining(config.facetFields));
|
expect(compiled.facetFields.facets).toEqual(jasmine.objectContaining(config.facetFields.fields));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should build query with sorting', () => {
|
it('should build query with sorting', () => {
|
||||||
|
@@ -106,6 +106,10 @@ export class SearchQueryBuilderService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getUserFacetBuckets(field: string) {
|
||||||
|
return this.userFacetBuckets[field] || [];
|
||||||
|
}
|
||||||
|
|
||||||
removeUserFacetBucket(field: FacetField, bucket: FacetFieldBucket) {
|
removeUserFacetBucket(field: FacetField, bucket: FacetFieldBucket) {
|
||||||
if (field && field.field && bucket) {
|
if (field && field.field && bucket) {
|
||||||
const buckets = this.userFacetBuckets[field.field] || [];
|
const buckets = this.userFacetBuckets[field.field] || [];
|
||||||
@@ -142,7 +146,7 @@ export class SearchQueryBuilderService {
|
|||||||
|
|
||||||
getFacetField(label: string): FacetField {
|
getFacetField(label: string): FacetField {
|
||||||
if (label) {
|
if (label) {
|
||||||
const fields = this.config.facetFields || [];
|
const fields = this.config.facetFields.fields || [];
|
||||||
const result = fields.find(field => field.label === label);
|
const result = fields.find(field => field.label === label);
|
||||||
if (result) {
|
if (result) {
|
||||||
return { ...result };
|
return { ...result };
|
||||||
@@ -286,7 +290,7 @@ export class SearchQueryBuilderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected get facetFields(): RequestFacetFields {
|
protected get facetFields(): RequestFacetFields {
|
||||||
const facetFields = this.config.facetFields;
|
const facetFields = this.config.facetFields && this.config.facetFields.fields;
|
||||||
|
|
||||||
if (facetFields && facetFields.length > 0) {
|
if (facetFields && facetFields.length > 0) {
|
||||||
return {
|
return {
|
||||||
|
Reference in New Issue
Block a user