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 allArtists = artistService.findAll();
|
||||||
var listHtml = artistListTemplate.data("artists", allArtists).render();
|
var listHtml = artistListTemplate.data("artists", allArtists).render();
|
||||||
var emptySearch = searchResultsTemplate.data("artists", List.of()).render();
|
var emptySearch = searchResultsTemplate.data("artists", List.of()).render();
|
||||||
return Response.ok(emptySearch + listHtml).build();
|
return Response.ok(emptySearch + listHtml + feedReloadScript()).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@DELETE
|
@DELETE
|
||||||
@@ -80,9 +80,9 @@ public class ArtistController {
|
|||||||
@Path("/{mbid}/from-search")
|
@Path("/{mbid}/from-search")
|
||||||
@Produces(MediaType.TEXT_HTML)
|
@Produces(MediaType.TEXT_HTML)
|
||||||
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
|
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
|
||||||
public TemplateInstance removeArtistFromSearch(@PathParam("mbid") String mbid,
|
public Response removeArtistFromSearch(@PathParam("mbid") String mbid,
|
||||||
@QueryParam("q") @DefaultValue("") String q,
|
@QueryParam("q") @DefaultValue("") String q,
|
||||||
@FormParam("q") @DefaultValue("") String qForm) {
|
@FormParam("q") @DefaultValue("") String qForm) {
|
||||||
artistService.removeArtist(mbid);
|
artistService.removeArtist(mbid);
|
||||||
var query = q != null && !q.isBlank() ? q : qForm;
|
var query = q != null && !q.isBlank() ? q : qForm;
|
||||||
List<SearchResult> results;
|
List<SearchResult> results;
|
||||||
@@ -91,7 +91,13 @@ public class ArtistController {
|
|||||||
} else {
|
} else {
|
||||||
results = artistService.search(query);
|
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
|
@PATCH
|
||||||
@@ -142,4 +148,8 @@ public class ArtistController {
|
|||||||
if (a.otherMonitored()) types.add("Other");
|
if (a.otherMonitored()) types.add("Other");
|
||||||
return types;
|
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