From 2122a6b6368030f5772e59674c1c6cb8c3a4cf48 Mon Sep 17 00:00:00 2001 From: Nicolas Oudard Date: Thu, 5 Sep 2024 11:40:34 +0200 Subject: [PATCH] =?UTF-8?q?Activation=20des=20filtres=20qui=20concernent?= =?UTF-8?q?=20la=20r=C3=A9paration=20en=20mode=20carte=20(#844)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/search_solution_form_controller.ts | 52 ++++++++++++++----- 1 file changed, 38 insertions(+), 14 deletions(-) diff --git a/static/to_compile/src/search_solution_form_controller.ts b/static/to_compile/src/search_solution_form_controller.ts index b764acdf2..8043c432d 100644 --- a/static/to_compile/src/search_solution_form_controller.ts +++ b/static/to_compile/src/search_solution_form_controller.ts @@ -115,31 +115,53 @@ export default class extends Controller { connect() { this.displayActionList() + if (!this.isIframeValue) { this.scrollToContent() } } activeReparerFilters(activate: boolean = true) { - if (this.#selectedOption == "jai") { - if (this.reparerInputTarget.checked) { - this.reparerFilterTargets.forEach((element: HTMLInputElement) => { - element.disabled = false - }) - return + // Carte mode + this.activeReparerFiltersCarte() + + // Form mode + this.activeReparerFiltersForm() + } + + activeReparerFiltersForm() { + if (this.groupedActionInputTargets.length == 0) { + if (this.#selectedOption == "jai") { + if (this.reparerInputTarget.checked) { + this.reparerFilterTargets.forEach((element: HTMLInputElement) => { + element.disabled = false + }) + return + } } + this.reparerFilterTargets.forEach((element: HTMLInputElement) => { + element.disabled = true + }) } - this.reparerFilterTargets.forEach((element: HTMLInputElement) => { - element.disabled = true - }) } - activeReparerFiltersCarte(event: Event) { - const target = event.target as HTMLInputElement - if (target.value == "reparer") { - this.reparerFilterTargets.forEach((element: HTMLInputElement) => { - element.disabled = !target.checked + activeReparerFiltersCarte() { + if (this.groupedActionInputTargets.length > 0) { + let reparerFilterIsDisplayed = false + this.groupedActionInputTargets.forEach((groupedActionInput) => { + if (groupedActionInput.value == "reparer") { + reparerFilterIsDisplayed = true + this.reparerFilterTargets.forEach((element: HTMLInputElement) => { + element.disabled = !groupedActionInput.checked + }) + } + return reparerFilterIsDisplayed }) + if (!reparerFilterIsDisplayed) { + this.reparerFilterTargets.forEach((element: HTMLInputElement) => { + element.disabled = true + }) + } } } @@ -296,6 +318,8 @@ export default class extends Controller { groupedActionInput.checked = eventTarget.checked } }) + // Mode Carte + this.activeReparerFiltersCarte() this.advancedSubmit(event) }