Make WordPress Core

Ticket #30690: 30690.2.diff

File 30690.2.diff, 1.6 KB (added by ocean90, 10 years ago)
  • src/wp-admin/js/customize-widgets.js

     
    621621                         * Update available sidebars when their rendered state changes
    622622                         */
    623623                        updateAvailableSidebars = function() {
    624                                 var $sidebarItems = $moveWidgetArea.find( 'li' ), selfSidebarItem;
     624                                var $sidebarItems = $moveWidgetArea.find( 'li' ), selfSidebarItem,
     625                                        renderedSidebars = 0;
    625626
    626627                                selfSidebarItem = $sidebarItems.filter( function(){
    627628                                        return $( this ).data( 'id' ) === self.params.sidebar_id;
     
    629630
    630631                                $sidebarItems.each( function() {
    631632                                        var li = $( this ),
    632                                                 sidebarId,
    633                                                 sidebar;
     633                                                sidebarId, sidebar, isRendered;
    634634
    635635                                        sidebarId = li.data( 'id' );
    636636                                        sidebar = api.Widgets.registeredSidebars.get( sidebarId );
     637                                        isRendered = sidebar.get( 'is_rendered' );
    637638
    638                                         li.toggle( sidebar.get( 'is_rendered' ) );
     639                                        li.toggle( isRendered );
    639640
    640                                         if ( li.hasClass( 'selected' ) && ! sidebar.get( 'is_rendered' ) ) {
     641                                        if ( isRendered ) {
     642                                                renderedSidebars++;
     643                                        }
     644
     645                                        if ( li.hasClass( 'selected' ) && ! isRendered ) {
    641646                                                selectSidebarItem( selfSidebarItem );
    642647                                        }
    643648                                } );
    644649
    645                                 if ( 1 === $sidebarItems.length ) {
     650                                if ( renderedSidebars > 1 ) {
     651                                        self.container.find( '.move-widget' ).show();
     652                                } else {
    646653                                        self.container.find( '.move-widget' ).hide();
    647                                 } else {
    648                                         self.container.find( '.move-widget' ).show();
    649654                                }
    650655                        };
    651656