From 577bc324172464989c7028f355045a8e1cee72d0 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Tue, 1 Feb 2022 18:01:27 +0200 Subject: [PATCH] view mode fixes --- .../annotation-actions.component.html | 2 +- .../annotations-list.component.scss | 1 + .../annotations-list.component.ts | 8 ++++ .../file-preview-screen.component.ts | 8 +--- .../services/view-mode.service.ts | 45 ++++++++++++++++--- 5 files changed, 50 insertions(+), 14 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html index 6502158f1..265b7d4cf 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html @@ -1,4 +1,4 @@ -
+
page + 1); await clearStamps(pdfDoc, pdfNet, allPages); - if (this.viewModeService.viewMode === 'REDACTED') { + if (this.viewModeService.isRedacted) { const dossier = this._dossiersService.find(this.dossierId); if (dossier.watermarkPreviewEnabled) { await this._stampPreview(pdfDoc, dossier.dossierTemplateId); @@ -617,10 +617,6 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni const currentFilters = this._filterService.getGroup('primaryFilters')?.filters || []; this.rebuildFilters(); - if (!this.viewModeService.isStandard) { - return; - } - const startTime = new Date().getTime(); const newAnnotations = newAnnotationsFilter ? this.visibleAnnotations.filter(newAnnotationsFilter) : this.visibleAnnotations; diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/view-mode.service.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/view-mode.service.ts index d38a0cc30..f24d66389 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/view-mode.service.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/view-mode.service.ts @@ -1,24 +1,36 @@ import { Injectable } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { ViewMode } from '@red/domain'; +import { map } from 'rxjs/operators'; +import { shareDistinctLast } from '@iqser/common-ui'; @Injectable() export class ViewModeService { readonly viewMode$: Observable; - readonly compareMode$: Observable; - private readonly _viewMode$ = new BehaviorSubject('STANDARD'); + readonly compareMode$: Observable; + readonly isRedacted$: Observable; + readonly isStandard$: Observable; + readonly isDelta$: Observable; - private readonly _compareMode$ = new BehaviorSubject(false); + private readonly _viewMode$ = new BehaviorSubject('STANDARD'); + private readonly _compareMode$ = new BehaviorSubject(false); constructor() { this.viewMode$ = this._viewMode$.asObservable(); this.compareMode$ = this._compareMode$.asObservable(); + this.isRedacted$ = this._is('REDACTED'); + this.isStandard$ = this._is('STANDARD'); + this.isDelta$ = this._is('DELTA'); } get viewMode() { return this._viewMode$.value; } + set viewMode(mode: ViewMode) { + this._viewMode$.next(mode); + } + get isStandard() { return this._viewMode$.value === 'STANDARD'; } @@ -31,10 +43,6 @@ export class ViewModeService { return this._viewMode$.value === 'REDACTED'; } - set viewMode(mode: ViewMode) { - this._viewMode$.next(mode); - } - get isCompare() { return this._compareMode$.value; } @@ -42,4 +50,27 @@ export class ViewModeService { set compareMode(compareMode: boolean) { this._compareMode$.next(compareMode); } + + switchToStandard() { + this._switchTo('STANDARD'); + } + + switchToDelta() { + this._switchTo('DELTA'); + } + + switchToRedacted() { + this._switchTo('REDACTED'); + } + + private _switchTo(mode: ViewMode) { + this._viewMode$.next(mode); + } + + private _is(mode: ViewMode) { + return this.viewMode$.pipe( + map(value => value === mode), + shareDistinctLast(), + ); + } }