aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJP Appel <jeanpierre.appel01@gmail.com>2026-04-03 01:17:13 -0400
committerJP Appel <jeanpierre.appel01@gmail.com>2026-04-03 01:17:13 -0400
commit54da68e8aaac5d0d77b6f4da20aacb6df37ec014 (patch)
treec91f02050eea7a1ad61b81b87e86cb7089a3fc63
parent9e8a3eb08d2a3b87f26bac51af242b3e63e3469a (diff)
Add support for sorting params via form
-rw-r--r--go.sum2
-rw-r--r--pkg/server/server.go23
2 files changed, 23 insertions, 2 deletions
diff --git a/go.sum b/go.sum
index b7542a9..8eae9fb 100644
--- a/go.sum
+++ b/go.sum
@@ -4,8 +4,6 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/goccy/go-yaml v1.17.1 h1:LI34wktB2xEE3ONG/2Ar54+/HJVBriAGJ55PHls4YuY=
github.com/goccy/go-yaml v1.17.1/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
-github.com/mattn/go-sqlite3 v1.14.27 h1:drZCnuvf37yPfs95E5jd9s3XhdVWLal+6BOK6qrv6IU=
-github.com/mattn/go-sqlite3 v1.14.27/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/mattn/go-sqlite3 v1.14.39 h1:sIwSjlJGOaRJjw44/HXaeTblZMjseqr6OOio1tz/+JI=
github.com/mattn/go-sqlite3 v1.14.39/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
diff --git a/pkg/server/server.go b/pkg/server/server.go
index 65034be..a68a952 100644
--- a/pkg/server/server.go
+++ b/pkg/server/server.go
@@ -41,6 +41,20 @@ You can change the order using <pre>sortOrder</pre> with <pre>asc</pre> or <pre>
<fieldset><legend>Submit a Query</legend>
<label for="query">Query:</label>
<input type="text" name="query" required />
+<label for="sortBy">Sort By:</label>
+<select name="sortBy">
+<option value="path">Path</option>
+<option value="title">Title</option>
+<option value="date">Date</option>
+<option value="headings">Headings</option>
+<option value="filetime">Filetime</option>
+<option value="meta">Metadata</option>
+</select>
+<label for="sortOrder">Sort Order:</label>
+<select name="sortOrder">
+<option value="">Ascending</option>
+<option value="desc">Descending</option>
+</select>
<input type="submit" />
</fieldset>
</form>
@@ -96,12 +110,21 @@ func NewMux(db *data.Query) *http.ServeMux {
queryParams := r.URL.Query()
if queryParams.Has("sortBy") {
+ slog.Debug("Parsing sorting info from query params")
sortBy := queryParams.Get("sortBy")
sortOrder := queryParams.Get("sortOrder")
docCmp, ok := index.NewDocCmp(sortBy, sortOrder == "desc" || sortOrder == "descending")
if ok {
slices.SortFunc(docs, docCmp)
}
+ } else if r.Form.Has("sortBy") {
+ slog.Debug("Parsing sorting info from form data")
+ sortBy := r.Form.Get("sortBy")
+ sortOrder := r.Form.Get("sortOrder")
+ docCmp, ok := index.NewDocCmp(sortBy, sortOrder == "desc" || sortOrder == "descending")
+ if ok {
+ slices.SortFunc(docs, docCmp)
+ }
}
if !maxFileTime.IsZero() {