blob: d0b6b36ae285135bb767cce45b5c043c4bdad08f [file] [log] [blame]
$(function() {
var prevCh = null, prevTime = 0, modal = false;
$('.modal').on({
show: function() { modal = true; },
hidden: function() { modal = false; }
});
$(document).on('keypress', function(e) {
var combo = e.timeStamp - prevTime <= 1000;
prevTime = 0;
if (modal) {
return true;
}
var t = e.target.tagName
if (t == 'INPUT' ||
t == 'SELECT' ||
t == 'TEXTAREA' ) {
return true;
}
if (e.target.contentEditable && e.target.contentEditable == 'true') {
return true;
}
var ch = String.fromCharCode(e.which);
if (combo) {
switch (prevCh + ch) {
case "gg":
$('html,body').animate({scrollTop: 0},'fast');
return false;
case "gb":
$('html,body').animate({scrollTop: $(document).height()},'fast');
return false;
case "gi":
if ($('#pkg-index').length > 0) {
$('html,body').animate({scrollTop: $("#pkg-index").offset().top},'fast');
return false;
}
case "ge":
if ($('#pkg-examples').length > 0) {
$('html,body').animate({scrollTop: $("#pkg-examples").offset().top},'fast');
return false;
}
}
}
switch (ch) {
case "/":
$('#x-search-query').focus();
return false;
case "?":
$('#x-shortcuts').modal();
return false;
case ".":
if ($('#x-jump').length > 0) {
window.setTimeout(function() {
$('#x-jump-text').typeahead({local: symbols()});
$('#x-jump').modal();
}, 0);
return false;
}
}
prevCh = ch
prevTime = e.timeStamp
return true;
});
$('span.timeago').timeago();
if (window.location.hash.substring(0, 9) == '#example-') {
var id = '#ex-' + window.location.hash.substring(9);
console.log(id);
console.log($(id));
$(id).addClass('in').removeClass('collapse').height('auto');
}
var highlighted;
function highlightHash() {
if (highlighted) {
highlighted.removeClass("highlight");
}
if (window.location.hash) {
highlighted = $('#x-file ' + window.location.hash.replace(/([.])/g,'\\$1'));
highlighted.addClass("highlight");
} else {
highlighted = null;
}
}
window.onhashchange = highlightHash;
highlightHash();
$(document).on("click", "input.click-select", function(e) {
$(e.target).select();
});
$('body').scrollspy({
target: '.gddo-sidebar',
offset: 10
});
});