From b44cf676b1e117e6239f8b2fd73bc3e3e94e04d0 Mon Sep 17 00:00:00 2001 From: Scott Taylor Date: Thu, 5 Mar 2015 21:02:42 +0000 Subject: [PATCH] In the modal state for Embed previews, only show the Title field when the preview fails. Props johnbillion, wonderboymusic. See #29476. git-svn-id: https://develop.svn.wordpress.org/trunk@31632 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/js/media/views.js | 13 +++++++++++-- src/wp-includes/js/media/views/embed/link.js | 13 +++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/wp-includes/js/media/views.js b/src/wp-includes/js/media/views.js index 450811b851..cad0b871c9 100644 --- a/src/wp-includes/js/media/views.js +++ b/src/wp-includes/js/media/views.js @@ -4635,7 +4635,13 @@ EmbedLink = Settings.extend({ post_ID: wp.media.view.settings.post.id, shortcode: embed.string() } - } ).done( _.bind( this.renderoEmbed, this ) ); + } ) + .done( _.bind( this.renderoEmbed, this ) ) + .fail( _.bind( this.renderFail, this ) ); + }, + + renderFail: function () { + this.$( '.setting' ).hide().filter( '.title' ).show(); }, renderoEmbed: function( response ) { @@ -4643,6 +4649,9 @@ EmbedLink = Settings.extend({ attr = {}, opts = { silent: true }; + this.$( '.setting' ).hide() + .filter( '.title' )[ html ? 'hide' : 'show' ](); + if ( response && response.attr ) { attr = response.attr; @@ -4664,7 +4673,7 @@ EmbedLink = Settings.extend({ } this.spinner.hide(); - + this.$('.embed-container').show().find('.embed-preview').html( html ); } }); diff --git a/src/wp-includes/js/media/views/embed/link.js b/src/wp-includes/js/media/views/embed/link.js index 8c617d609a..f29108da46 100644 --- a/src/wp-includes/js/media/views/embed/link.js +++ b/src/wp-includes/js/media/views/embed/link.js @@ -58,7 +58,13 @@ EmbedLink = Settings.extend({ post_ID: wp.media.view.settings.post.id, shortcode: embed.string() } - } ).done( _.bind( this.renderoEmbed, this ) ); + } ) + .done( _.bind( this.renderoEmbed, this ) ) + .fail( _.bind( this.renderFail, this ) ); + }, + + renderFail: function () { + this.$( '.setting' ).hide().filter( '.title' ).show(); }, renderoEmbed: function( response ) { @@ -66,6 +72,9 @@ EmbedLink = Settings.extend({ attr = {}, opts = { silent: true }; + this.$( '.setting' ).hide() + .filter( '.title' )[ html ? 'hide' : 'show' ](); + if ( response && response.attr ) { attr = response.attr; @@ -87,7 +96,7 @@ EmbedLink = Settings.extend({ } this.spinner.hide(); - + this.$('.embed-container').show().find('.embed-preview').html( html ); } });