Auto-refresh feed when adding/removing artists via search
This commit is contained in:
@@ -64,7 +64,7 @@ public class ArtistController {
|
||||
var allArtists = artistService.findAll();
|
||||
var listHtml = artistListTemplate.data("artists", allArtists).render();
|
||||
var emptySearch = searchResultsTemplate.data("artists", List.of()).render();
|
||||
return Response.ok(emptySearch + listHtml).build();
|
||||
return Response.ok(emptySearch + listHtml + feedReloadScript()).build();
|
||||
}
|
||||
|
||||
@DELETE
|
||||
@@ -80,7 +80,7 @@ public class ArtistController {
|
||||
@Path("/{mbid}/from-search")
|
||||
@Produces(MediaType.TEXT_HTML)
|
||||
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
|
||||
public TemplateInstance removeArtistFromSearch(@PathParam("mbid") String mbid,
|
||||
public Response removeArtistFromSearch(@PathParam("mbid") String mbid,
|
||||
@QueryParam("q") @DefaultValue("") String q,
|
||||
@FormParam("q") @DefaultValue("") String qForm) {
|
||||
artistService.removeArtist(mbid);
|
||||
@@ -91,7 +91,13 @@ public class ArtistController {
|
||||
} else {
|
||||
results = artistService.search(query);
|
||||
}
|
||||
return searchResultsTemplate.data("artists", results);
|
||||
var searchHtml = searchResultsTemplate.data("artists", results).render();
|
||||
var feedResult = feedService.getFeedEntries(1);
|
||||
var feedHtml = feedEntriesTemplate
|
||||
.data("entries", feedResult.entries())
|
||||
.data("hasMore", feedResult.hasMore())
|
||||
.data("nextPage", 2).render();
|
||||
return Response.ok(searchHtml + feedReloadScript()).build();
|
||||
}
|
||||
|
||||
@PATCH
|
||||
@@ -142,4 +148,8 @@ public class ArtistController {
|
||||
if (a.otherMonitored()) types.add("Other");
|
||||
return types;
|
||||
}
|
||||
|
||||
private String feedReloadScript() {
|
||||
return "<div hx-get=\"/api/artists/feed-table\" hx-trigger=\"load\" hx-target=\"#feed-entries\" hx-swap=\"innerHTML\"></div>";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user