WordPress.org

Make WordPress Core

Ticket #22323: 22323.diff

File 22323.diff, 2.7 KB (added by rzen, 6 years ago)
  • wp-includes/js/media-views.js

     
    191191
    192192                        this.get('selection').on( 'selection:single', this.buildDetails, this );
    193193                        this.get('selection').on( 'selection:unsingle', this.clearDetails, this );
     194                        this.get('library').on( 'add remove reset', this.refresh, this );
     195                        this.refresh();
    194196                },
    195197
    196198                deactivate: function() {
     
    202204                        wp.Uploader.queue.off( 'add', this.selectUpload, this );
    203205                        this.get('selection').off( 'selection:single', this.buildDetails, this );
    204206                        this.get('selection').off( 'selection:unsingle', this.clearDetails, this );
     207                        this.get('library').off( 'add remove reset', this.refresh, this );
    205208                },
    206209
    207210                toolbar: function() {
     
    230233                },
    231234
    232235                content: function() {
    233                         var frame = this.frame;
     236                        var frame = this.frame,
     237                                library = this.get('library'),
     238                                view;
    234239
    235240                        // Content.
    236                         frame.content( new media.view.AttachmentsBrowser({
    237                                 controller: frame,
    238                                 collection: this.get('library'),
    239                                 model:      this
    240                         }).render() );
     241                        if ( library.length ) {
     242                                view = new media.view.AttachmentsBrowser({
     243                                        controller: frame,
     244                                        collection: library,
     245                                        model:      this
     246                                });
     247                        } else {
     248                                library.more();
     249                                view = new media.view.UploaderInline({
     250                                        controller: frame
     251                                });
     252                        }
     253
     254                        frame.content( view.render() );
    241255                },
    242256
    243257                selectUpload: function( attachment ) {
     
    281295                        }
    282296
    283297                        return this;
     298                },
     299
     300                refresh: function() {
     301                        this.frame.$el.toggleClass( 'hide-sidebar hide-toolbar', ! this.get('library').length );
     302                        this.content();
    284303                }
     304
    285305        });
    286306
    287307
     
    309329                        }
    310330
    311331                        media.controller.Library.prototype.initialize.apply( this, arguments );
    312                 },
    313 
    314                 activate: function() {
    315                         this.get('library').on( 'add remove reset', this.refresh, this );
    316                         media.controller.Library.prototype.activate.apply( this, arguments );
    317                         this.refresh();
    318                 },
    319 
    320                 deactivate: function() {
    321                         this.get('library').off( 'add remove reset', this.refresh, this );
    322                         media.controller.Library.prototype.deactivate.apply( this, arguments );
    323                 },
    324 
    325                 refresh: function() {
    326                         this.frame.$el.toggleClass( 'hide-sidebar hide-toolbar', ! this.get('library').length );
    327                         this.content();
    328                 },
    329 
    330                 content: function() {
    331                         var frame = this.frame,
    332                                 upload;
    333 
    334                         if ( this.get('library').length ) {
    335                                 media.controller.Library.prototype.content.apply( this, arguments );
    336                         } else {
    337                                 upload = new media.view.UploaderInline({
    338                                         controller: frame
    339                                 }).render();
    340 
    341                                 frame.content( upload );
    342                         }
    343332                }
     333
    344334        });
    345335
    346336        // wp.media.controller.Gallery