From c905fcbed4ba82455166375cfbab4a1febe3df66 Mon Sep 17 00:00:00 2001 From: Miodec Date: Fri, 22 Mar 2024 20:32:47 +0100 Subject: [PATCH] impr: focus first non hidden input instead of just the first one --- frontend/src/ts/utils/animated-modal.ts | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/frontend/src/ts/utils/animated-modal.ts b/frontend/src/ts/utils/animated-modal.ts index 3fe131952..de5a8246b 100644 --- a/frontend/src/ts/utils/animated-modal.ts +++ b/frontend/src/ts/utils/animated-modal.ts @@ -161,18 +161,18 @@ export default class AnimatedModal { } focusFirstInput(setting: true | "focusAndSelect" | undefined): void { - const input = this.modalEl.querySelector("input"); - if (input !== null) { - const isHidden = input.classList.contains("hidden"); - if (isHidden) { - this.wrapperEl.focus(); + const inputs = [...this.modalEl.querySelectorAll("input")]; + const input = inputs.filter( + (input) => !input.classList.contains("hidden") + )[0]; + if (input !== undefined && input !== null) { + if (setting === true) { + input.focus(); + } else if (setting === "focusAndSelect") { + input.focus(); + input.select(); } else { - if (setting === true) { - input.focus(); - } else if (setting === "focusAndSelect") { - input.focus(); - input.select(); - } + this.wrapperEl.focus(); } } else { this.wrapperEl.focus();