DM-368 allow empty download content

This commit is contained in:
Dan Percic 2023-08-09 19:57:30 +03:00
parent bea8e6e8a4
commit 24092713cd

View File

@ -1,18 +1,18 @@
import { Component, Inject, OnInit } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { DOSSIER_TEMPLATE_ID, DownloadFileType, IDossierRequest, IDossierTemplate, IReportTemplate } from '@red/domain';
import { UntypedFormGroup, Validators } from '@angular/forms';
import { downloadTypesTranslations } from '@translations/download-types-translations';
import { BaseDialogComponent, IconButtonTypes, IqserPermissionsService, SaveOptions } from '@iqser/common-ui';
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
import { ReportTemplateService } from '@services/report-template.service';
import { firstValueFrom } from 'rxjs';
import dayjs from 'dayjs';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { Router } from '@angular/router';
import { DossiersDialogService } from '../../../shared-dossiers/services/dossiers-dialog.service';
import { Roles } from '@users/roles';
import { BaseDialogComponent, getConfig, IconButtonTypes, IqserPermissionsService, SaveOptions } from '@iqser/common-ui';
import { TenantsService } from '@iqser/common-ui/lib/tenants';
import { DOSSIER_TEMPLATE_ID, DownloadFileType, IDossierRequest, IDossierTemplate, IReportTemplate } from '@red/domain';
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
import { ReportTemplateService } from '@services/report-template.service';
import { downloadTypesTranslations } from '@translations/download-types-translations';
import { Roles } from '@users/roles';
import dayjs from 'dayjs';
import { firstValueFrom } from 'rxjs';
import { DossiersDialogService } from '../../../shared-dossiers/services/dossiers-dialog.service';
interface DialogData {
readonly dossierTemplateId?: string;
@ -23,9 +23,9 @@ interface DialogData {
styleUrls: ['./add-dossier-dialog.component.scss'],
})
export class AddDossierDialogComponent extends BaseDialogComponent implements OnInit {
readonly #config = getConfig();
readonly roles = Roles;
readonly iconButtonTypes = IconButtonTypes;
hasDueDate = false;
downloadTypes: { key: DownloadFileType; label: string }[] = ['ORIGINAL', 'PREVIEW', 'DELTA_PREVIEW', 'REDACTED']
.map((type: DownloadFileType) => ({
@ -140,10 +140,11 @@ export class AddDossierDialogComponent extends BaseDialogComponent implements On
previewWatermarkId: [null],
},
{
validators: control =>
control.value.reportTemplateIds?.length > 0 || control.value.downloadFileTypes?.length > 0
? null
: { downloadPackage: true },
validators: control => {
const hasReports = control.value.reportTemplateIds?.length > 0;
const hasDownloadTypes = control.value.downloadFileTypes?.length > 0;
return this.#config.IS_DOCUMINE || hasReports || hasDownloadTypes ? null : { downloadPackage: true };
},
},
);
}