// needed for nav tabs on pages. See Formatting > Nav tabs for more details. // script from http://stackoverflow.com/questions/10523433/how-do-i-keep-the-current-tab-active-with-twitter-bootstrap-after-a-page-reload (function() { var registerTabEvent = function() { $('a[data-toggle="pill"], a[data-toggle="tab"]').on('shown.bs.tab', function(e) { var tabId, json, parentId, tabsState; tabsState = localStorage.getItem('tabs-state'); json = JSON.parse(tabsState || "{}"); parentId = $(e.target).parents('ul.nav.nav-pills, ul.nav.nav-tabs').attr('id'); tabId = $(e.target).attr('id'); json[parentId] = tabId; return localStorage.setItem('tabs-state', JSON.stringify(json)); }); }; document.addEventListener('DOMContentLoaded', function () { var json, tabsState; tabsState = localStorage.getItem('tabs-state'); json = JSON.parse(tabsState || '{}'); $.each(json, function(containerId, tabId) { if (containerId && containerId !== 'undefined' && tabId && tabId !== 'undefined' && tabId.indexOf('#') !== 0) { $('#' + tabId).tab('show'); } }); $('ul.nav.nav-pills, ul.nav.nav-tabs').each(function() { var $this = $(this); if (!json[$this.attr('id')]) { return $this.find('a[data-toggle=tab]:first, a[data-toggle=pill]:first').tab('show'); } }); // cleanup "undefined" entries delete json['undefined']; localStorage.setItem('tabs-state', JSON.stringify(json)); registerTabEvent(); }); })();