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

Change subject: Tooltips when hovering slider lines in the SliderViewTwo
......................................................................


Tooltips when hovering slider lines in the SliderViewTwo

This change enables tooltips when hovering the slider lines. To avoid
interference of these events when dragging a variable is set to keep
track of the dragging state.

Bug: T162602
Change-Id: I45c1b73ca470d7b8fcf8b95e15187864e35e907f
---
M modules/ext.RevisionSlider.SliderView.js
M modules/ext.RevisionSlider.SliderViewTwo.js
2 files changed, 32 insertions(+), 2 deletions(-)

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



diff --git a/modules/ext.RevisionSlider.SliderView.js 
b/modules/ext.RevisionSlider.SliderView.js
index 5cdc4bc..3304427 100644
--- a/modules/ext.RevisionSlider.SliderView.js
+++ b/modules/ext.RevisionSlider.SliderView.js
@@ -78,6 +78,11 @@
                 */
                dir: null,
 
+               /**
+                * @type {boolean}
+                */
+               isDragged: false,
+
                render: function ( $container ) {
                        var containerWidth = 
this.calculateSliderContainerWidth(),
                                $revisions = 
this.slider.getRevisions().getView().render( this.revisionWidth ),
@@ -210,6 +215,7 @@
                                grid: [ this.revisionWidth, null ],
                                containment: containmentClass,
                                start: function() {
+                                       self.isDragged = true;
                                        self.setPointerDragCursor();
                                        self.fadeOutPointerLines();
                                        escapePressed = false;
@@ -220,6 +226,7 @@
                                                pointer = self.whichPointer( $p 
),
                                                revId1, revId2;
 
+                                       self.isDragged = false;
                                        self.removePointerDragCursor();
 
                                        if ( escapePressed ) {
diff --git a/modules/ext.RevisionSlider.SliderViewTwo.js 
b/modules/ext.RevisionSlider.SliderViewTwo.js
index 7e30ede..aa055b8 100644
--- a/modules/ext.RevisionSlider.SliderViewTwo.js
+++ b/modules/ext.RevisionSlider.SliderViewTwo.js
@@ -22,7 +22,8 @@
                renderPointerContainer: function( containerWidth ) {
                        var pointerContainerPosition = 53,
                                pointerContainerWidth = containerWidth + 
this.revisionWidth - 1,
-                               pointerContainerStyle;
+                               pointerContainerStyle, lastMouseMoveRevisionPos,
+                               self = this;
 
                        pointerContainerStyle = { left: 
pointerContainerPosition + 'px', width: pointerContainerWidth + 'px' };
                        if ( this.dir === 'rtl' ) {
@@ -37,7 +38,15 @@
                        return $( '<div>' )
                                .addClass( 'mw-revslider-pointer-container' )
                                .css( pointerContainerStyle )
-                               .append( this.renderPointerContainers() );
+                               .append( this.renderPointerContainers() )
+                               .mousemove( function( event ) {
+                                       if ( !self.isDragged ) {
+                                               lastMouseMoveRevisionPos = 
self.showTooltipsOnMouseMoveHandler(
+                                                       event,
+                                                       lastMouseMoveRevisionPos
+                                               );
+                                       }
+                               } );
                },
 
                renderPointerContainers: function() {
@@ -135,6 +144,20 @@
                                .removeClass( 'mw-revslider-pointer-grabbing' );
                },
 
+               showTooltipsOnMouseMoveHandler: function( event, 
lastValidPosition ) {
+                       var pos = this.getRevisionPositionFromLeftOffset( 
event.pageX ),
+                               $hoveredRevisionWrapper;
+
+                       if ( pos === lastValidPosition ) {
+                               return pos;
+                       }
+
+                       $hoveredRevisionWrapper = this.getRevElementAtPosition( 
this.getRevisionsElement(), pos ).parent();
+                       this.slider.getRevisions().getView().showTooltip( 
$hoveredRevisionWrapper );
+
+                       return pos;
+               },
+
                sliderLineClickHandler: function( event, $line ) {
                        var pos = this.getRevisionPositionFromLeftOffset( 
event.pageX ),
                                $clickedRev, pointerMoved, pointerOther, 
$revisions;

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I45c1b73ca470d7b8fcf8b95e15187864e35e907f
Gerrit-PatchSet: 8
Gerrit-Project: mediawiki/extensions/RevisionSlider
Gerrit-Branch: master
Gerrit-Owner: WMDE-Fisch <[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: jenkins-bot <>

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

Reply via email to