Skip to content

Commit c053a42

Browse files
committed
sorting im frontend auswählbar
1 parent 1ac726c commit c053a42

4 files changed

Lines changed: 19 additions & 4 deletions

File tree

app/routes.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def iban(iban) -> str:
6666
amount_min, float (query): Betragsfilter (größer gleich amount_min)
6767
amount_max, float (query): Betragsfilter (kleiner gleich amount_max)
6868
page, int (query): Seite für die Paginierung (default: 1)
69-
ascending, bool (query): Sortierreihenfolge nach Datum (default: False)
69+
descending, bool (query): Sortierreihenfolge nach Datum (default: True)
7070
Returns:
7171
html: Startseite mit Navigation
7272
"""
@@ -78,8 +78,8 @@ def iban(iban) -> str:
7878

7979
# Table with Transactions
8080
current_app.logger.debug(f"Using condition filter: {condition}")
81-
rows = parent.db_handler.select(iban, condition,
82-
descending=bool(request.args.get('descending', True)))
81+
sort_order = request.args.get('descending', 'true').lower() == 'true'
82+
rows = parent.db_handler.select(iban, condition, descending=sort_order)
8383

8484
# If pagination is requested, do not serve the whole page and all metadata
8585
entries_per_page = 50

app/static/js/functions.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,12 @@ function getFilteredList() {
8888
arg_concat = '&';
8989
}
9090

91+
let sort_order = document.getElementById('filter-descending').value;
92+
if (sort_order) {
93+
query_args = query_args + arg_concat + 'descending=' + sort_order;
94+
arg_concat = '&';
95+
}
96+
9197
return query_args;
9298
}
9399

app/templates/macros.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ <h2>Transaktionen filtern</h2>
5959
</header>
6060

6161
<label>
62-
Datum
62+
Datum / Reihenfolge
6363
<div class="grid">
6464
<input type="date" id="filter-range-start" placeholder="Start Date: d.m.Y"
6565
{% if 'startDate' in filters %}
@@ -75,6 +75,10 @@ <h2>Transaktionen filtern</h2>
7575
value=""
7676
{% endif %}
7777
/>
78+
<select id="filter-descending">
79+
<option value="true" {{"selected" if not filters.descending or filters.descending == 'true'}}>absteigend</option>
80+
<option value="false" {{"selected" if filters.descending and filters.descending == 'false'}}>aufsteigend</option>
81+
</select>
7882
</div>
7983
</label>
8084
<label>

app/ui.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,11 @@ def filter_to_condition(self, get_args: dict) -> list:
120120
except ValueError:
121121
continue
122122

123+
# - Sort direction
124+
sort_desc = get_args.get('descending')
125+
if sort_desc is not None:
126+
frontend_filters['descending'] = sort_desc
127+
123128
# - Filter for Category
124129
cat_filter = get_args.get('category')
125130
if cat_filter is not None:

0 commit comments

Comments
 (0)