Forked from
dmj / selbstzeugnisse-hab
9 commits ahead of the upstream repository.
proprietary.js 4.56 KiB
function toggle(control){
var elem = document.getElementById(control);
if(elem.style.display == "none"){
elem.style.display = "block";
minus(control);
}else{
elem.style.display = "none";
plus(control);
}
}
function minus(control) {
document.getElementById("link" + control).innerHTML = "Reduzieren";
}
function plus(control) {
document.getElementById("link" + control).innerHTML = "Mehr";
}
// Umschalten zwischen bibliographierten Daten und Transkription
function switchToOriginal() {
var x = document.getElementsByClassName("titleBib");
var y = document.getElementsByClassName("titleCat");
var a = document.getElementsByClassName("authorList");
var p = document.getElementsByClassName("published");
var v = document.getElementsByClassName("volumes");
var c = document.getElementsByClassName("titleOriginal-single");
var countA = a.length;
for (i = 0; i < countA; i++) {
a[i].style.display='none';
}
var countP = p.length;
for (i = 0; i < countP; i++) {
p[i].style.display='none';
}
var countV = v.length;
for (i = 0; i < countV; i++) {
v[i].style.display='none';
}
var count = x.length;
for (i = 0; i < count; i++) {
x[i].style.display='none';
y[i].style.display='inline';
}
var countC = c.length;
for (i = 0; i < countC; i++) {
c[i].style.display='none';
}
z = document.getElementById("switchLink");
z.innerHTML = "<a href='javascript:switchToBibl()'>Bibliographierte Daten anzeigen</a>";
}
function switchToBibl() {
var x = document.getElementsByClassName("titleBib");
var y = document.getElementsByClassName("titleCat");
var a = document.getElementsByClassName("authorList");
var p = document.getElementsByClassName("published");
var v = document.getElementsByClassName("volumes");
var c = document.getElementsByClassName("titleOriginal-single");
var countA = a.length;
for (i = 0; i < countA; i++) {
a[i].style.display='inline';
}
var countP = p.length;
for (i = 0; i < countP; i++) {
p[i].style.display='inline';
}
var countV = v.length;
for (i = 0; i < countV; i++) {
v[i].style.display='inline';
}
var count = x.length;
for (i = 0; i < count; i++) {
y[i].style.display='none';
x[i].style.display='inline';
}
var countC = c.length;
for (i = 0; i < countC; i++) {
c[i].style.display='inline';
}
z = document.getElementById("switchLink");
z.innerHTML = "<a href='javascript:switchToOriginal()'>Anzeige in Vorlageform</a>";
}
/*
Die folgende Funktion scrollt die Seite beim Ansteuern interner Sprungmarken um die Breite der
Navigationsleiste nach oben. Das funktioniert in folgendem Fall noch nicht: Die Leiste ist breiter als
Standard (52 px) und man kommt vom Anfang derselben Seite.
*/
function scrollNav(x) {
var shiftWindow = function() { scrollBy(0, x) };
if (location.hash) {
shiftWindow();
if(x < -52) {
var y = x + 52;
var shiftWindowMore = function() { scrollBy(0, y) };
shiftWindowMore();
}
}
window.addEventListener("hashchange", shiftWindow);
}
// So lautete die Funktion ursprünglich
/* function scrollNav(x) {
var shiftWindow = function() { scrollBy(0, x) };
if (location.hash) shiftWindow();
window.addEventListener("hashchange", shiftWindow);
} */
function getNavBarHeight() {
var x = document.getElementsByTagName('nav')[0].offsetHeight;
return(-x);
}
/* For generating and updating word clouds by jQCloud */
function makeWordCloud(cloudList) {
cloudList = JSON.parse(cloudList);
var settings = { width: 800, height: 500 };
$(document).ready(
function() {
$("#wordcloud").jQCloud(cloudList, settings);
}
);
}
function updateWordCloud(cloudList) {
makeFirstButtonInactive();
cloudList = JSON.parse(cloudList);
var settings = { width: 800, height: 500 };
$(document).ready(
function() {
$("#wordcloud").jQCloud('update', cloudList, settings);
}
);
}
function makeFirstButtonInactive() {
var x = document.getElementsByClassName('btn btn-default active');
for (i = 0; i < x.length; i++) {
x[i].className = 'btn btn-default';
}
}
/* For updating doughnut charts generated by Chart.js */
function replaceChart(newData) {
makeFirstButtonInactive();
myNewChart.destroy();
data = JSON.parse(newData);
updateCount(countMarked(data));
myNewChart = new Chart(ctx).Doughnut(data, optionsDoughnut);
legend = myNewChart.generateLegend();
document.getElementById('chart-legend').innerHTML = legend;
}
function updateCount(number) {
span = document.getElementById('overallNumber');
span.innerHTML = '<br />Auszeichnungen: ' + number;
}
function countMarked(data) {
var count = 0;
for (i = 0; i < data.length; i++) {
count += data[i]["value"];
}
return(count);
}