zeroth
3 years ago
6 changed files with 187 additions and 6 deletions
@ -0,0 +1,149 @@ |
|||||
|
{% extends "layout.html" %} |
||||
|
{% block content %} |
||||
|
|
||||
|
<div id="selfpublishedindex-all"> |
||||
|
<div class="pagetitle" id="selfpublishedindex-title">INDEX BY RECENTLY ADDED WORKS</div> |
||||
|
|
||||
|
<div id="selfpublishedindex-grid"> |
||||
|
|
||||
|
{% for x in results['results']['bindings']%} |
||||
|
<div class="selfpublishedindex-items"> |
||||
|
<div class="selfpublishedindex-items-top"> |
||||
|
{% if "image" in x %} |
||||
|
<a href='/artwork?id={{ x["work"]["value"] | replace("http://daap.bannerrepeater.org/entity/", "") }}'> |
||||
|
<img class="selfpublishedindex-imgs" src='{{ x["image"]["value"] | replace("wiki/File:","wiki/Special:Redirect/file/") }}'> |
||||
|
</a> <br> |
||||
|
{% else %} |
||||
|
<a href='/artwork?id={{ x["work"]["value"] | replace("http://daap.bannerrepeater.org/entity/", "") }}'> |
||||
|
<img class="selfpublishedindex-imgs" src="{{ url_for('static', filename='/imgs/Icons/placeholder_no-image2.png') }}"><br> |
||||
|
</a> |
||||
|
{% endif %} |
||||
|
</div> |
||||
|
|
||||
|
<div class="selfpublishedindex-items-bottom"> |
||||
|
<a class="title" href='/artwork?id={{ x["work"]["value"] | replace("http://daap.bannerrepeater.org/entity/", "") }}'> |
||||
|
{{ x["workLabel"]["value"]}} |
||||
|
</a> <br> |
||||
|
<span class="date"> |
||||
|
{% if "date" in x %} |
||||
|
{{ x["date"]["value"] | replace("T00:00:00Z", "") }} |
||||
|
</span> |
||||
|
|
||||
|
{% endif %} |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
{% endfor %} |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
<ul id="pagin" class="browsethearchive-pagination"> |
||||
|
|
||||
|
</ul> |
||||
|
|
||||
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> |
||||
|
|
||||
|
<script type="text/javascript"> |
||||
|
|
||||
|
// pagination script w/ support from @biberman on stackoverflow - big thanks! |
||||
|
|
||||
|
|
||||
|
let startPage; |
||||
|
const pageSize = 24; |
||||
|
const totalSlidePage = 5; |
||||
|
const pageCount = Math.ceil($(".selfpublishedindex-items").length / pageSize); |
||||
|
const slideRange = Math.floor(totalSlidePage / 2); |
||||
|
|
||||
|
slide = function() { |
||||
|
startPage = $("#pagin li a.current").parent().index(); |
||||
|
let paginationStart = (startPage - slideRange) <= 1 ? 0 : |
||||
|
(startPage >= (pageCount - slideRange) ? (pageCount - totalSlidePage) : |
||||
|
(startPage - slideRange - 1)); |
||||
|
|
||||
|
$("#pagin li").hide(); |
||||
|
|
||||
|
for (let t = paginationStart; t < (paginationStart + totalSlidePage); t++) { |
||||
|
$("#pagin li").eq(t + 1).show(); |
||||
|
} |
||||
|
|
||||
|
next.show(); |
||||
|
prev.show(); |
||||
|
|
||||
|
if (startPage == 1) { |
||||
|
prev.hide(); |
||||
|
} |
||||
|
if (startPage == pageCount ) { |
||||
|
next.hide(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
showPage = function() { |
||||
|
console.log(startPage); |
||||
|
$(".selfpublishedindex-items").hide(); |
||||
|
$(".selfpublishedindex-items").each(function(n) { |
||||
|
if (n >= pageSize * (startPage - 1) && n < pageSize * startPage) |
||||
|
$(this).show(); |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
for (let i = 0 ; i < pageCount; i++) { |
||||
|
$("#pagin").append('<li><a href="#">' + (i + 1) + '</a></li> '); |
||||
|
|
||||
|
if (i > pageSize) { |
||||
|
$("#pagin li").eq(i).hide(); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
let prev = $("<li/>").addClass("prev").html("Prev").click(function() { |
||||
|
let prevLi = $("#pagin li a.current").parent().prev().find("a"); |
||||
|
|
||||
|
if (prevLi[0]) { |
||||
|
$("#pagin li a.current").removeClass("current"); |
||||
|
prevLi.addClass("current"); |
||||
|
} |
||||
|
|
||||
|
slide(); |
||||
|
|
||||
|
if (startPage != 0) { |
||||
|
showPage(); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
let next = $("<li/>").addClass("next").html("Next").click(function() { |
||||
|
let nextLi = $("#pagin li a.current").parent().next().find("a"); |
||||
|
|
||||
|
if (nextLi[0]) { |
||||
|
$("#pagin li a.current").removeClass("current"); |
||||
|
nextLi.addClass("current"); |
||||
|
} |
||||
|
slide(); |
||||
|
|
||||
|
if (startPage <= pageCount) { |
||||
|
showPage(); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
$("#pagin").prepend(prev).append(next); |
||||
|
|
||||
|
$("#pagin li a").click(function() { |
||||
|
$('#pagin li a').removeClass('current'); |
||||
|
$(this).addClass('current'); |
||||
|
|
||||
|
slide(); |
||||
|
showPage(); |
||||
|
}); |
||||
|
|
||||
|
$("#pagin li a").eq(0).addClass("current"); |
||||
|
|
||||
|
slide(); |
||||
|
showPage(); |
||||
|
|
||||
|
</script> |
||||
|
|
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
{% endblock content %} |
||||
|
|
||||
|
|
||||
|
|
Loading…
Reference in new issue