diff --git a/apps/red-ui/src/app/modules/dossier/components/page-indicator/page-indicator.component.ts b/apps/red-ui/src/app/modules/dossier/components/page-indicator/page-indicator.component.ts index 7e6cdf763..5a0e559f7 100644 --- a/apps/red-ui/src/app/modules/dossier/components/page-indicator/page-indicator.component.ts +++ b/apps/red-ui/src/app/modules/dossier/components/page-indicator/page-indicator.component.ts @@ -1,9 +1,9 @@ -import {Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges} from '@angular/core'; -import {ViewedPages, ViewedPagesControllerService} from '@redaction/red-ui-http'; -import {AppStateService} from '@state/app-state.service'; -import {PermissionsService} from '@services/permissions.service'; -import {ConfigService} from '@services/config.service'; -import {Subscription} from 'rxjs'; +import { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core'; +import { ViewedPages, ViewedPagesControllerService } from '@redaction/red-ui-http'; +import { AppStateService } from '@state/app-state.service'; +import { PermissionsService } from '@services/permissions.service'; +import { ConfigService } from '@services/config.service'; +import { Subscription } from 'rxjs'; @Component({ selector: 'redaction-page-indicator', @@ -16,7 +16,7 @@ export class PageIndicatorComponent implements OnChanges, OnInit, OnDestroy { @Input() viewedPages: ViewedPages; @Input() activeSelection = false; - @Output() pageSelected = new EventEmitter(); + @Output() readonly pageSelected = new EventEmitter(); pageReadTimeout: number = null; canMarkPagesAsViewed: boolean; @@ -27,8 +27,7 @@ export class PageIndicatorComponent implements OnChanges, OnInit, OnDestroy { private readonly _appStateService: AppStateService, private readonly _configService: ConfigService, private readonly _permissionService: PermissionsService - ) { - } + ) {} get read() { return this.viewedPages?.pages?.findIndex(p => p.page === this.number) >= 0; @@ -96,9 +95,9 @@ export class PageIndicatorComponent implements OnChanges, OnInit, OnDestroy { private _markPageRead() { this._viewedPagesControllerService - .addPage({page: this.number}, this._appStateService.activeDossierId, this._appStateService.activeFileId) + .addPage({ page: this.number }, this._appStateService.activeDossierId, this._appStateService.activeFileId) .subscribe(() => { - this.viewedPages?.pages?.push({page: this.number, fileId: this._appStateService.activeFileId}); + this.viewedPages?.pages?.push({ page: this.number, fileId: this._appStateService.activeFileId }); }); } diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts index a894ed1c6..66be39abb 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts @@ -1,11 +1,11 @@ -import {Component} from '@angular/core'; -import {MatDialogRef} from '@angular/material/dialog'; -import {DossierRequest, DownloadFileType, IDossierTemplate, ReportTemplate, ReportTemplateControllerService} from '@redaction/red-ui-http'; -import {FormBuilder, FormGroup, Validators} from '@angular/forms'; -import {AppStateService} from '@state/app-state.service'; +import { Component } from '@angular/core'; +import { MatDialogRef } from '@angular/material/dialog'; +import { DownloadFileType, IDossier, IDossierTemplate, ReportTemplate, ReportTemplateControllerService } from '@redaction/red-ui-http'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { AppStateService } from '@state/app-state.service'; import * as moment from 'moment'; -import {downloadTypesTranslations} from '../../../../translations/download-types-translations'; -import {IconButtonTypes} from '@iqser/common-ui'; +import { downloadTypesTranslations } from '../../../../translations/download-types-translations'; +import { IconButtonTypes } from '@iqser/common-ui'; @Component({ templateUrl: './add-dossier-dialog.component.html', @@ -22,7 +22,6 @@ export class AddDossierDialogComponent { })); dossierTemplates: IDossierTemplate[]; availableReportTypes = []; - reportTemplateValueMapper = (reportTemplate: ReportTemplate) => reportTemplate.templateId; constructor( private readonly _appStateService: AppStateService, @@ -45,7 +44,7 @@ export class AddDossierDialogComponent { validators: control => control.value.reportTemplateIds?.length > 0 || control.value.downloadFileTypes?.length > 0 ? null - : {downloadPackage: true} + : { downloadPackage: true } } ); } @@ -66,18 +65,19 @@ export class AddDossierDialogComponent { return this.dossierForm.invalid; } + reportTemplateValueMapper = (reportTemplate: ReportTemplate) => reportTemplate.templateId; + async saveDossier() { const savedDossier = await this._appStateService.createOrUpdateDossier(this._formToObject()); if (savedDossier) { - this.dialogRef.close({dossier: savedDossier}); + this.dialogRef.close({ dossier: savedDossier }); } } async saveDossierAndAddMembers() { - const dossier: DossierRequest = this._formToObject(); - const savedDossier = await this._appStateService.createOrUpdateDossier(dossier); + const savedDossier = await this._appStateService.createOrUpdateDossier(this._formToObject()); if (savedDossier) { - this.dialogRef.close({addMembers: true, dossier: savedDossier}); + this.dialogRef.close({ addMembers: true, dossier: savedDossier }); } } @@ -94,7 +94,7 @@ export class AddDossierDialogComponent { downloadFileTypes: dossierTemplate.downloadFileTypes, reportTemplateIds: [] // TODO DEFAULT }, - {emitEvent: false} + { emitEvent: false } ); } else { this.availableReportTypes = []; @@ -103,7 +103,7 @@ export class AddDossierDialogComponent { downloadFileTypes: [], reportTemplateIds: [] }, - {emitEvent: false} + { emitEvent: false } ); } } @@ -116,7 +116,7 @@ export class AddDossierDialogComponent { }); } - private _formToObject(): DossierRequest { + private _formToObject(): Partial { return { dossierName: this.dossierForm.get('dossierName').value, description: this.dossierForm.get('description').value, diff --git a/apps/red-ui/src/app/modules/dossier/services/dossiers.service.ts b/apps/red-ui/src/app/modules/dossier/services/dossiers.service.ts index e037a5b8c..bb948ad79 100644 --- a/apps/red-ui/src/app/modules/dossier/services/dossiers.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/dossiers.service.ts @@ -1,5 +1,5 @@ import { Injectable, Injector } from '@angular/core'; -import { IDossier } from '@redaction/red-ui-http'; +import { DossierRequest, IDossier } from '@redaction/red-ui-http'; import { EntitiesService, List, QueryParam } from '@iqser/common-ui'; import { Dossier } from '@state/model/dossier'; import { filter, map } from 'rxjs/operators'; @@ -56,7 +56,7 @@ export class DossiersService extends EntitiesService { return dossierId ? super._getOne([dossierId]) : super.getAll(); } - createOrUpdate(dossier: IDossier): Promise { + createOrUpdate(dossier: DossierRequest): Promise { return this._post(dossier).toPromise(); } diff --git a/apps/red-ui/src/app/state/app-state.service.ts b/apps/red-ui/src/app/state/app-state.service.ts index 0644fd983..eacc863f0 100644 --- a/apps/red-ui/src/app/state/app-state.service.ts +++ b/apps/red-ui/src/app/state/app-state.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@angular/core'; -import { Colors, IDossier, IFile, ReanalysisControllerService } from '@redaction/red-ui-http'; +import { Colors, DossierRequest, IFile, ReanalysisControllerService } from '@redaction/red-ui-http'; import { Toaster } from '@iqser/common-ui'; import { TranslateService } from '@ngx-translate/core'; import { Event, NavigationEnd, ResolveStart, Router } from '@angular/router'; @@ -343,7 +343,7 @@ export class AppStateService { ); } - async createOrUpdateDossier(dossier: IDossier) { + async createOrUpdateDossier(dossier: DossierRequest) { try { const updatedDossier = await this._dossiersService.createOrUpdate(dossier); let foundDossier = this.allDossiers.find(p => p.id === updatedDossier.dossierId);