Florianschmidtwelzow has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/198763

Change subject: Allow swiping in ImageOverlayNew
......................................................................

Allow swiping in ImageOverlayNew

It's an intuitive gesture to swipe through the images, instead of using the
arrows.

Change-Id: I1301ac8f8c1443ea899a649410ca9912eef942ee
---
M javascripts/modules/mediaViewer/ImageOverlayNew.js
1 file changed, 37 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend 
refs/changes/63/198763/1

diff --git a/javascripts/modules/mediaViewer/ImageOverlayNew.js 
b/javascripts/modules/mediaViewer/ImageOverlayNew.js
index b2040b2..bab1b0c 100644
--- a/javascripts/modules/mediaViewer/ImageOverlayNew.js
+++ b/javascripts/modules/mediaViewer/ImageOverlayNew.js
@@ -15,16 +15,51 @@
                },
                events: $.extend( {}, ImageOverlay.prototype.events, {
                        // Click tracking for table of contents so we can see 
if people interact with it
-                       'click .slider-button': 'onSlide'
+                       'click .slider-button': 'onSlide',
+                       touchstart: 'onTouchStart',
+                       touchend: 'onTouchEnd'
                } ),
                /**
                 * Event handler for slide event
                 * @param {jQuery.Event} ev
                 */
                onSlide: function ( ev ) {
-                       var thumbnail = $( ev.target ).closest( 
'.slider-button' ).data( 'thumbnail' );
+                       this.setNewImage(
+                               $( ev.target ).closest( '.slider-button' 
).data( 'thumbnail' )
+                       );
+               },
+               /**
+                * Replace the current image with a new one
+                * @param {Thumbnail} thumbnail
+                */
+               setNewImage: function ( thumbnail ) {
                        window.location.hash = '#/media/' + 
thumbnail.getFileName();
                },
+               /**
+                * Event handler for swipe start event (touchstart)
+                * @param {jQuery.Event} ev
+                */
+               onTouchStart: function ( ev ) {
+                       this.startTouch = ev.originalEvent.changedTouches[0];
+               },
+               /**
+                * Event handler for swipe finished event (touchend)
+                * @param {jQuery.Event} ev
+                */
+               onTouchEnd: function ( ev ) {
+                       this.endTouch = ev.originalEvent.changedTouches[0];
+                       // we want a long horizontal swipe
+                       if ( Math.abs( this.startTouch.pageX - 
this.endTouch.pageX ) > 200 ) {
+                               // select the correct direction for the next 
image
+                               if ( this.startTouch.pageX < 
this.endTouch.pageX ) {
+                                       // swiped to the right side
+                                       this.setNewImage( $( 
'.slider-button.prev' ).data( 'thumbnail' ) );
+                               } else {
+                                       // otherwise to the left side
+                                       this.setNewImage( $( 
'.slider-button.next' ).data( 'thumbnail' ) );
+                               }
+                       }
+               },
                defaults: $.extend( {}, ImageOverlay.prototype.defaults, {
                        slideLeftButton: new Icon( {
                                name: 'previous'

-- 
To view, visit https://gerrit.wikimedia.org/r/198763
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1301ac8f8c1443ea899a649410ca9912eef942ee
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Florianschmidtwelzow <florian.schmidt.wel...@t-online.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to