From b1ee9495ad023504122092e35b0efa0304e16a22 Mon Sep 17 00:00:00 2001 From: Valentin Date: Tue, 17 Aug 2021 11:56:21 +0300 Subject: [PATCH] solved comments --- .../shared/services/help-mode.service.ts | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/apps/red-ui/src/app/modules/shared/services/help-mode.service.ts b/apps/red-ui/src/app/modules/shared/services/help-mode.service.ts index e9f09f454..ead68d7c8 100644 --- a/apps/red-ui/src/app/modules/shared/services/help-mode.service.ts +++ b/apps/red-ui/src/app/modules/shared/services/help-mode.service.ts @@ -2,6 +2,15 @@ import { Injectable, Renderer2, RendererFactory2 } from '@angular/core'; import { HelpModeDialogComponent } from '@components/help-mode-dialog/help-mode-dialog.component'; import { MatDialog } from '@angular/material/dialog'; +interface Helper { + readonly element: HTMLElement; + readonly helperElement: HTMLElement; +} + +interface HelpElement { + [key: string]: Helper; +} + @Injectable({ providedIn: 'root' }) @@ -9,7 +18,7 @@ export class HelpModeService { isHelpModeActive = false; helpModeDialogIsOpened = false; - private _elements = {}; + private _elements: HelpElement = {}; private readonly _renderer: Renderer2; @@ -41,8 +50,7 @@ export class HelpModeService { } highlightHelperElements() { - for (const key of Object.keys(this._elements)) { - const helperElement = this._elements[key].helperElement; + for (const { helperElement } of Object.values(this._elements)) { this._renderer.addClass(helperElement, 'highlight'); setTimeout(() => { this._renderer.removeClass(helperElement, 'highlight'); @@ -50,25 +58,19 @@ export class HelpModeService { } } - addElement(elementName, element, helperElement) { + addElement(elementName: string, element: HTMLElement, helperElement: HTMLElement) { this._elements[elementName] = { element, helperElement }; } private _enableHelperElements() { - for (const key of Object.keys(this._elements)) { - const element = this._elements[key].element; - const helperElement = this._elements[key].helperElement; - + for (const { element, helperElement } of Object.values(this._elements)) { this._renderer.setStyle(element, 'position', 'relative'); this._renderer.appendChild(element, helperElement); } } private _disableHelperElements() { - for (const key of Object.keys(this._elements)) { - const element = this._elements[key].element; - const helperElement = this._elements[key].helperElement; - + for (const { element, helperElement } of Object.values(this._elements)) { this._renderer.removeStyle(element, 'position'); this._renderer.removeChild(element, helperElement); }