diff --git a/js/angular/controller/sideMenuController.js b/js/angular/controller/sideMenuController.js index 1af15577f14..acbfce632cc 100644 --- a/js/angular/controller/sideMenuController.js +++ b/js/angular/controller/sideMenuController.js @@ -259,6 +259,8 @@ function($scope, $attrs, $ionicSideMenuDelegate, $ionicPlatform, $ionicBody) { }; self.exposeAside = function(shouldExposeAside) { + if(!self.left || !self.left.isEnabled) return; + self.close(); isAsideExposed = shouldExposeAside; diff --git a/test/unit/angular/controller/sideMenuController.unit.js b/test/unit/angular/controller/sideMenuController.unit.js index a277ce42ac0..a88d57ccb08 100644 --- a/test/unit/angular/controller/sideMenuController.unit.js +++ b/test/unit/angular/controller/sideMenuController.unit.js @@ -134,6 +134,16 @@ describe('$ionicSideMenus controller', function() { expect(ctrl.getOpenPercentage()).toEqual(0); }); + it('should set enabled/disabled exposeAside', function() { + expect(ctrl.isAsideExposed()).toEqual(false); + ctrl.left.setIsEnabled(false); + ctrl.exposeAside(true); + expect(ctrl.isAsideExposed()).toEqual(false); + ctrl.left.setIsEnabled(true); + ctrl.exposeAside(true); + expect(ctrl.isAsideExposed()).toEqual(true); + }); + it('should toggle right', function() { ctrl.toggleRight(); expect(ctrl.getOpenPercentage()).toEqual(-100);