Skip to content

Commit 0e30366

Browse files
committed
Resolved Adobe issue 691
1 parent 3efbe15 commit 0e30366

File tree

1 file changed

+46
-3
lines changed

1 file changed

+46
-3
lines changed

app/code/Magento/Ui/view/base/web/js/grid/columns/image-preview.js

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
*/
55
define([
66
'jquery',
7-
'Magento_Ui/js/grid/columns/column'
8-
], function ($, Column) {
7+
'Magento_Ui/js/grid/columns/column',
8+
'Magento_Ui/js/lib/key-codes'
9+
], function ($, Column, keyCodes) {
910
'use strict';
1011

1112
return Column.extend({
@@ -32,6 +33,18 @@ define([
3233
}
3334
},
3435

36+
/**
37+
* Initialize image preview component
38+
*
39+
* @returns {Object}
40+
*/
41+
initialize: function () {
42+
this._super();
43+
this.setNavigationListener();
44+
45+
return this;
46+
},
47+
3548
/**
3649
* Init observable variables
3750
* @return {Object}
@@ -174,6 +187,36 @@ define([
174187
block: 'center',
175188
inline: 'nearest'
176189
});
177-
}
190+
},
191+
192+
/**
193+
* Set image preview keyboard navigation listener
194+
*/
195+
setNavigationListener: function () {
196+
var imageIndex, endIndex, key,
197+
startIndex = 0,
198+
imageColumnSelector = '.masonry-image-column',
199+
adobeModalSelector = '.adobe-stock-modal',
200+
imageGridSelector = '.masonry-image-grid';
201+
202+
$(document).on('keydown', function(e) {
203+
key = keyCodes[e.keyCode];
204+
endIndex = $(imageGridSelector)[0].children.length - 1;
205+
206+
if($(this.previewImageSelector).length > 0) {
207+
imageIndex = $(this.previewImageSelector)
208+
.parents(imageColumnSelector)
209+
.data('repeatIndex');
210+
}
211+
212+
if($(adobeModalSelector).hasClass('_show')) {
213+
if(key === 'pageLeftKey' && imageIndex !== startIndex) {
214+
$(this.previewImageSelector + ' .action-previous').click();
215+
} else if (key === 'pageRightKey' && imageIndex !== endIndex) {
216+
$(this.previewImageSelector + ' .action-next').click();
217+
}
218+
}
219+
});
220+
},
178221
});
179222
});

0 commit comments

Comments
 (0)