jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/354175 )

Change subject: Fix handling of escape key
......................................................................


Fix handling of escape key

Previously, pressing ESC aborted the dragging of the slider, but this
was broken by I64cca7a7547310bee64ad95f500b722c362bbb45, which refactored
uses of a variable that was previously a closure into two separate functions.

Bug: T140965
Change-Id: I6b7bc383128d8c7d99da469706bff881f1329cd9
---
M modules/ext.RevisionSlider.SliderView.js
M modules/ext.RevisionSlider.SliderViewTwo.js
2 files changed, 13 insertions(+), 12 deletions(-)

Approvals:
  WMDE-Fisch: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/ext.RevisionSlider.SliderView.js 
b/modules/ext.RevisionSlider.SliderView.js
index 9de8dd6..b94b6a8 100644
--- a/modules/ext.RevisionSlider.SliderView.js
+++ b/modules/ext.RevisionSlider.SliderView.js
@@ -83,6 +83,8 @@
                 */
                isDragged: false,
 
+               escapePressed: false,
+
                render: function ( $container ) {
                        var containerWidth = 
this.calculateSliderContainerWidth(),
                                $revisions = 
this.slider.getRevisions().getView().render( this.revisionWidth ),
@@ -184,18 +186,18 @@
                 */
                initPointers: function ( $revisions ) {
                        var $pointers,
-                               escapePressed = false;
+                               self = this;
 
                        $pointers = this.$element.find( '.mw-revslider-pointer' 
);
 
                        $( 'body' ).keydown( function ( e ) {
                                if ( e.which === 27 ) {
-                                       escapePressed = true;
+                                       self.escapePressed = true;
                                        $pointers.trigger( 'mouseup' );
                                }
                        } );
 
-                       $pointers.draggable( this.buildDraggableOptions( 
escapePressed, $revisions, '.mw-revslider-pointer-container' ) );
+                       $pointers.draggable( this.buildDraggableOptions( 
$revisions, '.mw-revslider-pointer-container' ) );
                        $pointers.on(
                                'touchstart touchmove touchend',
                                mw.libs.revisionSlider.touchEventConverter
@@ -205,12 +207,11 @@
                /**
                 * Build options for the draggable
                 *
-                * @param {boolean} escapePressed
                 * @param {jQuery} $revisions
                 * @param {string} containmentClass
                 * @return {Object}
                 */
-               buildDraggableOptions: function ( escapePressed, $revisions, 
containmentClass ) {
+               buildDraggableOptions: function ( $revisions, containmentClass 
) {
                        var lastValidLeftPos,
                                self = this;
 
@@ -222,7 +223,7 @@
                                        self.isDragged = true;
                                        self.setPointerDragCursor();
                                        self.fadeOutPointerLines();
-                                       escapePressed = false;
+                                       self.escapePressed = false;
                                },
                                stop: function () {
                                        var $p = $( this ),
@@ -233,7 +234,7 @@
                                        self.isDragged = false;
                                        self.removePointerDragCursor();
 
-                                       if ( escapePressed ) {
+                                       if ( self.escapePressed ) {
                                                
self.updatePointerPositionAttributes();
                                                
self.resetPointerStylesBasedOnPosition();
                                                return;
@@ -266,7 +267,7 @@
                                        );
                                },
                                revert: function () {
-                                       return escapePressed;
+                                       return self.escapePressed;
                                }
                        };
                },
diff --git a/modules/ext.RevisionSlider.SliderViewTwo.js 
b/modules/ext.RevisionSlider.SliderViewTwo.js
index 32490b7..e7f1445 100644
--- a/modules/ext.RevisionSlider.SliderViewTwo.js
+++ b/modules/ext.RevisionSlider.SliderViewTwo.js
@@ -83,23 +83,23 @@
                        var $pointers,
                                $pointerOlder = 
this.pointerOlder.getView().getElement(),
                                $pointerNewer = 
this.pointerNewer.getView().getElement(),
-                               escapePressed = false;
+                               self = this;
 
                        $pointers = this.$element.find( '.mw-revslider-pointer' 
);
 
                        $( 'body' ).keydown( function ( e ) {
                                if ( e.which === 27 ) {
-                                       escapePressed = true;
+                                       self.escapePressed = true;
                                        $pointers.trigger( 'mouseup' );
                                }
                        } );
 
                        $pointerOlder.draggable( this.buildDraggableOptions(
-                               escapePressed, $revisions,
+                               $revisions,
                                '.mw-revslider-pointer-container-older'
                        ) );
                        $pointerNewer.draggable( this.buildDraggableOptions(
-                               escapePressed, $revisions,
+                               $revisions,
                                '.mw-revslider-pointer-container-newer'
                        ) );
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I6b7bc383128d8c7d99da469706bff881f1329cd9
Gerrit-PatchSet: 11
Gerrit-Project: mediawiki/extensions/RevisionSlider
Gerrit-Branch: master
Gerrit-Owner: Pppery <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Andrew-WMDE <[email protected]>
Gerrit-Reviewer: Tobias Gritschacher <[email protected]>
Gerrit-Reviewer: WMDE-Fisch <[email protected]>
Gerrit-Reviewer: WMDE-leszek <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to