Skip to content

Commit 36412d9

Browse files
drpayynesivaschenko
authored andcommitted
Refactored action click
1 parent f56d781 commit 36412d9

File tree

1 file changed

+23
-28
lines changed

1 file changed

+23
-28
lines changed

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

Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ define([
4646
*/
4747
initialize: function () {
4848
this._super();
49-
this.setNavigationListener();
49+
$(document).on('keydown', this.handleKeyDown.bind(this));
5050

5151
return this;
5252
},
@@ -73,8 +73,13 @@ define([
7373
* @param {Object} record
7474
*/
7575
next: function (record) {
76-
var recordToShow = this.getRecord(record._rowIndex + 1);
76+
var recordToShow;
7777

78+
if (record._rowIndex + 1 === this.masonry().rows().length) {
79+
return;
80+
}
81+
82+
recordToShow = this.getRecord(record._rowIndex + 1);
7883
recordToShow.rowNumber = record.lastInRow ? record.rowNumber + 1 : record.rowNumber;
7984
this.show(recordToShow);
8085
},
@@ -85,6 +90,9 @@ define([
8590
* @param {Object} record
8691
*/
8792
prev: function (record) {
93+
if (record._rowIndex === 0) {
94+
return;
95+
}
8896
var recordToShow = this.getRecord(record._rowIndex - 1);
8997

9098
recordToShow.rowNumber = record.firstInRow ? record.rowNumber - 1 : record.rowNumber;
@@ -222,33 +230,20 @@ define([
222230
},
223231

224232
/**
225-
* Set image preview keyboard navigation listener
233+
* Handle keyboard navigation for image preview
234+
*
235+
* @param {Object} e
226236
*/
227-
setNavigationListener: function () {
228-
var imageIndex, endIndex, key,
229-
startIndex = 0,
230-
imageColumnSelector = '.masonry-image-column',
231-
adobeModalSelector = '.adobe-stock-modal',
232-
imageGridSelector = '.masonry-image-grid';
233-
234-
$(document).on('keydown', function(e) {
235-
key = keyCodes[e.keyCode];
236-
endIndex = $(imageGridSelector)[0].children.length - 1;
237-
238-
if($(this.previewImageSelector).length > 0) {
239-
imageIndex = $(this.previewImageSelector)
240-
.parents(imageColumnSelector)
241-
.data('repeatIndex');
237+
handleKeyDown: function (e) {
238+
var key = keyCodes[e.keyCode];
239+
240+
if (this.visibleRecord() !== null) {
241+
if (key === 'pageLeftKey') {
242+
this.prev(this.displayedRecord());
243+
} else if (key === 'pageRightKey') {
244+
this.next(this.displayedRecord());
242245
}
243-
244-
if($(adobeModalSelector).hasClass('_show')) {
245-
if(key === 'pageLeftKey' && imageIndex !== startIndex) {
246-
$(this.previewImageSelector + ' .action-previous').click();
247-
} else if (key === 'pageRightKey' && imageIndex !== endIndex) {
248-
$(this.previewImageSelector + ' .action-next').click();
249-
}
250-
}
251-
});
252-
},
246+
}
247+
}
253248
});
254249
});

0 commit comments

Comments
 (0)