mirror of https://github.com/ColorlibHQ/AdminLTE
Update app.js
parent
0050e298a2
commit
198e91c64a
|
@ -53,6 +53,8 @@ $.AdminLTE.options = {
|
||||||
//This option is forced to true if both the fixed layout and sidebar mini
|
//This option is forced to true if both the fixed layout and sidebar mini
|
||||||
//are used together
|
//are used together
|
||||||
sidebarExpandOnHover: false,
|
sidebarExpandOnHover: false,
|
||||||
|
//Do not close menu after opening
|
||||||
|
sidebarKeepMenuOpen: false,
|
||||||
//BoxRefresh Plugin
|
//BoxRefresh Plugin
|
||||||
enableBoxRefresh: true,
|
enableBoxRefresh: true,
|
||||||
//Bootstrap.js tooltip
|
//Bootstrap.js tooltip
|
||||||
|
@ -388,10 +390,17 @@ function _init() {
|
||||||
$.AdminLTE.tree = function (menu) {
|
$.AdminLTE.tree = function (menu) {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
var animationSpeed = $.AdminLTE.options.animationSpeed;
|
var animationSpeed = $.AdminLTE.options.animationSpeed;
|
||||||
|
var keepMenuOpen = $.AdminLTE.options.sidebarKeepMenuOpen;
|
||||||
|
|
||||||
|
//Find active li and set open class
|
||||||
|
$(menu + ' .sidebar-menu').find('li.active').addClass('open');
|
||||||
|
|
||||||
$(document).on('click', menu + ' li a', function (e) {
|
$(document).on('click', menu + ' li a', function (e) {
|
||||||
//Get the clicked link and the next element
|
//Get the clicked link and the next element
|
||||||
var $this = $(this);
|
var $this = $(this);
|
||||||
var checkElement = $this.next();
|
var checkElement = $this.next();
|
||||||
|
//Get the parent li
|
||||||
|
var parent_li = $this.parent("li");
|
||||||
|
|
||||||
//Check if the next element is a menu and is visible
|
//Check if the next element is a menu and is visible
|
||||||
if ((checkElement.is('.treeview-menu')) && (checkElement.is(':visible')) && (!$('body').hasClass('sidebar-collapse'))) {
|
if ((checkElement.is('.treeview-menu')) && (checkElement.is(':visible')) && (!$('body').hasClass('sidebar-collapse'))) {
|
||||||
|
@ -401,25 +410,27 @@ function _init() {
|
||||||
//Fix the layout in case the sidebar stretches over the height of the window
|
//Fix the layout in case the sidebar stretches over the height of the window
|
||||||
//_this.layout.fix();
|
//_this.layout.fix();
|
||||||
});
|
});
|
||||||
checkElement.parent("li").removeClass("active");
|
parent_li.removeClass('open');
|
||||||
}
|
}
|
||||||
//If the menu is not visible
|
//If the menu is not visible
|
||||||
else if ((checkElement.is('.treeview-menu')) && (!checkElement.is(':visible'))) {
|
else if ((checkElement.is('.treeview-menu')) && (!checkElement.is(':visible'))) {
|
||||||
//Get the parent menu
|
//Get the parent menu
|
||||||
var parent = $this.parents('ul').first();
|
var parent = $this.parents('ul').first();
|
||||||
|
//
|
||||||
|
var ul = parent.find('ul:visible').not(':has(".active")');
|
||||||
|
if (!keepMenuOpen) {
|
||||||
//Close all open menus within the parent
|
//Close all open menus within the parent
|
||||||
var ul = parent.find('ul:visible').slideUp(animationSpeed);
|
ul.slideUp(animationSpeed);
|
||||||
//Remove the menu-open class from the parent
|
//Remove the menu-open class from the parent
|
||||||
ul.removeClass('menu-open');
|
ul.removeClass('menu-open');
|
||||||
//Get the parent li
|
//Remove all open classes except active
|
||||||
var parent_li = $this.parent("li");
|
parent.find('.treeview').not(':has(".active")').removeClass('open');
|
||||||
|
}
|
||||||
|
parent_li.addClass('open');
|
||||||
//Open the target menu and add the menu-open class
|
//Open the target menu and add the menu-open class
|
||||||
checkElement.slideDown(animationSpeed, function () {
|
checkElement.slideDown(animationSpeed, function () {
|
||||||
//Add the class active to the parent li
|
//Add the class active to the parent li
|
||||||
checkElement.addClass('menu-open');
|
checkElement.addClass('menu-open');
|
||||||
parent.find('li.active').removeClass('active');
|
|
||||||
parent_li.addClass('active');
|
|
||||||
//Fix the layout in case the sidebar stretches over the height of the window
|
//Fix the layout in case the sidebar stretches over the height of the window
|
||||||
_this.layout.fix();
|
_this.layout.fix();
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue