RED-5067: Updated quick filters for archived dossiers too
This commit is contained in:
parent
8367b977ae
commit
b097f8a760
@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
|
||||
import { IFilterGroup, keyChecker, NestedFilter, TableColumnConfig } from '@iqser/common-ui';
|
||||
import { Dossier, User } from '@red/domain';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { dossierMemberChecker, dossierTemplateChecker } from '@utils/index';
|
||||
import { dossierMemberChecker, dossierMemberQuickChecker, dossierOwnerQuickChecker, dossierTemplateChecker } from '@utils/index';
|
||||
import { UserService } from '@users/user.service';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
|
||||
@ -97,18 +97,22 @@ export class ConfigService {
|
||||
return filterGroups;
|
||||
}
|
||||
|
||||
_myDossiersChecker = (dw: Dossier) => dw.ownerId === this._currentUser.id;
|
||||
|
||||
private _quickFilters(entities: Dossier[]): NestedFilter[] {
|
||||
const myDossiersLabel = this._translateService.instant('dossier-listing.quick-filters.my-dossiers');
|
||||
const userId = this._currentUser.id;
|
||||
return [
|
||||
{
|
||||
id: 'my-dossiers',
|
||||
label: myDossiersLabel,
|
||||
checker: this._myDossiersChecker,
|
||||
disabled: entities.filter(this._myDossiersChecker).length === 0,
|
||||
id: 'owner',
|
||||
label: this._translateService.instant('dossier-listing.quick-filters.owner'),
|
||||
checker: dossierOwnerQuickChecker(userId),
|
||||
disabled: entities.filter(dossierOwnerQuickChecker(userId)).length === 0,
|
||||
helpModeKey: 'filter_dossier_list',
|
||||
},
|
||||
{
|
||||
id: 'member',
|
||||
label: this._translateService.instant('dossier-listing.quick-filters.member'),
|
||||
checker: dossierMemberQuickChecker(userId),
|
||||
disabled: entities.filter(dossierMemberQuickChecker(userId)).length === 0,
|
||||
},
|
||||
].map(filter => new NestedFilter(filter));
|
||||
}
|
||||
}
|
||||
|
||||
@ -14,7 +14,13 @@ import { TranslateService } from '@ngx-translate/core';
|
||||
import { UserPreferenceService } from '@users/user-preference.service';
|
||||
import { UserService } from '@users/user.service';
|
||||
import { workflowFileStatusTranslations } from '@translations/file-status-translations';
|
||||
import { dossierMemberChecker, dossierStateChecker, RedactionFilterSorter } from '../../utils';
|
||||
import {
|
||||
dossierMemberChecker,
|
||||
dossierMemberQuickChecker,
|
||||
dossierOwnerQuickChecker,
|
||||
dossierStateChecker,
|
||||
RedactionFilterSorter,
|
||||
} from '../../utils';
|
||||
import { workloadTranslations } from '@translations/workload-translations';
|
||||
import { DossierStatsService } from '@services/dossiers/dossier-stats.service';
|
||||
import { DossierStatesMapService } from '@services/entity-services/dossier-states-map.service';
|
||||
@ -201,29 +207,25 @@ export class ConfigService {
|
||||
return filterGroups;
|
||||
}
|
||||
|
||||
private _dossierOwnerChecker = (dw: Dossier) => dw.ownerId === this._currentUser.id;
|
||||
|
||||
private _dossierMemberChecker = (dw: Dossier) =>
|
||||
dw.memberIds.includes(this._currentUser.id) || dw.approverIds.includes(this._currentUser.id);
|
||||
|
||||
private _openAddDossierDialog(dossierTemplateId: string): void {
|
||||
this._dialogService.openDialog('addDossier', null, { dossierTemplateId });
|
||||
}
|
||||
|
||||
private _quickFilters(entities: Dossier[]): NestedFilter[] {
|
||||
const userId = this._currentUser.id;
|
||||
return [
|
||||
{
|
||||
id: 'owner',
|
||||
label: this._translateService.instant('dossier-listing.quick-filters.owner'),
|
||||
checker: this._dossierOwnerChecker,
|
||||
disabled: entities.filter(this._dossierOwnerChecker).length === 0,
|
||||
checker: dossierOwnerQuickChecker(userId),
|
||||
disabled: entities.filter(dossierOwnerQuickChecker(userId)).length === 0,
|
||||
helpModeKey: 'filter_dossier_list',
|
||||
},
|
||||
{
|
||||
id: 'member',
|
||||
label: this._translateService.instant('dossier-listing.quick-filters.member'),
|
||||
checker: this._dossierMemberChecker,
|
||||
disabled: entities.filter(this._dossierMemberChecker).length === 0,
|
||||
checker: dossierMemberQuickChecker(userId),
|
||||
disabled: entities.filter(dossierMemberQuickChecker(userId)).length === 0,
|
||||
},
|
||||
].map(filter => new NestedFilter(filter));
|
||||
}
|
||||
|
||||
@ -75,6 +75,10 @@ export const annotationFilterChecker = (file: File, filter: INestedFilter, curre
|
||||
|
||||
export const dossierMemberChecker = (dw: Dossier, filter: INestedFilter) => dw.hasMember(filter.id);
|
||||
|
||||
export const dossierOwnerQuickChecker = (userId: string) => (dw: Dossier) => dw.ownerId === userId;
|
||||
|
||||
export const dossierMemberQuickChecker = (userId: string) => (dw: Dossier) => dw.hasMember(userId);
|
||||
|
||||
export const dossierTemplateChecker = (dw: Dossier, filter: INestedFilter) => dw.dossierTemplateId === filter.id;
|
||||
|
||||
export const dossierStateChecker = (dw: Dossier, filter: INestedFilter) =>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user