Merge branch 'RED-8217' into 'master'

RED-8217: fixed layout grid toggle.

See merge request redactmanager/red-ui!334
This commit is contained in:
Dan Percic 2024-03-08 11:48:14 +01:00
commit 504ad25036

View File

@ -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);
}),
);