From d12bde2b1e73f792a853558ec31c3867c23eebfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Fri, 17 Nov 2023 23:15:18 +0100 Subject: [PATCH] Reveal the invalid field in a collapse if a validation error occurs --- assets/js/tab_remember.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/assets/js/tab_remember.js b/assets/js/tab_remember.js index 9ecd71c5..1bf35db5 100644 --- a/assets/js/tab_remember.js +++ b/assets/js/tab_remember.js @@ -19,7 +19,7 @@ "use strict"; -import {Tab, Dropdown} from "bootstrap"; +import {Tab, Dropdown, Collapse} from "bootstrap"; import tab from "bootstrap/js/src/tab"; /** @@ -54,6 +54,7 @@ class TabRememberHelper { const first_element = merged[0] ?? null; if(first_element) { this.revealElementOnTab(first_element); + this.revealElementInCollapse(first_element); } } @@ -62,10 +63,20 @@ class TabRememberHelper { * @param event */ onInvalid(event) { + this.revealElementInCollapse(event.target); this.revealElementOnTab(event.target); this.revealElementInDropdown(event.target); } + revealElementInCollapse(element) { + let collapse = element.closest('.collapse'); + + if(collapse) { + let bs_collapse = Collapse.getOrCreateInstance(collapse); + bs_collapse.show(); + } + } + revealElementInDropdown(element) { let dropdown = element.closest('.dropdown-menu');