Skip to content

Commit a161b2b

Browse files
committed
General: Prevent Media & Theme modals from events on modified arrow keys.
Change the left and right arrow key navigation used in the Theme and Media modal interfaces so the events don't fire when `shift` or `ctrl` are also pressed. Includes tests. Props praful2111, hiteshtalpada, joemcgill, sandeepdahiya, abcd95, joedolson. Fixes #63126. git-svn-id: https://develop.svn.wordpress.org/trunk@60516 602fd350-edb4-49c9-b593-d223f7449a82
1 parent 9e8e6f9 commit a161b2b

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

src/js/_enqueues/wp/theme.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,6 +1011,12 @@ themes.view.Preview = themes.view.Details.extend({
10111011
this.undelegateEvents();
10121012
this.close();
10131013
}
1014+
1015+
// Return if Ctrl + Shift or Shift key pressed
1016+
if ( event.shiftKey || ( event.ctrlKey && event.shiftKey ) ) {
1017+
return;
1018+
}
1019+
10141020
// The right arrow key, next theme.
10151021
if ( event.keyCode === 39 ) {
10161022
_.once( this.nextTheme() );
@@ -1115,6 +1121,11 @@ themes.view.Themes = wp.Backbone.View.extend({
11151121
return;
11161122
}
11171123

1124+
// Return if Ctrl + Shift or Shift key pressed
1125+
if ( event.shiftKey || ( event.ctrlKey && event.shiftKey ) ) {
1126+
return;
1127+
}
1128+
11181129
// Pressing the right arrow key fires a theme:next event.
11191130
if ( event.keyCode === 39 ) {
11201131
self.overlay.nextTheme();

src/js/media/views/frame/edit-attachments.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,11 @@ EditAttachments = MediaFrame.extend(/** @lends wp.media.view.MediaFrame.EditAtta
255255
return;
256256
}
257257

258+
// Return if Ctrl + Shift or Shift key pressed
259+
if ( event.shiftKey || ( event.ctrlKey && event.shiftKey ) ) {
260+
return;
261+
}
262+
258263
// The right arrow key.
259264
if ( 39 === event.keyCode ) {
260265
this.nextMediaItem();

tests/qunit/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,7 @@
147147

148148
<!-- Unit tests -->
149149
<script src="wp-admin/js/password-strength-meter.js"></script>
150+
<script src="wp-admin/js/theme.js"></script>
150151
<script src="wp-admin/js/customize-base.js"></script>
151152
<script src="wp-admin/js/customize-header.js"></script>
152153
<script src="wp-admin/js/dashboard.js"></script>

0 commit comments

Comments
 (0)