WordPress.org

Make WordPress Core

Ticket #31187: 31187.2.patch

File 31187.2.patch, 1.9 KB (added by iseulde, 5 years ago)
  • src/wp-admin/js/common.js

     
    707707
    708708        window.wpResponsive = {
    709709                init: function() {
    710                         var self = this;
     710                        var self = this,
     711                                x, y;
    711712
    712713                        // Modify functionality based on custom activate/deactivate event
    713714                        $document.on( 'wp-responsive-activate.wp-responsive', function() {
     
    722723                        $( '#wp-admin-bar-menu-toggle' ).on( 'click.wp-responsive', function( event ) {
    723724                                event.preventDefault();
    724725                                $wpwrap.toggleClass( 'wp-responsive-open' );
    725                                 if ( $wpwrap.hasClass( 'wp-responsive-open' ) ) {
     726                                if ( self.isOpen() ) {
    726727                                        $(this).find('a').attr( 'aria-expanded', 'true' );
    727728                                        $( '#adminmenu a:first' ).focus();
    728729                                } else {
     
    730731                                }
    731732                        } );
    732733
     734                        $window.on( 'touchstart.wp-responsive', function( event ) {
     735                                var touches = event.originalEvent.touches;
     736
     737                                if ( 1 !== touches.length ) {
     738                                        return;
     739                                }
     740
     741                                x = touches[0].clientX;
     742                                y = touches[0].clientY;
     743                        } );
     744
     745                        $window.on( 'touchend.wp-responsive', function( event ) {
     746                                var touches = event.originalEvent.changedTouches,
     747                                        distanceX;
     748
     749                                if ( 1 === touches.length && x && y ) {
     750                                        if ( window.isRtl == self.isOpen() ) {
     751                                                distanceX = touches[0].clientX - x;
     752                                        } else {
     753                                                distanceX = x - touches[0].clientX;
     754                                        }
     755
     756                                        if ( distanceX > Math.abs( touches[0].clientY - y ) ) {
     757                                                $( '#wp-admin-bar-menu-toggle' ).trigger( 'click' );
     758                                        }
     759                                }
     760
     761                                x = y = 0;
     762                        } );
     763
    733764                        // Add menu events
    734765                        $adminmenu.on( 'click.wp-responsive', 'li.wp-has-submenu > a', function( event ) {
    735766                                if ( ! $adminmenu.data('wp-responsive') ) {
     
    753784                        });
    754785                },
    755786
     787                isOpen: function() {
     788                        return $wpwrap.hasClass( 'wp-responsive-open' );
     789                },
     790
    756791                activate: function() {
    757792                        setPinMenu();
    758793