fix RED-2675: sort results in descending order

This commit is contained in:
Dan Percic 2021-11-11 12:33:49 +02:00
parent aeca9efa18
commit f631d60d9d

View File

@ -1,12 +1,14 @@
import { ChangeDetectionStrategy, Component, forwardRef, Injector, OnDestroy } from '@angular/core'; import { ChangeDetectionStrategy, Component, forwardRef, Injector, OnDestroy } from '@angular/core';
import { import {
DefaultListingServices, DefaultListingServices,
IFilterGroup,
keyChecker, keyChecker,
List, List,
ListingComponent, ListingComponent,
LoadingService, LoadingService,
NestedFilter, NestedFilter,
SearchPositions, SearchPositions,
SortingOrders,
TableColumnConfig, TableColumnConfig,
} from '@iqser/common-ui'; } from '@iqser/common-ui';
import { merge, Observable } from 'rxjs'; import { merge, Observable } from 'rxjs';
@ -18,7 +20,7 @@ import { TranslateService } from '@ngx-translate/core';
import { RouterHistoryService } from '@services/router-history.service'; import { RouterHistoryService } from '@services/router-history.service';
import { DossiersService } from '@services/entity-services/dossiers.service'; import { DossiersService } from '@services/entity-services/dossiers.service';
import { PlatformSearchService } from '../../shared/services/platform-search.service'; import { PlatformSearchService } from '../../shared/services/platform-search.service';
import { IMatchedDocument, ISearchInput, ISearchListItem, ISearchResponse } from '@red/domain'; import { Dossier, IMatchedDocument, ISearchInput, ISearchListItem, ISearchResponse } from '@red/domain';
function toSearchInput(query: string, dossierIds: List | string): ISearchInput { function toSearchInput(query: string, dossierIds: List | string): ISearchInput {
return { return {
@ -68,25 +70,22 @@ export class SearchScreenComponent extends ListingComponent<ISearchListItem> imp
) { ) {
super(_injector); super(_injector);
this.searchService.skip = true; this.searchService.skip = true;
this.sortingService.setSortingOption({ column: 'searchKey', order: SortingOrders.desc });
const dossierId = _activatedRoute.snapshot.queryParamMap.get('dossierId'); const dossierId = _activatedRoute.snapshot.queryParamMap.get('dossierId');
this.filterService.addFilterGroups([ const dossierToFilter = ({ dossierName, id }: Dossier) => {
{ const checked = id === dossierId;
return new NestedFilter({ id, label: dossierName, checked });
};
const dossierNameFilter: IFilterGroup = {
slug: 'dossiers', slug: 'dossiers',
label: this._translateService.instant('search-screen.filters.by-dossier'), label: this._translateService.instant('search-screen.filters.by-dossier'),
filterceptionPlaceholder: this._translateService.instant('search-screen.filters.search-placeholder'), filterceptionPlaceholder: this._translateService.instant('search-screen.filters.search-placeholder'),
icon: 'red:folder', icon: 'red:folder',
filters: this._dossiersService.all.map( filters: this._dossiersService.all.map(dossierToFilter),
dossier =>
new NestedFilter({
id: dossier.id,
label: dossier.dossierName,
checked: dossier.id === dossierId,
}),
),
checker: keyChecker('dossierId'), checker: keyChecker('dossierId'),
}, };
]); this.filterService.addFilterGroups([dossierNameFilter]);
} }
private get _searchChanged$(): Observable<ISearchInput> { private get _searchChanged$(): Observable<ISearchInput> {