@@ -80,6 +80,9 @@ wpWidgets = {
8080 widget . removeClass ( 'open' ) ;
8181 wpWidgets . close ( widget ) ;
8282 e . preventDefault ( ) ;
83+ } else if ( target . attr ( 'id' ) === 'inactive-widgets-control-remove' ) {
84+ wpWidgets . removeInactiveWidgets ( ) ;
85+ e . preventDefault ( ) ;
8386 }
8487 } ) ;
8588
@@ -387,6 +390,7 @@ wpWidgets = {
387390 } ) ;
388391
389392 $ . post ( ajaxurl , data , function ( ) {
393+ $ ( '#inactive-widgets-control-remove' ) . prop ( 'disabled' , ! $ ( '#wp_inactive_widgets .widget' ) . length ) ;
390394 $ ( '.spinner' ) . removeClass ( 'is-active' ) ;
391395 } ) ;
392396 } ,
@@ -431,21 +435,49 @@ wpWidgets = {
431435 } ) ;
432436 } else {
433437 widget . remove ( ) ;
438+
439+ if ( sidebarId === 'wp_inactive_widgets' ) {
440+ $ ( '#inactive-widgets-control-remove' ) . prop ( 'disabled' , ! $ ( '#wp_inactive_widgets .widget' ) . length ) ;
441+ }
434442 }
435443 } else {
436444 $ ( '.spinner' ) . removeClass ( 'is-active' ) ;
437445 if ( r && r . length > 2 ) {
438446 $ ( 'div.widget-content' , widget ) . html ( r ) ;
439447 wpWidgets . appendTitle ( widget ) ;
440448 $document . trigger ( 'widget-updated' , [ widget ] ) ;
449+
450+ if ( sidebarId === 'wp_inactive_widgets' ) {
451+ $ ( '#inactive-widgets-control-remove' ) . prop ( 'disabled' , ! $ ( '#wp_inactive_widgets .widget' ) . length ) ;
452+ }
441453 }
442454 }
455+
443456 if ( order ) {
444457 wpWidgets . saveOrder ( ) ;
445458 }
446459 } ) ;
447460 } ,
448461
462+ removeInactiveWidgets : function ( ) {
463+ var $element = $ ( '.remove-inactive-widgets' ) , a , data ;
464+
465+ $ ( '.spinner' , $element ) . addClass ( 'is-active' ) ;
466+
467+ a = {
468+ action : 'delete-inactive-widgets' ,
469+ removeinactivewidgets : $ ( '#_wpnonce_remove_inactive_widgets' ) . val ( )
470+ } ;
471+
472+ data = $ . param ( a ) ;
473+
474+ $ . post ( ajaxurl , data , function ( ) {
475+ $ ( '#wp_inactive_widgets .widget' ) . remove ( ) ;
476+ $ ( '#inactive-widgets-control-remove' ) . prop ( 'disabled' , true ) ;
477+ $ ( '.spinner' , $element ) . removeClass ( 'is-active' ) ;
478+ } ) ;
479+ } ,
480+
449481 appendTitle : function ( widget ) {
450482 var title = $ ( 'input[id*="-title"]' , widget ) . val ( ) || '' ;
451483
0 commit comments