From 9aeffc5b3b39e256688990bb651f625b98e40219 Mon Sep 17 00:00:00 2001 From: James Cole Date: Tue, 29 Sep 2026 18:30:50 +0200 Subject: [PATCH] First version of working filter. --- app/Support/Request/ConvertsDataTypes.php | 4 ++-- .../assets/v3/js/pages/accounts/index.js | 22 ++++++++++++------- resources/views/accounts/index.blade.php | 17 +++++++++----- 3 files changed, 27 insertions(+), 16 deletions(-) diff --git a/app/Support/Request/ConvertsDataTypes.php b/app/Support/Request/ConvertsDataTypes.php index 97a204abd8..bb154f1b2d 100644 --- a/app/Support/Request/ConvertsDataTypes.php +++ b/app/Support/Request/ConvertsDataTypes.php @@ -200,8 +200,8 @@ trait ConvertsDataTypes $validParameters = config(sprintf('firefly.allowed_filter_parameters.%s', $shortClass)); $return = []; foreach($parameter as $key => $search) { - if(in_array($key, $validParameters) && strlen($search) <= 50) { - $return[$key] = trim($search); + if(in_array($key, $validParameters) && strlen((string)$search) <= 50) { + $return[$key] = trim((string)$search); } } return $return; diff --git a/resources/assets/v3/js/pages/accounts/index.js b/resources/assets/v3/js/pages/accounts/index.js index 2eb10a446e..7a1fb0c4db 100644 --- a/resources/assets/v3/js/pages/accounts/index.js +++ b/resources/assets/v3/js/pages/accounts/index.js @@ -74,12 +74,12 @@ let index = function () { updateHistory() { if (history.pushState) { // TODO fix this. -let obj = { - page: this.page, - column: this.sortColumn, - direction: this.sortDirection, - filter: this.filter -}; + let obj = { + page: this.page, + column: this.sortColumn, + direction: this.sortDirection, + filter: this.filter + }; let string = new URLSearchParams(obj).toString(); string = this.objectToQueryString(obj); let newUrl = @@ -87,11 +87,17 @@ let obj = { "//" + window.location.host + window.location.pathname + - "?" +string; + "?" + string; window.history.pushState({path: newUrl}, "", newUrl); window.store.set(this.storageKey, {column: this.sortColumn, direction: this.sortDirection}); } }, + updateFilterValue(field, newValue) { + console.log('Update', field, newValue); + this.filter[field] = newValue; + this.updateHistory(); + this.downloadAccounts(); + }, init() { this.anonymous = window.store.get("anonymous"); this.handleFunc = this.handlePageClick.bind(this); @@ -164,7 +170,7 @@ let obj = { // add filterable click events. document.querySelectorAll("table.sortable .search-button").forEach((el) => { - el.addEventListener("click", () => { + el.addEventListener("click", () => { let column = el.dataset.column; // hide search buttons etc. el.classList.add('d-none'); diff --git a/resources/views/accounts/index.blade.php b/resources/views/accounts/index.blade.php index 535bf605ab..6f635c904a 100644 --- a/resources/views/accounts/index.blade.php +++ b/resources/views/accounts/index.blade.php @@ -18,11 +18,7 @@ :linkTitle="__('firefly.make_new_'. $objectType . '_account')"/>
-
-
- {{ __('firefly.thinking') }} -
-
+ @@ -35,7 +31,7 @@ {{ trans('list.name') }} 
- +
@@ -83,6 +79,15 @@ :class="{'w-15': true,'text-end': true, 'd-lg-table-cell': true, 'd-none': true, 'sortable': true, 'sortable_sorted': 'balance_difference' === sortColumn, 'sortable_sorted_asc': 'asc' === sortDirection, 'sortable_sorted_desc': 'desc' === sortDirection }">{{ trans('list.balanceDiff') }} + + +
 
+
+
+ {{ __('firefly.thinking') }} +
+
+