diff --git a/projects/common/components/input-elements/text-area-math/text-area-math.component.ts b/projects/common/components/input-elements/text-area-math/text-area-math.component.ts index 09929a6726df56cb7ea543741da1099ff2e1cfca..39969cce9eaa0111bb976dc3501799e28b606b72 100644 --- a/projects/common/components/input-elements/text-area-math/text-area-math.component.ts +++ b/projects/common/components/input-elements/text-area-math/text-area-math.component.ts @@ -91,15 +91,20 @@ export class TextAreaMathComponent extends TextInputComponent implements OnInit if (this.segments.length === 0) { this.addStartSegment(); // wait for rendering of segments - setTimeout(() => this.addNewSegments()); + setTimeout(() => this.addNewSegments(false)); } else { - this.addNewSegments(); + this.addNewSegments(true); } } - private addNewSegments() { + private addNewSegments(withFocusUpdate: boolean) { this.segments = this.elementFormControl.value; - this.updateFocus(this.selectedFocus.value); + if (withFocusUpdate) { + this.updateFocus(this.selectedFocus.value); + } else { + RangeSelectionService + .setRange(this.segmentComponents.toArray()[this.selectedFocus.value].inputComponent.inputRef.nativeElement); + } const range = RangeSelectionService.getRange(); if (!range) return; diff --git a/projects/common/services/range-selection-service.ts b/projects/common/services/range-selection-service.ts index 816961d7072eec4a2afa608510fa4aff6e413792..f1bf859798986083406e11d8449b712248efdc4f 100644 --- a/projects/common/services/range-selection-service.ts +++ b/projects/common/services/range-selection-service.ts @@ -36,6 +36,14 @@ export class RangeSelectionService { return { start, end }; } + static setRange(element: HTMLElement) { + const range = document.createRange(); + range.selectNode(element); + const selection = window.getSelection(); + selection?.removeAllRanges(); + selection?.addRange(range); + } + static setSelectionRange( inputElement: HTMLElement, start: number, diff --git a/projects/player/modules/logging/services/log.service.ts b/projects/player/modules/logging/services/log.service.ts index 47ad6e1470521a76f710c99328d720ea766cdfb1..651ce17b326927578aeda3f932f784ed34945986 100644 --- a/projects/player/modules/logging/services/log.service.ts +++ b/projects/player/modules/logging/services/log.service.ts @@ -6,7 +6,7 @@ export enum LogLevel { NONE = 0, ERROR = 1, WARN = 2, INFO = 3, DEBUG = 4 } providedIn: 'root' }) export class LogService { - static level: LogLevel = 4; + static level: LogLevel = 0; static error(...args: unknown[]): void { if (LogService.level >= LogLevel.ERROR) {