fix some errors

This commit is contained in:
Dan Percic 2021-10-01 11:24:22 +03:00
parent 065fe432f6
commit 2ebc3060d7
4 changed files with 30 additions and 31 deletions

View File

@ -1,9 +1,9 @@
import {Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges} from '@angular/core'; import { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';
import {ViewedPages, ViewedPagesControllerService} from '@redaction/red-ui-http'; import { ViewedPages, ViewedPagesControllerService } from '@redaction/red-ui-http';
import {AppStateService} from '@state/app-state.service'; import { AppStateService } from '@state/app-state.service';
import {PermissionsService} from '@services/permissions.service'; import { PermissionsService } from '@services/permissions.service';
import {ConfigService} from '@services/config.service'; import { ConfigService } from '@services/config.service';
import {Subscription} from 'rxjs'; import { Subscription } from 'rxjs';
@Component({ @Component({
selector: 'redaction-page-indicator', selector: 'redaction-page-indicator',
@ -16,7 +16,7 @@ export class PageIndicatorComponent implements OnChanges, OnInit, OnDestroy {
@Input() viewedPages: ViewedPages; @Input() viewedPages: ViewedPages;
@Input() activeSelection = false; @Input() activeSelection = false;
@Output() pageSelected = new EventEmitter<number>(); @Output() readonly pageSelected = new EventEmitter<number>();
pageReadTimeout: number = null; pageReadTimeout: number = null;
canMarkPagesAsViewed: boolean; canMarkPagesAsViewed: boolean;
@ -27,8 +27,7 @@ export class PageIndicatorComponent implements OnChanges, OnInit, OnDestroy {
private readonly _appStateService: AppStateService, private readonly _appStateService: AppStateService,
private readonly _configService: ConfigService, private readonly _configService: ConfigService,
private readonly _permissionService: PermissionsService private readonly _permissionService: PermissionsService
) { ) {}
}
get read() { get read() {
return this.viewedPages?.pages?.findIndex(p => p.page === this.number) >= 0; return this.viewedPages?.pages?.findIndex(p => p.page === this.number) >= 0;
@ -96,9 +95,9 @@ export class PageIndicatorComponent implements OnChanges, OnInit, OnDestroy {
private _markPageRead() { private _markPageRead() {
this._viewedPagesControllerService this._viewedPagesControllerService
.addPage({page: this.number}, this._appStateService.activeDossierId, this._appStateService.activeFileId) .addPage({ page: this.number }, this._appStateService.activeDossierId, this._appStateService.activeFileId)
.subscribe(() => { .subscribe(() => {
this.viewedPages?.pages?.push({page: this.number, fileId: this._appStateService.activeFileId}); this.viewedPages?.pages?.push({ page: this.number, fileId: this._appStateService.activeFileId });
}); });
} }

View File

@ -1,11 +1,11 @@
import {Component} from '@angular/core'; import { Component } from '@angular/core';
import {MatDialogRef} from '@angular/material/dialog'; import { MatDialogRef } from '@angular/material/dialog';
import {DossierRequest, DownloadFileType, IDossierTemplate, ReportTemplate, ReportTemplateControllerService} from '@redaction/red-ui-http'; import { DownloadFileType, IDossier, IDossierTemplate, ReportTemplate, ReportTemplateControllerService } from '@redaction/red-ui-http';
import {FormBuilder, FormGroup, Validators} from '@angular/forms'; import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import {AppStateService} from '@state/app-state.service'; import { AppStateService } from '@state/app-state.service';
import * as moment from 'moment'; import * as moment from 'moment';
import {downloadTypesTranslations} from '../../../../translations/download-types-translations'; import { downloadTypesTranslations } from '../../../../translations/download-types-translations';
import {IconButtonTypes} from '@iqser/common-ui'; import { IconButtonTypes } from '@iqser/common-ui';
@Component({ @Component({
templateUrl: './add-dossier-dialog.component.html', templateUrl: './add-dossier-dialog.component.html',
@ -22,7 +22,6 @@ export class AddDossierDialogComponent {
})); }));
dossierTemplates: IDossierTemplate[]; dossierTemplates: IDossierTemplate[];
availableReportTypes = []; availableReportTypes = [];
reportTemplateValueMapper = (reportTemplate: ReportTemplate) => reportTemplate.templateId;
constructor( constructor(
private readonly _appStateService: AppStateService, private readonly _appStateService: AppStateService,
@ -45,7 +44,7 @@ export class AddDossierDialogComponent {
validators: control => validators: control =>
control.value.reportTemplateIds?.length > 0 || control.value.downloadFileTypes?.length > 0 control.value.reportTemplateIds?.length > 0 || control.value.downloadFileTypes?.length > 0
? null ? null
: {downloadPackage: true} : { downloadPackage: true }
} }
); );
} }
@ -66,18 +65,19 @@ export class AddDossierDialogComponent {
return this.dossierForm.invalid; return this.dossierForm.invalid;
} }
reportTemplateValueMapper = (reportTemplate: ReportTemplate) => reportTemplate.templateId;
async saveDossier() { async saveDossier() {
const savedDossier = await this._appStateService.createOrUpdateDossier(this._formToObject()); const savedDossier = await this._appStateService.createOrUpdateDossier(this._formToObject());
if (savedDossier) { if (savedDossier) {
this.dialogRef.close({dossier: savedDossier}); this.dialogRef.close({ dossier: savedDossier });
} }
} }
async saveDossierAndAddMembers() { async saveDossierAndAddMembers() {
const dossier: DossierRequest = this._formToObject(); const savedDossier = await this._appStateService.createOrUpdateDossier(this._formToObject());
const savedDossier = await this._appStateService.createOrUpdateDossier(dossier);
if (savedDossier) { 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, downloadFileTypes: dossierTemplate.downloadFileTypes,
reportTemplateIds: [] // TODO DEFAULT reportTemplateIds: [] // TODO DEFAULT
}, },
{emitEvent: false} { emitEvent: false }
); );
} else { } else {
this.availableReportTypes = []; this.availableReportTypes = [];
@ -103,7 +103,7 @@ export class AddDossierDialogComponent {
downloadFileTypes: [], downloadFileTypes: [],
reportTemplateIds: [] reportTemplateIds: []
}, },
{emitEvent: false} { emitEvent: false }
); );
} }
} }
@ -116,7 +116,7 @@ export class AddDossierDialogComponent {
}); });
} }
private _formToObject(): DossierRequest { private _formToObject(): Partial<IDossier> {
return { return {
dossierName: this.dossierForm.get('dossierName').value, dossierName: this.dossierForm.get('dossierName').value,
description: this.dossierForm.get('description').value, description: this.dossierForm.get('description').value,

View File

@ -1,5 +1,5 @@
import { Injectable, Injector } from '@angular/core'; 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 { EntitiesService, List, QueryParam } from '@iqser/common-ui';
import { Dossier } from '@state/model/dossier'; import { Dossier } from '@state/model/dossier';
import { filter, map } from 'rxjs/operators'; import { filter, map } from 'rxjs/operators';
@ -56,7 +56,7 @@ export class DossiersService extends EntitiesService<Dossier, IDossier> {
return dossierId ? super._getOne([dossierId]) : super.getAll(); return dossierId ? super._getOne([dossierId]) : super.getAll();
} }
createOrUpdate(dossier: IDossier): Promise<IDossier> { createOrUpdate(dossier: DossierRequest): Promise<IDossier> {
return this._post(dossier).toPromise(); return this._post(dossier).toPromise();
} }

View File

@ -1,5 +1,5 @@
import { Injectable } from '@angular/core'; 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 { Toaster } from '@iqser/common-ui';
import { TranslateService } from '@ngx-translate/core'; import { TranslateService } from '@ngx-translate/core';
import { Event, NavigationEnd, ResolveStart, Router } from '@angular/router'; import { Event, NavigationEnd, ResolveStart, Router } from '@angular/router';
@ -343,7 +343,7 @@ export class AppStateService {
); );
} }
async createOrUpdateDossier(dossier: IDossier) { async createOrUpdateDossier(dossier: DossierRequest) {
try { try {
const updatedDossier = await this._dossiersService.createOrUpdate(dossier); const updatedDossier = await this._dossiersService.createOrUpdate(dossier);
let foundDossier = this.allDossiers.find(p => p.id === updatedDossier.dossierId); let foundDossier = this.allDossiers.find(p => p.id === updatedDossier.dossierId);