/* +-------------------------------------------------------------------------+ | Copyright (C) 2004-2026 The Cacti Group | | | | This program is free software; you can redistribute it and/or | | modify it under the terms of the GNU General Public License | | as published by the Free Software Foundation; either version 2 | | of the License, or (at your option) any later version. | | | | This program is distributed in the hope that it will be useful, | | but WITHOUT ANY WARRANTY; without even the implied warranty of | | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | | GNU General Public License for more details. | +-------------------------------------------------------------------------+ | Cacti: The Complete RRDTool-based Graphing Solution | +-------------------------------------------------------------------------+ | This code is designed, written, and maintained by the Cacti Group. See | | about.php and/or the AUTHORS file for specific developer information. | +-------------------------------------------------------------------------+ | http://www.cacti.net/ | +-------------------------------------------------------------------------+ */ function themeReady() { if ($('#cactiPageBottom').length == 0) { $('
').insertAfter('#cactiContent'); } // Setup the navigation menu setMenuVisibility(); // Add nice search filter to filters if ($('input[id="filter"]').length > 0 && $('input[id="filter"]').next('i[class="ti ti-search filter"]').length < 1) { $('input[id="filter"]').after("").attr('autocomplete', 'off').attr('placeholder', searchFilter).parent('td').css('white-space', 'nowrap'); } if ($('input[id="filterd"]').length > 0 && $('input[id="filterd"]').next('i[class="ti ti-search filter"]').length < 1) { $('input[id="filterd"]').after("").attr('autocomplete', 'off').attr('placeholder', searchFilter).parent('td').css('white-space', 'nowrap'); } if ($('input[id="rfilter"]').length > 0 && $('input[id="rfilter"]').next('i[class="ti ti-search filter"]').length < 1 && $('input[id="rfilter"]').closest('.cactiFilterEditTable').length < 1) { $('input[id="rfilter"]').after("").attr('autocomplete', 'off').attr('placeholder', searchRFilter).parent('td').css('white-space', 'nowrap'); } $('input#filter, input#rfilter').addClass('ui-state-default ui-corner-all'); $('input[type="text"], input[type="password"], input[type="checkbox"], textarea').not('image').addClass('ui-state-default ui-corner-all'); /* Start clean up */ //login page $('.cactiLoginLogo').html("").css('font-size: 20px'); /* clean up the navigation menu */ $('.cactiConsoleNavigationArea').find('#menu').appendTo($('.cactiConsoleNavigationArea').find('#navigation')); $('.cactiConsoleNavigationArea').find('#navigation > table').remove(); $('.maintabs nav ul li a.lefttab').each( function() { id = $(this).attr('id'); if (id == 'tab-graphs' && $(this).parent().hasClass('maintabs-has-submenu') == 0 ) { $(this).parent().addClass('maintabs-has-submenu'); $('').appendTo('body'); } }); /* user menu on the right ... */ if ($('.usertabs').length == 0) { $('#userDocumentation').remove(); $('#userCommunity').remove(); $('.menuHr').remove(); $('
' +'' +'
').insertAfter('.maintabs'); $('').appendTo('body'); } ajaxAnchors(); /* User Menu */ $('.menuoptions').parent().appendTo('body'); $(window).trigger('resize'); $('.action-icon-user').rebind('click', function(event) { event.preventDefault(); if ($('.menuoptions').is(':visible') === false) { $('.submenuoptions').slideUp(120); $('.menuoptions').slideDown(120); } else { $('.menuoptions').slideUp(120); } return false; }); /* Highlight sortable table columns */ $('.tableHeader th').has('i.fa-sort').removeClass('tableHeaderColumnHover tableHeaderColumnSelected'); $('.tableHeader th').has('i.fa-sort-up').addClass('tableHeaderColumnSelected'); $('.tableHeader th').has('i.fa-sort-down').addClass('tableHeaderColumnSelected'); $('.tableHeader th').has('i.fa-sort').on('mouseenter', function() { $(this).addClass('tableHeaderColumnHover'); }).on('mouseleave', function() { $(this).removeClass('tableHeaderColumnHover'); }); $('input#filter, input#rfilter').addClass('ui-state-default ui-corner-all'); $('input[type="text"], input[type="password"], input[type="checkbox"], textarea').not('image').addClass('ui-state-default ui-corner-all'); setNavigationScroll(); } function setMenuVisibility() { const storage = Storages.sessionStorage; // Initialize the navigation settings $('#navigation').hide(); $('li.menuitem').each(function() { const active = storage.get($(this).attr('id')); if (active != null && active == 'active') { $(this).find('ul').attr('aria-hidden', 'false').attr('aria-expanded', 'true').show(); $(this).next('a').show(); } else { $(this).find('ul').attr('aria-hidden', 'true').attr('aria-expanded', 'false').hide(); $(this).next('a').hide(); } }); $('#navigation').show(); // Functon to give life to the Navigation pane $('#nav li:has(ul) a.active').rebind('click', function(event) { event.preventDefault(); const id = $(this).closest('.menuitem').attr('id'); if ($(this).next().is(':visible')){ $(this).next('ul').attr('aria-hidden', 'true').attr('aria-expanded', 'false'); $(this).next().slideUp( { duration: 200, easing: 'swing' } ); storage.set($(this).closest('.menuitem').attr('id'), 'collapsed'); } else { $(this).next('ul').attr('aria-hidden', 'false').attr('aria-expanded', 'true'); $(this).next().slideToggle( { duration: 200, easing: 'swing' } ); if ($(this).next().is(':visible')) { storage.set($(this).closest('.menuitem').attr('id'), 'active'); } else { storage.set($(this).closest('.menuitem').attr('id'), 'collapsed'); } } $('li.menuitem').not('#'+id).each(function() { $(this).find('ul').attr('aria-hidden', 'true').attr('aria-expanded', 'false'); $(this).find('ul').slideUp( { duration: 200, easing: 'swing' } ); storage.set($(this).attr('id'), 'collapsed'); }); }); }