Collapse all results on virtual article display

This commit is contained in:
Georgy Litvinov 2021-03-22 19:20:00 +01:00
parent e2d37bbb75
commit 8e3a98cc56

View file

@ -57,6 +57,7 @@
</div> </div>
</#if> </#if>
<div class="virtualArticleSwitch"> <div class="virtualArticleSwitch">
<label class="switch">Показать виртуальную статью <label class="switch">Показать виртуальную статью
<input id="virtualArticleCheck" type="checkbox" checked="false" onclick="showVirtualArticles();"> <input id="virtualArticleCheck" type="checkbox" checked="false" onclick="showVirtualArticles();">
@ -67,6 +68,7 @@
</div> </div>
<#-- Search results --> <#-- Search results -->
<ul class="searchhits"> <ul class="searchhits">
<#list individuals as individual> <#list individuals as individual>
@ -122,17 +124,20 @@
</div> <!-- end contentsBrowseGroup --> </div> <!-- end contentsBrowseGroup -->
<script> <script>
$('input[type=checkbox]').removeAttr('checked'); document.addEventListener('DOMContentLoaded', createVirtualCompilation(), false);
function showVirtualArticles(){
var checkBox = document.getElementById("virtualArticleCheck"); $('input[type=checkbox]').removeAttr('checked');
if (checkBox.checked == true){ function showVirtualArticles(){
$('.excerptSearchResult').hide(); var checkBox = document.getElementById("virtualArticleCheck");
$('.virtualArticlePart').show(); if (checkBox.checked == true){
} else { $('.searchResult').hide();
$('.excerptSearchResult').show(); $('.virtualArticlePart').show();
$('.virtualArticlePart').hide(); } else {
$('.searchResult').show();
$('.virtualArticlePart').hide();
}
} }
}
function createNewCompilation() { function createNewCompilation() {
var excerpts = $('.virtualArticlePart').toArray(); var excerpts = $('.virtualArticlePart').toArray();
if (excerpts.length == 0){ if (excerpts.length == 0){
@ -187,54 +192,53 @@ $('input[type=checkbox]').removeAttr('checked');
window.open(newURL,"_self"); window.open(newURL,"_self");
} }
function createVirtualCompilation(){
let workSet = new Set();
let biblioSet = new Set();
var workDivs = $('.virtualArticleWork');
var biblioDivs = $('.virtualArticleBibliography');
biblioDivs.each(function() {
biblioSet.add($(this).html());
});
workDivs.each(function() {
workSet.add($(this).html());
});
var workArr = Array.from(workSet);
workArr.sort();
var biblioArr = Array.from(biblioSet);
biblioArr.sort();
if (workArr.length > 0 ) {
$('<div class="virtualWorks virtualArticlePart"><button type="button" style="margin-top:16px;border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible">Работы</button><div class="virtualWorks"></div></div>').insertAfter($('.virtualArticlePart').last());
for (let value of workArr){
$('.virtualWorks').last().append( '<div class="work"><p>' + value + '</p></div>' );
}
}
if (biblioArr.length > 0 ) {
$('<div class="virtualBibliography virtualArticlePart"><button type="button" style="margin-top:16px;border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible">Литература</button><div class="virtualBibliography"></div></div>').insertAfter($('.virtualArticlePart').last());
for (let value of biblioArr){
$('.virtualBibliography').last().append( '<div class="bibliography"><p>' + value + '</p></div>' );
}
}
$('.virtualWorks').hide();
$('.virtualBibliography').hide();
$('.virtualArticlePart').hide();
var coll = document.getElementsByClassName("collapsible");
var i;
for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var content = this.nextElementSibling;
if (content.style.display === "block") {
content.style.display = "none";
} else {
content.style.display = "block";
}
});
}
}
</script> </script>
<script>
let workSet = new Set();
let biblioSet = new Set();
var workDivs = $('.virtualArticleWork');
var biblioDivs = $('.virtualArticleBibliography');
biblioDivs.each(function() {
biblioSet.add($(this).html());
});
workDivs.each(function() {
workSet.add($(this).html());
});
var workArr = Array.from(workSet);
workArr.sort();
var biblioArr = Array.from(biblioSet);
biblioArr.sort();
if (workArr.length > 0 ) {
$('<div class="virtualWorks virtualArticlePart"><button type="button" style="margin-top:16px;border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible">Работы</button><div class="virtualWorks"></div></div>').insertAfter($('.virtualArticlePart').last());
for (let value of workArr){
$('.virtualWorks').last().append( '<div class="work"><p>' + value + '</p></div>' );
}
}
if (biblioArr.length > 0 ) {
$('<div class="virtualBibliography virtualArticlePart"><button type="button" style="margin-top:16px;border:none;padding: 18px;width: 100%; text-align:left;" class="collapsible">Литература</button><div class="virtualBibliography"></div></div>').insertAfter($('.virtualArticlePart').last());
for (let value of biblioArr){
$('.virtualBibliography').last().append( '<div class="bibliography"><p>' + value + '</p></div>' );
}
}
</script>
<script>
$('.virtualWorks').hide();
$('.virtualBibliography').hide();
$('.virtualArticlePart').hide();
var coll = document.getElementsByClassName("collapsible");
var i;
for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var content = this.nextElementSibling;
if (content.style.display === "block") {
content.style.display = "none";
} else {
content.style.display = "block";
}
});
}
</script>
${stylesheets.add('<link rel="stylesheet" href="//code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />', ${stylesheets.add('<link rel="stylesheet" href="//code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />',
'<link rel="stylesheet" href="${urls.base}/css/search.css" />', '<link rel="stylesheet" href="${urls.base}/css/search.css" />',
'<link rel="stylesheet" type="text/css" href="${urls.base}/css/jquery_plugins/qtip/jquery.qtip.min.css" />')} '<link rel="stylesheet" type="text/css" href="${urls.base}/css/jquery_plugins/qtip/jquery.qtip.min.css" />')}