From 485c7e562315f3c68182a506f8820efd00f24888 Mon Sep 17 00:00:00 2001 From: Andreas Fernandez <a.fernandez@scripting-base.de> Date: Thu, 15 Oct 2015 00:10:52 +0200 Subject: [PATCH] [BUGFIX] Create proper array of cached icons MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change the handling of fetching cached icons to create a proper array containing only one object instead of having an object per icon. Resolves: #70730 Related: #70583 Releases: master Change-Id: I863504bf4178367551849fbc5e82541a252318f7 Reviewed-on: http://review.typo3.org/44069 Reviewed-by: Frank Nägler <frank.naegler@typo3.org> Reviewed-by: Markus Klein <markus.klein@typo3.org> Tested-by: Markus Klein <markus.klein@typo3.org> Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de> Reviewed-by: Morton Jonuschat <m.jonuschat@mojocode.de> Tested-by: Morton Jonuschat <m.jonuschat@mojocode.de> --- .../sysext/backend/Resources/Public/JavaScript/Icons.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/Icons.js b/typo3/sysext/backend/Resources/Public/JavaScript/Icons.js index aae5f6d8ee4b..8490d973fd9b 100644 --- a/typo3/sysext/backend/Resources/Public/JavaScript/Icons.js +++ b/typo3/sysext/backend/Resources/Public/JavaScript/Icons.js @@ -67,7 +67,8 @@ define(['jquery'], function($) { */ Icons.fetch = function(icons) { var promises = [], - requestedIcons = {}; + requestedIcons = {}, + cachedRequestedIcons = {}; for (var i = 0; i < icons.length; ++i) { /** @@ -84,7 +85,7 @@ define(['jquery'], function($) { var cacheIdentifier = icon.join('_'); if (Icons.isCached(cacheIdentifier)) { - promises.push(Icons.getFromCache(cacheIdentifier)); + $.extend(cachedRequestedIcons, Icons.getFromCache(cacheIdentifier)); } else { requestedIcons[icon[0]] = { cacheIdentifier: cacheIdentifier, @@ -93,6 +94,10 @@ define(['jquery'], function($) { } } + if (Object.keys(cachedRequestedIcons).length > 0) { + promises.push(cachedRequestedIcons); + } + if (Object.keys(requestedIcons).length > 0) { promises.push( $.ajax({ -- GitLab