Files
maybe/app/javascript/controllers/transaction_form_controller.js
Diego Gaspa a6908429ea Fix: Filter categories by transaction type in forms
Changed transaction form to only display relevant categories based on transaction type (income or expense), improving usability and preventing misclassification. Created a shared transaction type tabs component for consistent navigation between expense, income, and transfer forms, providing a better user experience and reducing code duplication.
2025-04-22 11:51:17 -06:00

23 lines
752 B
JavaScript

import {Controller} from "@hotwired/stimulus"
export default class extends Controller {
static targets = ["expenseCategories", "incomeCategories"]
connect() {
this.updateCategories()
}
updateCategories(event) {
const natureField = this.element.querySelector('input[name="account_entry[nature]"]:checked')
const natureValue = natureField ? natureField.value : 'outflow'
if (natureValue === 'inflow') {
this.expenseCategoriesTarget.classList.add('hidden')
this.incomeCategoriesTarget.classList.remove('hidden')
} else {
this.expenseCategoriesTarget.classList.remove('hidden')
this.incomeCategoriesTarget.classList.add('hidden')
}
}
}