[ADF-3217] reset previous search settings (#3490)

* reset previous search settings

* unit test

* remove fit
This commit is contained in:
Denys Vuika
2018-06-15 14:51:26 +01:00
committed by Eugenio Romano
parent 1b049f468e
commit acf73fba54
3 changed files with 40 additions and 4 deletions

View File

@@ -27,6 +27,31 @@ describe('SearchQueryBuilder', () => {
return config;
};
it('should reset to defaults', () => {
const config: SearchConfiguration = {
categories: [
<any> { id: 'cat1', enabled: true },
<any> { id: 'cat2', enabled: true }
],
filterQueries: [
{ query: 'query1' },
{ query: 'query2' }
]
};
const builder = new SearchQueryBuilderService(buildConfig(config), null);
builder.categories = [];
builder.filterQueries = [];
expect(builder.categories.length).toBe(0);
expect(builder.filterQueries.length).toBe(0);
builder.resetToDefaults();
expect(builder.categories.length).toBe(2);
expect(builder.filterQueries.length).toBe(2);
});
it('should have empty user query by default', () => {
const builder = new SearchQueryBuilderService(buildConfig({}), null);
expect(builder.userQuery).toBe('');

View File

@@ -57,13 +57,24 @@ export class SearchQueryBuilderService {
constructor(appConfig: AppConfigService, private alfrescoApiService: AlfrescoApiService) {
this.config = appConfig.get<SearchConfiguration>('search');
this.resetToDefaults();
}
resetToDefaults() {
if (this.config) {
this.categories = (this.config.categories || []).filter(category => category.enabled);
this.filterQueries = this.config.filterQueries || [];
this.categories =
(this.config.categories || [])
.filter(category => category.enabled)
.map(category => { return { ...category }; });
this.filterQueries =
(this.config.filterQueries || [])
.map(query => { return {...query}; });
if (this.config.sorting) {
this.sorting = this.config.sorting.defaults || [];
this.sorting =
(this.config.sorting.defaults || [])
.map(sorting => { return { ...sorting }; });
}
}
}