Make WordPress Core

Changeset 41814


Ignore:
Timestamp:
10/10/2017 08:38:22 PM (9 years ago)
Author:
westonruter
Message:

Widgets: Clear dirty flag on widgets admin screen when widget is deleted to prevent irrelevant confirmation prompt when leaving.

Props hazimayesh, felipeelia.
Amends [41352], [41813].
See #23120, #42127.
Fixes #41894.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/js/widgets.js

    r41813 r41814  
    551551                                if ( animate ) {
    552552                                        order = 0;
    553                                         widget.slideUp('fast', function(){
    554                                                 $(this).remove();
     553                                        widget.slideUp( 'fast', function() {
     554                                                $( this ).remove();
    555555                                                wpWidgets.saveOrder();
     556                                                delete self.dirtyWidgets[ id ];
    556557                                        });
    557558                                } else {
    558559                                        widget.remove();
     560                                        delete self.dirtyWidgets[ id ];
    559561
    560562                                        if ( sidebarId === 'wp_inactive_widgets' ) {
     
    591593
    592594        removeInactiveWidgets : function() {
    593                 var $element = $( '.remove-inactive-widgets' ), a, data;
     595                var $element = $( '.remove-inactive-widgets' ), self = this, a, data;
    594596
    595597                $( '.spinner', $element ).addClass( 'is-active' );
     
    603605
    604606                $.post( ajaxurl, data, function() {
    605                         $( '#wp_inactive_widgets .widget' ).remove();
    606                         $( '#inactive-widgets-control-remove' ).prop( 'disabled' , true );
     607                        $( '#wp_inactive_widgets .widget' ).each(function() {
     608                                var $widget = $( this );
     609                                delete self.dirtyWidgets[ $widget.find( 'input.widget-id' ).val() ];
     610                                $widget.remove();
     611                        });
     612                        $( '#inactive-widgets-control-remove' ).prop( 'disabled', true );
    607613                        $( '.spinner', $element ).removeClass( 'is-active' );
    608614                } );
Note: See TracChangeset for help on using the changeset viewer.