WordPress.org

Make WordPress Core

Ticket #47131: 47131.3.patch

File 47131.3.patch, 2.5 KB (added by antpb, 6 months ago)

Uploading a refreshed patch without the package-lock.json changes. Still need to investigate the instances or sortable.

  • src/js/_enqueues/admin/common.js

     
    12741274                init: function() {
    12751275                        var self = this;
    12761276
     1277                        this.maybeDisableSortables = this.maybeDisableSortables.bind( this );
     1278
    12771279                        // Modify functionality based on custom activate/deactivate event
    12781280                        $document.on( 'wp-responsive-activate.wp-responsive', function() {
    12791281                                self.activate();
     
    13131315                        $document.on( 'wp-window-resized.wp-responsive', $.proxy( this.trigger, this ) );
    13141316
    13151317                        // This needs to run later as UI Sortable may be initialized later on $(document).ready().
    1316                         $window.on( 'load.wp-responsive', function() {
    1317                                 var width = navigator.userAgent.indexOf('AppleWebKit/') > -1 ? $window.width() : window.innerWidth;
     1318                        $window.on( 'load.wp-responsive', this.maybeDisableSortables );
    13181319
    1319                                 if ( width <= 782 ) {
    1320                                         self.disableSortables();
    1321                                 }
    1322                         });
     1320                        // When the screen columns are changed, potentially disable sortables.
     1321                        $( '#screen-options-wrap input' ).on( 'click', this.maybeDisableSortables );
    13231322                },
    13241323
    13251324                /**
     1325                 * Disable sortables if there is only one metabox, and the screen is in one column mode. Otherwise, enable sortables.
     1326                 */
     1327                maybeDisableSortables: function() {
     1328                        var width = navigator.userAgent.indexOf('AppleWebKit/') > -1 ? $window.width() : window.innerWidth;
     1329
     1330                        if (
     1331                                ( width <= 782 ) ||
     1332                                ( 1 >= $sortables.find( 'h2:visible' ).length && jQuery( '.columns-prefs-1 input' ).prop( 'checked' ) )
     1333                        ) {
     1334                                this.disableSortables();
     1335                        } else {
     1336                                this.enableSortables();
     1337                        }
     1338                },
     1339
     1340                /**
    13261341                 * Changes properties of body and admin menu.
    13271342                 *
    13281343                 * Pins and unpins the menu and adds the auto-fold class to the body.
     
    13561371                deactivate: function() {
    13571372                        setPinMenu();
    13581373                        $adminmenu.removeData('wp-responsive');
    1359                         this.enableSortables();
     1374
     1375                        this.maybeDisableSortables();
    13601376                },
    13611377
    13621378                /**
     
    13911407                        } else {
    13921408                                this.disableOverlay();
    13931409                        }
     1410
     1411                        this.maybeDisableSortables();
    13941412                },
    13951413
    13961414                /**
     
    14391457                        if ( $sortables.length ) {
    14401458                                try {
    14411459                                        $sortables.sortable( 'disable' );
     1460                                        $sortables.find( 'h2' ).css( 'cursor', 'auto' );
    14421461                                } catch ( e ) {}
    14431462                        }
    14441463                },
     
    14541473                        if ( $sortables.length ) {
    14551474                                try {
    14561475                                        $sortables.sortable( 'enable' );
     1476                                        $sortables.find( 'h2' ).css( 'cursor', 'move' );
    14571477                                } catch ( e ) {}
    14581478                        }
    14591479                }