Make WordPress Core

Changeset 22690


Ignore:
Timestamp:
11/19/2012 10:48:11 PM (12 years ago)
Author:
koopersmith
Message:

Media: Add render tracking to views. see #21390.

File:
1 edited

Legend:

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

    r22684 r22690  
    683683            }, this );
    684684
    685             if ( ! options.silent )
     685            if ( ! options.silent ) {
     686                _.each( views, this._maybeRender, this );
    686687                this[ method ]( $selector, els, options );
     688            }
    687689
    688690            return this;
     
    756758            var root = this._views[''];
    757759
     760            _.each( this.all(), this._maybeRender, this );
     761
    758762            if ( root )
    759763                this.replace( this.view.$el, _.pluck( root, 'el' ) );
     
    764768            }, this );
    765769
     770            this.rendered = true;
    766771            return this;
    767772        },
     
    814819
    815820            return this;
     821        },
     822
     823
     824        // #### Internal. Maybe render a view.
     825        _maybeRender: function( view ) {
     826            if ( ! view.views || view.views.rendered )
     827                return;
     828
     829            view.render();
     830            view.views.rendered = true;
    816831        }
    817832    });
     
    11491164
    11501165                AttachmentView: state.get('AttachmentView')
    1151             }).render() );
     1166            }) );
    11521167        },
    11531168
     
    11561171            this.content.view( new media.view.UploaderInline({
    11571172                controller: this
    1158             }).render() );
     1173            }) );
    11591174        },
    11601175
Note: See TracChangeset for help on using the changeset viewer.