savvy-js
Version:
Savvy - Style sheet documentation tool
81 lines (60 loc) • 2.06 kB
JavaScript
(function(){
var browseElement;
function initializeBrowse(){
browseElement = $('#savvy-browse');
browseElement.off('click');
browseElement.on('click', 'h4', function(e){
var target = $(e.target);
target.toggleClass('savvy-visible');
});
renderBrowse();
}
function renderClasses(parent){
var panel = '';
if(parent.classes && parent.classes.length){
panel = '<div><h4>Classes</h4><ul>';
parent.classes.forEach(function(classObject){
panel += '<li>' + app.navigation.getLink(classObject) + '</li>';
});
panel += '</ul></div>';
}
return panel;
}
function renderSubmodules(parent){
var panel = '';
if(parent.submodules && parent.submodules.length){
panel = '<div><h4>Submodules</h4><ul>';
parent.submodules.forEach(function(submodule){
panel += '<li>' + app.navigation.getLink(submodule);
panel += renderClasses(submodule);
panel += '</li>';
});
panel += '</ul></div>';
}
return panel;
}
function renderModule(parent){
var panel = '';
if(parent.modules && parent.modules.length){
panel = '<div><h3>Modules</h3><ul>';
parent.modules.forEach(function(module){
panel += '<li>' + app.navigation.getLink(module);
panel += renderClasses(module);
panel += renderSubmodules(module);
panel += '</li>';
});
panel += '</ul></div>';
}
return panel;
}
function renderBrowse(){
var html = '';
html += renderClasses(data);
html += renderModule(data);
browseElement.html(html);
}
app.browse = {
init : initializeBrowse,
render : renderBrowse
};
}());