blob: c45cdb942856808b9ea6238e519d28f39e571c3e [file] [log] [blame]
$(function () {
//this script says, if the height of the viewport is greater than 800px, then insert affix class, which makes the
// nav bar float in a fixed position as your scroll. if you have a lot of nav items, this height may not work for
// you. var h = $(window).height(); console.log (h); if (h > 800) { $( "#mysidebar" ).attr("class", "nav affix"); }
// activate tooltips. although this is a bootstrap js function, it must be activated this way in your theme.
$('[data-toggle="tooltip"]').tooltip({ placement: 'top' });
anchors.add('h2,h3,h4,h5');
$(document).ready(function() {
$("#mysidebar li.subfolders > a").click(function (e) {
e.preventDefault();
var theUl = $(this).parent().select("ul");
if (!theUl.hasClass("open")) {
theUl.addClass("open");
theUl.removeClass("closed");
} else {
theUl.addClass("closed");
theUl.removeClass("open");
}
});
$("#collapseAll").click(function(e) {
e.preventDefault();
var theLis = $("#mysidebar li.subfolders");
theLis.addClass("closed");
theLis.removeClass("open");
});
$("#expandAll").click(function(e) {
e.preventDefault();
var theLis = $("#mysidebar li.subfolders");
theLis.addClass("open");
theLis.removeClass("closed");
});
});
$("#dev-warning").hide();
changeSelectedDocVersionDropdownSelection($("#docVersion")[0]);
$("#docVersion").change(changeSelectedDocVersion);
});
function changeSelectedDocVersionDropdownSelection(element) {
var pathName = window.location.pathname;
var versionOptions = element.options;
for (var i = 0; i < versionOptions.length; i++) {
var versionValue = versionOptions[i].value;
if ((versionValue !== "") && pathName.startsWith("/ditto/"+versionValue+"/")) {
$("#docVersion").val(versionValue).change();
return;
}
}
// fallback: dev with "empty" version value:
$("#docVersion").val("").change();
$("#dev-warning").show();
}
function changeSelectedDocVersion() {
var versionValue = $('#docVersion').val();
var remainingPath = window.location.pathname.replace("/ditto/", "/");
remainingPath = remainingPath.startsWith("/") ? remainingPath.substr(1) : remainingPath;
var versionMatch = remainingPath.match("([0-9].[0-9])/(.*)");
if (versionValue === "" && !versionMatch) {
// do nothing, we're already on the correct "dev" version
} else if (versionMatch && (versionValue === versionMatch[1])) {
// do nothing, we're already on the correct version
} else {
if (versionValue === "" && versionMatch) {
window.location.pathname = "ditto/" + versionMatch[2];
} else if (versionValue === "") {
window.location.pathname = "ditto/" + remainingPath;
} else if (versionMatch) {
window.location.pathname = "ditto/" + versionValue + "/" + versionMatch[2];
} else {
window.location.pathname = "ditto/" + versionValue + "/" + remainingPath;
}
}
}