114 lines
3.1 KiB
JavaScript
114 lines
3.1 KiB
JavaScript
ui = {
|
|
toggleIndex: function() {
|
|
$('body').toggleClass('index-collapsed');
|
|
var indexToggler = $('#index-toggler');
|
|
if (encodeURIComponent(indexToggler.html()) == '%C2%AB')
|
|
indexToggler.html('»');
|
|
else
|
|
indexToggler.html('«');
|
|
},
|
|
|
|
toggleMethods: function() {
|
|
$.element.toggleClass(this, 'toggled');
|
|
$('.sectionItems', this.parentNode.parentNode).toggleClass('invisible');
|
|
},
|
|
|
|
toggleModule: function(module) {
|
|
if (module) {
|
|
var name = 'filter module-'+module;
|
|
|
|
if ($('body').toggleClass(name).hasClass(name)) {
|
|
createCookie("jProtonDocModule", module);
|
|
} else {
|
|
eraseCookie("jProtonDocModule");
|
|
}
|
|
}
|
|
ui.hideEmptySections();
|
|
ui.updateFragmentLocation();
|
|
},
|
|
|
|
hideEmptySections: function() {
|
|
var sections = $('.section');
|
|
sections.each(function(i){
|
|
|
|
var count = 0;
|
|
var sectionItems = $(this).find('.sectionItems');
|
|
|
|
sectionItems.find('.sectionItem').each(function(){
|
|
if ($.element.css(this, 'display') != 'none')
|
|
count++;
|
|
});
|
|
|
|
if (sectionItems.e.length > 0 && count == 0)
|
|
$.element.addClass(this, 'invisible');
|
|
else
|
|
$.element.removeClass(this, 'invisible');
|
|
});
|
|
},
|
|
|
|
updateFragmentLocation: function() {
|
|
if (window.location.hash)
|
|
window.location.hash = window.location.hash;
|
|
},
|
|
|
|
updateModuleState: function() {
|
|
var module = readCookie("jProtonDocModule");
|
|
if (module) {
|
|
$('body').addClass('filter module-'+module);
|
|
ui.hideEmptySections();
|
|
}
|
|
ui.updateFragmentLocation();
|
|
}
|
|
}
|
|
|
|
window.onload = function() {
|
|
// Controle para alternar a exibição do outline
|
|
$('#index-toggler').attr('title', 'Alterna a exibição do outline');
|
|
$('#index-toggler, #index-close').on('click', ui.toggleIndex);
|
|
|
|
// Controle para alternar a exibição de métodos
|
|
$('.method-toggler').on('click', ui.toggleMethods);
|
|
|
|
// Controle para filtro de módulos
|
|
$('.module-filter').attr('title', 'Liga/Desliga filtro do módulo');
|
|
$.each(['core', 'css', 'dom', 'event', 'ajax'], function(i,e){
|
|
$('.module-' + e + ' .module-filter').on('click', function(){
|
|
ui.toggleModule(e);
|
|
});
|
|
});
|
|
|
|
ui.updateModuleState();
|
|
|
|
if (typeof dp != 'undefined')
|
|
dp.SyntaxHighlighter.HighlightAll('code');
|
|
}
|
|
|
|
window.onunload = function() {
|
|
$.event.removeAll();
|
|
}
|
|
|
|
function createCookie(name,value,days) {
|
|
if (days) {
|
|
var date = new Date();
|
|
date.setTime(date.getTime()+(days*24*60*60*1000));
|
|
var expires = "; expires="+date.toGMTString();
|
|
}
|
|
else var expires = "";
|
|
document.cookie = name+"="+value+expires+"; path=/";
|
|
}
|
|
|
|
function readCookie(name) {
|
|
var nameEQ = name + "=";
|
|
var ca = document.cookie.split(';');
|
|
for(var i=0;i < ca.length;i++) {
|
|
var c = ca[i];
|
|
while (c.charAt(0)==' ') c = c.substring(1,c.length);
|
|
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
|
|
}
|
|
return null;
|
|
}
|
|
|
|
function eraseCookie(name) {
|
|
createCookie(name,"",-1);
|
|
}
|