@@ -46,7 +46,7 @@ define([
46
46
*/
47
47
initialize : function ( ) {
48
48
this . _super ( ) ;
49
- this . setNavigationListener ( ) ;
49
+ $ ( document ) . on ( 'keydown' , this . handleKeyDown . bind ( this ) ) ;
50
50
51
51
return this ;
52
52
} ,
@@ -73,8 +73,13 @@ define([
73
73
* @param {Object } record
74
74
*/
75
75
next : function ( record ) {
76
- var recordToShow = this . getRecord ( record . _rowIndex + 1 ) ;
76
+ var recordToShow ;
77
77
78
+ if ( record . _rowIndex + 1 === this . masonry ( ) . rows ( ) . length ) {
79
+ return ;
80
+ }
81
+
82
+ recordToShow = this . getRecord ( record . _rowIndex + 1 ) ;
78
83
recordToShow . rowNumber = record . lastInRow ? record . rowNumber + 1 : record . rowNumber ;
79
84
this . show ( recordToShow ) ;
80
85
} ,
@@ -85,6 +90,9 @@ define([
85
90
* @param {Object } record
86
91
*/
87
92
prev : function ( record ) {
93
+ if ( record . _rowIndex === 0 ) {
94
+ return ;
95
+ }
88
96
var recordToShow = this . getRecord ( record . _rowIndex - 1 ) ;
89
97
90
98
recordToShow . rowNumber = record . firstInRow ? record . rowNumber - 1 : record . rowNumber ;
@@ -222,33 +230,20 @@ define([
222
230
} ,
223
231
224
232
/**
225
- * Set image preview keyboard navigation listener
233
+ * Handle keyboard navigation for image preview
234
+ *
235
+ * @param {Object } e
226
236
*/
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 ( ) ) ;
242
245
}
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
+ }
253
248
} ) ;
254
249
} ) ;
0 commit comments