WordPress.org

Make WordPress Core

Ticket #22662: 22662.diff

File 22662.diff, 1.5 KB (added by nacin, 5 years ago)
  • wp-includes/js/media-views.js

     
    34113411                        });
    34123412
    34133413                        media.view.Settings.prototype.initialize.apply( this, arguments );
    3414                         this.model.on( 'change:link', this.updateCustomLink, this );
     3414                        this.model.on( 'change:link', this.updateLinkTo, this );
    34153415
    34163416                        if ( attachment )
    34173417                                attachment.on( 'change:uploading', this.render, this );
     
    34353435                        }
    34363436
    34373437                        media.view.Settings.prototype.render.call( this );
    3438                         this.updateCustomLink();
     3438                        this.updateLinkTo();
    34393439                        return this;
    34403440                },
    34413441
    3442                 updateCustomLink: function() {
    3443                         var isCustom = 'custom' === this.model.get('link'),
    3444                                 $input = this.$('.link-to-custom');
     3442                updateLinkTo: function() {
     3443                        var linkTo = this.model.get('link'),
     3444                                $input = this.$('.link-to-custom'),
     3445                                attachment = this.options.attachment;
    34453446
    3446                         if ( ! isCustom ) {
     3447                        if ( 'none' === linkTo ) {
    34473448                                $input.hide();
    34483449                                return;
    34493450                        }
    34503451
    34513452                        $input.show();
    3452                         if ( ! this.model.get('linkUrl') )
     3453
     3454                        if ( 'post' == linkTo ) {
     3455                                $input.val( attachment.get('link') );
     3456                        } else if ( 'file' == linkTo ) {
     3457                                $input.val( attachment.get('url') );
     3458                        } else if ( ! this.model.get('linkUrl') ) {
    34533459                                $input.val('http://');
     3460                        }
    34543461
     3462                        $input.prop('readonly', 'custom' !== linkTo);
     3463
    34553464                        // If the input is visible, focus and select its contents.
    34563465                        if ( $input.is(':visible') )
    34573466                                $input.focus()[0].select();