Keep the last search in place

https://app.box-car.com/5986089/cards/2703
This commit is contained in:
Jorge Manrubia
2025-11-03 09:25:46 +01:00
parent bfc0b75e6c
commit b76ff27b96
3 changed files with 18 additions and 18 deletions
+14 -15
View File
@@ -2,7 +2,7 @@ import { Controller } from "@hotwired/stimulus"
import { post } from "@rails/request.js"
export default class extends Controller {
static targets = [ "turboFrame", "searchInput", "buttonsContainer" ]
static targets = [ "turboFrame", "search", "searchInput", "form", "buttonsContainer" ]
static outlets = [ "dialog" ]
static values = {
searchUrl: String,
@@ -17,18 +17,13 @@ export default class extends Controller {
this.dialogOutlet.close()
this.#clearTurboFrame()
this.searchInputTarget.querySelector("input").value = ""
this.#showItem(this.buttonsContainerTarget)
this.#hideItem(this.searchInputTarget)
this.#hideItem(this.searchTarget)
}
showModalAndSubmit(event) {
event.preventDefault()
const form = event.target.closest("form")
this.showModal()
form.requestSubmit()
this.formTarget.requestSubmit()
}
showModal() {
@@ -36,10 +31,18 @@ export default class extends Controller {
}
search(event) {
this.#openInTurboFrame(this.searchUrlValue)
this.#showItem(this.searchInputTarget)
this.#showItem(this.searchTarget)
this.#hideItem(this.buttonsContainerTarget)
if (this.searchInputTarget.value.trim()) {
this.showModalAndSubmit()
} else {
this.#loadTurboFrame()
}
}
#loadTurboFrame() {
this.turboFrameTarget.src = this.searchUrlValue
}
#clearTurboFrame() {
@@ -47,10 +50,6 @@ export default class extends Controller {
this.turboFrameTarget.innerHtml = ""
}
#openInTurboFrame(url) {
this.turboFrameTarget.src = url
}
#showItem(element) {
element.removeAttribute("hidden")