From bda636776e47ddcbe2b960047c0749ea7b3ba173 Mon Sep 17 00:00:00 2001 From: kurilova Date: Fri, 8 Aug 2025 11:08:56 +0000 Subject: [PATCH] Get updated tip element after timeout to prevent focus previous (undefined) tip --- .../ui/src/app/components/help-tip/help-tip.component.ts | 2 +- .../device-qualification-from.component.ts | 8 +++++--- modules/ui/src/app/pages/devices/devices.component.ts | 8 +++++++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/modules/ui/src/app/components/help-tip/help-tip.component.ts b/modules/ui/src/app/components/help-tip/help-tip.component.ts index 300602165..c19680bf7 100644 --- a/modules/ui/src/app/components/help-tip/help-tip.component.ts +++ b/modules/ui/src/app/components/help-tip/help-tip.component.ts @@ -61,8 +61,8 @@ export class HelpTipComponent implements OnInit { } private setFocus(): void { - const helpTipEl = window.document.querySelector('.tip'); timer(200).subscribe(() => { + const helpTipEl = window.document.querySelector('.tip'); this.focusManagerService.focusFirstElementInContainer(helpTipEl); }); } diff --git a/modules/ui/src/app/pages/devices/components/device-qualification-from/device-qualification-from.component.ts b/modules/ui/src/app/pages/devices/components/device-qualification-from/device-qualification-from.component.ts index 17f9b4d94..a34b96493 100644 --- a/modules/ui/src/app/pages/devices/components/device-qualification-from/device-qualification-from.component.ts +++ b/modules/ui/src/app/pages/devices/components/device-qualification-from/device-qualification-from.component.ts @@ -246,9 +246,11 @@ export class DeviceQualificationFromComponent implements OnInit, AfterViewInit { if (question.type === FormControlType.SELECT_MULTIPLE) { const answer: number[] = []; question.options?.forEach((_, idx) => { - const value = this.deviceQualificationForm.value[index][idx]; - if (value) { - answer.push(idx); + if (this.deviceQualificationForm.value[index]) { + const value = this.deviceQualificationForm.value[index][idx]; + if (value) { + answer.push(idx); + } } }); response.answer = answer; diff --git a/modules/ui/src/app/pages/devices/devices.component.ts b/modules/ui/src/app/pages/devices/devices.component.ts index 1f37825f8..1fb592403 100644 --- a/modules/ui/src/app/pages/devices/devices.component.ts +++ b/modules/ui/src/app/pages/devices/devices.component.ts @@ -317,7 +317,13 @@ export class DevicesComponent const device = this.element.nativeElement.querySelectorAll( 'app-device-item .button-edit' )[index]; - device?.focus(); + if (!this.hasDeviceTip()) { + device?.focus(); + } + } + + private hasDeviceTip() { + return window.document.querySelector('.tip'); } private focusAddButton(): void {