@@ -40,7 +40,7 @@ define([
40
40
*/
41
41
initialize : function ( ) {
42
42
this . _super ( ) ;
43
- this . setNavigationListener ( ) ;
43
+ $ ( document ) . on ( 'keydown' , this . handleKeyDown . bind ( this ) ) ;
44
44
45
45
return this ;
46
46
} ,
@@ -67,8 +67,13 @@ define([
67
67
* @param {Object } record
68
68
*/
69
69
next : function ( record ) {
70
- var recordToShow = this . getRecord ( record . _rowIndex + 1 ) ;
70
+ var recordToShow ;
71
71
72
+ if ( record . _rowIndex + 1 === this . masonry ( ) . rows ( ) . length ) {
73
+ return ;
74
+ }
75
+
76
+ recordToShow = this . getRecord ( record . _rowIndex + 1 ) ;
72
77
recordToShow . rowNumber = record . lastInRow ? record . rowNumber + 1 : record . rowNumber ;
73
78
this . show ( recordToShow ) ;
74
79
} ,
@@ -79,6 +84,9 @@ define([
79
84
* @param {Object } record
80
85
*/
81
86
prev : function ( record ) {
87
+ if ( record . _rowIndex === 0 ) {
88
+ return ;
89
+ }
82
90
var recordToShow = this . getRecord ( record . _rowIndex - 1 ) ;
83
91
84
92
recordToShow . rowNumber = record . firstInRow ? record . rowNumber - 1 : record . rowNumber ;
@@ -190,33 +198,20 @@ define([
190
198
} ,
191
199
192
200
/**
193
- * Set image preview keyboard navigation listener
201
+ * Handle keyboard navigation for image preview
202
+ *
203
+ * @param {Object } e
194
204
*/
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 ( ) ) ;
210
213
}
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
+ }
221
216
} ) ;
222
217
} ) ;
0 commit comments