From 8a29b28a98f170794f3e50de4856de554e5401a0 Mon Sep 17 00:00:00 2001 From: Weston Ruter Date: Mon, 15 May 2017 18:42:44 +0000 Subject: [PATCH] Widgets: Prevent image `title` attribute from being populated from attachment `title` by default upon selection. Props westonruter, timmydcrawford. See #39993. Built from https://develop.svn.wordpress.org/trunk@40670 git-svn-id: http://core.svn.wordpress.org/trunk@40533 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/js/widgets/media-image-widget.js | 16 ++++++++++++++++ wp-admin/js/widgets/media-image-widget.min.js | 2 +- wp-includes/version.php | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/wp-admin/js/widgets/media-image-widget.js b/wp-admin/js/widgets/media-image-widget.js index c49afc3c9d..0cda681197 100644 --- a/wp-admin/js/widgets/media-image-widget.js +++ b/wp-admin/js/widgets/media-image-widget.js @@ -108,6 +108,22 @@ ); }, + /** + * Get the instance props from the media selection frame. + * + * Prevent the image_title attribute from being initially set when adding an image from the media library. + * + * @param {wp.media.view.MediaFrame.Select} mediaFrame - Select frame. + * @returns {Object} Props. + */ + getModelPropsFromMediaFrame: function getModelPropsFromMediaFrame( mediaFrame ) { + var control = this; + return _.omit( + component.MediaWidgetControl.prototype.getModelPropsFromMediaFrame.call( control, mediaFrame ), + 'image_title' + ); + }, + /** * Map model props to preview template props. * diff --git a/wp-admin/js/widgets/media-image-widget.min.js b/wp-admin/js/widgets/media-image-widget.min.js index 5f461bdae1..5c4de7a8a1 100644 --- a/wp-admin/js/widgets/media-image-widget.min.js +++ b/wp-admin/js/widgets/media-image-widget.min.js @@ -1 +1 @@ -!function(a,b){"use strict";var c,d;c=a.MediaWidgetModel.extend({}),d=a.MediaWidgetControl.extend({renderPreview:function(){var a,b,c=this;(c.model.get("attachment_id")||c.model.get("url"))&&(a=c.$el.find(".media-widget-preview"),b=wp.template("wp-media-widget-image-preview"),a.html(b(_.extend(c.previewTemplateProps.toJSON()))))},editMedia:function(){var a,c,d,e,f=this;e=f.mapModelToMediaFrameProps(f.model.toJSON()),"none"===e.link&&(e.linkUrl=""),a=wp.media({frame:"image",state:"image-details",metadata:e}),a.$el.addClass("media-widget"),c=function(){var b;b=a.state().attributes.image.toJSON(),f.selectedAttachment.set(b),f.model.set(_.extend(f.mapMediaToModelProps(b),{error:!1}))},a.state("image-details").on("update",c),a.state("replace-image").on("replace",c),d=wp.media.model.Attachment.prototype.sync,wp.media.model.Attachment.prototype.sync=function(){return b.Deferred().rejectWith(this).promise()},a.on("close",function(){a.detach(),wp.media.model.Attachment.prototype.sync=d}),a.open()},getEmbedResetProps:function(){return _.extend(a.MediaWidgetControl.prototype.getEmbedResetProps.call(this),{size:"full",width:0,height:0})},mapModelToPreviewTemplateProps:function(){var b,c,d=this;return c=d.model.get("url"),b=a.MediaWidgetControl.prototype.mapModelToPreviewTemplateProps.call(d),b.currentFilename=c?c.replace(/\?.*$/,"").replace(/^.+\//,""):"",b}}),a.controlConstructors.media_image=d,a.modelConstructors.media_image=c}(wp.mediaWidgets,jQuery); \ No newline at end of file +!function(a,b){"use strict";var c,d;c=a.MediaWidgetModel.extend({}),d=a.MediaWidgetControl.extend({renderPreview:function(){var a,b,c=this;(c.model.get("attachment_id")||c.model.get("url"))&&(a=c.$el.find(".media-widget-preview"),b=wp.template("wp-media-widget-image-preview"),a.html(b(_.extend(c.previewTemplateProps.toJSON()))))},editMedia:function(){var a,c,d,e,f=this;e=f.mapModelToMediaFrameProps(f.model.toJSON()),"none"===e.link&&(e.linkUrl=""),a=wp.media({frame:"image",state:"image-details",metadata:e}),a.$el.addClass("media-widget"),c=function(){var b;b=a.state().attributes.image.toJSON(),f.selectedAttachment.set(b),f.model.set(_.extend(f.mapMediaToModelProps(b),{error:!1}))},a.state("image-details").on("update",c),a.state("replace-image").on("replace",c),d=wp.media.model.Attachment.prototype.sync,wp.media.model.Attachment.prototype.sync=function(){return b.Deferred().rejectWith(this).promise()},a.on("close",function(){a.detach(),wp.media.model.Attachment.prototype.sync=d}),a.open()},getEmbedResetProps:function(){return _.extend(a.MediaWidgetControl.prototype.getEmbedResetProps.call(this),{size:"full",width:0,height:0})},getModelPropsFromMediaFrame:function(b){var c=this;return _.omit(a.MediaWidgetControl.prototype.getModelPropsFromMediaFrame.call(c,b),"image_title")},mapModelToPreviewTemplateProps:function(){var b,c,d=this;return c=d.model.get("url"),b=a.MediaWidgetControl.prototype.mapModelToPreviewTemplateProps.call(d),b.currentFilename=c?c.replace(/\?.*$/,"").replace(/^.+\//,""):"",b}}),a.controlConstructors.media_image=d,a.modelConstructors.media_image=c}(wp.mediaWidgets,jQuery); \ No newline at end of file diff --git a/wp-includes/version.php b/wp-includes/version.php index 49aa3a86f4..d84e775e04 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -4,7 +4,7 @@ * * @global string $wp_version */ -$wp_version = '4.8-beta1-40669'; +$wp_version = '4.8-beta1-40670'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.