diff --git a/src/wp-includes/js/media-audiovideo.js b/src/wp-includes/js/media-audiovideo.js index c78406f41b..0249851099 100644 --- a/src/wp-includes/js/media-audiovideo.js +++ b/src/wp-includes/js/media-audiovideo.js @@ -1408,8 +1408,9 @@ function init() { $(document.body) .on( 'click', '.wp-switch-editor', wp.media.mixin.pauseAllPlayers ) - .on( 'click', '.add-media-source', function() { - media.frame.setState('add-' + media.frame.defaults.id + '-source'); + .on( 'click', '.add-media-source', function( e ) { + media.frame.lastMime = $( e.currentTarget ).data( 'mime' ); + media.frame.setState( 'add-' + media.frame.defaults.id + '-source' ); } ); } diff --git a/src/wp-includes/js/media-views.js b/src/wp-includes/js/media-views.js index aff81b7e4c..be0ee8fd3f 100644 --- a/src/wp-includes/js/media-views.js +++ b/src/wp-includes/js/media-views.js @@ -1140,9 +1140,18 @@ initialize: function( options ) { this.media = options.media; - this.set( 'library', media.query({ type: options.type }) ); + this.type = options.type; + this.set( 'library', media.query({ type: this.type }) ); media.controller.Library.prototype.initialize.apply( this, arguments ); + }, + + activate: function() { + if ( media.frame.lastMime ) { + this.set( 'library', media.query({ type: media.frame.lastMime }) ); + delete media.frame.lastMime; + } + media.controller.Library.prototype.activate.apply( this, arguments ); } }); diff --git a/src/wp-includes/media-template.php b/src/wp-includes/media-template.php index cadc3e9241..01d44ba2f2 100644 --- a/src/wp-includes/media-template.php +++ b/src/wp-includes/media-template.php @@ -771,7 +771,10 @@ function wp_print_media_templates() {