Skip to content

Commit 68e6868

Browse files
committed
ACP2E-2957: move logic from cookie to local storage to avoid cookie size too large error
1 parent 135a71b commit 68e6868

File tree

2 files changed

+11
-22
lines changed

2 files changed

+11
-22
lines changed

app/code/Magento/Ui/view/base/web/js/form/element/image-uploader.js

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ define([
1212
'Magento_Ui/js/lib/validation/validator',
1313
'Magento_Ui/js/form/element/file-uploader',
1414
'mage/adminhtml/browser',
15-
'mage/cookies'
15+
'jquery/jquery-storageapi'
1616
], function ($, _, utils, uiAlert, validator, Element, browser) {
1717
'use strict';
1818

@@ -56,19 +56,10 @@ define([
5656
fileMimeType = $buttonEl.data('mime-type'),
5757
filePathname = $buttonEl.val(),
5858
fileBasename = filePathname.split('/').pop(),
59-
deletedFilesCookie = $.mage.cookies.get('deleted_images');
60-
61-
if (deletedFilesCookie && deletedFilesCookie.indexOf(filePathname) !== -1) {
62-
let deletedFiles = JSON.parse(deletedFilesCookie);
63-
64-
deletedFiles.forEach(function (deletedFile, index) {
65-
if (deletedFile.indexOf(filePathname) !== -1) {
66-
deletedFiles.splice(index, 1);
67-
}
68-
}, deletedFiles);
69-
70-
$.mage.cookies.set('deleted_images', JSON.stringify(deletedFiles));
59+
deletedFiles = $.localStorage.get('deleted_images');
7160

61+
if (deletedFiles.includes(filePathname)) {
62+
$.localStorage.set('deleted_images', deletedFiles.splice(deletedFiles.indexOf(filePathname), 1));
7263
filePathname += '?rand=' + Date.now();
7364
}
7465

lib/web/mage/adminhtml/browser.js

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ define([
1616
'jquery/ui',
1717
'jquery/jstree/jquery.jstree',
1818
'mage/mage',
19-
'mage/cookies'
19+
'jquery/jquery-storageapi'
2020
], function ($, wysiwyg, prompt, confirm, alert, _) {
2121
window.MediabrowserUtility = {
2222
windowId: 'modal_dialog_message',
@@ -470,7 +470,9 @@ define([
470470
return $(this).attr('id');
471471
}).toArray(),
472472
imageLinks = selectedFiles.find('img').map(function () {
473-
return $(this).attr('src').replace('.thumbs', '');
473+
let imageUrl = new URL($(this).attr('src').replace('.thumbs', ''));
474+
475+
return imageUrl.pathname;
474476
}).toArray();
475477

476478
return $.ajax({
@@ -483,10 +485,6 @@ define([
483485
context: self.element,
484486
showLoader: true
485487
}).done($.proxy(function (data) {
486-
let options = {
487-
secure: window.cookiesConfig ? window.cookiesConfig.secure : false
488-
};
489-
490488
if (data.error) {
491489
alert({
492490
content: data.message
@@ -497,10 +495,10 @@ define([
497495
self.options.hidden, true
498496
);
499497

500-
if ($.mage.cookies.get('deleted_images')) {
501-
imageLinks = imageLinks.concat(JSON.parse($.mage.cookies.get('deleted_images')));
498+
if ($.localStorage.get('deleted_images')) {
499+
imageLinks = imageLinks.concat($.localStorage.get('deleted_images'));
502500
}
503-
$.mage.cookies.set('deleted_images', JSON.stringify(imageLinks), options);
501+
$.localStorage.set('deleted_images', [...new Set(imageLinks)]);
504502

505503
$(window).trigger('fileDeleted.mediabrowser', {
506504
ids: ids

0 commit comments

Comments
 (0)