From 6d858cc6e2d60b7d7f0dd6fa836a130757396584 Mon Sep 17 00:00:00 2001 From: Scott Taylor Date: Sat, 3 Jan 2015 21:31:23 +0000 Subject: [PATCH] In Media Grid, don't immediately load full size images if the requested size passed to `wp.media.view.Attachment.imageSize()` does not exist, look for other suitable sizes. Fixes #30861. git-svn-id: https://develop.svn.wordpress.org/trunk@31039 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/js/media-views.js | 32 +++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/src/wp-includes/js/media-views.js b/src/wp-includes/js/media-views.js index ffe65f5c79..43c5864478 100644 --- a/src/wp-includes/js/media-views.js +++ b/src/wp-includes/js/media-views.js @@ -5430,21 +5430,33 @@ * @returns {Object} */ imageSize: function( size ) { - var sizes = this.model.get('sizes'); + var sizes = this.model.get('sizes'), matched = false; size = size || 'medium'; // Use the provided image size if possible. - if ( sizes && sizes[ size ] ) { - return _.clone( sizes[ size ] ); - } else { - return { - url: this.model.get('url'), - width: this.model.get('width'), - height: this.model.get('height'), - orientation: this.model.get('orientation') - }; + if ( sizes ) { + if ( sizes[ size ] ) { + matched = sizes[ size ]; + } else if ( sizes.large ) { + matched = sizes.large; + } else if ( sizes.thumbnail ) { + matched = sizes.thumbnail; + } else if ( sizes.full ) { + matched = sizes.full; + } + + if ( matched ) { + return _.clone( matched ); + } } + + return { + url: this.model.get('url'), + width: this.model.get('width'), + height: this.model.get('height'), + orientation: this.model.get('orientation') + }; }, /** * @param {Object} event