WordPress.org

Make WordPress Core

Ticket #23935: 23935.screen-options.patch

File 23935.screen-options.patch, 4.3 KB (added by ocean90, 12 months ago)
  • wp-admin/js/revisions.js

     
    252252 
    253253                        this.reloadToLoadRevisions( this.revisions ); 
    254254 
     255                        this.screenOptions = new revisions.view.ScreenOptions(); 
     256 
    255257                        this.revisionsInteractions = new revisions.view.Interact({ 
    256258                                model: this.revisions 
    257259                        }); 
     
    573575                } 
    574576        }); 
    575577 
     578        revisions.view.ScreenOptions = Backbone.View.extend({ 
     579                el: $( '#screen-options-wrap' ), 
     580 
     581                events: { 
     582                        'click #compare-two-revisions': 'compareTwo' 
     583                }, 
     584 
     585                // turn on/off the compare two mode 
     586                compareTwo: function() { 
     587                        console.log( 'jo' ); 
     588                        if ( $( '#compare-two-revisions' ).is( ':checked' ) ) { // compare 2 mode 
     589                                Diff.singleRevision = false ; 
     590 
     591                                if ( 1 === Diff.rightDiff ) 
     592                                        Diff.rightDiff = 2; 
     593 
     594                                Diff.revisionView.draggingLeft = false; 
     595 
     596                                revisions.model.settings.revision_id = ''; // reset passed revision id so switching back to one handle mode doesn't re-select revision 
     597                                Diff.reloadLeftRight(); 
     598                                Diff.revisionView.model = Diff.rightHandleRevisions; 
     599 
     600                        } else { // compare one mode 
     601                                Diff.singleRevision = true; 
     602                                Diff.revisionView.draggingLeft = false; 
     603                                Diff.reloadModelSingle(); 
     604                        } 
     605                        Diff.revisionsInteractions.render(); 
     606                        Diff.tickmarkView.render(); 
     607                } 
     608        }); 
     609 
     610 
    576611        /** 
    577612         * wp.revisions.view.Diff 
    578613         * 
     
    583618                template: wp.template( 'revisions-diff' ), 
    584619                draggingLeft: false, 
    585620 
    586                 // the compare two button is in this view, add the interaction here 
    587621                events: { 
    588                         'click #compare-two-revisions': 'compareTwo', 
    589                         'click #restore-revision':      'restore' 
     622                        'click #restore-revision': 'restore' 
    590623                }, 
    591624 
    592625                // render the revisions 
     
    646679                        $( '#compare-two-revisions' ).prop( 'checked', ! Diff.singleRevision ); 
    647680                }, 
    648681 
    649                 // turn on/off the compare two mode 
    650                 compareTwo: function() { 
    651                         if ( $( '#compare-two-revisions' ).is( ':checked' ) ) { // compare 2 mode 
    652                                 Diff.singleRevision = false ; 
    653  
    654                                 if ( 1 === Diff.rightDiff ) 
    655                                         Diff.rightDiff = 2; 
    656  
    657                                 Diff.revisionView.draggingLeft = false; 
    658  
    659                                 revisions.model.settings.revision_id = ''; // reset passed revision id so switching back to one handle mode doesn't re-select revision 
    660                                 Diff.reloadLeftRight(); 
    661                                 Diff.revisionView.model = Diff.rightHandleRevisions; 
    662  
    663                         } else { // compare one mode 
    664                                 Diff.singleRevision = true; 
    665                                 Diff.revisionView.draggingLeft = false; 
    666                                 Diff.reloadModelSingle(); 
    667                         } 
    668                         Diff.revisionsInteractions.render(); 
    669                         Diff.tickmarkView.render(); 
    670                 }, 
    671  
    672682                restore: function() { 
    673683                        document.location = $( '#restore-revision' ).data( 'restoreLink' ); 
    674684                } 
  • wp-admin/css/wp-admin.css

     
    35613561        text-decoration: none; 
    35623562} 
    35633563 
    3564 #revision-diff-container { 
    3565         position: relative; 
    3566 } 
    3567  
    3568 #toggle-revision-compare-mode { 
    3569         position: absolute; 
    3570         top: 0; 
    3571         right: 0; 
    3572         padding-top: 15px; 
    3573 } 
    3574  
    35753564#loading-status { 
    35763565        position: absolute; 
    35773566        top: 0; 
  • wp-admin/revision.php

     
    9292$strings['settings'] = $settings; 
    9393wp_localize_script( 'revisions', 'wpRevisionsL10n', $strings ); 
    9494 
     95function _show_compare_mode( $screen_settings, $screen ) { 
     96        if ( 'revision' != $screen->id ) 
     97                return; 
     98 
     99        $setting = '<label>'; 
     100        $setting .= '<input type="checkbox" id="compare-two-revisions" />'; 
     101        $setting .= esc_attr__( 'Compare two revisions' ); 
     102        $setting .= '</label>'; 
     103 
     104        return $setting; 
     105} 
     106add_filter( 'screen_settings', '_show_compare_mode', 10, 2 ); 
     107 
    95108require_once( './admin-header.php' ); 
    96  
    97109?> 
    98110 
    99111<div class="wrap"> 
     
    116128</div> 
    117129 
    118130<script id="tmpl-revisions-diff" type="text/html"> 
    119         <div id="toggle-revision-compare-mode"> 
    120                 <label> 
    121                         <input type="checkbox" id="compare-two-revisions" /> 
    122                         <?php esc_attr_e( 'Compare two revisions' ); ?> 
    123                 </label> 
    124         </div> 
    125  
    126131        <div id="diff-header-from" class="diff-header"> 
    127132                <div id="diff-title-from-current-version" class="diff-title"> 
    128133                        <?php printf( '<strong>%1$s</strong> %2$s.' , __( 'From:' ), __( 'the current version' ) ); ?>