WordPress.org

Make WordPress Core

Changeset 22938


Ignore:
Timestamp:
11/30/12 01:55:37 (17 months ago)
Author:
ryan
Message:

In the media modal, ensure modal events are always fired on its frame. This ensures restoreThickbox() and thus tbRemove() are called properly when clicking the close button of the modal.

Props koopersmith
fixes #22632

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/js/media-views.js

    r22923 r22938  
    12171217            if ( this.modal ) 
    12181218                this.modal[ method ].apply( this.modal, arguments ); 
    1219             this.trigger( method ); 
    12201219            return this; 
    12211220        }; 
     
    16581657            _.defaults( this.options, { 
    16591658                container: document.body, 
    1660                 title:     '' 
     1659                title:     '', 
     1660                propagate: true 
    16611661            }); 
    16621662        }, 
     
    16811681        attach: function() { 
    16821682            this.$el.appendTo( this.options.container ); 
    1683             this.trigger('attach'); 
    1684             return this; 
     1683            return this.propagate('attach'); 
    16851684        }, 
    16861685 
    16871686        detach: function() { 
    16881687            this.$el.detach(); 
    1689             this.trigger('detach'); 
    1690             return this; 
     1688            return this.propagate('detach'); 
    16911689        }, 
    16921690 
    16931691        open: function() { 
    16941692            this.$el.show(); 
    1695             this.trigger('open'); 
    1696             return this; 
     1693            return this.propagate('open'); 
    16971694        }, 
    16981695 
    16991696        close: function() { 
    17001697            this.$el.hide(); 
    1701             this.trigger('close'); 
    1702             return this; 
     1698            return this.propagate('close'); 
    17031699        }, 
    17041700 
     
    17161712            this.options.$content = ( $content instanceof Backbone.View ) ? $content.$el : $content; 
    17171713            return this.render(); 
     1714        }, 
     1715 
     1716        // Triggers a modal event and if the `propagate` option is set, 
     1717        // forwards events to the modal's controller. 
     1718        propagate: function( id ) { 
     1719            this.trigger( id ); 
     1720 
     1721            if ( this.options.propagate ) 
     1722                this.controller.trigger( id ); 
     1723 
     1724            return this; 
    17181725        } 
    17191726    }); 
Note: See TracChangeset for help on using the changeset viewer.