Skip to content

Commit 3a95049

Browse files
committed
INTEGRITY: Add default state for sorting along with ascending and descending.
1 parent d8665df commit 3a95049

File tree

9 files changed

+59
-25
lines changed

9 files changed

+59
-25
lines changed

fileset.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
@app.route("/")
3939
def index():
40-
return redirect(url_for("logs", sort="id-desc"))
40+
return redirect(url_for("logs"))
4141

4242

4343
@app.route("/home")
@@ -142,8 +142,8 @@ def fileset():
142142
<div class="nav-buttons">
143143
<a href="{{{{ url_for('user_games_list') }}}}">User Games List</a>
144144
<a href="{{{{ url_for('ready_for_review') }}}}">Ready for review</a>
145-
<a href="{{{{ url_for('fileset_search', sort='fileset-asc') }}}}">Fileset Search</a>
146-
<a href="{{{{ url_for('logs', sort='id-desc') }}}}">Logs</a>
145+
<a href="{{{{ url_for('fileset_search') }}}}">Fileset Search</a>
146+
<a href="{{{{ url_for('logs') }}}}">Logs</a>
147147
<a href="{{{{ url_for('config') }}}}">Config</a>
148148
</div>
149149
</nav>
@@ -508,8 +508,8 @@ def merge_fileset(id):
508508
<div class="nav-buttons">
509509
<a href="{{{{ url_for('user_games_list') }}}}">User Games List</a>
510510
<a href="{{{{ url_for('ready_for_review') }}}}">Ready for review</a>
511-
<a href="{{{{ url_for('fileset_search', sort='fileset-asc') }}}}">Fileset Search</a>
512-
<a href="{{{{ url_for('logs', sort='id-desc') }}}}">Logs</a>
511+
<a href="{{{{ url_for('fileset_search') }}}}">Fileset Search</a>
512+
<a href="{{{{ url_for('logs') }}}}">Logs</a>
513513
<a href="{{{{ url_for('config') }}}}">Config</a>
514514
</div>
515515
</nav>
@@ -558,8 +558,8 @@ def merge_fileset(id):
558558
<div class="nav-buttons">
559559
<a href="{{ url_for('user_games_list') }}">User Games List</a>
560560
<a href="{{ url_for('ready_for_review') }}">Ready for review</a>
561-
<a href="{{ url_for('fileset_search', sort='fileset-asc') }}">Fileset Search</a>
562-
<a href="{{ url_for('logs', sort='id-desc') }}">Logs</a>
561+
<a href="{{ url_for('fileset_search') }}">Fileset Search</a>
562+
<a href="{{ url_for('logs') }}">Logs</a>
563563
<a href="{{ url_for('config') }}">Config</a>
564564
</div>
565565
</nav>
@@ -628,8 +628,8 @@ def possible_merge_filesets(id):
628628
<div class="nav-buttons">
629629
<a href="{{{{ url_for('user_games_list') }}}}">User Games List</a>
630630
<a href="{{{{ url_for('ready_for_review') }}}}">Ready for review</a>
631-
<a href="{{{{ url_for('fileset_search', sort='fileset-asc') }}}}">Fileset Search</a>
632-
<a href="{{{{ url_for('logs', sort='id-desc') }}}}">Logs</a>
631+
<a href="{{{{ url_for('fileset_search') }}}}">Fileset Search</a>
632+
<a href="{{{{ url_for('logs') }}}}">Logs</a>
633633
<a href="{{{{ url_for('config') }}}}">Config</a>
634634
</div>
635635
</nav>
@@ -839,8 +839,8 @@ def highlight_differences(source, target):
839839
<div class="nav-buttons">
840840
<a href="{{ url_for('user_games_list') }}">User Games List</a>
841841
<a href="{{ url_for('ready_for_review') }}">Ready for review</a>
842-
<a href="{{ url_for('fileset_search', sort='fileset-asc') }}">Fileset Search</a>
843-
<a href="{{ url_for('logs', sort='id-desc') }}">Logs</a>
842+
<a href="{{ url_for('fileset_search') }}">Fileset Search</a>
843+
<a href="{{ url_for('logs') }}">Logs</a>
844844
<a href="{{ url_for('config') }}">Config</a>
845845
</div>
846846
</nav>

