From 289b42aaa0a48a66508808ace6a474ab71d06e15 Mon Sep 17 00:00:00 2001 From: Nicoleta Panaghiu Date: Fri, 8 Mar 2024 12:44:41 +0200 Subject: [PATCH] RED-8217: fixed layout grid toggle. --- .../modules/pdf-viewer/services/viewer-header.service.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts b/apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts index 1f1b9717e..78b7dee74 100644 --- a/apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts +++ b/apps/red-ui/src/app/modules/pdf-viewer/services/viewer-header.service.ts @@ -4,7 +4,7 @@ import { TranslateService } from '@ngx-translate/core'; import { IHeaderElement, RotationTypes } from '@red/domain'; import { FilesMapService } from '@services/files/files-map.service'; import { Roles } from '@users/roles'; -import { fromEvent, merge, Observable, Subject, timer } from 'rxjs'; +import { fromEvent, merge, Observable, Subject } from 'rxjs'; import { filter, map, switchMap, tap } from 'rxjs/operators'; import { HeaderElements, HeaderElementType } from '../../file-preview/utils/constants'; import { ROTATION_ACTION_BUTTONS, ROTATION_BUTTONS, ViewerEvents } from '../utils/constants'; @@ -71,11 +71,14 @@ export class ViewerHeaderService { } get layersUpdated() { - const documentListener$ = timer(1000).pipe(switchMap(() => fromEvent(this._documentViewer.document, 'layersUpdated'))); + const documentListener$ = this._documentViewer.loaded$.pipe( + filter(Boolean), + switchMap(() => fromEvent(this._documentViewer.document, 'layersUpdated')), + ); return documentListener$.pipe( tap(async () => { const layers = await this._documentViewer.document.getLayersArray(); - const layersVisible = layers.every(layer => layer.visible); + const layersVisible = layers.filter(layer => layer.name === 'Layout grid').every(layer => layer.visible); this._layersService.active.set(layersVisible); }), );