WordPress.org

Make WordPress Core

Changeset 23813


Ignore:
Timestamp:
03/27/13 12:59:41 (13 months ago)
Author:
markjaquith
Message:

*Very* rough runthough of revisions.js for JS style, variable names, etc.

Consider this the lawnmower that precedes Daryl's scissors.

see #23497

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/js/revisions.js

    r23769 r23813  
    44    wp.revisions = { 
    55 
    6         views : {}, 
    7  
    8         Model : Backbone.Model.extend({ 
    9             idAttribute : 'ID', 
    10             urlRoot : ajaxurl + '?action=revisions-data' + 
     6        views: {}, 
     7 
     8        Model: Backbone.Model.extend({ 
     9            idAttribute: 'ID', 
     10            urlRoot: ajaxurl +  '?action=revisions-data' + 
    1111                '&show_autosaves=true&show_split_view=true&nonce=' + wpRevisionsSettings.nonce, 
    1212            defaults: { 
    13                 ID : 0, 
    14                 revision_date_author : '', 
     13                ID: 0, 
     14                revision_date_author: '', 
    1515                revision_date_author_short: '', 
    16                 revisiondiff : '<div class="diff-loading"><div class="spinner"></div></div>', 
    17                 restoreaction : '', 
    18                 revision_from_date_author : '', 
    19                 revision_toload : false, 
    20                 lines_added : 0, 
    21                 lines_deleted : 0, 
    22                 scope_of_changes : 'none', 
    23                 previous_revision_id : 0 
    24             }, 
    25  
    26             url : function() { 
    27                 if ( 1 === REVAPP._compareoneortwo ) { 
     16                revisiondiff: '<div class="diff-loading"><div class="spinner"></div></div>', 
     17                restoreaction: '', 
     18                revision_from_date_author: '', 
     19                revision_toload: false, 
     20                lines_added: 0, 
     21                lines_deleted: 0, 
     22                scope_of_changes: 'none', 
     23                previous_revision_id: 0 
     24            }, 
     25 
     26            url: function() { 
     27                if ( 1 === REVAPP._compareOneOrTwo ) { 
    2828                    return this.urlRoot + 
    2929                        '&single_revision_id=' + this.id + 
     
    4141        app: _.extend({}, Backbone.Events), 
    4242 
    43         App : Backbone.Router.extend({ 
    44             _revisionDifflView : null, 
    45             _revisions : null, 
    46             _left_handle_revisions : null, 
    47             _right_handle_revisions : null, 
    48             _revisionsInteractions : null, 
    49             _revisionsOptions : null, 
    50             _left_diff : 1, 
    51             _right_diff : 1, 
    52             _autosaves : true, 
    53             _show_split_view : true, 
    54             _compareoneortwo : 1, 
    55             _left_model_loading : false,    //keep track of model loads 
    56             _right_model_loading : false,   //disallow slider interaction, also repeat loads, while loading 
    57             _tickmarkView : null, //the slider tickmarks 
    58             _has_tooltip : false, 
    59  
    60             routes : { 
    61             }, 
    62  
    63             reload_toload_revisions : function( model_collection, reverse_direction ) { 
    64                 var self = this; 
    65                 var revisions_to_load = model_collection.where( { revision_toload : true } ); 
    66                 var delay=0; 
    67                 //match slider to passed revision_id 
    68                 _.each( revisions_to_load, function( the_model ) { 
    69                     if ( the_model.get( 'ID' )  == wpRevisionsSettings.revision_id ) { 
    70                         self._right_diff = self._revisions.indexOf( the_model ) + 1; 
     43        App: Backbone.Router.extend({ 
     44            _revisions: null, 
     45            _leftHandleRevisions: null, 
     46            _rightHandleRevisions: null, 
     47            _revisionsInteractions: null, 
     48            _revisionsOptions: null, 
     49            _leftDiff: 1, 
     50            _rightDiff: 1, 
     51            _autosaves: true, 
     52            _showSplitView: true, 
     53            _compareOneOrTwo: 1, 
     54            _leftModelLoading: false,   // keep track of model loads 
     55            _rightModelLoading: false,  // disallow slider interaction, also repeat loads, while loading 
     56            _tickmarkView: null, // the slider tickmarks 
     57 
     58            routes: { 
     59            }, 
     60 
     61            reloadToLoadRevisions: function( model_collection, reverse_direction ) { 
     62                var self = this, 
     63                    revisionsToLoad = model_collection.where( { revision_toload: true } ), 
     64                    delay = 0; 
     65                // match slider to passed revision_id 
     66                _.each( revisionsToLoad, function( theModel ) { 
     67                    if ( theModel.get( 'ID' )  == wpRevisionsSettings.revision_id ) { 
     68                        self._rightDiff = self._revisions.indexOf( theModel ) + 1; 
    7169                    } 
    7270 
    7371                }); 
    74                 _.each( revisions_to_load, function( the_model ) { 
    75                         the_model.urlRoot = model_collection.url; 
     72                _.each( revisionsToLoad, function( theModel ) { 
     73                        theModel.urlRoot = model_collection.url; 
    7674                        _.delay( function() { 
    77                             the_model.fetch( { 
    78                                 update : true, 
    79                                 add : false, 
    80                                 remove : false, 
    81                                 success : function( model ) { 
     75                            theModel.fetch( { 
     76                                update: true, 
     77                                add: false, 
     78                                remove: false, 
     79                                success: function( model ) { 
    8280                                    model.set( 'revision_toload', 'false' ); 
    8381 
    84                                     //stop spinner when all models are loaded 
    85                                     if ( 0 === model_collection.where( { revision_toload : true } ).length ) 
    86                                         self.stop_model_loading_spinner(); 
     82                                    // stop spinner when all models are loaded 
     83                                    if ( 0 === model_collection.where( { revision_toload: true } ).length ) 
     84                                        self.stopModelLoadingSpinner(); 
    8785 
    8886                                    self._tickmarkView.render(); 
    8987 
    90                                     var total_changes = model.get( 'lines_added' ) + model.get( 'lines_deleted'); 
    91                                     var scope_of_changes = 'vsmall'; 
     88                                    var total_changes = model.get( 'lines_added' ) + model.get( 'lines_deleted'), 
     89                                        scope_of_changes = 'vsmall'; 
    9290 
    9391                                    // Note: hard coded scope of changes 
     
    103101                                    } 
    104102                                    model.set( 'scope_of_changes', scope_of_changes ); 
    105                                     if ( 0 !== self._right_diff && 
    106                                         model.get( 'ID' ) === self._revisions.at( self._right_diff - 1 ).get( 'ID' ) ) { 
    107                                         //reload if current model refreshed 
     103                                    if ( 0 !== self._rightDiff && 
     104                                        model.get( 'ID' ) === self._revisions.at( self._rightDiff - 1 ).get( 'ID' ) ) { 
     105                                        // reload if current model refreshed 
    108106                                        self._revisionView.render(); 
    109107                                    } 
     
    112110                        } ); 
    113111                        }, delay ) ; 
    114                         delay = delay + 150; //stagger model loads to avoid hammering server with requests 
     112                        delay = delay + 150; // stagger model loads to avoid hammering server with requests 
    115113                    } 
    116114                ); 
    117115            }, 
    118116 
    119             start_left_model_loading : function() { 
    120                 this._left_model_loading = true; 
     117            startLeftModelLoading: function() { 
     118                this._leftModelLoading = true; 
    121119                $('.revisiondiffcontainer').addClass('leftmodelloading'); 
    122120            }, 
    123121 
    124             stop_left_model_loading : function() { 
    125                 this._left_model_loading = false; 
    126             }, 
    127  
    128             start_right_model_loading : function() { 
    129                 this._right_model_loading = true; 
     122            stopLeftModelLoading: function() { 
     123                this._leftModelLoading = false; 
     124            }, 
     125 
     126            startRightModelLoading: function() { 
     127                this._rightModelLoading = true; 
    130128                $('.revisiondiffcontainer').addClass('rightmodelloading'); 
    131129            }, 
    132130 
    133             stop_right_model_loading : function() { 
    134                 this._right_model_loading = false; 
    135             }, 
    136  
    137             stop_model_loading_spinner : function() { 
     131            stopRightModelLoading: function() { 
     132                this._rightModelLoading = false; 
     133            }, 
     134 
     135            stopModelLoadingSpinner: function() { 
    138136                $('.revisiondiffcontainer').removeClass('rightmodelloading'); 
    139137                $('.revisiondiffcontainer').removeClass('leftmodelloading'); 
    140138            }, 
    141139 
    142             reloadmodel : function() { 
    143                 if ( 2 === this._compareoneortwo ) { 
    144                     this.reloadleftright(); 
     140            reloadModel: function() { 
     141                if ( 2 === this._compareOneOrTwo ) { 
     142                    this.reloadLeftRight(); 
    145143                } else { 
    146                     this.reloadmodelsingle(); 
    147                 } 
    148             }, 
    149  
    150             //load the models for the single handle mode 
    151             reloadmodelsingle : function() { 
     144                    this.reloadModelSingle(); 
     145                } 
     146            }, 
     147 
     148            // load the models for the single handle mode 
     149            reloadModelSingle: function() { 
    152150                var self = this; 
    153151                self._revisions.url = ajaxurl + '?action=revisions-data&compare_to=' + wpRevisionsSettings.post_id + 
    154152                                            '&show_autosaves=' + self._autosaves + 
    155                                             '&show_split_view=' +  self._show_split_view + 
     153                                            '&show_split_view=' +  self._showSplitView + 
    156154                                            '&nonce=' + wpRevisionsSettings.nonce; 
    157                 self.start_right_model_loading(); 
    158                 self._revisions.fetch({ //reload revision data 
    159                     success : function() { 
     155                self.startRightModelLoading(); 
     156                self._revisions.fetch({ // reload revision data 
     157                    success: function() { 
    160158                        console.log('loaded'); 
    161                         //self.stop_right_model_loading(); 
    162                         //REVAPP._right_diff -= 1; 
    163                         var revisioncount = self._revisions.length; 
     159                        // self.stopRightModelLoading(); 
     160                        // REVAPP._rightDiff -= 1; 
     161                        var revisionCount = self._revisions.length; 
    164162                        self._revisionView.model = self._revisions; 
    165163                        self._revisionView.render(); 
    166                         self.reload_toload_revisions( self._revisions ); 
     164                        self.reloadToLoadRevisions( self._revisions ); 
    167165                        self._tickmarkView.model = self._revisions; 
    168166                        self._tickmarkView.render(); 
    169                         $( '#slider' ).slider( 'option', 'max', revisioncount-1 ); //TODO test this, if autsave option changed 
    170                         $( '#slider' ).slider( 'value', self._right_diff - 1 ).trigger( 'slide' ); 
     167                        $( '#slider' ).slider( 'option', 'max', revisionCount - 1 ); // TODO: test this, if autosave option changed 
     168                        $( '#slider' ).slider( 'value', self._rightDiff - 1 ).trigger( 'slide' ); 
    171169 
    172170                    }, 
    173171 
    174                     error : function () { 
    175                         self.stop_right_model_loading(); 
     172                    error: function() { 
     173                        self.stopRightModelLoading(); 
    176174                    } 
    177175 
     
    179177            }, 
    180178 
    181             //load the models for the left handle 
    182             reloadleft : function() { 
     179            // load the models for the left handle 
     180            reloadLeft: function() { 
    183181                var self = this; 
    184                 self.start_left_model_loading(); 
    185                 self._left_handle_revisions = new wp.revisions.Collection(); 
    186  
    187                 self._left_handle_revisions.url = 
     182                self.startLeftModelLoading(); 
     183                self._leftHandleRevisions = new wp.revisions.Collection(); 
     184 
     185                self._leftHandleRevisions.url = 
    188186                    ajaxurl + 
    189                     '?action=revisions-data&compare_to=' + self._revisions.at( self._right_diff - 1 ).get( 'ID' ) + 
     187                    '?action=revisions-data&compare_to=' + self._revisions.at( self._rightDiff - 1 ).get( 'ID' ) + 
    190188                    '&post_id=' + wpRevisionsSettings.post_id + 
    191189                    '&show_autosaves=' + REVAPP._autosaves + 
    192                     '&show_split_view=' +  REVAPP._show_split_view + 
     190                    '&show_split_view=' +  REVAPP._showSplitView + 
    193191                    '&nonce=' + wpRevisionsSettings.nonce + 
    194                     '&right_handle_at='  + ( self._right_diff ); 
    195  
    196                 self._left_handle_revisions.fetch({ 
    197  
    198                     success : function(){ 
    199                         self.stop_left_model_loading(); 
    200                         self.reload_toload_revisions( self._left_handle_revisions ); 
    201                         self._tickmarkView.model = self._left_handle_revisions; 
     192                    '&right_handle_at='  + ( self._rightDiff ); 
     193 
     194                self._leftHandleRevisions.fetch({ 
     195 
     196                    success: function(){ 
     197                        self.stopLeftModelLoading(); 
     198                        self.reloadToLoadRevisions( self._leftHandleRevisions ); 
     199                        self._tickmarkView.model = self._leftHandleRevisions; 
    202200                        $( '#slider' ).slider( 'option', 'max', self._revisions.length ); 
    203201                        // ensure right handle not beyond length, in particular if viewing autosaves is switched from on to off 
    204202                        // the number of models in the collection might get shorter, this ensures right handle is not beyond last model 
    205                         if ( self._right_diff > self._revisions.length ) 
    206                             self._right_diff = self._revisions.length; 
     203                        if ( self._rightDiff > self._revisions.length ) 
     204                            self._rightDiff = self._revisions.length; 
    207205                        }, 
    208206 
    209                     error : function () { 
    210                         self.stop_left_model_loading(); 
     207                    error: function() { 
     208                        self.stopLeftModelLoading(); 
    211209                    } 
    212210                }); 
    213211            }, 
    214212 
    215             //load the models for the right handle 
    216             reloadright : function() { 
     213            // load the models for the right handle 
     214            reloadRight: function() { 
    217215                var self = this; 
    218                 self.start_right_model_loading(); 
    219                 self._right_handle_revisions = new wp.revisions.Collection(); 
    220  
    221                     self._right_handle_revisions.url = 
     216                self.startRightModelLoading(); 
     217                self._rightHandleRevisions = new wp.revisions.Collection(); 
     218 
     219                    self._rightHandleRevisions.url = 
    222220                        ajaxurl + 
    223                         '?action=revisions-data&compare_to=' + ( self._revisions.at( self._left_diff ).get( 'ID' ) -1)+ 
     221                        '?action=revisions-data&compare_to=' + ( self._revisions.at( self._leftDiff ).get( 'ID' ) - 1 )+ 
    224222                        '&post_id=' + wpRevisionsSettings.post_id + 
    225223                        '&show_autosaves=' + REVAPP._autosaves + 
    226                         '&show_split_view=' +  REVAPP._show_split_view + 
     224                        '&show_split_view=' +  REVAPP._showSplitView + 
    227225                        '&nonce=' + wpRevisionsSettings.nonce; 
    228226 
    229                 self._right_handle_revisions.fetch({ 
    230  
    231                     success : function(){ 
    232                         self.stop_right_model_loading(); 
    233                         self.reload_toload_revisions( self._right_handle_revisions ); 
    234                         self._tickmarkView.model = self._right_handle_revisions; 
     227                self._rightHandleRevisions.fetch({ 
     228 
     229                    success: function(){ 
     230                        self.stopRightModelLoading(); 
     231                        self.reloadToLoadRevisions( self._rightHandleRevisions ); 
     232                        self._tickmarkView.model = self._rightHandleRevisions; 
    235233                        $( '#slider' ).slider( 'option', 'max', self._revisions.length ); 
    236                         $( '#slider' ).slider( 'values', [ REVAPP._left_diff, REVAPP._right_diff] ).trigger( 'slide' ); 
    237  
    238                         //REVAPP._revisionView.render(); 
     234                        $( '#slider' ).slider( 'values', [ REVAPP._leftDiff, REVAPP._rightDiff] ).trigger( 'slide' ); 
     235 
     236                        // REVAPP._revisionView.render(); 
    239237 
    240238                    }, 
    241239 
    242                     error : function ( response ) { 
    243                         self.stop_right_model_loading(); 
     240                    error: function( response ) { 
     241                        self.stopRightModelLoading(); 
    244242                    } 
    245243                }); 
     
    247245            }, 
    248246 
    249             reloadleftright : function() { 
    250                 this.start_right_model_loading(); 
    251                 this.start_left_model_loading(); 
    252                 this.reloadleft(); 
    253                 this.reloadright(); 
     247            reloadLeftRight: function() { 
     248                this.startRightModelLoading(); 
     249                this.startLeftModelLoading(); 
     250                this.reloadLeft(); 
     251                this.reloadRight(); 
    254252            }, 
    255253 
     
    257255             * initialize the revision application 
    258256             */ 
    259             initialize : function( options ) { 
    260                 var self = this; //store the application instance 
     257            initialize: function( options ) { 
     258                var self = this; // store the application instance 
    261259                if (this._revisions === null) { 
    262                     self._revisions = new wp.revisions.Collection(); //set up collection 
    263                     self.start_right_model_loading(); 
    264                     self._revisions.fetch({ //load revision data 
    265  
    266                         success : function() { 
    267                             self.stop_right_model_loading(); 
    268                             //self._right_handle_revisions = self._revisions; 
     260                    self._revisions = new wp.revisions.Collection(); // set up collection 
     261                    self.startRightModelLoading(); 
     262                    self._revisions.fetch({ // load revision data 
     263 
     264                        success: function() { 
     265                            self.stopRightModelLoading(); 
     266                            // self._rightHandleRevisions = self._revisions; 
    269267                            self.completeApplicationSetup(); 
    270268                        } 
     
    274272            }, 
    275273 
    276             addTooltip : function( handle, message ) { 
     274            addTooltip: function( handle, message ) { 
    277275 
    278276                handle.attr( 'title', '' ).tooltip({ 
     
    301299/**/ 
    302300 
    303             completeApplicationSetup : function() { 
     301            completeApplicationSetup: function() { 
    304302                this._revisionView = new wp.revisions.views.View({ 
    305                     model : this._revisions 
     303                    model: this._revisions 
    306304                }); 
    307305                this._revisionView.render(); 
    308306                $( '#slider' ).slider( 'option', 'max', this._revisions.length - 1 ); 
    309307 
    310                 this.reload_toload_revisions( this._revisions ); 
     308                this.reloadToLoadRevisions( this._revisions ); 
    311309 
    312310                this._revisionsInteractions = new wp.revisions.views.Interact({ 
    313                     model : this._revisions 
     311                    model: this._revisions 
    314312                }); 
    315313                this._revisionsInteractions.render(); 
    316314 
    317315                this._tickmarkView = new wp.revisions.views.Tickmarks({ 
    318                     model : this._revisions 
     316                    model: this._revisions 
    319317                }); 
    320318                this._tickmarkView.render(); 
    321                 this._tickmarkView.resetticks(); 
     319                this._tickmarkView.resetTicks(); 
    322320 
    323321 
     
    334332                */ 
    335333                /* 
    336                 //Options hidden for now, moving to screen options 
     334                // Options hidden for now, moving to screen options 
    337335                this._revisionsOptions = new wp.revisions.views.Options({ 
    338                     model : this._revisions 
     336                    model: this._revisions 
    339337                }); 
    340338                this._revisionsOptions.render(); 
     
    346344 
    347345    wp.revisions.Collection = Backbone.Collection.extend({ 
    348         model : wp.revisions.Model, 
    349         url : ajaxurl + '?action=revisions-data&compare_to=' + wpRevisionsSettings.post_id + 
     346        model: wp.revisions.Model, 
     347        url: ajaxurl +  '?action=revisions-data&compare_to=' + wpRevisionsSettings.post_id + 
    350348            '&show_autosaves=true&show_split_view=true&nonce=' + wpRevisionsSettings.nonce, 
    351349 
    352         initialize : function() { 
     350        initialize: function() { 
    353351            } 
    354352    } ); 
     
    356354    _.extend(wp.revisions.views, { 
    357355 
    358         //Ticks inside slider view 
    359         // 
    360         Tickmarks : Backbone.View.extend({ 
    361             el : $('#diff-slider-ticks')[0], 
    362             tagName : 'diff-slider-ticks-view', 
    363             className : 'diff-slider-ticks-container', 
    364             template : wp.template('revision-ticks'), 
    365             model : wp.revisions.Model, 
    366  
    367             resetticks : function() { 
    368                 var slider_max = $( '#slider' ).slider( 'option', 'max'); 
    369                 var slider_width = $( '#slider' ).width(); 
    370                 var adjust_max = ( 2 === REVAPP._compareoneortwo ) ? 1 : 0; 
    371                 var tick_width = Math.floor( slider_width / ( slider_max - adjust_max ) ); 
    372  
    373                 //TODO: adjust right margins for wider ticks so they stay centered on handle stop point 
    374  
    375                 //set minimum and maximum widths for tick marks 
    376                 tick_width = (tick_width > 50 ) ? 50 : tick_width; 
    377                 tick_width = (tick_width < 10 ) ? 10 : tick_width; 
    378  
    379                 slider_width = tick_width * (slider_max - adjust_max ) +1; 
    380  
    381                 $( '#slider' ).width( slider_width ); 
    382                 $( '.diff-slider-ticks-wrapper' ).width( slider_width ); 
    383                 $( '#diffslider' ).width( slider_width ); 
    384                 $( '#diff-slider-ticks' ).width( slider_width ); 
    385  
    386                 var a_tick_width = $( '.revision-tick' ).width(); 
    387  
    388                 if ( tick_width !==  a_tick_width ) { // is the width already set correctly? 
     356        // Ticks inside slider view 
     357        Tickmarks: Backbone.View.extend({ 
     358            el: $('#diff-slider-ticks')[0], 
     359            tagName: 'diff-slider-ticks-view', 
     360            className: 'diff-slider-ticks-container', 
     361            template: wp.template('revision-ticks'), 
     362            model: wp.revisions.Model, 
     363 
     364            resetTicks: function() { 
     365                var sliderMax = $( '#slider' ).slider( 'option', 'max'); 
     366                var sliderWidth = $( '#slider' ).width(); 
     367                var adjustMax = ( 2 === REVAPP._compareOneOrTwo ) ? 1 : 0; 
     368                var tickWidth = Math.floor( sliderWidth / ( sliderMax - adjustMax ) ); 
     369 
     370                // TODO: adjust right margins for wider ticks so they stay centered on handle stop point 
     371 
     372                // set minimum and maximum widths for tick marks 
     373                tickWidth = (tickWidth > 50 ) ? 50 : tickWidth; 
     374                tickWidth = (tickWidth < 10 ) ? 10 : tickWidth; 
     375 
     376                sliderWidth = tickWidth * (sliderMax - adjustMax ) + 1; 
     377 
     378                $( '#slider' ).width( sliderWidth ); 
     379                $( '.diff-slider-ticks-wrapper' ).width( sliderWidth ); 
     380                $( '#diffslider' ).width( sliderWidth ); 
     381                $( '#diff-slider-ticks' ).width( sliderWidth ); 
     382 
     383                var aTickWidth = $( '.revision-tick' ).width(); 
     384 
     385                if ( tickWidth !==  aTickWidth ) { // is the width already set correctly? 
    389386                    $( '.revision-tick' ).each( function( ) { 
    390                         $(this).css( 'margin-right', tick_width - 1 + 'px'); //space the ticks out using right margin 
     387                        $(this).css( 'margin-right', tickWidth - 1 + 'px'); // space the ticks out using right margin 
    391388                    }); 
    392389 
    393                     if( 2 === REVAPP._compareoneortwo ) { 
    394                         $( '.revision-tick' ).first().remove(); //TODO - remove the check 
     390                    if( 2 === REVAPP._compareOneOrTwo ) { 
     391                        $( '.revision-tick' ).first().remove(); // TODO - remove the check 
    395392                    } 
    396393                    $( '.revision-tick' ).last().css( 'margin-right', '0' ); // last tick gets no right margin 
     
    399396            }, 
    400397 
    401             //render the tickmark view 
    402             render : function() { 
     398            // render the tickmark view 
     399            render: function() { 
    403400                var self = this; 
    404401 
    405402                if ( null !== self.model ) { 
    406                     var addhtml = ""; 
    407                     _.each ( self.model.models, function ( the_model ) { 
    408                         addhtml = addhtml + self.template ( the_model.toJSON() ); 
     403                    var addHtml = ""; 
     404                    _.each ( self.model.models, function( theModel ) { 
     405                        addHtml = addHtml + self.template ( theModel.toJSON() ); 
    409406                    }); 
    410                     self.$el.html( addhtml ); 
    411  
    412                 } 
    413                 self.resetticks(); 
     407                    self.$el.html( addHtml ); 
     408 
     409                } 
     410                self.resetTicks(); 
    414411                return self; 
    415412            } 
    416413        }), 
    417414 
    418         // 
    419         //primary revision diff view 
    420         // 
    421         View : Backbone.View.extend({ 
    422             el : $('#backbonerevisionsdiff')[0], 
    423             tagName : 'revisionvview', 
    424             className : 'revisionview-container', 
    425             template : wp.template('revision'), 
    426             comparetwochecked : '', 
    427             draggingleft : false, 
    428  
    429             // 
    430             //render the revisions 
    431             // 
    432             render : function() { 
    433                 var addhtml = ''; 
    434                 //compare two revisions mode? 
    435  
    436                 if ( 2 === REVAPP._compareoneortwo ) { 
     415        // primary revision diff view 
     416        View: Backbone.View.extend({ 
     417            el: $('#backbonerevisionsdiff')[0], 
     418            tagName: 'revisionvview', 
     419            className: 'revisionview-container', 
     420            template: wp.template('revision'), 
     421            comparetwochecked: '', 
     422            draggingLeft: false, 
     423 
     424            // render the revisions 
     425            render: function() { 
     426                var addHtml = ''; 
     427                // compare two revisions mode? 
     428 
     429                if ( 2 === REVAPP._compareOneOrTwo ) { 
    437430                    this.comparetwochecked = 'checked'; 
    438                     if ( this.draggingleft ) { 
    439                             if ( this.model.at( REVAPP._left_diff ) ) { 
    440                             addhtml = this.template( _.extend( 
    441                                 this.model.at( REVAPP._left_diff ).toJSON(), 
    442                                 { comparetwochecked : this.comparetwochecked } //keep the checkmark checked 
     431                    if ( this.draggingLeft ) { 
     432                            if ( this.model.at( REVAPP._leftDiff ) ) { 
     433                            addHtml = this.template( _.extend( 
     434                                this.model.at( REVAPP._leftDiff ).toJSON(), 
     435                                { comparetwochecked: this.comparetwochecked } // keep the checkmark checked 
    443436                            ) ); 
    444437                        } 
    445                     } else { //dragging right handle 
    446                         var thediff = REVAPP._right_diff; 
     438                    } else { // dragging right handle 
     439                        var thediff = REVAPP._rightDiff; 
    447440                        if ( this.model.at( thediff ) ) { 
    448                             addhtml = this.template( _.extend( 
     441                            addHtml = this.template( _.extend( 
    449442                                this.model.at( thediff ).toJSON(), 
    450                                 { comparetwochecked : this.comparetwochecked } //keep the checkmark checked 
     443                                { comparetwochecked: this.comparetwochecked } // keep the checkmark checked 
    451444                            ) ); 
    452445                        } 
    453446                    } 
    454                 } else { //end compare two revisions mode, eg only one slider handle 
     447                } else { // end compare two revisions mode, eg only one slider handle 
    455448                    this.comparetwochecked = ''; 
    456                     if ( this.model.at( REVAPP._right_diff - 1 ) ) { 
    457                         addhtml = this.template( _.extend( 
    458                             this.model.at( REVAPP._right_diff - 1 ).toJSON(), 
    459                             { comparetwochecked : this.comparetwochecked } //keep the checkmark unchecked 
     449                    if ( this.model.at( REVAPP._rightDiff - 1 ) ) { 
     450                        addHtml = this.template( _.extend( 
     451                            this.model.at( REVAPP._rightDiff - 1 ).toJSON(), 
     452                            { comparetwochecked: this.comparetwochecked } // keep the checkmark unchecked 
    460453                        ) ); 
    461454                    } 
    462455                } 
    463                 this.$el.html( addhtml ); 
     456                this.$el.html( addHtml ); 
    464457                if ( this.model.length < 3 ) { 
    465                     $( 'div#comparetworevisions' ).hide(); //don't allow compare two if fewer than three revisions 
     458                    $( 'div#comparetworevisions' ).hide(); // don't allow compare two if fewer than three revisions 
    466459                } 
    467460                if ( this.model.length < 2 ) { 
    468                     $( 'div#diffslider' ).hide(); //don't allow compare two if fewer than three revisions 
     461                    $( 'div#diffslider' ).hide(); // don't allow compare two if fewer than three revisions 
    469462                    $( 'div.diff-slider-ticks-wrapper' ).hide(); 
    470463                } 
    471464 
    472                 // 
    473465                // add tooltips to the handles 
    474                 // 
    475                 if ( 2 === REVAPP._compareoneortwo ) { 
     466                if ( 2 === REVAPP._compareOneOrTwo ) { 
    476467                    REVAPP.addTooltip ( $( 'a.ui-slider-handle.left-handle' ), 
    477                         ( REVAPP._right_diff >= REVAPP._revisions.length ) ? '' : REVAPP._revisions.at( REVAPP._left_diff ).get( 'revision_date_author_short' ) ); 
     468                        ( REVAPP._rightDiff >= REVAPP._revisions.length ) ? '' : REVAPP._revisions.at( REVAPP._leftDiff ).get( 'revision_date_author_short' ) ); 
    478469                    REVAPP.addTooltip ( $( 'a.ui-slider-handle.right-handle' ), 
    479                         ( REVAPP._right_diff >= REVAPP._revisions.length ) ? '' : REVAPP._revisions.at( REVAPP._right_diff ).get( 'revision_date_author_short' ) ); 
     470                        ( REVAPP._rightDiff >= REVAPP._revisions.length ) ? '' : REVAPP._revisions.at( REVAPP._rightDiff ).get( 'revision_date_author_short' ) ); 
    480471                } else { 
    481472                    REVAPP.addTooltip ( $( 'a.ui-slider-handle' ), 
    482                         ( REVAPP._right_diff >= REVAPP._revisions.length ) ? '' : REVAPP._revisions.at( REVAPP._right_diff ).get( 'revision_date_author_short' ) ); 
    483                 } 
    484  
    485                 // 
     473                        ( REVAPP._rightDiff >= REVAPP._revisions.length ) ? '' : REVAPP._revisions.at( REVAPP._rightDiff ).get( 'revision_date_author_short' ) ); 
     474                } 
     475 
    486476                // hide the restore button when on the last sport/current post data 
    487                 // 
    488                 if (  REVAPP._right_diff === REVAPP._revisions.length ){ 
     477                if (  REVAPP._rightDiff === REVAPP._revisions.length ){ 
    489478                    $( '.restore-button' ).hide(); 
    490479                } else { 
     
    495484            }, 
    496485 
    497             //the compare two button is in this view, add the interaction here 
    498             events : { 
    499                 'click #comparetwo' : 'clickcomparetwo' 
    500             }, 
    501  
    502             // 
    503             //turn on/off the compare two mmode 
    504             // 
    505             clickcomparetwo : function(){ 
     486            // the compare two button is in this view, add the interaction here 
     487            events: { 
     488                'click #comparetwo': 'clickcomparetwo' 
     489            }, 
     490 
     491            // turn on/off the compare two mmode 
     492            clickcomparetwo: function(){ 
    506493                self = this; 
    507494 
    508                 if ( $( 'input#comparetwo' ).is( ':checked' ) ) { //compare 2 mode 
    509                     REVAPP._compareoneortwo = 2 ; 
    510  
    511                     if ( 1 === REVAPP._right_diff ) 
    512                         REVAPP._right_diff = 2; 
    513                         REVAPP._revisionView.draggingleft = false; 
     495                if ( $( 'input#comparetwo' ).is( ':checked' ) ) { // compare 2 mode 
     496                    REVAPP._compareOneOrTwo = 2 ; 
     497 
     498                    if ( 1 === REVAPP._rightDiff ) 
     499                        REVAPP._rightDiff = 2; 
     500                        REVAPP._revisionView.draggingLeft = false; 
    514501 
    515502                        wpRevisionsSettings.revision_id = ''; // reset passed revision id so switching back to one handle mode doesn't re-select revision 
    516                         REVAPP.reloadleftright(); 
    517                         REVAPP._revisionView.model = REVAPP._right_handle_revisions; 
    518  
    519                     } else { //compare one mode 
    520                         REVAPP._compareoneortwo = 1 ; 
    521                         REVAPP._revisionView.draggingleft = false; 
    522                         //REVAPP._left_diff = 0; 
    523                         //REVAPP._right_diff = (REVAPP._revisions.length <= REVAPP._right_diff ) ? REVAPP._right_diff + 1 : REVAPP._right_diff + 1; 
    524                         REVAPP.reloadmodelsingle(); 
    525                     } 
    526                     //REVAPP._revisionView.render(); 
     503                        REVAPP.reloadLeftRight(); 
     504                        REVAPP._revisionView.model = REVAPP._rightHandleRevisions; 
     505 
     506                    } else { // compare one mode 
     507                        REVAPP._compareOneOrTwo = 1 ; 
     508                        REVAPP._revisionView.draggingLeft = false; 
     509                        // REVAPP._leftDiff = 0; 
     510                        // REVAPP._rightDiff = (REVAPP._revisions.length <= REVAPP._rightDiff ) ? REVAPP._rightDiff + 1 : REVAPP._rightDiff + 1; 
     511                        REVAPP.reloadModelSingle(); 
     512                    } 
     513                    // REVAPP._revisionView.render(); 
    527514                    REVAPP._revisionsInteractions.render(); 
    528515                    REVAPP._tickmarkView.render(); 
     
    531518        }), 
    532519 
    533         // 
    534         //options view for show autosaves and show split view options 
    535         // 
     520        // options view for show autosaves and show split view options 
    536521        /* DISABLED for now 
    537         Options : Backbone.View.extend({ 
    538             el : $('#backbonerevisionsoptions')[0], 
    539             tagName : 'revisionoptionsview', 
    540             className : 'revisionoptions-container', 
    541             template : wp.template('revisionoptions'), 
    542  
    543             //render the options view 
    544             render : function() { 
    545                 var addhtml = this.template; 
    546                 this.$el.html( addhtml ); 
     522        Options: Backbone.View.extend({ 
     523            el: $('#backbonerevisionsoptions')[0], 
     524            tagName: 'revisionoptionsview', 
     525            className: 'revisionoptions-container', 
     526            template: wp.template('revisionoptions'), 
     527 
     528            // render the options view 
     529            render: function() { 
     530                var addHtml = this.template; 
     531                this.$el.html( addHtml ); 
    547532                return this; 
    548533            }, 
    549534 
    550             //add options interactions 
    551             events : { 
    552                 'click #toggleshowautosaves' : 'toggleshowautosaves', 
    553                 'click #showsplitview' : 'showsplitview' 
    554             }, 
    555  
    556             // 
    557             //toggle include autosaves 
    558             // 
    559             toggleshowautosaves : function() { 
     535            // add options interactions 
     536            events: { 
     537                'click #toggleshowautosaves': 'toggleshowautosaves', 
     538                'click #showsplitview': 'showsplitview' 
     539            }, 
     540 
     541            // toggle include autosaves 
     542            toggleshowautosaves: function() { 
    560543                var self = this; 
    561544                if ( $( '#toggleshowautosaves' ).is( ':checked' ) ) { 
     
    565548                } 
    566549 
    567                 //refresh the model data 
    568                 REVAPP.reloadmodel(); 
    569             }, 
    570  
    571             // 
    572             //toggle showing the split diff view 
    573             // 
    574             showsplitview :  function() { 
     550                // refresh the model data 
     551                REVAPP.reloadModel(); 
     552            }, 
     553 
     554            // toggle showing the split diff view 
     555            showsplitview:  function() { 
    575556                var self = this; 
    576557 
    577558                if ( $( 'input#showsplitview' ).is( ':checked' ) ) { 
    578                     REVAPP._show_split_view = 'true'; 
     559                    REVAPP._showSplitView = 'true'; 
    579560                    $('.revisiondiffcontainer').addClass('diffsplit'); 
    580561                } else { 
    581                     REVAPP._show_split_view = ''; 
     562                    REVAPP._showSplitView = ''; 
    582563                    $('.revisiondiffcontainer').removeClass('diffsplit'); 
    583564                } 
    584565 
    585                 REVAPP.reloadmodel(); 
     566                REVAPP.reloadModel(); 
    586567            } 
    587568        }), 
    588569        */ 
    589         // 
    590         //main interactions view 
    591         // 
    592         Interact : Backbone.View.extend({ 
    593             el : $('#backbonerevisionsinteract')[0], 
    594             tagName : 'revisionvinteract', 
    595             className : 'revisionvinteract-container', 
    596             template : wp.template('revisionvinteract'), 
    597  
    598             initialize : function() { 
    599             }, 
    600  
    601             render : function() { 
     570        // main interactions view 
     571        Interact: Backbone.View.extend({ 
     572            el: $('#backbonerevisionsinteract')[0], 
     573            tagName: 'revisionvinteract', 
     574            className: 'revisionvinteract-container', 
     575            template: wp.template('revisionvinteract'), 
     576 
     577            initialize: function() { 
     578            }, 
     579 
     580            render: function() { 
    602581                var self = this; 
    603582 
    604                 var addhtml = this.template; 
    605                 this.$el.html( addhtml ); 
     583                var addHtml = this.template; 
     584                this.$el.html( addHtml ); 
    606585 
    607586                var modelcount = REVAPP._revisions.length; 
    608587 
    609588                slider = $( "#slider" ); 
    610                 if ( 1 === REVAPP._compareoneortwo ) { 
    611                     //set up the slider with a single handle 
     589                if ( 1 === REVAPP._compareOneOrTwo ) { 
     590                    // set up the slider with a single handle 
    612591                    slider.slider({ 
    613                         value: REVAPP._right_diff-1, 
     592                        value: REVAPP._rightDiff - 1, 
    614593                        min: 0, 
    615                         max: modelcount-1, 
     594                        max: modelcount - 1, 
    616595                        step: 1, 
    617596 
    618597 
    619                         //slide interactions for one handles slider 
    620                         slide : function( event, ui ) { 
    621  
    622                             REVAPP._right_diff = ( ui.value + 1 ); 
     598                        // slide interactions for one handles slider 
     599                        slide: function( event, ui ) { 
     600 
     601                            REVAPP._rightDiff = ( ui.value + 1 ); 
    623602                            REVAPP._revisionView.render(); 
    624603                            /* 
     
    636615                                    } 
    637616                                } 
    638                             });//.trigger( 'close' ).trigger( 'open' ); 
     617                            });// .trigger( 'close' ).trigger( 'open' ); 
    639618*/ 
    640619                            } 
     
    642621                    $( '.revisiondiffcontainer' ).removeClass( 'comparetwo' ); 
    643622 
    644                 } else { //comparing more than one, eg 2 
    645                     //set up the slider with two handles 
     623                } else { // comparing more than one, eg 2 
     624                    // set up the slider with two handles 
    646625                    slider.slider({ 
    647                         values : [ REVAPP._left_diff, REVAPP._right_diff + 1 ], 
    648                         min : 1, 
    649                         max : modelcount+1, 
    650                         step : 1, 
     626                        values: [ REVAPP._leftDiff, REVAPP._rightDiff + 1 ], 
     627                        min: 1, 
     628                        max: modelcount + 1, 
     629                        step: 1, 
    651630                        range: true, 
    652631 
    653                         //in two handled mode when user starts dragging, swap in precalculated diff for handle 
    654                         start : function (event, ui ) { 
    655                             var index = $( ui.handle ).index(); //0 (left) or 1 (right) 
     632                        // in two handled mode when user starts dragging, swap in precalculated diff for handle 
     633                        start: function(event, ui ) { 
     634                            var index = $( ui.handle ).index(); // 0 (left) or 1 (right) 
    656635                            switch ( index ) { 
    657                                 case 1: //left handle drag 
    658                                     if ( REVAPP._left_model_loading ) //left model still loading, prevent sliding left handle 
     636                                case 1: // left handle drag 
     637                                    if ( REVAPP._leftModelLoading ) // left model still loading, prevent sliding left handle 
    659638                                        return false; 
    660639 
    661                                     REVAPP._revisionView.draggingleft = true; 
    662  
    663                                     if ( REVAPP._revisionView.model !== REVAPP._left_handle_revisions && 
    664                                             null !== REVAPP._left_handle_revisions ) { 
    665                                         REVAPP._revisionView.model = REVAPP._left_handle_revisions; 
    666                                         REVAPP._tickmarkView.model = REVAPP._left_handle_revisions; 
     640                                    REVAPP._revisionView.draggingLeft = true; 
     641 
     642                                    if ( REVAPP._revisionView.model !== REVAPP._leftHandleRevisions && 
     643                                            null !== REVAPP._leftHandleRevisions ) { 
     644                                        REVAPP._revisionView.model = REVAPP._leftHandleRevisions; 
     645                                        REVAPP._tickmarkView.model = REVAPP._leftHandleRevisions; 
    667646                                        REVAPP._tickmarkView.render(); 
    668647                                    } 
    669648 
    670                                     REVAPP._left_diff_start = ui.values[ 0 ]; 
     649                                    REVAPP._leftDiffStart = ui.values[ 0 ]; 
    671650                                    break; 
    672651 
    673                                 case 2: //right 
    674                                     if ( REVAPP._right_model_loading || 0 === REVAPP._right_handle_revisions.length) //right model still loading, prevent sliding right handle 
     652                                case 2: // right 
     653                                    if ( REVAPP._rightModelLoading || 0 === REVAPP._rightHandleRevisions.length) // right model still loading, prevent sliding right handle 
    675654                                        return false; 
    676655 
    677                                     if ( REVAPP._revisionView.model !== REVAPP._right_handle_revisions && 
    678                                             null !== REVAPP._right_handle_revisions ) { 
    679                                         REVAPP._revisionView.model = REVAPP._right_handle_revisions; 
    680                                         REVAPP._tickmarkView.model = REVAPP._right_handle_revisions; 
     656                                    if ( REVAPP._revisionView.model !== REVAPP._rightHandleRevisions && 
     657                                            null !== REVAPP._rightHandleRevisions ) { 
     658                                        REVAPP._revisionView.model = REVAPP._rightHandleRevisions; 
     659                                        REVAPP._tickmarkView.model = REVAPP._rightHandleRevisions; 
    681660                                        REVAPP._tickmarkView.render(); 
    682661                                    } 
    683662 
    684                                     REVAPP._revisionView.draggingleft = false; 
    685                                     REVAPP._right_diff_start = ui.values[ 1 ]; 
     663                                    REVAPP._revisionView.draggingLeft = false; 
     664                                    REVAPP._rightDiffStart = ui.values[1]; 
    686665                                    break; 
    687666                            } 
    688667                        }, 
    689668 
    690                         //when sliding in two handled mode change appropriate value 
    691                         slide : function( event, ui ) { 
    692                             if ( ui.values[ 0 ] === ui.values[ 1 ] ) //prevent compare to self 
     669                        // when sliding in two handled mode change appropriate value 
     670                        slide: function( event, ui ) { 
     671                            if ( ui.values[0] === ui.values[1] ) // prevent compare to self 
    693672                                return false; 
    694673 
    695                             var index = $( ui.handle ).index(); //0 (left) or 1 (right) 
     674                            var index = $( ui.handle ).index(); // 0 (left) or 1 (right) 
    696675 
    697676                            switch ( index ) { 
    698                                 case 1: //left 
    699                                     if ( REVAPP._left_model_loading ) //left model still loading, prevent sliding left handle 
     677                                case 1: // left 
     678                                    if ( REVAPP._leftModelLoading ) // left model still loading, prevent sliding left handle 
    700679                                        return false; 
    701680 
    702                                     REVAPP._left_diff = ui.values[ 0 ]; 
     681                                    REVAPP._leftDiff = ui.values[0]; 
    703682                                    break; 
    704683 
    705                                 case 2: //right 
    706                                     if ( REVAPP._right_model_loading ) //right model still loading, prevent sliding right handle 
     684                                case 2: // right 
     685                                    if ( REVAPP._rightModelLoading ) // right model still loading, prevent sliding right handle 
    707686                                        return false; 
    708687 
    709                                     REVAPP._right_diff = ui.values[ 1 ]; 
     688                                    REVAPP._rightDiff = ui.values[1]; 
    710689                                    break; 
    711690                            } 
    712691 
    713                             if ( 0 === REVAPP._left_diff ) { 
     692                            if ( 0 === REVAPP._leftDiff ) { 
    714693                                $( '.revisiondiffcontainer' ).addClass( 'currentversion' ); 
    715694 
     
    722701                        }, 
    723702 
    724                         //when the user stops sliding  in 2 handle mode, recalculate diffs 
    725                         stop : function( event, ui ) { 
    726                             if ( 2 === REVAPP._compareoneortwo ) { 
    727                                 //calculate and generate a diff for comparing to the left handle 
    728                                 //and the right handle, swap out when dragging 
    729  
    730                                 var index = $( ui.handle ).index(); //0 (left) or 1 (right) 
     703                        // when the user stops sliding  in 2 handle mode, recalculate diffs 
     704                        stop: function( event, ui ) { 
     705                            if ( 2 === REVAPP._compareOneOrTwo ) { 
     706                                // calculate and generate a diff for comparing to the left handle 
     707                                // and the right handle, swap out when dragging 
     708 
     709                                var index = $( ui.handle ).index(); // 0 (left) or 1 (right) 
    731710 
    732711                                switch ( index ) { 
    733                                     case 1: //left 
    734  
    735                                         //left handle dragged & changed, reload right handle model 
    736                                         if ( REVAPP._left_diff_start !== ui.values[ 0 ] ) 
    737                                             REVAPP.reloadright(); 
     712                                    case 1: // left 
     713 
     714                                        // left handle dragged & changed, reload right handle model 
     715                                        if ( REVAPP._leftDiffStart !== ui.values[0] ) 
     716                                            REVAPP.reloadRight(); 
    738717 
    739718                                        break; 
    740719 
    741                                     case 2: //right 
    742                                         //REVAPP._right_diff =  ( 1 >= REVAPP._right_diff ) ? 1  : REVAPP._right_diff-1; 
    743                                         //right handle dragged & changed, reload left handle model if changed 
    744                                         if ( REVAPP._right_diff_start !== ui.values[ 1 ] ) 
    745                                             REVAPP.reloadleft(); 
     720                                    case 2: // right 
     721                                        // REVAPP._rightDiff =  ( 1 >= REVAPP._rightDiff ) ? 1 : REVAPP._rightDiff - 1; 
     722                                        // right handle dragged & changed, reload left handle model if changed 
     723                                        if ( REVAPP._rightDiffStart !== ui.values[1] ) 
     724                                            REVAPP.reloadLeft(); 
    746725 
    747726                                        break; 
     
    757736            }, 
    758737 
    759             //next and previous buttons, only available in compare one mode 
    760             events : { 
    761                 'click #next' : 'nextrevision', 
    762                 'click #previous' : 'previousrevision' 
    763             }, 
    764  
    765             //go to the next revision 
    766             nextrevision : function() { 
    767                 if ( REVAPP._right_diff < this.model.length ) //unless at right boundry 
    768                     REVAPP._right_diff = REVAPP._right_diff + 1 ; 
     738            // next and previous buttons, only available in compare one mode 
     739            events: { 
     740                'click #next': 'nextRevision', 
     741                'click #previous': 'previousRevision' 
     742            }, 
     743 
     744            // go to the next revision 
     745            nextRevision: function() { 
     746                if ( REVAPP._rightDiff < this.model.length ) // unless at right boundry 
     747                    REVAPP._rightDiff = REVAPP._rightDiff + 1 ; 
    769748 
    770749                REVAPP._revisionView.render(); 
    771750 
    772                 $( '#slider' ).slider( 'value', REVAPP._right_diff - 1 ).trigger( 'slide' ); 
    773             }, 
    774  
    775             //go the the previous revision 
    776             previousrevision : function() { 
    777                 if ( REVAPP._right_diff > 1 ) //unless at left boundry 
    778                         REVAPP._right_diff = REVAPP._right_diff - 1 ; 
     751                $( '#slider' ).slider( 'value', REVAPP._rightDiff - 1 ).trigger( 'slide' ); 
     752            }, 
     753 
     754            // go the the previous revision 
     755            previousRevision: function() { 
     756                if ( REVAPP._rightDiff > 1 ) // unless at left boundry 
     757                    REVAPP._rightDiff = REVAPP._rightDiff - 1 ; 
    779758 
    780759                REVAPP._revisionView.render(); 
    781760 
    782                 $( '#slider' ).slider( 'value', REVAPP._right_diff - 1 ).trigger( 'slide' ); 
     761                $( '#slider' ).slider( 'value', REVAPP._rightDiff - 1 ).trigger( 'slide' ); 
    783762            } 
    784763        }) 
    785764    }); 
    786765 
    787     //instantiate Revision Application 
     766    // instantiate Revision Application 
    788767    REVAPP = new wp.revisions.App(); 
    789768 
Note: See TracChangeset for help on using the changeset viewer.