From f22905662aeda6a0f2c073d650326dd6c2a6fd93 Mon Sep 17 00:00:00 2001 From: Nazarn96 Date: Mon, 11 Nov 2019 12:36:10 +0200 Subject: [PATCH 1/6] Fix issue with WYSIWYG editors magento/adobe-stock-integration/issues/622 --- lib/web/mage/adminhtml/browser.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/web/mage/adminhtml/browser.js b/lib/web/mage/adminhtml/browser.js index 137ad5541a87f..894a33d4ab3bc 100644 --- a/lib/web/mage/adminhtml/browser.js +++ b/lib/web/mage/adminhtml/browser.js @@ -51,13 +51,12 @@ define([ var windowId = this.windowId, content = '', self = this; - - if (this.modalLoaded === true && - options && - self.targetElementId && - self.targetElementId === options.targetElementId - ) { - if (typeof options.closed !== 'undefined') { + + if (this.modalLoaded === true + || (self.targetElementId + && self.targetElementId === options.targetElementId)) { + + if (options && typeof options.closed !== 'undefined') { this.modal.modal('option', 'closed', options.closed); } this.modal.modal('openModal'); @@ -89,9 +88,9 @@ define([ }).done(function (data) { self.modal.html(data).trigger('contentUpdated'); self.modalLoaded = true; - self.targetElementId = options.targetElementId; + options ? self.targetElementId = options.targetElementId : ''; }); - }, + }, /** * Close dialog. From a07627c9b0c8dcb600cc1109a65c5a08ab375a71 Mon Sep 17 00:00:00 2001 From: Nazarn96 Date: Mon, 11 Nov 2019 15:34:06 +0200 Subject: [PATCH 2/6] WYSIWYG Image-Popup is not working correctly with multipleEditors --- lib/web/mage/adminhtml/browser.js | 24 ++++++++++++------- .../wysiwyg/tiny_mce/tinymce4Adapter.js | 2 +- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/lib/web/mage/adminhtml/browser.js b/lib/web/mage/adminhtml/browser.js index 894a33d4ab3bc..898910e477ad0 100644 --- a/lib/web/mage/adminhtml/browser.js +++ b/lib/web/mage/adminhtml/browser.js @@ -51,22 +51,26 @@ define([ var windowId = this.windowId, content = '', self = this; - - if (this.modalLoaded === true - || (self.targetElementId - && self.targetElementId === options.targetElementId)) { - - if (options && typeof options.closed !== 'undefined') { + + if (options + && self.targetElementId + && self.targetElementId === options.targetElementId + ) { + if (typeof options.closed !== 'undefined') { this.modal.modal('option', 'closed', options.closed); } this.modal.modal('openModal'); return; + } else if (typeof options === 'undefined' + && self.modalLoaded === true) { + this.modal.modal('openModal'); + return; } if (this.modal) { this.modal.html($(content).html()); - + if (options && typeof options.closed !== 'undefined') { this.modal.modal('option', 'closed', options.closed); } @@ -88,9 +92,11 @@ define([ }).done(function (data) { self.modal.html(data).trigger('contentUpdated'); self.modalLoaded = true; - options ? self.targetElementId = options.targetElementId : ''; + self.targetElementId = options + ? options.targetElementId + : 'null'; }); - }, + }, /** * Close dialog. diff --git a/lib/web/mage/adminhtml/wysiwyg/tiny_mce/tinymce4Adapter.js b/lib/web/mage/adminhtml/wysiwyg/tiny_mce/tinymce4Adapter.js index 4dafc845309cb..df691601eccb9 100644 --- a/lib/web/mage/adminhtml/wysiwyg/tiny_mce/tinymce4Adapter.js +++ b/lib/web/mage/adminhtml/wysiwyg/tiny_mce/tinymce4Adapter.js @@ -375,7 +375,7 @@ define([ */ openFileBrowser: function (o) { var typeTitle = this.translate('Select Images'), - storeId = this.config['store_id'] !== null ? this.config['store_id'] : 0, + storeId = this.config['store_id'] ? this.config['store_id'] : 0, frameDialog = jQuery('div.mce-container[role="dialog"]'), self = this, wUrl = this.config['files_browser_window_url'] + From 8e39f49b48692f2e820066815244e8532c247fde Mon Sep 17 00:00:00 2001 From: Nazar Klovanych Date: Tue, 12 Nov 2019 20:27:25 +0200 Subject: [PATCH 3/6] Refactor to use _.isUndefined --- lib/web/mage/adminhtml/browser.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/web/mage/adminhtml/browser.js b/lib/web/mage/adminhtml/browser.js index 898910e477ad0..4cbb8fb025b78 100644 --- a/lib/web/mage/adminhtml/browser.js +++ b/lib/web/mage/adminhtml/browser.js @@ -62,8 +62,7 @@ define([ this.modal.modal('openModal'); return; - } else if (typeof options === 'undefined' - && self.modalLoaded === true) { + } else if (_.isUndefined(options) && self.modalLoaded === true) { this.modal.modal('openModal'); return; } From 3be5ac8e2e83415b8cafc340486b298038ed0421 Mon Sep 17 00:00:00 2001 From: Nazarn96 Date: Wed, 13 Nov 2019 13:56:04 +0200 Subject: [PATCH 4/6] Fic static test, resolve issue by 2 insert image widget --- lib/web/mage/adminhtml/browser.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/web/mage/adminhtml/browser.js b/lib/web/mage/adminhtml/browser.js index 4cbb8fb025b78..38a06d97634c8 100644 --- a/lib/web/mage/adminhtml/browser.js +++ b/lib/web/mage/adminhtml/browser.js @@ -11,11 +11,12 @@ define([ 'Magento_Ui/js/modal/prompt', 'Magento_Ui/js/modal/confirm', 'Magento_Ui/js/modal/alert', + 'underscore', 'Magento_Ui/js/modal/modal', 'jquery/ui', 'jquery/jstree/jquery.jstree', - 'mage/mage' -], function ($, wysiwyg, prompt, confirm, alert) { + 'mage/mage', +], function ($, wysiwyg, prompt, confirm, alert, _) { window.MediabrowserUtility = { windowId: 'modal_dialog_message', modalLoaded: false, @@ -63,13 +64,15 @@ define([ return; } else if (_.isUndefined(options) && self.modalLoaded === true) { - this.modal.modal('openModal'); - return; + if (self.targetElementId === url) { + this.modal.modal('openModal'); + return; + } } if (this.modal) { this.modal.html($(content).html()); - + if (options && typeof options.closed !== 'undefined') { this.modal.modal('option', 'closed', options.closed); } @@ -93,7 +96,7 @@ define([ self.modalLoaded = true; self.targetElementId = options ? options.targetElementId - : 'null'; + : url; }); }, From 76a866ec70987dfb0e1c778db472a06c6d738781 Mon Sep 17 00:00:00 2001 From: Nazarn96 Date: Wed, 13 Nov 2019 16:05:50 +0200 Subject: [PATCH 5/6] Fix static test --- lib/web/mage/adminhtml/browser.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/web/mage/adminhtml/browser.js b/lib/web/mage/adminhtml/browser.js index 38a06d97634c8..09ba2573d0725 100644 --- a/lib/web/mage/adminhtml/browser.js +++ b/lib/web/mage/adminhtml/browser.js @@ -494,7 +494,7 @@ define([ var nodeData = $(element).data('node'); if (index > 0) { - breadcrumbs.append($('
  • \/
  • ')); + breadcrumbs.append($('
  • \/
  • ')); //eslint-disable-line } breadcrumbs.append($('
  • ') .data('node', nodeData).attr('data-row', 'breadcrumb').text(nodeData.text)); From 26dca1007e2458e29419ae5ecf7b77e0c1560658 Mon Sep 17 00:00:00 2001 From: Nazar Klovanych Date: Wed, 13 Nov 2019 21:58:49 +0200 Subject: [PATCH 6/6] Refactor per review comment --- lib/web/mage/adminhtml/browser.js | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/lib/web/mage/adminhtml/browser.js b/lib/web/mage/adminhtml/browser.js index 09ba2573d0725..7780ac524fa49 100644 --- a/lib/web/mage/adminhtml/browser.js +++ b/lib/web/mage/adminhtml/browser.js @@ -15,7 +15,7 @@ define([ 'Magento_Ui/js/modal/modal', 'jquery/ui', 'jquery/jstree/jquery.jstree', - 'mage/mage', + 'mage/mage' ], function ($, wysiwyg, prompt, confirm, alert, _) { window.MediabrowserUtility = { windowId: 'modal_dialog_message', @@ -53,21 +53,22 @@ define([ content = '', self = this; - if (options - && self.targetElementId - && self.targetElementId === options.targetElementId - ) { + if (options && + self.targetElementId && + self.targetElementId === options.targetElementId) { if (typeof options.closed !== 'undefined') { this.modal.modal('option', 'closed', options.closed); } this.modal.modal('openModal'); return; - } else if (_.isUndefined(options) && self.modalLoaded === true) { - if (self.targetElementId === url) { - this.modal.modal('openModal'); - return; - } + } else if (_.isUndefined(options) && + self.modalLoaded === true && + self.targetElementId === url + ) { + this.modal.modal('openModal'); + + return; } if (this.modal) { @@ -94,10 +95,11 @@ define([ }).done(function (data) { self.modal.html(data).trigger('contentUpdated'); self.modalLoaded = true; - self.targetElementId = options - ? options.targetElementId - : url; + self.targetElementId = options ? + options.targetElementId + : url; }); + }, /**