pagination.py

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from flask import Flask, request
1+
from flask import Flask, request, url_for
22
import pymysql
33
import json
44
import re
@@ -143,7 +143,7 @@ def create_page(
143143

144144
# Initial html code including the navbar is stored in a separate html file.
145145
html = ""
146-
navbar_path = os.path.join(app.root_path, "static", "navbar.html.txt")
146+
navbar_path = os.path.join(app.root_path, "static", "navbar_string.html")
147147
with open(navbar_path, "r") as f:
148148
html = f.read()
149149

@@ -205,21 +205,41 @@ def create_page(
205205
current_sort = request.args.get("sort", "")
206206
sort_key, sort_dir = (current_sort.split("-") + ["asc"])[:2]
207207

208+
# Adding heading links with sorting
208209
for key in filters.keys():
209210
base_params = {k: v for k, v in request.args.items() if k != "sort"}
211+
icon_path = "icons/filter/"
212+
icon_name = ""
210213

211214
if key == sort_key:
212-
next_sort_dir = "asc" if sort_dir == "desc" else "desc"
213-
arrow = "▼" if sort_dir == "desc" else "▲"
214-
sort_param = f"{key}-{next_sort_dir}"
215+
if sort_dir == "asc":
216+
next_sort_dir = "desc"
217+
icon_name = "arrow_drop_up.png"
218+
elif sort_dir == "desc":
219+
next_sort_dir = "default"
220+
icon_name = "arrow_drop_down.png"
221+
else:
222+
next_sort_dir = "asc"
223+
icon_name = "unfold_more.png"
224+
225+
if next_sort_dir != "default":
226+
sort_param = f"{key}-{next_sort_dir}"
227+
base_params["sort"] = sort_param
215228
else:
216-
arrow = ""
229+
icon_name = "unfold_more.png"
217230
sort_param = f"{key}-asc"
231+
base_params["sort"] = sort_param
218232

219-
base_params["sort"] = sort_param
220233
query_string = "&".join(f"{k}={v}" for k, v in base_params.items())
221234
if key != "checksum":
222-
html += f"<th><a href='{filename}?{query_string}'>{key} {arrow}</a></th>"
235+
icon_src = url_for("static", filename=icon_path + icon_name)
236+
html += f"""<th>
237+
<a href='{filename}?{query_string}' class="header-link">
238+
<span></span>
239+
<span class="key-text">{key}</span>
240+
<img class="filter-icon" src="{icon_src}" alt="asc" width="25">
241+
</a>
242+
</th>"""
223243

224244
if results:
225245
counter = offset + 1
174 Bytes
Loading

static/icons/filter/arrow_drop_up.png

174 Bytes
Loading

static/icons/filter/unfold_more.png

314 Bytes
Loading

static/navbar.html.txt renamed to static/navbar_string.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
<div class="nav-buttons">
1616
<a href="{{ url_for('user_games_list') }}">User Games List</a>
1717
<a href="{{ url_for('ready_for_review') }}">Ready for review</a>
18-
<a href="{{ url_for('fileset_search', sort='fileset-asc') }}">Fileset Search</a>
19-
<a href="{{ url_for('logs', sort='id-desc') }}">Logs</a>
18+
<a href="{{ url_for('fileset_search') }}">Fileset Search</a>
19+
<a href="{{ url_for('logs') }}">Logs</a>
2020
<a href="{{ url_for('config') }}">Config</a>
2121
</div>
2222
</nav>

static/style.css

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,20 @@ nav {
7878
vertical-align: middle;
7979
}
8080

81+
.header-link {
82+
display: flex;
83+
align-items: center;
84+
justify-content: space-between;
85+
text-decoration: none;
86+
color: inherit;
87+
padding: 4px 8px;
88+
}
89+
90+
.filter-icon {
91+
height: auto;
92+
margin-left: 8px;
93+
}
94+
8195
button {
8296
color: white;
8397
padding: 6px 12px;

templates/config.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,8 @@
130130
<div class="nav-buttons">
131131
<a href="{{ url_for('user_games_list') }}">User Games List</a>
132132
<a href="{{ url_for('ready_for_review') }}">Ready for review</a>
133-
<a href="{{ url_for('fileset_search', sort='fileset-asc') }}">Fileset Search</a>
134-
<a href="{{ url_for('logs', sort='id-desc')}}">Logs</a>
133+
<a href="{{ url_for('fileset_search') }}">Fileset Search</a>
134+
<a href="{{ url_for('logs')}}">Logs</a>
135135
<a href="{{ url_for('config') }}">Config</a>
136136
</div>
137137
</nav>

templates/home.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@
9090
<div class="nav-buttons">
9191
<a href="{{ url_for('user_games_list') }}">User Games List</a>
9292
<a href="{{ url_for('ready_for_review') }}">Ready for review</a>
93-
<a href="{{ url_for('fileset_search', sort='fileset-asc') }}">Fileset Search</a>
94-
<a href="{{ url_for('logs', sort='id-desc')}}">Logs</a>
93+
<a href="{{ url_for('fileset_search') }}">Fileset Search</a>
94+
<a href="{{ url_for('logs')}}">Logs</a>
9595
<a href="{{ url_for('config') }}">Config</a>
9696
</div>
9797
<div class="dev">

0 commit comments

Comments
 (0)