Theme Switcher: Opening themes details modal shouldn't require two clicks on touch devices.

Inspired by [26838].

see #31794.

git-svn-id: https://develop.svn.wordpress.org/trunk@31914 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Dominik Schilling (ocean90) 2015-03-27 22:53:50 +00:00
parent b64b88d03b
commit a39ae803b6
1 changed files with 14 additions and 2 deletions

View File

@ -1847,19 +1847,31 @@
*/
api.ThemeControl = api.Control.extend({
touchDrag: false,
/**
* @since 4.2.0
*/
ready: function() {
var control = this;
control.container.on( 'touchmove', '.theme', function() {
control.touchDrag = true;
});
// Bind details view trigger.
control.container.on( 'click keydown', '.theme', function( event ) {
control.container.on( 'click keydown touchend', '.theme', function( event ) {
if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
return;
}
if ( 'button' === event.target.className ) {
// Bail if the user scrolled on a touch device.
if ( control.touchDrag === true ) {
return control.touchDrag = false;
}
// Prevent the modal from showing when the user clicks the action button.
if ( $( event.target ).is( '.theme-actions .button' ) ) {
return;
}