diff --git a/js/angular/controller/sideMenuController.js b/js/angular/controller/sideMenuController.js index 4a2f570627..46e8014492 100644 --- a/js/angular/controller/sideMenuController.js +++ b/js/angular/controller/sideMenuController.js @@ -50,7 +50,7 @@ function($scope, $attrs, $ionicSideMenuDelegate, $ionicPlatform, $ionicBody) { * Toggle the left menu to open 100% */ self.toggleLeft = function(shouldOpen) { - if(isAsideExposed) return; + if(isAsideExposed || !self.left.isEnabled) return; var openAmount = self.getOpenAmount(); if (arguments.length === 0) { shouldOpen = openAmount <= 0; @@ -67,7 +67,7 @@ function($scope, $attrs, $ionicSideMenuDelegate, $ionicPlatform, $ionicBody) { * Toggle the right menu to open 100% */ self.toggleRight = function(shouldOpen) { - if(isAsideExposed) return; + if(isAsideExposed || !self.right.isEnabled) return; var openAmount = self.getOpenAmount(); if (arguments.length === 0) { shouldOpen = openAmount >= 0; diff --git a/test/unit/angular/controller/sideMenuController.unit.js b/test/unit/angular/controller/sideMenuController.unit.js index a88d57ccb0..6972704a0f 100644 --- a/test/unit/angular/controller/sideMenuController.unit.js +++ b/test/unit/angular/controller/sideMenuController.unit.js @@ -120,6 +120,26 @@ describe('$ionicSideMenus controller', function() { expect(ctrl.getOpenPercentage()).toEqual(0); }); + it('should not toggle left when disabled', function() { + expect(ctrl.getOpenPercentage()).toEqual(0); + ctrl.left.isEnabled = false; + ctrl.toggleLeft(); + expect(ctrl.getOpenPercentage()).toEqual(0); + ctrl.left.isEnabled = true; + ctrl.toggleLeft(); + expect(ctrl.getOpenPercentage()).toNotEqual(0); + }); + + it('should not toggle right when disabled', function() { + expect(ctrl.getOpenPercentage()).toEqual(0); + ctrl.right.isEnabled = false; + ctrl.toggleRight(); + expect(ctrl.getOpenPercentage()).toEqual(0); + ctrl.right.isEnabled = true; + ctrl.toggleRight(); + expect(ctrl.getOpenPercentage()).toNotEqual(0); + }); + it('should close left menu on expose aside', function() { ctrl.toggleLeft(); expect(ctrl.getOpenPercentage()).toEqual(100);