solved comments

This commit is contained in:
Valentin 2021-08-17 11:56:21 +03:00
parent 94847c7fbd
commit b1ee9495ad

View File

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