WordPress.org

Make WordPress Core

Ticket #21170: media-button-filter-example.diff

File media-button-filter-example.diff, 3.4 KB (added by adamsilverstein, 2 years ago)
  • src/wp-admin/js/widgets/media-widgets.js

    diff --git src/wp-admin/js/widgets/media-widgets.js src/wp-admin/js/widgets/media-widgets.js
    index 5e7383c6fc..d46e985d52 100644
    wp.mediaWidgets = ( function( $ ) { 
    273273                                mime = specificMimes;
    274274                        }
    275275
     276                        wp.hooks.addFilter( 'l10n.insertIntoPost', 'wp/mediaWidgets/l10n.insertIntoPost', _.bind( function() { return this.options.text; }, this ) ),
     277
    276278                        this.states.add([
    277279
    278280                                // Main states.
    wp.mediaWidgets = ( function( $ ) { 
    305307                        ]);
    306308                },
    307309
    308                 /**
    309                  * Main insert toolbar.
    310                  *
    311                  * Forked override of {wp.media.view.MediaFrame.Post#mainInsertToolbar()} to override text.
    312                  *
    313                  * @param {wp.Backbone.View} view - Toolbar view.
    314                  * @this {wp.media.controller.Library}
    315                  * @returns {void}
    316                  */
    317                 mainInsertToolbar: function mainInsertToolbar( view ) {
    318                         var controller = this; // eslint-disable-line consistent-this
    319                         view.set( 'insert', {
    320                                 style:    'primary',
    321                                 priority: 80,
    322                                 text:     controller.options.text, // The whole reason for the fork.
    323                                 requires: { selection: true },
    324 
    325                                 /**
    326                                  * Handle click.
    327                                  *
    328                                  * @fires wp.media.controller.State#insert()
    329                                  * @returns {void}
    330                                  */
    331                                 click: function onClick() {
    332                                         var state = controller.state(),
    333                                                 selection = state.get( 'selection' );
    334 
    335                                         controller.close();
    336                                         state.trigger( 'insert', selection ).reset();
    337                                 }
    338                         });
    339                 },
    340 
    341310                /**
    342311                 * Main embed toolbar.
    343312                 *
  • src/wp-includes/js/media-views.js

    diff --git src/wp-includes/js/media-views.js src/wp-includes/js/media-views.js
    index 18e6444691..33fd86ed86 100644
    Post = Select.extend(/** @lends wp.media.view.MediaFrame.Post.prototype */{ 
    57415741                view.set( 'insert', {
    57425742                        style:    'primary',
    57435743                        priority: 80,
    5744                         text:     l10n.insertIntoPost,
     5744                        text:     wp.hooks.applyFilters( 'l10n.insertIntoPost', l10n.insertIntoPost ),
    57455745                        requires: { selection: true },
    57465746
    57475747                        /**
  • 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 7ea2b8fd33..4e21b1b6bf 100644
    Post = Select.extend(/** @lends wp.media.view.MediaFrame.Post.prototype */{ 
    441441                view.set( 'insert', {
    442442                        style:    'primary',
    443443                        priority: 80,
    444                         text:     l10n.insertIntoPost,
     444                        text:     wp.hooks.applyFilters( 'l10n.insertIntoPost', l10n.insertIntoPost ),
    445445                        requires: { selection: true },
    446446
    447447                        /**
  • src/wp-includes/script-loader.php

    diff --git src/wp-includes/script-loader.php src/wp-includes/script-loader.php
    index fa1ada70fb..143874940e 100644
    function wp_default_scripts( &$scripts ) { 
    694694                        'saveAlert' => __( 'The changes you made will be lost if you navigate away from this page.' ),
    695695                ) ) ) );
    696696
    697                 $scripts->add( 'media-widgets', "/wp-admin/js/widgets/media-widgets$suffix.js", array( 'jquery', 'media-models', 'media-views', 'wp-api-request' ) );
     697                $scripts->add( 'media-widgets', "/wp-admin/js/widgets/media-widgets$suffix.js", array( 'jquery', 'media-models', 'media-views', 'wp-api-request', 'wp-hooks' ) );
    698698                $scripts->add_inline_script( 'media-widgets', 'wp.mediaWidgets.init();', 'after' );
    699699
    700700                $scripts->add( 'media-audio-widget', "/wp-admin/js/widgets/media-audio-widget$suffix.js", array( 'media-widgets', 'media-audiovideo' ) );