Handle JS refreshing of belatedly added search navigators

pull/127/merge
luccioman 8 years ago
parent 9049a926a5
commit 18412dca21

@ -159,13 +159,19 @@ var processSidebarNavProtocols = function(navProtocolsOld, navProtocolsNew) {
} ); } );
}; };
// TODO: test this function /**
// This is for sidebar items that are <ul> elements with the "menugroup" class. * Refresh a navigator list element with the "menugroup" class.
var processSidebarMenuGroup = function(listOld, listNew) { * @param parentSidebar the parent navigators side bar currently displayed
* @param listOld the old navigator list
* @param listNew the new navigator list
*/
var processSidebarMenuGroup = function(parentSidebar, listOld, listNew) {
if ( $(listNew).length === 1) { if ( $(listNew).length === 1) {
if ( $(listOld).length < 1) { if ( $(listOld).length < 1) {
if(logEnabled) { /* List old doesn't exist : insert it at the beginning of the list */
console.warn("listOld doesn't exist, so can't replace it with listNew."); var allNavs = parentSidebar.find(".nav.nav-sidebar.menugroup");
if(allNavs.length > 0) {
listNew.insertBefore(allNavs[0]);
} }
return; return;
} }
@ -194,23 +200,6 @@ var processSidebar = function(data) {
var oldSidebar = $("#sidebar"); var oldSidebar = $("#sidebar");
var newSidebar = $('<div class="col-sm-4 col-md-3 sidebar" id="sidebar">\n\n' + data + '\n\n</div>'); var newSidebar = $('<div class="col-sm-4 col-md-3 sidebar" id="sidebar">\n\n' + data + '\n\n</div>');
/*
if( old_sidebar.html() == data ) {
if(logEnabled) {
console.log("Sidebar unchanged.");
}
return;
}
*/
/*
if( $.trim(old_sidebar.html()) == $.trim(data) ) {
if(logEnabled) {
console.log("Sidebar unchanged.");
}
return;
}
*/
//else if( $.trim(old_sidebar.html()) == $.trim("") ) {
if( oldSidebar.children().length === 0 ) { if( oldSidebar.children().length === 0 ) {
if(logEnabled) { if(logEnabled) {
console.log("Initializing sidebar..."); console.log("Initializing sidebar...");
@ -247,21 +236,16 @@ var processSidebar = function(data) {
// TODO: nav-dates // TODO: nav-dates
// domains (AKA providers) // hosts (AKA providers)
// TODO: test hosts processSidebarMenuGroup(oldSidebar, $("#nav-hosts"), newSidebar.find("#nav-hosts"));
processSidebarMenuGroup($("#nav-hosts"), newSidebar.find("#nav-hosts"));
// TODO: test languages processSidebarMenuGroup(oldSidebar, $("#nav-languages"), newSidebar.find("#nav-languages"));
processSidebarMenuGroup($("#nav-languages"), newSidebar.find("#nav-languages"));
// TODO: test authors processSidebarMenuGroup(oldSidebar, $("#nav-authors"), newSidebar.find("#nav-authors"));
processSidebarMenuGroup($("#nav-authors"), newSidebar.find("#nav-authors"));
// TODO: test Wiki Name Space processSidebarMenuGroup(oldSidebar, $("#nav-namespace"), newSidebar.find("#nav-namespace"));
processSidebarMenuGroup($("#nav-namespace"), newSidebar.find("#nav-namespace"));
// TODO: test filetype processSidebarMenuGroup(oldSidebar, $("#nav-filetype"), newSidebar.find("#nav-filetype"));
processSidebarMenuGroup($("#nav-filetype"), newSidebar.find("#nav-filetype"));
// TODO: navs // TODO: navs

Loading…
Cancel
Save