mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-12 17:04:57 +00:00
[ACS-9010] Loading spinner is not shown on search results page when filtering for files or folders (#10434)
This commit is contained in:
parent
48e9d56453
commit
5461bedb3e
@ -15,17 +15,17 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { Subject, Observable, from, ReplaySubject, BehaviorSubject } from 'rxjs';
|
||||
import { BehaviorSubject, from, Observable, ReplaySubject, Subject } from 'rxjs';
|
||||
import { AppConfigService } from '@alfresco/adf-core';
|
||||
import {
|
||||
SearchRequest,
|
||||
RequestFacetFields,
|
||||
RequestSortDefinitionInner,
|
||||
ResultSetPaging,
|
||||
RequestHighlight,
|
||||
RequestScope,
|
||||
RequestSortDefinitionInner,
|
||||
ResultSetPaging,
|
||||
SEARCH_LANGUAGE,
|
||||
SearchApi,
|
||||
SEARCH_LANGUAGE
|
||||
SearchRequest
|
||||
} from '@alfresco/js-api';
|
||||
import { SearchCategory } from '../models/search-category.interface';
|
||||
import { FilterQuery } from '../models/filter-query.interface';
|
||||
@ -68,6 +68,9 @@ export abstract class BaseQueryBuilderService {
|
||||
/* Stream that emits search forms */
|
||||
searchForms = new ReplaySubject<SearchForm[]>(1);
|
||||
|
||||
/* Stream that emits void when change in filterQueries */
|
||||
filterQueryUpdate = new Subject<void>();
|
||||
|
||||
/* Stream that emits the initial value for some or all search filters */
|
||||
populateFilters = new BehaviorSubject<{ [key: string]: any }>({});
|
||||
|
||||
@ -247,6 +250,7 @@ export abstract class BaseQueryBuilderService {
|
||||
const existing = this.filterQueries.find((filterQuery) => filterQuery.query === query);
|
||||
if (!existing) {
|
||||
this.filterQueries.push({ query });
|
||||
this.filterQueryUpdate.next();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -259,6 +263,7 @@ export abstract class BaseQueryBuilderService {
|
||||
removeFilterQuery(query: string): void {
|
||||
if (query) {
|
||||
this.filterQueries = this.filterQueries.filter((filterQuery) => filterQuery.query !== query);
|
||||
this.filterQueryUpdate.next();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -201,6 +201,14 @@ describe('SearchQueryBuilder', () => {
|
||||
expect(builder.filterQueries.length).toBe(2);
|
||||
});
|
||||
|
||||
it('should call filterQueryUpdate after adding or removing filterQuery', () => {
|
||||
const builder = createQueryBuilder();
|
||||
spyOn(builder.filterQueryUpdate, 'next');
|
||||
builder.addFilterQuery('q1');
|
||||
builder.removeFilterQuery('q1');
|
||||
expect(builder.filterQueryUpdate.next).toHaveBeenCalledTimes(2);
|
||||
});
|
||||
|
||||
it('should fetch facet query from config', () => {
|
||||
const config: SearchConfiguration = {
|
||||
categories: [],
|
||||
|
Loading…
x
Reference in New Issue
Block a user