From 52d751751a9ff86fbffeadec17feacadb0572834 Mon Sep 17 00:00:00 2001 From: Anthony Burchell Date: Wed, 27 Jan 2021 14:49:56 +0000 Subject: [PATCH] Media: Reintroduce caching for Media Library query. In [50021], caching was removed causing unintended classic block media flows to fail. Reverts [50021]. See #50025. git-svn-id: https://develop.svn.wordpress.org/trunk@50029 602fd350-edb4-49c9-b593-d223f7449a82 --- src/js/media/models/query.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/js/media/models/query.js b/src/js/media/models/query.js index 2c9fceee46..4a6810adf6 100644 --- a/src/js/media/models/query.js +++ b/src/js/media/models/query.js @@ -243,11 +243,13 @@ Query = Attachments.extend(/** @lends wp.media.model.Query.prototype */{ var args = {}, orderby = Query.orderby, defaults = Query.defaultProps, - query; + query, + cache = !! props.cache || _.isUndefined( props.cache ); // Remove the `query` property. This isn't linked to a query, // this *is* the query. delete props.query; + delete props.cache; // Fill default args. _.defaults( props, defaults ); @@ -286,7 +288,14 @@ Query = Attachments.extend(/** @lends wp.media.model.Query.prototype */{ // Substitute exceptions specified in orderby.keymap. args.orderby = orderby.valuemap[ props.orderby ] || props.orderby; - queries = []; + // Search the query cache for a matching query. + if ( cache ) { + query = _.find( queries, function( query ) { + return _.isEqual( query.args, args ); + }); + } else { + queries = []; + } // Otherwise, create a new query and add it to the cache. if ( ! query ) {