Make WordPress Core

Ticket #23899: 23899.diff

File 23899.diff, 2.5 KB (added by lessbloat, 11 years ago)
  • wp-admin/js/revisions.js

     
    583583                                var addHtml = this.template;
    584584                                this.$el.html( addHtml );
    585585
    586                                 var modelcount = REVAPP._revisions.length;
     586                                var modelcount = REVAPP._revisions.length,
     587                                        maxVal = modelcount - 1;
    587588
    588589                                slider = $( "#slider" );
    589590                                if ( 1 === REVAPP._compareOneOrTwo ) {
     
    591592                                        slider.slider({
    592593                                                value: REVAPP._rightDiff - 1,
    593594                                                min: 0,
    594                                                 max: modelcount - 1,
     595                                                max: maxVal,
    595596                                                step: 1,
    596597
     598                                                create: function( event, ui ) {
     599                                                        var startVal = $(this).slider('value');
    597600
     601                                                        if ( 0 === startVal )
     602                                                                $('#previous').prop('disabled', true);
     603
     604                                                        if ( maxVal === startVal )
     605                                                                $('#next').prop('disabled', true);
     606                                                },
     607
    598608                                                // slide interactions for one handles slider
    599609                                                slide: function( event, ui ) {
    600610
    601611                                                        REVAPP._rightDiff = ( ui.value + 1 );
    602612                                                        REVAPP._revisionView.render();
     613
     614                                                        self.disabledButtonCheck(ui.value);
     615
    603616                                                        /*
    604617                                                        $( 'a.ui-slider-handle' ).tooltip( {
    605618                                                                content: REVAPP._revisions.at( ui.value ).get( 'revision_date_author_short' ),
     
    735748                                return this;
    736749                        },
    737750
     751                        disabledButtonCheck: function(val) {
     752
     753                                var maxVal = this.model.length - 1,
     754                                        next = $('#next'),
     755                                        prev = $('#previous');
     756
     757                                // Disable "Next" button if you're on the last node
     758                                if ( maxVal === val )
     759                                        next.prop('disabled', true);
     760                                else
     761                                        next.prop('disabled', false);
     762
     763                                // Disable "Previous" button if you're on the 0 node
     764                                if ( 0 === val )
     765                                        prev.prop('disabled', true);
     766                                else
     767                                        prev.prop('disabled', false);
     768                        },
     769
    738770                        // next and previous buttons, only available in compare one mode
    739771                        events: {
    740772                                'click #next': 'nextRevision',
     
    746778                                if ( REVAPP._rightDiff < this.model.length ) // unless at right boundry
    747779                                        REVAPP._rightDiff = REVAPP._rightDiff + 1 ;
    748780
     781                                this.disabledButtonCheck(REVAPP._rightDiff - 1);
     782
    749783                                REVAPP._revisionView.render();
    750784
    751785                                $( '#slider' ).slider( 'value', REVAPP._rightDiff - 1 ).trigger( 'slide' );
     
    756790                                if ( REVAPP._rightDiff > 1 ) // unless at left boundry
    757791                                        REVAPP._rightDiff = REVAPP._rightDiff - 1 ;
    758792
     793                                this.disabledButtonCheck(REVAPP._rightDiff - 1);
     794
    759795                                REVAPP._revisionView.render();
    760796
    761797                                $( '#slider' ).slider( 'value', REVAPP._rightDiff - 1 ).trigger( 'slide' );