RED-8882 - moved help mode dialog preference into iqser-user-preferences.service

This commit is contained in:
Valentin Mihai 2024-05-20 17:10:25 +03:00
parent 848e46cf6a
commit 174d77d2ea
3 changed files with 34 additions and 21 deletions

View File

@ -1,4 +1,6 @@
import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core'; import { ChangeDetectionStrategy, Component, OnDestroy, OnInit } from '@angular/core';
import { MatDialogRef } from '@angular/material/dialog';
import { BaseDialogComponent } from '../../dialog';
const HIGHER_CDK_OVERLAY_CONTAINER_ZINDEX = '1200'; const HIGHER_CDK_OVERLAY_CONTAINER_ZINDEX = '1200';
const DEFAULT_CDK_OVERLAY_CONTAINER_ZINDEX = '800'; const DEFAULT_CDK_OVERLAY_CONTAINER_ZINDEX = '800';
@ -8,12 +10,12 @@ const DEFAULT_CDK_OVERLAY_CONTAINER_ZINDEX = '800';
styleUrls: ['./help-mode-dialog.component.scss'], styleUrls: ['./help-mode-dialog.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush, changeDetection: ChangeDetectionStrategy.OnPush,
}) })
export class HelpModeDialogComponent implements OnInit, OnDestroy { export class HelpModeDialogComponent extends BaseDialogComponent implements OnInit, OnDestroy {
protected doNotShowAgainOption = false; protected doNotShowAgainOption = false;
// constructor(protected readonly _dialogRef: MatDialogRef<HelpModeDialogComponent>) { constructor(protected readonly _dialogRef: MatDialogRef<HelpModeDialogComponent>) {
// super(_dialogRef); super(_dialogRef);
// } }
ngOnInit(): void { ngOnInit(): void {
this._setCdkOverlayContainerZIndex(HIGHER_CDK_OVERLAY_CONTAINER_ZINDEX); this._setCdkOverlayContainerZIndex(HIGHER_CDK_OVERLAY_CONTAINER_ZINDEX);
@ -32,7 +34,7 @@ export class HelpModeDialogComponent implements OnInit, OnDestroy {
} }
close() { close() {
// return this._dialogRef.close(this.doNotShowAgainOption); return this._dialogRef.close(this.doNotShowAgainOption);
} }
private _setCdkOverlayContainerZIndex(zIndex: string): void { private _setCdkOverlayContainerZIndex(zIndex: string): void {

View File

@ -16,7 +16,7 @@ import {
ScrollableParentViews, ScrollableParentViews,
WEB_VIEWER_ELEMENTS, WEB_VIEWER_ELEMENTS,
} from './utils/constants'; } from './utils/constants';
import { getConfig } from '../services'; import { getConfig, IqserUserPreferenceService } from '../services';
import { MatDialog } from '@angular/material/dialog'; import { MatDialog } from '@angular/material/dialog';
export interface Helper { export interface Helper {
@ -53,6 +53,7 @@ export class HelpModeService {
private readonly _dialog: MatDialog, private readonly _dialog: MatDialog,
private readonly _rendererFactory: RendererFactory2, private readonly _rendererFactory: RendererFactory2,
private readonly _translateService: TranslateService, private readonly _translateService: TranslateService,
private readonly _iqserUserPreferenceService: IqserUserPreferenceService,
) { ) {
this.#renderer = this._rendererFactory.createRenderer(null, null); this.#renderer = this._rendererFactory.createRenderer(null, null);
} }
@ -66,20 +67,20 @@ export class HelpModeService {
} }
async openHelpModeDialog() { async openHelpModeDialog() {
// if (!this._userPreferencesService.getHelpModeDialog()) { if (!this._iqserUserPreferenceService.getHelpModeDialog()) {
// this.#helpModeDialogIsOpened$.next(true); this.#helpModeDialogIsOpened$.next(true);
//
// const ref = this._dialog.open(HelpModeDialogComponent, { const ref = this._dialog.open(HelpModeDialogComponent, {
// width: '600px', width: '600px',
// }); });
//
// firstValueFrom(ref.afterClosed()).then(result => { firstValueFrom(ref.afterClosed()).then(result => {
// this.#helpModeDialogIsOpened$.next(false); this.#helpModeDialogIsOpened$.next(false);
// if (result) { if (result) {
// this._userPreferencesService.toggleHelpModeDialog(); this._iqserUserPreferenceService.toggleHelpModeDialog();
// } }
// }); });
// } }
} }
activateHelpMode(dialogMode: boolean = false): void { activateHelpMode(dialogMode: boolean = false): void {

View File

@ -6,9 +6,10 @@ import { APP_BASE_HREF } from '@angular/common';
export type UserAttributes = Record<string, List>; export type UserAttributes = Record<string, List>;
const KEYS = { export const KEYS = {
language: 'Language', language: 'Language',
theme: 'Theme', theme: 'Theme',
helpModeDialog: 'HelpModeDialog',
} as const; } as const;
@Injectable() @Injectable()
@ -43,6 +44,15 @@ export abstract class IqserUserPreferenceService extends GenericService<UserAttr
await this.save(KEYS.language, language); await this.save(KEYS.language, language);
} }
getHelpModeDialog(): boolean {
return this._getAttribute(KEYS.helpModeDialog, 'false') === 'true';
}
async toggleHelpModeDialog(): Promise<void> {
const nextValue = (!this.getHelpModeDialog()).toString();
await this.save(KEYS.helpModeDialog, nextValue);
}
toggleDevFeatures(): void { toggleDevFeatures(): void {
sessionStorage.setItem(this._devFeaturesEnabledKey, String(!this.isIqserDevMode)); sessionStorage.setItem(this._devFeaturesEnabledKey, String(!this.isIqserDevMode));
window.location.reload(); window.location.reload();