Skip to content

Commit 1298766

Browse files
committed
Refactored action click
1 parent 0e30366 commit 1298766

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
@@ -40,7 +40,7 @@ define([
4040
*/
4141
initialize: function () {
4242
this._super();
43-
this.setNavigationListener();
43+
$(document).on('keydown', this.handleKeyDown.bind(this));
4444

4545
return this;
4646
},
@@ -67,8 +67,13 @@ define([
6767
* @param {Object} record
6868
*/
6969
next: function (record) {
70-
var recordToShow = this.getRecord(record._rowIndex + 1);
70+
var recordToShow;
7171

72+
if (record._rowIndex + 1 === this.masonry().rows().length) {
73+
return;
74+
}
75+
76+
recordToShow = this.getRecord(record._rowIndex + 1);
7277
recordToShow.rowNumber = record.lastInRow ? record.rowNumber + 1 : record.rowNumber;
7378
this.show(recordToShow);
7479
},
@@ -79,6 +84,9 @@ define([
7984
* @param {Object} record
8085
*/
8186
prev: function (record) {
87+
if (record._rowIndex === 0) {
88+
return;
89+
}
8290
var recordToShow = this.getRecord(record._rowIndex - 1);
8391

8492
recordToShow.rowNumber = record.firstInRow ? record.rowNumber - 1 : record.rowNumber;
@@ -190,33 +198,20 @@ define([
190198
},
191199

192200
/**
193-
* Set image preview keyboard navigation listener
201+
* Handle keyboard navigation for image preview
202+
*
203+
* @param {Object} e
194204
*/
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');
205+
handleKeyDown: function (e) {
206+
var key = keyCodes[e.keyCode];
207+
208+
if (this.visibleRecord() !== null) {
209+
if (key === 'pageLeftKey') {
210+
this.prev(this.displayedRecord());
211+
} else if (key === 'pageRightKey') {
212+
this.next(this.displayedRecord());
210213
}
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-
},
214+
}
215+
}
221216
});
222217
});

0 commit comments

Comments
 (0)