From 0f5458ec6d8ee93a8660c279a647b1da431d134b Mon Sep 17 00:00:00 2001 From: "Dominik Schilling (ocean90)" Date: Wed, 11 Feb 2015 20:44:19 +0000 Subject: [PATCH] Customizer: Improve [31252] to show the move-widget buttons only if there is more than one *rendered* sidebar. fixes #30690. git-svn-id: https://develop.svn.wordpress.org/trunk@31419 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/js/customize-widgets.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/wp-admin/js/customize-widgets.js b/src/wp-admin/js/customize-widgets.js index 46b4ba323e..600f8b7882 100644 --- a/src/wp-admin/js/customize-widgets.js +++ b/src/wp-admin/js/customize-widgets.js @@ -621,7 +621,8 @@ * Update available sidebars when their rendered state changes */ updateAvailableSidebars = function() { - var $sidebarItems = $moveWidgetArea.find( 'li' ), selfSidebarItem; + var $sidebarItems = $moveWidgetArea.find( 'li' ), selfSidebarItem, + renderedSidebarCount = 0; selfSidebarItem = $sidebarItems.filter( function(){ return $( this ).data( 'id' ) === self.params.sidebar_id; @@ -629,23 +630,27 @@ $sidebarItems.each( function() { var li = $( this ), - sidebarId, - sidebar; + sidebarId, sidebar, sidebarIsRendered; sidebarId = li.data( 'id' ); sidebar = api.Widgets.registeredSidebars.get( sidebarId ); + sidebarIsRendered = sidebar.get( 'is_rendered' ); - li.toggle( sidebar.get( 'is_rendered' ) ); + li.toggle( sidebarIsRendered ); - if ( li.hasClass( 'selected' ) && ! sidebar.get( 'is_rendered' ) ) { + if ( sidebarIsRendered ) { + renderedSidebarCount += 1; + } + + if ( li.hasClass( 'selected' ) && ! sidebarIsRendered ) { selectSidebarItem( selfSidebarItem ); } } ); - if ( 1 === $sidebarItems.length ) { - self.container.find( '.move-widget' ).hide(); - } else { + if ( renderedSidebarCount > 1 ) { self.container.find( '.move-widget' ).show(); + } else { + self.container.find( '.move-widget' ).hide(); } };