From c8ba613035d43087390763c10cdcf1131e58562a Mon Sep 17 00:00:00 2001 From: Tommy Urrea Date: Thu, 20 Dec 2012 03:48:33 -0800 Subject: [PATCH 1/2] add methods to slide view programmatically (open, close, slideView) --- src/slidingview/slidingview.js | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/src/slidingview/slidingview.js b/src/slidingview/slidingview.js index 343fcdf..32bda89 100644 --- a/src/slidingview/slidingview.js +++ b/src/slidingview/slidingview.js @@ -162,17 +162,30 @@ SlidingView.prototype.snapToPosition = function() { //console.log( currentPosition, halfWidth, targetX ); if ( currentPosition != targetX ) { - - this.body.stop(true, false).animate({ - left:targetX, - avoidTransforms:false, - useTranslate3d: true - }, 100); - - this.sidebar.trigger( "slidingViewProgress", { current:targetX, max:this.sidebarWidth } ); + this.slideView(targetX); } } +SlidingView.prototype.slideView = function(targetX) { + this.body.stop(true, false).animate({ + left:targetX, + avoidTransforms:false, + useTranslate3d: true + }, 100); + + this.sidebar.trigger( "slidingViewProgress", { current:targetX, max:this.sidebarWidth } ); +} + +SlidingView.prototype.close = function() { + this.bodyOffset = 0; + this.slideView(0); +} + +SlidingView.prototype.open = function() { + this.bodyOffset = this.sidebarWidth; + this.slideView(this.sidebarWidth); +} + SlidingView.prototype.unbindEvents = function() { this.body.get()[0].removeEventListener( this.MOVE_EVENT, this.touchMoveHandler, false ); this.body.get()[0].removeEventListener( this.END_EVENT, this.touchUpHandler, false ); From e39844512a7933899c24f7abfd995bbf3abbdfb4 Mon Sep 17 00:00:00 2001 From: Tommy Urrea Date: Thu, 20 Dec 2012 04:22:46 -0800 Subject: [PATCH 2/2] fix bug where open method would close view when called while view was open --- src/slidingview/slidingview.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/slidingview/slidingview.js b/src/slidingview/slidingview.js index 32bda89..8503acd 100644 --- a/src/slidingview/slidingview.js +++ b/src/slidingview/slidingview.js @@ -182,6 +182,7 @@ SlidingView.prototype.close = function() { } SlidingView.prototype.open = function() { + if(this.bodyOffset == this.sidebarWidth) return; this.bodyOffset = this.sidebarWidth; this.slideView(this.sidebarWidth); }