From 089fb2b613bea87d2094d6f29d005cb9aa263d11 Mon Sep 17 00:00:00 2001 From: yolouiese Date: Wed, 15 Jul 2020 03:39:02 +0800 Subject: [PATCH 1/3] magento/adobe-stock-integration#1589: Hitting Enter key on Edit Image page redirects the user to Magento Dashboard instead of Saving the image - prevented page to reload and image details are saved when hitting enter --- .../view/adminhtml/web/js/image/image-edit.js | 19 +++++++++++++++++++ .../web/template/image/image-edit.html | 5 +++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/MediaGalleryUi/view/adminhtml/web/js/image/image-edit.js b/MediaGalleryUi/view/adminhtml/web/js/image/image-edit.js index ab55b4983d11..87e0694bb5d4 100644 --- a/MediaGalleryUi/view/adminhtml/web/js/image/image-edit.js +++ b/MediaGalleryUi/view/adminhtml/web/js/image/image-edit.js @@ -100,6 +100,25 @@ define([ addMediaGridMessage: function (code, message) { this.mediaGridMessages().add(code, message); this.mediaGridMessages().scheduleCleanup(); + }, + + /** + * Handle Enter key event to save image details + * + * @param {Object} data + * @param {jQuery.Event} event + */ + handleEnterKey: function (data, event) { + var modalElement = $(this.modalSelector), + result = true; + + if (event.keyCode === 13) { + event.preventDefault(); + result = false; + modalElement.find('.page-action-buttons button.save').click(); + } + + return result; } }); }); diff --git a/MediaGalleryUi/view/adminhtml/web/template/image/image-edit.html b/MediaGalleryUi/view/adminhtml/web/template/image/image-edit.html index 083dd3c01fe5..fadcdddf1ef1 100644 --- a/MediaGalleryUi/view/adminhtml/web/template/image/image-edit.html +++ b/MediaGalleryUi/view/adminhtml/web/template/image/image-edit.html @@ -14,7 +14,8 @@
@@ -36,7 +37,7 @@ name="description" class="admin__control-textarea minimum-length-0 maximum-length-500" rows="7" cols="80" - data-bind="value: image().description" + data-bind="value: image().description, event: {keypress: handleEnterKey}" data-validate="{'validate-alphanum-with-spaces':true, 'validate-length':true}"> From 5fa5876d5e1756bc30975e193e4bae7b4ef3877c Mon Sep 17 00:00:00 2001 From: yolouiese Date: Thu, 16 Jul 2020 03:34:07 +0800 Subject: [PATCH 2/3] magento/adobe-stock-integration#1589: Hitting Enter key on Edit Image page redirects the user to Magento Dashboard instead of Saving the image - added key codes library and revised key code condition --- .../view/adminhtml/web/js/image/image-edit.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/MediaGalleryUi/view/adminhtml/web/js/image/image-edit.js b/MediaGalleryUi/view/adminhtml/web/js/image/image-edit.js index 87e0694bb5d4..da7102cb5961 100644 --- a/MediaGalleryUi/view/adminhtml/web/js/image/image-edit.js +++ b/MediaGalleryUi/view/adminhtml/web/js/image/image-edit.js @@ -7,8 +7,9 @@ define([ 'jquery', 'underscore', 'uiComponent', + 'Magento_Ui/js/lib/key-codes', 'Magento_MediaGalleryUi/js/action/getDetails' -], function ($, _, Component, getDetails) { +], function ($, _, Component, keyCodes, getDetails) { 'use strict'; return Component.extend({ @@ -107,18 +108,18 @@ define([ * * @param {Object} data * @param {jQuery.Event} event + * @returns {boolean} */ handleEnterKey: function (data, event) { var modalElement = $(this.modalSelector), - result = true; + key = keyCodes[event.keyCode]; - if (event.keyCode === 13) { + if (key === 'enterKey') { event.preventDefault(); - result = false; modalElement.find('.page-action-buttons button.save').click(); } - return result; + return true; } }); }); From 88a31c904768e0acf1ac85d7888b1fc339c6658d Mon Sep 17 00:00:00 2001 From: yolouiese Date: Thu, 16 Jul 2020 17:14:29 +0800 Subject: [PATCH 3/3] magento/adobe-stock-integration#1589: Hitting Enter key on Edit Image page redirects the user to Magento Dashboard instead of Saving the image - fixed the error in static test invalid case of type of booelean --- MediaGalleryUi/view/adminhtml/web/js/image/image-edit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MediaGalleryUi/view/adminhtml/web/js/image/image-edit.js b/MediaGalleryUi/view/adminhtml/web/js/image/image-edit.js index da7102cb5961..5c5b77ef8cf7 100644 --- a/MediaGalleryUi/view/adminhtml/web/js/image/image-edit.js +++ b/MediaGalleryUi/view/adminhtml/web/js/image/image-edit.js @@ -108,7 +108,7 @@ define([ * * @param {Object} data * @param {jQuery.Event} event - * @returns {boolean} + * @returns {Boolean} */ handleEnterKey: function (data, event) { var modalElement = $(this.modalSelector),