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

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;
}