mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
refactor(ionicSideMenuController): make toggleLeft based on percent
This commit is contained in:
@@ -50,26 +50,26 @@
|
||||
},
|
||||
|
||||
isOpenLeft: function() {
|
||||
return this._leftShowing;
|
||||
return this.getOpenAmount() > 0;
|
||||
},
|
||||
|
||||
isOpenRight: function() {
|
||||
return this._rightShowing;
|
||||
return this.getOpenAmount() < 0;
|
||||
},
|
||||
|
||||
/**
|
||||
* Toggle the left menu to open 100%
|
||||
*/
|
||||
toggleLeft: function(shouldOpen) {
|
||||
var openAmount = this.getOpenAmount();
|
||||
if (arguments.length === 0) {
|
||||
shouldOpen = !this._leftShowing;
|
||||
shouldOpen = openAmount <= 0;
|
||||
}
|
||||
this.content.enableAnimation();
|
||||
var openAmount = this.getOpenAmount();
|
||||
if(shouldOpen) {
|
||||
this.openPercentage(100);
|
||||
} else {
|
||||
if(!shouldOpen) {
|
||||
this.openPercentage(0);
|
||||
} else {
|
||||
this.openPercentage(100);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -77,15 +77,15 @@
|
||||
* Toggle the right menu to open 100%
|
||||
*/
|
||||
toggleRight: function(shouldOpen) {
|
||||
var openAmount = this.getOpenAmount();
|
||||
if (arguments.length === 0) {
|
||||
shouldOpen = !this._rightShowing;
|
||||
shouldOpen = openAmount >= 0;
|
||||
}
|
||||
this.content.enableAnimation();
|
||||
var openAmount = this.getOpenAmount();
|
||||
if(shouldOpen) {
|
||||
this.openPercentage(-100);
|
||||
} else {
|
||||
if(!shouldOpen) {
|
||||
this.openPercentage(0);
|
||||
} else {
|
||||
this.openPercentage(-100);
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -82,24 +82,45 @@ describe('SideMenuController', function() {
|
||||
});
|
||||
|
||||
// Open
|
||||
it('Should toggle left and right', function() {
|
||||
it('Should toggle left', function() {
|
||||
ctrl.toggleLeft();
|
||||
expect(ctrl.getOpenPercentage()).toEqual(100);
|
||||
ctrl.toggleLeft();
|
||||
expect(ctrl.getOpenPercentage()).toEqual(0);
|
||||
ctrl.toggleLeft();
|
||||
expect(ctrl.getOpenPercentage()).toEqual(100);
|
||||
ctrl.toggleLeft();
|
||||
expect(ctrl.getOpenPercentage()).toEqual(0);
|
||||
});
|
||||
|
||||
it('should toggle right', function() {
|
||||
ctrl.toggleRight();
|
||||
expect(ctrl.getOpenPercentage()).toEqual(-100);
|
||||
ctrl.toggleRight();
|
||||
expect(ctrl.getOpenPercentage()).toEqual(0);
|
||||
ctrl.toggleRight();
|
||||
expect(ctrl.getOpenPercentage()).toEqual(-100);
|
||||
ctrl.toggleRight();
|
||||
expect(ctrl.getOpenPercentage()).toEqual(0);
|
||||
});
|
||||
|
||||
it('should isOpenLeft', function() {
|
||||
expect(ctrl.isOpenLeft()).toEqual(false);
|
||||
ctrl.toggleLeft();
|
||||
expect(ctrl.getOpenPercentage()).toEqual(100);
|
||||
expect(ctrl.isOpenLeft()).toEqual(true);
|
||||
ctrl.toggleLeft();
|
||||
expect(ctrl.isOpenLeft()).toEqual(false);
|
||||
ctrl.toggleLeft();
|
||||
expect(ctrl.isOpenLeft()).toEqual(true);
|
||||
});
|
||||
|
||||
it('should isOpenRight', function() {
|
||||
expect(ctrl.isOpenRight()).toEqual(false);
|
||||
ctrl.toggleRight();
|
||||
expect(ctrl.getOpenPercentage()).toEqual(-100);
|
||||
expect(ctrl.isOpenRight()).toEqual(true);
|
||||
ctrl.toggleRight();
|
||||
expect(ctrl.isOpenRight()).toEqual(false);
|
||||
ctrl.toggleRight();
|
||||
expect(ctrl.isOpenRight()).toEqual(true);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user