Skip to content

Commit cedee57

Browse files
committed
fix(sideMenu): Prevent is-enabled="false" from blocking current view interaction. Fixes #1973
1 parent aa7e9dd commit cedee57

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

Diff for: js/angular/controller/sideMenuController.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ function($scope, $attrs, $ionicSideMenuDelegate, $ionicPlatform, $ionicBody) {
5050
* Toggle the left menu to open 100%
5151
*/
5252
self.toggleLeft = function(shouldOpen) {
53-
if(isAsideExposed) return;
53+
if(isAsideExposed || !self.left.isEnabled) return;
5454
var openAmount = self.getOpenAmount();
5555
if (arguments.length === 0) {
5656
shouldOpen = openAmount <= 0;
@@ -67,7 +67,7 @@ function($scope, $attrs, $ionicSideMenuDelegate, $ionicPlatform, $ionicBody) {
6767
* Toggle the right menu to open 100%
6868
*/
6969
self.toggleRight = function(shouldOpen) {
70-
if(isAsideExposed) return;
70+
if(isAsideExposed || !self.right.isEnabled) return;
7171
var openAmount = self.getOpenAmount();
7272
if (arguments.length === 0) {
7373
shouldOpen = openAmount >= 0;

Diff for: test/unit/angular/controller/sideMenuController.unit.js

+20
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,26 @@ describe('$ionicSideMenus controller', function() {
120120
expect(ctrl.getOpenPercentage()).toEqual(0);
121121
});
122122

123+
it('should not toggle left when disabled', function() {
124+
expect(ctrl.getOpenPercentage()).toEqual(0);
125+
ctrl.left.isEnabled = false;
126+
ctrl.toggleLeft();
127+
expect(ctrl.getOpenPercentage()).toEqual(0);
128+
ctrl.left.isEnabled = true;
129+
ctrl.toggleLeft();
130+
expect(ctrl.getOpenPercentage()).toNotEqual(0);
131+
});
132+
133+
it('should not toggle right when disabled', function() {
134+
expect(ctrl.getOpenPercentage()).toEqual(0);
135+
ctrl.right.isEnabled = false;
136+
ctrl.toggleRight();
137+
expect(ctrl.getOpenPercentage()).toEqual(0);
138+
ctrl.right.isEnabled = true;
139+
ctrl.toggleRight();
140+
expect(ctrl.getOpenPercentage()).toNotEqual(0);
141+
});
142+
123143
it('should close left menu on expose aside', function() {
124144
ctrl.toggleLeft();
125145
expect(ctrl.getOpenPercentage()).toEqual(100);

0 commit comments

Comments
 (0)