WordPress.org

Make WordPress Core

Ticket #24716: 24716.27.diff

File 24716.27.diff, 2.3 KB (added by ericlewis, 4 years ago)
  • src/wp-includes/js/media-grid.js

    diff --git a/src/wp-includes/js/media-grid.js b/src/wp-includes/js/media-grid.js
    index 0ebbc67..29d2921 100644
    a b  
    233233                 * Open the Edit Attachment modal.
    234234                 */
    235235                editAttachment: function( model ) {
    236                         var library = this.state().get('library'), hasPrevious, hasNext;
    237                         if ( library.indexOf( model ) > 0 ) {
    238                                 hasPrevious = true;
    239                         }
    240                         else {
    241                                 hasPrevious = false;
    242                         }
    243                         if ( library.indexOf( model ) < library.length - 1 ) {
    244                                 hasNext = true;
    245                         }
    246                         else {
    247                                 hasNext = false;
    248                         }
     236                        var library = this.state().get('library');
    249237
    250                         new media.view.Frame.EditAttachment({
    251                                 hasPrevious:    hasPrevious,
    252                                 hasNext:        hasNext,
    253                                 model:          model,
    254                                 gridController: this
     238                        // Create a new EditAttachment frame, passing along the library and the attachment model.
     239                        this.editAttachmentFrame = new media.view.Frame.EditAttachment({
     240                                library:        library,
     241                                model:          model
    255242                        });
     243
     244                        // Listen to events on the edit attachment frame for triggering pagination callback handlers.
     245                        this.listenTo( this.editAttachmentFrame, 'edit:attachment:next', this.editNextAttachment );
     246                        this.listenTo( this.editAttachmentFrame, 'edit:attachment:previous', this.editPreviousAttachment );
    256247                },
    257248
    258249                /**
     
    363354                                this.on( 'router:render', this.browseRouter, this );
    364355                        }
    365356
     357                        this.options.hasPrevious = ( this.options.library.indexOf( this.options.model ) > 0 ) ? true : false;
     358                        this.options.hasNext = ( this.options.library.indexOf( this.options.model ) < this.options.library.length - 1 ) ? true : false;
     359
    366360                        // Initialize modal container view.
    367361                        if ( this.options.modal ) {
    368362                                this.modal = new media.view.Modal({
     
    471465                        if ( ! this.options.hasPrevious )
    472466                                return;
    473467                        this.modal.close();
    474                         this.options.gridController.trigger( 'edit:attachment:previous', this.model );
     468                        this.trigger( 'edit:attachment:previous', this.model );
    475469                },
    476470
    477471                /**
     
    481475                        if ( ! this.options.hasNext )
    482476                                return;
    483477                        this.modal.close();
    484                         this.options.gridController.trigger( 'edit:attachment:next', this.model );
     478                        this.trigger( 'edit:attachment:next', this.model );
    485479                }
    486 
    487480        });
    488481
    489482        media.view.GridFieldOptions = media.View.extend({