Show recently tagged photos using js cards instead of iframe.
This commit is contained in:
parent
de2bf6a81a
commit
9f8dd057f0
1 changed files with 35 additions and 6 deletions
|
@ -17,6 +17,7 @@
|
|||
{% if theme %}<link rel="stylesheet" href="/static/css/theme_{{theme}}.css">{% endif %}
|
||||
<script src="/static/js/common.js"></script>
|
||||
<script src="/static/js/api.js"></script>
|
||||
<script src="/static/js/cards.js"></script>
|
||||
<script src="/static/js/editor.js"></script>
|
||||
<script src="/static/js/http.js"></script>
|
||||
<script src="/static/js/spinners.js"></script>
|
||||
|
@ -256,12 +257,7 @@
|
|||
{% if specific_tag %}
|
||||
<div id="hierarchy_recentphotos" class="panel">
|
||||
<h2><a href="/search?tag_musts={{specific_tag.name}}&orderby=tagged_at-desc">Recent photos</a></h2>
|
||||
<iframe
|
||||
class="embedded_search"
|
||||
src="/search_embed?tag_musts={{specific_tag.name}}&orderby=tagged_at-desc&yield_albums=no&limit=10"
|
||||
onload="return common.size_iframe_to_content(this);"
|
||||
>
|
||||
</iframe>
|
||||
<span class="spinner hidden">⌛</span>
|
||||
</div> <!-- hierarchy_recentphotos -->
|
||||
{% endif %} <!-- if specific tag -->
|
||||
</div>
|
||||
|
@ -276,6 +272,30 @@ const easybake_button = document.getElementById('easybake_button');
|
|||
const message_area = document.getElementById('message_area');
|
||||
common.bind_box_to_button(easybake_input, easybake_button, false);
|
||||
|
||||
// UI
|
||||
|
||||
function search_recent_photos()
|
||||
{
|
||||
const div = document.getElementById("hierarchy_recentphotos");
|
||||
const spinner = div.querySelector(".spinner");
|
||||
spinner.classList.remove("hidden");
|
||||
function callback(response)
|
||||
{
|
||||
spinner.classList.add("hidden");
|
||||
const count = response.data.results.length + (response.data.more_after_limit ? "+" : "");
|
||||
div.querySelector("h2").prepend(count + " ");
|
||||
for (const photo of response.data.results)
|
||||
{
|
||||
div.append(cards.photos.create(photo, "grid"));
|
||||
}
|
||||
}
|
||||
const parameters = new URLSearchParams();
|
||||
parameters.set("tag_musts", SPECIFIC_TAG);
|
||||
parameters.set("orderby", "tagged_at-desc");
|
||||
parameters.set("limit", "20");
|
||||
api.photos.search(parameters, callback);
|
||||
}
|
||||
|
||||
// BUTTON HANDLERS
|
||||
|
||||
function add_child_form(event)
|
||||
|
@ -588,5 +608,14 @@ const rename_ed = new editor.Editor(
|
|||
rename_ed_on_save,
|
||||
);
|
||||
{% endif %}
|
||||
|
||||
function on_pageload()
|
||||
{
|
||||
if (SPECIFIC_TAG)
|
||||
{
|
||||
search_recent_photos();
|
||||
}
|
||||
}
|
||||
document.addEventListener("DOMContentLoaded", on_pageload);
|
||||
</script>
|
||||
</html>
|
||||
|
|
Loading…
Reference in a new issue