From 6670bb7c82894ce8ae7ea356ba30bc36dcb29751 Mon Sep 17 00:00:00 2001 From: Andreas Knuth Date: Fri, 12 Jun 2026 10:56:04 -0500 Subject: [PATCH] new filter struktur --- public/js/views/invoice-view.js | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/public/js/views/invoice-view.js b/public/js/views/invoice-view.js index bcf5b06..ea5a6b5 100644 --- a/public/js/views/invoice-view.js +++ b/public/js/views/invoice-view.js @@ -589,7 +589,7 @@ export function injectToolbar() {
+ class="px-3 py-1.5 border border-gray-300 rounded-md text-sm flex-1 min-w-[140px] max-w-[320px] focus:ring-blue-500 focus:border-blue-500">
@@ -621,10 +621,18 @@ export function injectToolbar() {
+ class="px-3 py-1.5 border border-gray-300 rounded-md text-sm flex-1 min-w-[140px] max-w-[320px] focus:ring-blue-500 focus:border-blue-500">
+ ... 0 invoices @@ -657,6 +665,24 @@ export function injectToolbar() { // ============================================================ export function setStatus(s) { filterStatus = s; saveSettings(); renderInvoiceView(); } +export function resetFilters() { + filterStatus = 'all'; + filterCustomer = ''; + filterWorker = ''; + filterCategory = ''; + filterItemSearch = ''; + saveSettings(); + // Update DOM to reflect cleared values before reloading + const custEl = document.getElementById('invoice-filter-customer'); + const workerEl = document.getElementById('invoice-filter-worker'); + const catEl = document.getElementById('invoice-filter-category'); + const searchEl = document.getElementById('invoice-filter-item-search'); + if (custEl) custEl.value = ''; + if (workerEl) workerEl.value = ''; + if (catEl) catEl.value = ''; + if (searchEl) searchEl.value = ''; + loadInvoices(); +} export function viewPDF(id) { window.open(`/api/invoices/${id}/pdf`, '_blank'); } export function viewHTML(id) { window.open(`/api/invoices/${id}/html`, '_blank'); } @@ -897,5 +923,5 @@ async function populateWorkerFilter() { window.invoiceView = { viewPDF, viewHTML, syncFromQBO, resetQbo, markPaid, setEmailStatus, edit, remove, - loadInvoices, renderInvoiceView, setStatus, checkStripePayment, editSentDates ,_addSentDateRow, _saveSentDates + loadInvoices, renderInvoiceView, setStatus, resetFilters, checkStripePayment, editSentDates ,_addSentDateRow, _saveSentDates }; \ No newline at end of file