Testing with groups and htmx

This commit is contained in:
mitteneer 2025-06-11 09:26:12 -04:00
parent 6a1c822420
commit 2f420bc5ce
3 changed files with 23 additions and 5 deletions

View file

@ -1,3 +1,11 @@
<div>
<span>Content goes here</span>
</div>
<head>
<script src="https://unpkg.com/htmx.org@2.0.4" integrity="sha384-HGfztofotfshcF7+8n44JQL2oJmowVChPTg48S+jvZoztPfvwD79OC/LTtG6dMp+" crossorigin="anonymous"></script>
</head>
@partial partials/header
<h1>Merge Songs</h1>
<form hx-get="/songs" hx-target="#response-div">
<label>Song name <input name="s" type="text"></label>
</form>
<div id="response-div"></div>

View file

@ -5,7 +5,15 @@ const queries = @import("../../queries.zig");
pub fn index(request: *jetzig.Request) !jetzig.View {
var root = try request.data(.object);
const songs = try queries.entityQueryResult(request, queries.loadQuery(.song, .entities), .{});
const htmx_query = (try request.queryParams()).getT(.string, "s");
try root.put("htmx", htmx_query != null);
const songs = if (htmx_query) |name|
try queries.entityQueryResult(request, queries.loadQuery(.song, .entities_by_name), .{name})
else
try queries.entityQueryResult(request, queries.loadQuery(.song, .entities), .{});
try root.put("songs", songs);
return request.render(.ok);

View file

@ -1,6 +1,6 @@
@zig {
const ColumnChoices = []const enum{song, album, artist, artistlist, scrobbles, date};
const columns: ColumnChoices = &.{.song, .artistlist, .scrobbles};
const columns: ColumnChoices = &.{.song, .album, .artistlist, .scrobbles};
}
<html>
@ -8,8 +8,10 @@
<meta charset="UTF-8">
</head>
<body>
@if (! $.htmx)
@partial partials/header
<h1>Songs</h1>
@end
@partial partials/newtable(T: ColumnChoices, table_data: .songs, columns: columns)
</body>
</html>