Skip to content

Commit

Permalink
Update language tabs to properly stay in section, and fix history nav…
Browse files Browse the repository at this point in the history
…igation bug
  • Loading branch information
lord committed Jun 12, 2014
1 parent 7dead4c commit b363be8
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions source/javascripts/app/lang.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,25 @@ under the License.
function activateLanguage(language) {
if (!language) return;

var hash = window.location.hash;
if (hash) hash = hash.replace(/^#+/, '');
// do not reload the page every time the language is changed
if (history) history.pushState({}, '', '?' + language + '#' + hash);

$("#lang-selector a").removeClass('active');
$("#lang-selector a[data-language-name='" + language + "']").addClass('active');
for (var i=0; i < languages.length; i++) {
$(".highlight." + languages[i]).hide();
}
$(".highlight." + language).show();

// scroll to the new location of the position
$(window.location.hash).get(0).scrollIntoView(true);
}

// if a button is clicked, add the state to the history
function pushURL(language) {
if (!history) { return; }
var hash = window.location.hash;
if (hash) {
hash = hash.replace(/^#+/, '');
}
history.pushState({}, '', '?' + language + '#' + hash);
}

function setupLanguages(l) {
Expand Down Expand Up @@ -60,6 +68,7 @@ under the License.
$(function() {
$("#lang-selector a").on("click", function() {
var language = $(this).data("language-name");
pushURL(language);
activateLanguage(language);
return false;
});
Expand Down

0 comments on commit b363be8

Please sign in to comment.