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