WordPress.org

Make WordPress Core

Ticket #22740: 22740.2.diff

File 22740.2.diff, 2.2 KB (added by koopersmith, 5 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                },