From ef0c31afd423064db1c3aa7a15221b2a3e670ba0 Mon Sep 17 00:00:00 2001 From: Sukhendu Sekhar Guria Date: Fri, 17 Jul 2026 10:30:56 +0530 Subject: [PATCH] fix(revisions): clarify revision states --- src/js/_enqueues/wp/revisions.js | 27 +++++++++++++++++----- src/wp-admin/css/revisions.css | 37 ++++++++---------------------- src/wp-admin/includes/revision.php | 26 ++++++++++----------- src/wp-admin/revision.php | 2 +- 4 files changed, 44 insertions(+), 48 deletions(-) diff --git a/src/js/_enqueues/wp/revisions.js b/src/js/_enqueues/wp/revisions.js index b0c555e934361..6244ef5335925 100644 --- a/src/js/_enqueues/wp/revisions.js +++ b/src/js/_enqueues/wp/revisions.js @@ -768,7 +768,14 @@ window.wp = window.wp || {}; // The revision meta 'from' view. revisions.view.MetaFrom = revisions.view.Meta.extend({ className: 'diff-meta diff-meta-from', - type: 'from' + type: 'from', + + render: function() { + wp.Backbone.View.prototype.render.apply( this, arguments ); + this.$el.toggle( !! this.model.get( 'from' ) ); + + return this; + } }); // The revision meta 'to' view. @@ -967,15 +974,23 @@ window.wp = window.wp || {}; }, accessibilityHelper: function() { - var handles = $( '.ui-slider-handle' ); - handles.first().attr( { + var handles = this.$( '.ui-slider-handle' ), + fromHandle = handles.first(), + toHandle = handles.last(); + + if ( isRtl && handles.length > 1 ) { + fromHandle = handles.last(); + toHandle = handles.first(); + } + + fromHandle.attr( { role: 'button', - 'aria-labelledby': 'diff-title-from diff-title-author', + 'aria-labelledby': 'diff-title-from diff-title-author-from', 'aria-describedby': 'revisions-slider-hidden-help', } ); - handles.last().attr( { + toHandle.attr( { role: 'button', - 'aria-labelledby': 'diff-title-to diff-title-author', + 'aria-labelledby': 'diff-title-to diff-title-author-to', 'aria-describedby': 'revisions-slider-hidden-help', } ); }, diff --git a/src/wp-admin/css/revisions.css b/src/wp-admin/css/revisions.css index da238456178fc..1565dfa954cc5 100644 --- a/src/wp-admin/css/revisions.css +++ b/src/wp-admin/css/revisions.css @@ -24,7 +24,7 @@ .revisions.pinned .revisions-controls { position: fixed; top: 0; - height: 82px; + height: 124px; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); } @@ -54,10 +54,6 @@ height: 140px; } -.comparing-two-revisions.pinned .revisions-controls { - height: 124px; -} - .revisions .diff-error { position: absolute; text-align: center; @@ -125,8 +121,7 @@ body.folded .revisions .loading-indicator { } .comparing-two-revisions .revisions-previous, -.comparing-two-revisions .revisions-next, -.revisions-meta .diff-meta-to strong { +.comparing-two-revisions .revisions-next { display: none; } @@ -142,10 +137,6 @@ body.folded .revisions .loading-indicator { font-weight: 600; } -.comparing-two-revisions .diff-meta-to strong { - display: block; -} - .revisions.pinned .revisions-buttons { padding: 0 11px; } @@ -305,23 +296,21 @@ table.diff .diff-addedline ins { vertical-align: middle; } -.diff-meta input.restore-revision { +.diff-meta input.restore-revision, +.diff-meta .current-revision { float: right; margin-left: 6px; margin-right: 6px; } -.diff-meta-from { - display: none; -} - -.comparing-two-revisions .diff-meta-from { - display: block; +.diff-meta .current-revision { + color: #646970; + line-height: 2.46153846; } .revisions-tooltip { position: absolute; - bottom: 105px; + bottom: 145px; margin-right: 0; margin-left: -69px; z-index: 0; @@ -341,10 +330,6 @@ table.diff .diff-addedline ins { display: none !important; } -.comparing-two-revisions .revisions-tooltip { - bottom: 145px; -} - .revisions-tooltip-arrow { width: 70px; height: 15px; @@ -614,12 +599,8 @@ div.revisions-controls > .wp-slider > .ui-slider-handle { } .revisions-tooltip { - bottom: 155px; - z-index: 2; - } - - .comparing-two-revisions .revisions-tooltip { bottom: 200px; + z-index: 2; } .diff-meta { diff --git a/src/wp-admin/includes/revision.php b/src/wp-admin/includes/revision.php index 2f15f1c9e2faf..ef953db570e8d 100644 --- a/src/wp-admin/includes/revision.php +++ b/src/wp-admin/includes/revision.php @@ -370,11 +370,11 @@ function wp_print_revision_templates() { @@ -409,7 +409,7 @@ function wp_print_revision_templates() {
{{{ data.attributes.author.avatar }}} -
+
<# if ( data.attributes.autosave ) { #>
- <# if ( 'to' === data.type && data.attributes.restoreUrl ) { #> - ID ) ) { ?> - disabled="disabled" - - <# if ( data.attributes.current ) { #> + <# if ( 'to' === data.type ) { #> + <# if ( data.attributes.current ) { #> + + <# } else if ( data.attributes.restoreUrl ) { #> + ID ) ) { ?> disabled="disabled" + + <# if ( data.attributes.autosave ) { #> + type="button" class="restore-revision button button-primary button-compact" value="" /> + <# } else { #> + type="button" class="restore-revision button button-primary button-compact" value="" /> <# } #> - - <# if ( data.attributes.autosave ) { #> - type="button" class="restore-revision button button-primary button-compact" value="" /> - <# } else { #> - type="button" class="restore-revision button button-primary button-compact" value="" /> <# } #> <# } #>
diff --git a/src/wp-admin/revision.php b/src/wp-admin/revision.php index d5ab873666e23..ba13bca4ba83e 100644 --- a/src/wp-admin/revision.php +++ b/src/wp-admin/revision.php @@ -142,7 +142,7 @@ $revisions_overview = '

' . __( 'This screen is used for managing your content revisions.' ) . '

'; $revisions_overview .= '

' . __( 'Revisions are saved copies of your post or page, which are periodically created as you update your content. The red text on the left shows the content that was removed. The green text on the right shows the content that was added.' ) . '

'; $revisions_overview .= '

' . __( 'From this screen you can review, compare, and restore revisions:' ) . '

'; -$revisions_overview .= '