diff --git a/src/app/theme/components/sidebar/SidebarCtrl.js b/src/app/theme/components/sidebar/SidebarCtrl.js
index ffcb210..8c4079f 100644
--- a/src/app/theme/components/sidebar/SidebarCtrl.js
+++ b/src/app/theme/components/sidebar/SidebarCtrl.js
@@ -9,32 +9,28 @@
.controller('SidebarCtrl', SidebarCtrl);
/** @ngInject */
- function SidebarCtrl($scope, $timeout, $location, $rootScope, layoutSizes, sidebarService) {
+ function SidebarCtrl($scope, $rootScope, $timeout, $location, layoutSizes, sidebarService) {
$scope.menuItems = sidebarService.getMenuItems();
function changeSelectElemTopValue() {
$timeout(function () {
var selectedItem = $('.al-sidebar-list-item.selected');
- if (selectedItem) {
+ if (selectedItem.length) {
$scope.selectElemTop = selectedItem.position().top;
}
}, 101);
}
function selectMenuItem() {
- $.each($scope.menuItems, function (index, value) {
- value.selected = value.root === '#' + $location.$$url;
+ $.each($scope.menuItems, function (index, menu) {
+ menu.selected = ('#' + $location.$$url).indexOf(menu.root) == 0;
+ menu.expanded = menu.selected;
- if (value.subMenu) {
- var hasSelectedSubmenu = false;
- $.each(value.subMenu, function (subIndex, subValue) {
- subValue.selected = subValue.root === '#' + $location.$$url;
- if (subValue.selected) {
- hasSelectedSubmenu = true;
- }
+ if (menu.subMenu) {
+ $.each(menu.subMenu, function (subIndex, subMenu) {
+ subMenu.selected = ('#' + $location.$$url).indexOf(subMenu.root) == 0;
});
- value.selected = hasSelectedSubmenu;
}
});
changeSelectElemTopValue();
@@ -47,14 +43,14 @@
});
$scope.menuExpand = function () {
- $rootScope.$isMenuCollapsed = false;
+ $scope.$isMenuCollapsed = false;
};
$scope.menuCollapse = function () {
- $rootScope.$isMenuCollapsed = true;
+ $scope.$isMenuCollapsed = true;
};
- $rootScope.$watch('$isMenuCollapsed', function (newValue) {
+ $scope.$watch('$isMenuCollapsed', function (newValue) {
if (!newValue && !$scope.selectElemTop) {
changeSelectElemTopValue();
}
@@ -65,7 +61,7 @@
var isMenuShouldCollapsed = $(window).width() <= layoutSizes.resWidthCollapseSidebar;
if ($scope.isMenuShouldCollapsed !== isMenuShouldCollapsed) {
$scope.$apply(function () {
- $rootScope.$isMenuCollapsed = isMenuShouldCollapsed;
+ $scope.$isMenuCollapsed = isMenuShouldCollapsed;
});
}
$scope.isMenuShouldCollapsed = isMenuShouldCollapsed;
@@ -74,13 +70,14 @@
$scope.toggleSubMenu = function ($event, item) {
var submenu = $($event.currentTarget).next();
- if ($rootScope.$isMenuCollapsed) {
+ if ($scope.$isMenuCollapsed) {
if (!item.slideRight) {
$timeout(function () {
item.slideRight = true;
$scope.anySlideRight = true;
}, 20);
}
+ $scope.menuExpand();
} else {
submenu.slideToggle(100);
changeSelectElemTopValue();
@@ -105,11 +102,5 @@
var menuTopValue = 66;
$scope.hoverElemTop = $event.currentTarget.getBoundingClientRect().top - menuTopValue;
};
-
- $scope.collapseSidebarIfSmallRes = function () {
- if (window.innerWidth <= layoutSizes.resWidthCollapseSidebar) {
- $rootScope.$isMenuCollapsed = true;
- }
- };
}
})();
\ No newline at end of file
diff --git a/src/app/theme/components/sidebar/sidebar.html b/src/app/theme/components/sidebar/sidebar.html
index da895ba..d95a7e8 100644
--- a/src/app/theme/components/sidebar/sidebar.html
+++ b/src/app/theme/components/sidebar/sidebar.html
@@ -5,8 +5,7 @@
ng-class="{'selected': item.selected, 'with-sub-menu': item.subMenu}"
ng-mouseenter="hoverItem($event, item)">
-
@@ -28,11 +27,11 @@
-
{{ subitem.title}}
+
{{ subitem.title}}
diff --git a/src/index.html b/src/index.html
index 275daa5..1122856 100644
--- a/src/index.html
+++ b/src/index.html
@@ -29,7 +29,7 @@
-
+