From 9d0c04a77fae0a7a3923f9f316dd7157c189226d Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 4 Feb 2016 13:47:28 +0300 Subject: [PATCH] fix(sidebar): use dynamic height for slimScroll --- src/app/theme/components/sidebar/SidebarCtrl.js | 12 +++++++++++- src/app/theme/components/sidebar/sidebar.html | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/app/theme/components/sidebar/SidebarCtrl.js b/src/app/theme/components/sidebar/SidebarCtrl.js index 745e8ff..455fb7f 100644 --- a/src/app/theme/components/sidebar/SidebarCtrl.js +++ b/src/app/theme/components/sidebar/SidebarCtrl.js @@ -9,9 +9,10 @@ .controller('SidebarCtrl', SidebarCtrl); /** @ngInject */ - function SidebarCtrl($scope, $rootScope, $timeout, $location, layoutSizes, sidebarService) { + function SidebarCtrl($scope, $rootScope, $timeout, $location, layoutSizes, sidebarService, $element) { $scope.menuItems = sidebarService.getMenuItems(); + $scope.menuHeight = $element[0].childNodes[0].clientHeight - 84; function changeSelectElemTopValue() { $timeout(function () { @@ -58,12 +59,21 @@ // watch window resize to change menu collapsed state if needed $(window).resize(function () { var isMenuShouldCollapsed = $(window).width() <= layoutSizes.resWidthCollapseSidebar; + var scopeApplied = false; if ($scope.isMenuShouldCollapsed !== isMenuShouldCollapsed) { $scope.$apply(function () { + $scope.menuHeight = $element[0].childNodes[0].clientHeight - 84; $scope.$isMenuCollapsed = isMenuShouldCollapsed; + scopeApplied = true; + }); + } + if (!scopeApplied) { + $scope.$apply(function () { + $scope.menuHeight = $element[0].childNodes[0].clientHeight - 84; }); } $scope.isMenuShouldCollapsed = isMenuShouldCollapsed; + }); $scope.toggleSubMenu = function ($event, item) { diff --git a/src/app/theme/components/sidebar/sidebar.html b/src/app/theme/components/sidebar/sidebar.html index f096491..2dd392f 100644 --- a/src/app/theme/components/sidebar/sidebar.html +++ b/src/app/theme/components/sidebar/sidebar.html @@ -1,6 +1,6 @@