This commit is contained in:
Adina Țeudan 2021-08-09 16:27:21 +03:00
parent fa527e69ad
commit f98df71ef3

View File

@ -68,13 +68,15 @@ export class TrashScreenComponent extends BaseListingComponent<DossierListItem>
private get _canRestoreSelected$(): Observable<boolean> {
return this.screenStateService.selectedEntities$.pipe(
map(entities => entities.length && this._canRestore()),
map(entities => entities.length && this._canRestore(entities)),
distinctUntilChanged()
);
}
async ngOnInit(): Promise<void> {
this._loadingService.loadWhile(this._loadDossiersData());
this._loadingService.start();
await this._loadDossiersData();
this._loadingService.stop();
}
getRestoreDate(softDeletedTime: string): string {
@ -82,7 +84,6 @@ export class TrashScreenComponent extends BaseListingComponent<DossierListItem>
}
hardDelete(dossiers = this.screenStateService.selectedEntities) {
const period = this._appConfigService.getConfig('DELETE_RETENTION_HOURS');
const data = new ConfirmationDialogInput({
title: dossiers.length > 1 ? _('confirmation-dialog.delete-dossier.title-alt') : _('confirmation-dialog.delete-dossier.title'),
titleColor: TitleColors.PRIMARY,
@ -91,7 +92,10 @@ export class TrashScreenComponent extends BaseListingComponent<DossierListItem>
confirmationText: _('confirmation-dialog.delete-dossier.confirmation-text'),
requireInput: true,
denyText: _('confirmation-dialog.delete-dossier.deny-text'),
translateParams: { dossierName: dossiers[0].dossierName, period: period }
translateParams: {
dossierName: dossiers[0].dossierName,
period: this._deleteRetentionHours
}
});
this._adminDialogService.openDialog('confirm', null, data, async () => {
this._loadingService.loadWhile(this._hardDelete(dossiers));
@ -106,7 +110,7 @@ export class TrashScreenComponent extends BaseListingComponent<DossierListItem>
this.screenStateService.setEntities(this._toListItems(await this._dossiersService.getDeleted()));
}
private _canRestore(dossiers = this.screenStateService.selectedEntities): boolean {
private _canRestore(dossiers: DossierListItem[]): boolean {
return dossiers.reduce((prev, dossier) => prev && dossier.canRestore, true);
}