WordPress.org

Make WordPress Core

Ticket #22740: 22740.2.diff

File 22740.2.diff, 2.2 KB (added by koopersmith, 3 years ago)
  • wp-includes/js/media-views.js

     
    786786                }, 
    787787 
    788788                reset: function() { 
    789                         this.props = new Backbone.Model({ url: '' }); 
     789                        this.props.clear().set({ url: '' }); 
    790790 
    791791                        if ( this.active ) 
    792792                                this.refresh(); 
     
    24222422 
    24232423                refresh: function() { 
    24242424                        var url = this.controller.state().props.get('url'); 
    2425                         this.get('select').model.set( 'disabled', ! url || /^https?:\/\/$/.test(url) ); 
     2425                        this.get('select').model.set( 'disabled', ! url || url === 'http://' ); 
    24262426 
    24272427                        media.view.Toolbar.Select.prototype.refresh.apply( this, arguments ); 
    24282428                } 
     
    37723772                        this.model.on( 'change', this.updateChanges, this ); 
    37733773                }, 
    37743774 
    3775                 render: function() { 
    3776                         this.$el.html( this.template( _.defaults({ 
     3775                prepare: function() { 
     3776                        return _.defaults({ 
    37773777                                model: this.model.toJSON() 
    3778                         }, this.options ) ) ); 
     3778                        }, this.options ); 
     3779                }, 
    37793780 
     3781                render: function() { 
     3782                        media.View.prototype.render.apply( this, arguments ); 
    37803783                        // Select the correct values. 
    37813784                        _( this.model.attributes ).chain().keys().each( this.update, this ); 
    37823785                        return this; 
     
    40264029                                model:      this.model.props 
    40274030                        }).render(); 
    40284031 
    4029                         this._settings = new media.View(); 
     4032                        this.views.set([ this.url ]); 
    40304033                        this.refresh(); 
    40314034                        this.model.on( 'change:type', this.refresh, this ); 
    40324035                }, 
    40334036 
    4034                 render: function() { 
    4035                         this.$el.html([ this.url.el, this._settings.el ]); 
    4036                         this.url.focus(); 
    4037                         this.views.render(); 
    4038                         return this; 
    4039                 }, 
    4040  
    40414037                settings: function( view ) { 
    4042                         view.render(); 
    4043                         this._settings.$el.replaceWith( view.$el ); 
    4044                         this._settings.remove(); 
     4038                        if ( this._settings ) 
     4039                                this._settings.remove(); 
    40454040                        this._settings = view; 
     4041                        this.views.add( view ); 
    40464042                }, 
    40474043 
    40484044                refresh: function() { 
     
    40964092                                return; 
    40974093 
    40984094                        this.input.value = this.model.get('url') || 'http://'; 
     4095                        media.View.prototype.render.apply( this, arguments ); 
    40994096                        return this; 
    41004097                }, 
    41014098 
     4099                ready: function() { 
     4100                        this.focus(); 
     4101                }, 
     4102 
    41024103                url: function( event ) { 
    41034104                        this.model.set( 'url', event.target.value ); 
    41044105                },