Make WordPress Core

Ticket #22726: 22726.3.diff

File 22726.3.diff, 4.0 KB (added by kucrut, 9 years ago)

JS Sources

  • src/wp-includes/js/media/controllers/embed.js

    diff --git src/wp-includes/js/media/controllers/embed.js src/wp-includes/js/media/controllers/embed.js
    index d347db0..27bfe37 100644
     
    1313 * @param {string} [attributes.content=embed]         Initial mode for the content region.
    1414 * @param {string} [attributes.menu=default]          Initial mode for the menu region.
    1515 * @param {string} [attributes.toolbar=main-embed]    Initial mode for the toolbar region.
    16  * @param {string} [attributes.menu=false]            Initial mode for the menu region.
    1716 * @param {int}    [attributes.priority=120]          The priority for the state link in the media menu.
    1817 * @param {string} [attributes.type=link]             The type of embed. Currently only link is supported.
    1918 * @param {string} [attributes.url]                   The embed URL.
    var l10n = wp.media.view.l10n, 
    2625Embed = wp.media.controller.State.extend({
    2726        defaults: {
    2827                id:       'embed',
    29                 title:    l10n.insertFromUrlTitle,
     28                title:    l10n.fromUrlTitle,
    3029                content:  'embed',
    3130                menu:     'default',
     31                router:   'browse',
    3232                toolbar:  'main-embed',
    3333                priority: 120,
    3434                type:     'link',
    Embed = wp.media.controller.State.extend({ 
    4646                this.props.on( 'change:url', this.debouncedScan, this );
    4747                this.props.on( 'change:url', this.refresh, this );
    4848                this.on( 'scan', this.scanImage, this );
     49                this.off( 'ready', this._ready, this );
    4950        },
    5051
    5152        /**
    Embed = wp.media.controller.State.extend({ 
    100101                image.onload = function() {
    101102                        deferred.resolve();
    102103
    103                         if ( state !== frame.state() || url !== state.props.get('url') ) {
     104                        if ( url !== state.props.get('url') ) {
    104105                                return;
    105106                        }
    106107
  • src/wp-includes/js/media/views/frame/post.js

    diff --git src/wp-includes/js/media/views/frame/post.js src/wp-includes/js/media/views/frame/post.js
    index f4d078f..b0a916a 100644
    Post = Select.extend({ 
    174174        bindHandlers: function() {
    175175                var handlers, checkCounts;
    176176
     177                this.on( 'content:create:browse', this._fixState, this );
     178                this.on( 'content:render:upload', this._fixState, this );
     179                this.on( 'content:render:embed', this._fixState, this );
     180
    177181                Select.prototype.bindHandlers.apply( this, arguments );
    178182
    179183                this.on( 'activate', this.activate, this );
    Post = Select.extend({ 
    196200                this.on( 'toolbar:create:main-video-playlist', this.createToolbar, this );
    197201                this.on( 'toolbar:create:featured-image', this.featuredImageToolbar, this );
    198202                this.on( 'toolbar:create:main-embed', this.mainEmbedToolbar, this );
     203                this.on( 'router:render:browse', this.embedRouterItem, this );
    199204
    200205                handlers = {
    201206                        menu: {
    Post = Select.extend({ 
    348353                });
    349354        },
    350355
     356        embedRouterItem: function( routerView ) {
     357                var state = this.state(),
     358                    routerItem = routerView.get( 'embed' );
     359
     360                if ( 'embed' === state.id || 'insert' === state.id ) {
     361                        if ( ! routerItem ) {
     362                                routerView.set( 'embed', {
     363                                        text: l10n.fromUrlTitle,
     364                                        priority: 60
     365                                });
     366                        } else {
     367                                routerView.show( 'embed' );
     368                        }
     369                } else {
     370                        routerView.hide( 'embed' );
     371                }
     372        },
     373
    351374        // Content
     375        _fixState: function() {
     376                var mode = this.content.mode(),
     377                    state = this.state().id;
     378
     379                if ( 'embed' === mode ) {
     380                        this.setState( 'embed' );
     381                } else if ( 'embed' === state ) {
     382                        this.setState( 'insert' );
     383                        this.content.mode( mode );
     384                }
     385        },
     386
    352387        embedContent: function() {
    353388                var view = new wp.media.view.Embed({
    354389                        controller: this,
  • src/wp-includes/media.php

    diff --git src/wp-includes/media.php src/wp-includes/media.php
    index 7a58329..da03ce7 100644
    function wp_enqueue_media( $args = array() ) { 
    30913091                'attachmentDetails'  => __( 'Attachment Details' ),
    30923092
    30933093                // From URL
    3094                 'insertFromUrlTitle' => __( 'Insert from URL' ),
     3094                'fromUrlTitle'       => __( 'From URL' ),
    30953095
    30963096                // Featured Images
    30973097                'setFeaturedImageTitle' => $post_type_object->labels->featured_image,