Ticket #23901: 23901.10.patch
File 23901.10.patch, 9.4 KB (added by , 12 years ago) |
---|
-
wp-admin/includes/ajax-actions.php
2271 2271 2272 2272 if ( ( $compare_two_mode || -1 !== $previous_revision_id ) ) { 2273 2273 $all_the_revisions[] = array ( 2274 'ID' => $revision->ID, 2275 'titleTo' => $revision_date_author, 2276 'titleFrom' => $revision_from_date_author, 2277 'titleTooltip' => $revision_date_author_short, 2278 'restoreLink' => urldecode( $restore_link ), 2279 'revision_toload' => true, 2280 'previous_revision_id' => $previous_revision_id, 2281 'is_current_revision' => $is_current_revision, 2274 'ID' => $revision->ID, 2275 'titleTo' => $revision_date_author, 2276 'titleFrom' => $revision_from_date_author, 2277 'titleTooltip' => $revision_date_author_short, 2278 'restoreLink' => urldecode( $restore_link ), 2279 'previousID' => $previous_revision_id, 2280 'isCurrent' => $is_current_revision, 2282 2281 ); 2283 2282 } 2284 2283 $previous_revision_id = $revision->ID; -
wp-admin/js/revisions.js
59 59 } 60 60 }, 61 61 62 reloadToLoadRevisions: function( models, reverse_direction) {62 loadDiffs: function( models ) { 63 63 var self = this, 64 revisionsToLoad = models.where( { revision_toload: true } ),64 revisionsToLoad = models.where( { completed: false } ), 65 65 delay = 0; 66 66 67 67 // match slider to passed revision_id … … 77 77 add: false, 78 78 remove: false, 79 79 success: function( model ) { 80 model.set( ' revision_toload', 'false');80 model.set( 'completed', true ); 81 81 82 82 // stop spinner when all models are loaded 83 if ( 0 === models.where( { revision_toload: true } ).length )83 if ( 0 === models.where( { completed: false } ).length ) 84 84 self.stopModelLoadingSpinner(); 85 85 86 86 self.tickmarkView.render(); 87 87 88 var total _changes = model.get( 'lines_added' ) + model.get( 'lines_deleted'),89 scope _of_changes = 'vsmall';88 var totalChanges = model.get( 'linesAdded' ) + model.get( 'linesDeleted' ), 89 scopeOfChanges = 'vsmall'; 90 90 91 91 // Note: hard coded scope of changes 92 92 // TODO change to dynamic based on range of values 93 if ( total_changes > 1 && total_changes <= 3 ) {94 scope _of_changes = 'small';95 } else if ( total_changes > 3 && total_changes <= 5 ) {96 scope _of_changes = 'med';97 } else if ( total_changes > 5 && total_changes <= 10 ) {98 scope _of_changes = 'large';99 } else if ( total_changes > 10 ) {100 scope _of_changes = 'vlarge';93 if ( totalChanges > 1 && totalChanges <= 3 ) { 94 scopeOfChanges = 'small'; 95 } else if ( totalChanges > 3 && totalChanges <= 5 ) { 96 scopeOfChanges = 'med'; 97 } else if ( totalChanges > 5 && totalChanges <= 10 ) { 98 scopeOfChanges = 'large'; 99 } else if ( totalChanges > 10 ) { 100 scopeOfChanges = 'vlarge'; 101 101 } 102 model.set( 'scope _of_changes', scope_of_changes );102 model.set( 'scopeOfChanges', scopeOfChanges ); 103 103 if ( 0 !== self.rightDiff && 104 104 model.get( 'ID' ) === self.revisions.at( self.rightDiff - 1 ).get( 'ID' ) ) { 105 105 // reload if current model refreshed … … 149 149 reloadModelSingle: function() { 150 150 var self = this; 151 151 152 // TODO: Only updates the query args yet 152 self.startRightModelLoading(); 153 153 154 self.revisions.reload({ 155 options: { 154 156 'showAutosaves': self.autosaves, 155 157 'showSplitView': self.showSplitView 156 });158 }, 157 159 158 self.startRightModelLoading();159 self.revisions.fetch({ // reload revision data160 160 success: function() { 161 161 var revisionCount = self.revisions.length; 162 162 self.revisionView.model = self.revisions; 163 163 self.revisionView.render(); 164 self. reloadToLoadRevisions( self.revisions );164 self.loadDiffs( self.revisions ); 165 165 self.tickmarkView.model = self.revisions; 166 166 self.tickmarkView.render(); 167 167 self.slider.refresh({ … … 173 173 error: function() { 174 174 self.stopRightModelLoading(); 175 175 } 176 177 176 }); 178 177 }, 179 178 … … 191 190 self.leftHandleRevisions.fetch({ 192 191 success: function(){ 193 192 self.stopLeftModelLoading(); 194 self. reloadToLoadRevisions( self.leftHandleRevisions );193 self.loadDiffs( self.leftHandleRevisions ); 195 194 self.tickmarkView.model = self.leftHandleRevisions; 196 195 self.slider.refresh({ 197 196 'max': self.revisions.length … … 222 221 self.rightHandleRevisions.fetch({ 223 222 success: function(){ 224 223 self.stopRightModelLoading(); 225 self. reloadToLoadRevisions( self.rightHandleRevisions );224 self.loadDiffs( self.rightHandleRevisions ); 226 225 self.tickmarkView.model = self.rightHandleRevisions; 227 226 self.slider.refresh({ 228 227 'max': self.revisions.length, … … 250 249 }); 251 250 this.revisionView.render(); 252 251 253 this. reloadToLoadRevisions( this.revisions );252 this.loadDiffs( this.revisions ); 254 253 255 254 this.revisionsInteractions = new revisions.view.Interact({ 256 255 model: this.revisions … … 262 261 }); 263 262 this.tickmarkView.render(); 264 263 this.tickmarkView.resetTicks(); 265 266 264 } 267 265 }); 268 266 … … 633 631 this.toggleCompareTwoCheckbox(); 634 632 635 633 // hide the restore button when on the last sport/current post data 636 $( '#restore-revision' ).toggle( ! Diff.revisions.at( Diff.rightDiff - 1 ).get( 'is _current_revision' ) );634 $( '#restore-revision' ).toggle( ! Diff.revisions.at( Diff.rightDiff - 1 ).get( 'isCurrent' ) ); 637 635 638 636 return this; 639 637 }, … … 686 684 */ 687 685 Revision = revisions.model.Revision = Backbone.Model.extend({ 688 686 idAttribute: 'ID', 689 urlRoot: ajaxurl + '?action=revisions-data' + 690 '&show_autosaves=true&show_split_view=true&nonce=' + revisions.model.settings.nonce, 687 691 688 defaults: { 692 689 ID: 0, 693 690 titleTo: '', … … 695 692 titleFrom: '', 696 693 diff: '<div class="diff-loading"><div class="spinner"></div></div>', 697 694 restoreLink: '', 698 revision_toload: false,699 lines _added: 0,700 lines _deleted: 0,701 scope _of_changes: 'none',702 previous _revision_id: 0,703 is _current_revision: false695 completed: false, 696 linesAdded: 0, 697 linesDeleted: 0, 698 scopeOfChanges: 'none', 699 previousID: 0, 700 isCurrent: false 704 701 }, 705 702 706 703 url: function() { 707 704 if ( Diff.singleRevision ) { 708 return this.urlRoot + 705 return ajaxurl + 706 '?action=revisions-data' + 707 '&show_autosaves=true' + 708 '&show_split_view=true' + 709 '&nonce=' + revisions.model.settings.nonce + 709 710 '&single_revision_id=' + this.id + 710 '&compare_to=' + this.get( 'previous _revision_id' ) +711 '&compare_to=' + this.get( 'previousID' ) + 711 712 '&post_id=' + revisions.model.settings.post_id; 712 713 } else { 713 714 return this.collection.url() + '&single_revision_id=' + this.id; … … 721 722 */ 722 723 Revisions = revisions.Revisions = Backbone.Collection.extend({ 723 724 model: Revision, 724 urlRoot: ajaxurl + '?action=revisions-data',725 725 726 726 initialize: function( models, options ) { 727 727 this.options = _.defaults( options || {}, { … … 736 736 }, 737 737 738 738 url: function() { 739 return this.urlRoot + 739 return ajaxurl + 740 '?action=revisions-data' + 740 741 '&compare_to=' + this.options.compareTo + 741 742 '&post_id=' + this.options.post_id + 742 743 '&show_autosaves=' + this.options.showAutosaves + … … 747 748 }, 748 749 749 750 reload: function( options ) { 750 this.options = _.defaults( options || {}, this.options );751 this.options = _.defaults( options.options || {}, this.options ); 751 752 752 // TODO 753 //this.fetch(); 753 this.fetch({ 754 success: options.success || null, 755 error: options.error || null 756 }); 754 757 } 755 758 756 759 } ); -
wp-admin/css/colors-fresh.css
1387 1387 background-color: #f7f7f7; 1388 1388 } 1389 1389 1390 .revision-tick. loading-true {1390 .revision-tick.completed-false { 1391 1391 background-color: #9999cc; 1392 1392 background: url(../images/wpspin_light.gif) no-repeat; 1393 1393 background-position: middle; 1394 1394 background-size: 1px 10px; 1395 1395 } 1396 1396 1397 .revision-tick. loading-false {1397 .revision-tick.completed-true { 1398 1398 background-color: #aaa; 1399 1399 } 1400 1400 -
wp-admin/css/colors-classic.css
1484 1484 color: #0080aa; 1485 1485 } 1486 1486 1487 .revision-tick. loading-true {1487 .revision-tick.completed-false { 1488 1488 background-color: #9999cc; 1489 1489 background: url(../images/wpspin_light.gif) no-repeat; 1490 1490 background-position: middle; 1491 1491 background-size: 1px 10px; 1492 1492 } 1493 1493 1494 .revision-tick. loading-false {1494 .revision-tick.completed-true { 1495 1495 background-color: #aaa; 1496 1496 } 1497 1497 -
wp-admin/revision.php
163 163 </script> 164 164 165 165 <script id="tmpl-revision-ticks" type="text/html"> 166 <div class="revision-tick loading-{{{ data.revision_toload }}} scope-of-changes-{{{ data.scope_of_changes }}}"></div>166 <div class="revision-tick completed-{{{ data.completed }}} scope-of-changes-{{{ data.scopeOfChanges }}}"></div> 167 167 </script> 168 168 <?php 169 169 require_once( './admin-footer.php' );