WordPress.org

Make WordPress Core

Ticket #47131: 47131.4.diff

File 47131.4.diff, 3.0 KB (added by afercia, 10 months ago)
  • 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 );
     1319                        $document.on( 'postbox-toggled', this.maybeDisableSortables );
    13181320
    1319                                 if ( width <= 782 ) {
    1320                                         self.disableSortables();
    1321                                 }
    1322                         });
     1321                        // When the screen columns are changed, potentially disable sortables.
     1322                        $( '#screen-options-wrap input' ).on( 'click', this.maybeDisableSortables );
    13231323                },
    13241324
    13251325                /**
     1326                 * Disable sortables if there is only one metabox, or the screen is in one column mode. Otherwise, enable sortables.
     1327                 *
     1328                 * @since 5.3.0
     1329                 *
     1330                 * @returns {void}
     1331                 */
     1332                maybeDisableSortables: function() {
     1333                        var width = navigator.userAgent.indexOf('AppleWebKit/') > -1 ? $window.width() : window.innerWidth;
     1334
     1335                        if (
     1336                                ( width <= 782 ) ||
     1337                                ( 1 >= $sortables.find( '.ui-sortable-handle:visible' ).length && jQuery( '.columns-prefs-1 input' ).prop( 'checked' ) )
     1338                        ) {
     1339                                this.disableSortables();
     1340                        } else {
     1341                                this.enableSortables();
     1342                        }
     1343                },
     1344
     1345                /**
    13261346                 * Changes properties of body and admin menu.
    13271347                 *
    13281348                 * Pins and unpins the menu and adds the auto-fold class to the body.
     
    13561376                deactivate: function() {
    13571377                        setPinMenu();
    13581378                        $adminmenu.removeData('wp-responsive');
    1359                         this.enableSortables();
     1379
     1380                        this.maybeDisableSortables();
    13601381                },
    13611382
    13621383                /**
     
    13911412                        } else {
    13921413                                this.disableOverlay();
    13931414                        }
     1415
     1416                        this.maybeDisableSortables();
    13941417                },
    13951418
    13961419                /**
     
    14391462                        if ( $sortables.length ) {
    14401463                                try {
    14411464                                        $sortables.sortable( 'disable' );
     1465                                        $sortables.find( '.ui-sortable-handle' ).addClass( 'is-non-sortable' );
    14421466                                } catch ( e ) {}
    14431467                        }
    14441468                },
     
    14541478                        if ( $sortables.length ) {
    14551479                                try {
    14561480                                        $sortables.sortable( 'enable' );
     1481                                        $sortables.find( '.ui-sortable-handle' ).removeClass( 'is-non-sortable' );
    14571482                                } catch ( e ) {}
    14581483                        }
    14591484                }
  • src/wp-admin/css/common.css

     
    20412041        cursor: move;
    20422042}
    20432043
     2044.js .widget .widget-top.is-non-sortable,
     2045.js .postbox .hndle.is-non-sortable {
     2046        cursor: auto;
     2047}
     2048
    20442049.hndle a {
    20452050        font-size: 11px;
    20462051        font-weight: 400;