Files
sure/app/javascript/controllers/transactions_search_controller.js
Ciocanel Razvan cca779d3c4 Feat transactions search (#532)
* gem: Add ransack gem

* feat: Implement transactions search
2024-03-11 08:51:16 -04:00

30 lines
689 B
JavaScript

import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
static targets = ["search", "date"]
connect() {
this.timeout = null
}
search() {
clearTimeout(this.timeout);
this.timeout = setTimeout(() => {
this.submitForm();
}, 300); // Debounce time in milliseconds
}
submitForm() {
const formData = new FormData(this.searchTarget.form);
const searchParams = new URLSearchParams(formData).toString();
const newUrl = `${window.location.pathname}?${searchParams}`;
history.pushState({}, '', newUrl);
this.searchTarget.form.requestSubmit();
}
afterSubmit() {
this.searchTarget.focus();
}
}