Make WordPress Core

Ticket #24425: 24425.draft.36.diff

File 24425.draft.36.diff, 1.3 KB (added by ocean90, 9 years ago)
  • wp-admin/js/revisions.js

     
    645645                },
    646646
    647647                start: function( event, ui ) {
     648                        if ( this.model.get( 'compareTwoMode' ) )
     649                                return;
     650
     651                        // Track the mouse position to enable smooth dragging,
     652                        // overrides default jQuery UI step behaviour.
     653                        $( window ).on( 'mousemove', { slider: this }, function( e ) {
     654                                var slider = e.data.slider,
     655                                        sliderLeft = slider.$el.offset().left,
     656                                        sliderRight = sliderLeft + slider.$el.width();
     657
     658                                // Follow mouse movements, as long as handle remains inside slider.
     659                                if ( e.clientX < sliderLeft ) {
     660                                        $( ui.handle ).css( 'left', 0 ); // Mouse to left of slider.
     661                                } else if ( e.clientX > sliderRight ) {
     662                                        $( ui.handle ).css( 'left', sliderRight - sliderLeft); // Mouse to right of slider.
     663                                } else {
     664                                        $( ui.handle ).css( 'left', e.clientX - sliderLeft ); // Mouse in slider.
     665                                }
     666                        } );
    648667                },
    649668
    650669                slide: function( event, ui ) {
     
    679698                        if ( this.model.get( 'compareTwoMode' ) )
    680699                                return;
    681700
     701                        $( window ).off( 'mousemove' );
     702
    682703                        // Reset settings props handle back to the step position.
    683704                        this.settings.trigger( 'change' );
    684705                }