2018-02-27 22:47:07 +01:00
|
|
|
/** global localStorage, hljs */
|
|
|
|
|
|
|
|
if (hljs) {
|
|
|
|
hljs.initHighlightingOnLoad();
|
|
|
|
}
|
2014-02-13 13:21:27 +01:00
|
|
|
|
2019-08-10 04:55:18 +02:00
|
|
|
(function() {
|
|
|
|
var codeBlocks = document.querySelectorAll(".s-content pre");
|
|
|
|
var toggleCodeSection = document.querySelector(".CodeToggler");
|
|
|
|
if (!toggleCodeSection) {
|
|
|
|
return;
|
|
|
|
} else if (!codeBlocks.length) {
|
|
|
|
toggleCodeSection.classList.add("Hidden");
|
2015-08-13 23:03:19 +02:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2019-08-10 04:55:18 +02:00
|
|
|
var toggleCodeBlockBtnList = toggleCodeSection.querySelectorAll(".CodeToggler__button");
|
|
|
|
var toggleCodeBlockBtnSet = toggleCodeSection.querySelector(".CodeToggler__button--main"); // available when floating is disabled
|
|
|
|
var toggleCodeBlockBtnHide = toggleCodeSection.querySelector(".CodeToggler__button--hide");
|
|
|
|
var toggleCodeBlockBtnBelow = toggleCodeSection.querySelector(".CodeToggler__button--below");
|
|
|
|
var toggleCodeBlockBtnFloat = toggleCodeSection.querySelector(".CodeToggler__button--float");
|
|
|
|
var codeBlockView = document.querySelector(".Columns__right");
|
|
|
|
var floating = document.body.classList.contains("with-float");
|
|
|
|
|
2016-05-23 20:09:15 +02:00
|
|
|
function setCodeBlockStyle(codeBlockState) {
|
2019-08-10 04:55:18 +02:00
|
|
|
for (var a = 0; a < toggleCodeBlockBtnList.length; a++) {
|
|
|
|
toggleCodeBlockBtnList[a].classList.remove("Button--active");
|
2019-08-09 00:19:37 +02:00
|
|
|
}
|
2016-05-23 20:09:15 +02:00
|
|
|
switch (codeBlockState) {
|
2019-08-10 04:55:18 +02:00
|
|
|
case true: // Show code blocks below (flowed); checkbox
|
|
|
|
var hidden = false;
|
|
|
|
break;
|
|
|
|
case false: // Hidden code blocks; checkbox
|
|
|
|
var hidden = true;
|
2016-05-23 20:09:15 +02:00
|
|
|
break;
|
2019-08-10 04:55:18 +02:00
|
|
|
case 2: // Show code blocks inline (floated)
|
|
|
|
toggleCodeBlockBtnFloat.classList.add("Button--active");
|
|
|
|
codeBlockView.classList.add("Columns__right--float");
|
|
|
|
codeBlockView.classList.remove("Columns__right--full");
|
|
|
|
var hidden = false;
|
|
|
|
break;
|
|
|
|
case 1: // Show code blocks below (flowed)
|
|
|
|
case "checked":
|
|
|
|
toggleCodeBlockBtnBelow.classList.add("Button--active");
|
|
|
|
codeBlockView.classList.remove("Columns__right--float");
|
|
|
|
codeBlockView.classList.add("Columns__right--full");
|
|
|
|
var hidden = false;
|
2016-05-23 20:09:15 +02:00
|
|
|
break;
|
2016-07-29 22:38:03 +02:00
|
|
|
case 0: // Hidden code blocks
|
|
|
|
default:
|
2019-08-10 04:55:18 +02:00
|
|
|
toggleCodeBlockBtnHide.classList.add("Button--active");
|
|
|
|
codeBlockView.classList.remove("Columns__right--float");
|
|
|
|
codeBlockView.classList.add("Columns__right--full");
|
|
|
|
var hidden = true;
|
2016-05-23 20:09:15 +02:00
|
|
|
break;
|
|
|
|
}
|
2019-08-10 04:55:18 +02:00
|
|
|
for (var a = 0; a < codeBlocks.length; a++) {
|
|
|
|
if (hidden) {
|
|
|
|
codeBlocks[a].classList.add("Hidden");
|
|
|
|
} else {
|
|
|
|
codeBlocks[a].classList.remove("Hidden");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
try {
|
|
|
|
localStorage.setItem("codeBlockState", +codeBlockState);
|
|
|
|
} catch (e) {
|
|
|
|
// local storage operations can fail with the file:// protocol
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!floating) {
|
|
|
|
toggleCodeBlockBtnSet.addEventListener("change", function(ev) {setCodeBlockStyle(ev.target.checked);}, false);
|
|
|
|
} else {
|
|
|
|
toggleCodeBlockBtnHide.addEventListener("click", function() {setCodeBlockStyle(0);}, false);
|
|
|
|
toggleCodeBlockBtnBelow.addEventListener("click", function() {setCodeBlockStyle(1);}, false);
|
|
|
|
toggleCodeBlockBtnFloat.addEventListener("click", function() {setCodeBlockStyle(2);}, false);
|
2016-05-23 20:09:15 +02:00
|
|
|
}
|
2016-04-08 00:13:06 +02:00
|
|
|
|
2019-08-09 00:19:37 +02:00
|
|
|
try {
|
|
|
|
var codeBlockState = localStorage.getItem("codeBlockState");
|
|
|
|
} catch (e) {
|
|
|
|
// local storage operations can fail with the file:// protocol
|
2019-08-10 04:55:18 +02:00
|
|
|
var codeBlockState = null;
|
2019-08-09 00:19:37 +02:00
|
|
|
}
|
2015-08-13 23:03:19 +02:00
|
|
|
if (!codeBlockState) {
|
2019-08-10 04:55:18 +02:00
|
|
|
codeBlockState = floating ? 2 : 1;
|
2016-04-08 00:23:12 +02:00
|
|
|
} else {
|
|
|
|
codeBlockState = parseInt(codeBlockState);
|
|
|
|
}
|
2019-08-10 04:55:18 +02:00
|
|
|
if (!floating) {
|
|
|
|
codeBlockState = !!codeBlockState;
|
2016-04-08 00:23:12 +02:00
|
|
|
}
|
2015-08-13 23:03:19 +02:00
|
|
|
|
|
|
|
setCodeBlockStyle(codeBlockState);
|
2019-08-10 04:55:18 +02:00
|
|
|
})();
|
2015-08-13 23:03:19 +02:00
|
|
|
|
2014-11-20 09:55:11 +01:00
|
|
|
$(function () {
|
2015-07-21 22:36:46 +02:00
|
|
|
// Tree navigation
|
|
|
|
$('.aj-nav').click(function (e) {
|
|
|
|
e.preventDefault();
|
|
|
|
$(this).parent().siblings().find('ul').slideUp();
|
|
|
|
$(this).next().slideToggle();
|
|
|
|
});
|
|
|
|
|
2016-04-02 13:39:04 +02:00
|
|
|
// New Tree navigation
|
2016-05-23 20:09:15 +02:00
|
|
|
$('ul.Nav > li.has-children > a > .Nav__arrow').click(function() {
|
|
|
|
$(this).parent().parent().toggleClass('Nav__item--open');
|
2016-04-02 13:39:04 +02:00
|
|
|
return false;
|
|
|
|
});
|
|
|
|
|
2015-07-21 22:36:46 +02:00
|
|
|
// Responsive navigation
|
2016-05-23 20:09:15 +02:00
|
|
|
$('.Collapsible__trigger').click(function () {
|
|
|
|
$('.Collapsible__content').slideToggle();
|
2015-07-21 22:36:46 +02:00
|
|
|
});
|
|
|
|
});
|