diff --git a/wp-admin/js/revisions.js b/wp-admin/js/revisions.js index a31d429c69..03dd441e58 100644 --- a/wp-admin/js/revisions.js +++ b/wp-admin/js/revisions.js @@ -156,7 +156,7 @@ window.wp = window.wp || {}; this.listenTo( this.slider, 'change:hovering', this.setHovering ); this.listenTo( this.slider, 'change:scrubbing', this.setScrubbing ); - this.set({ revision: this.frame.diff() }); + this.set({ revision: this.revisions.get( this.frame.get('to') ) }); }, @@ -571,8 +571,8 @@ window.wp = window.wp || {}; model: slider }) ); - // Add the Meta view - this.views.add( new revisions.view.Meta({ + // Add the Metabox view + this.views.add( new revisions.view.Metabox({ model: this.model }) ); }, @@ -659,9 +659,26 @@ window.wp = window.wp || {}; } }); - // The meta view - revisions.view.Meta = wp.Backbone.View.extend({ + // The metabox view + revisions.view.Metabox = wp.Backbone.View.extend({ className: 'revisions-meta', + + initialize: function() { + // Add the 'from' view + this.views.add( new revisions.view.MetaFrom({ + model: this.model, + className: 'diff-meta diff-meta-from' + }) ); + + // Add the 'to' view + this.views.add( new revisions.view.MetaTo({ + model: this.model + }) ); + } + }); + + // The revision meta view (to be extended) + revisions.view.Meta = wp.Backbone.View.extend({ template: wp.template('revisions-meta'), events: { @@ -673,7 +690,9 @@ window.wp = window.wp || {}; }, prepare: function() { - return this.model.toJSON(); + return _.extend( this.model.toJSON()[this.type] || {}, { + type: this.type + }); }, restoreRevision: function() { @@ -681,6 +700,18 @@ window.wp = window.wp || {}; } }); + // The revision meta 'from' view + revisions.view.MetaFrom = revisions.view.Meta.extend({ + className: 'diff-meta diff-meta-from', + type: 'from' + }); + + // The revision meta 'to' view + revisions.view.MetaTo = revisions.view.Meta.extend({ + className: 'diff-meta diff-meta-to', + type: 'to' + }); + // The checkbox view. revisions.view.Checkbox = wp.Backbone.View.extend({ className: 'revisions-checkbox', @@ -714,7 +745,7 @@ window.wp = window.wp || {}; // Encapsulates the tooltip. revisions.view.Tooltip = wp.Backbone.View.extend({ className: 'revisions-tooltip', - template: wp.template('revisions-tooltip'), + template: wp.template('revisions-meta'), initialize: function( options ) { this.listenTo( this.model, 'change:offset', this.render ); @@ -723,7 +754,9 @@ window.wp = window.wp || {}; }, prepare: function() { - return this.model.get('revision').toJSON(); + return _.extend( { type: 'tooltip' }, { + attributes: this.model.get('revision').toJSON() + }); }, render: function() { diff --git a/wp-admin/revision.php b/wp-admin/revision.php index 7cd79bdb49..7be2051699 100644 --- a/wp-admin/revision.php +++ b/wp-admin/revision.php @@ -130,31 +130,6 @@ require_once( './admin-header.php' ); - -