WordPress.org

Make WordPress Core

Ticket #22628: 22628.diff

File 22628.diff, 4.2 KB (added by koopersmith, 3 years ago)
  • wp-includes/css/media-views.css

     
    721721        margin-top: 10px; 
    722722} 
    723723 
    724 .attachments-browser .attachments { 
     724.attachments-browser .attachments, 
     725.attachments-browser .uploader-inline { 
    725726        position: absolute; 
    726727        top: 50px; 
    727728        left: 0; 
     
    926927        display: block; 
    927928} 
    928929 
    929 .region-content.uploader-inline { 
     930.media-frame .uploader-inline { 
    930931        margin: 20px; 
    931932        padding: 20px; 
    932933        text-align: center; 
     
    13681369        } 
    13691370 
    13701371        .attachments-browser .attachments, 
     1372        .attachments-browser .uploader-inline, 
    13711373        .attachments-browser .media-toolbar { 
    13721374                right: 180px; 
    13731375        } 
  • wp-includes/js/media-views.js

     
    262262                        describe:   false, 
    263263                        toolbar:    'main-attachments', 
    264264                        sidebar:    'settings', 
     265                        content:    'browse', 
    265266                        searchable: true, 
    266267                        filterable: false, 
    267268                        uploads:    true 
     
    304305 
    305306                        selection.on( 'add remove reset', this.refreshSelection, this ); 
    306307 
    307                         this._updateEmpty(); 
    308                         library.on( 'add remove reset', this._updateEmpty, this ); 
    309                         this.on( 'change:empty', this.refresh, this ); 
    310308                        this.refresh(); 
    311  
    312  
    313309                        this.on( 'insert', this._insertDisplaySettings, this ); 
    314310                }, 
    315311 
    316312                deactivate: function() { 
    317                         this.off( 'change:empty', this.refresh, this ); 
    318                         this.get('library').off( 'add remove reset', this._updateEmpty, this ); 
    319  
    320313                        // Unbind all event handlers that use this state as the context 
    321314                        // from the selection. 
    322315                        this.get('selection').off( null, null, this ); 
     
    334327                        this.resetDisplays(); 
    335328                }, 
    336329 
    337                 content: function() { 
    338                         var frame = this.frame; 
    339  
    340                         if ( this.get('empty') ) { 
    341                                 // Attempt to fetch any Attachments we don't already have. 
    342                                 this.get('library').more(); 
    343  
    344                                 // In the meantime, render an inline uploader. 
    345                                 frame.content.mode('upload'); 
    346                         } else { 
    347                                 // Browse our library of attachments. 
    348                                 frame.content.mode('browse'); 
    349                         } 
    350                 }, 
    351  
    352330                refresh: function() { 
    353                         this.frame.$el.toggleClass( 'hide-toolbar', this.get('empty') ); 
    354331                        this.content(); 
    355332                        this.refreshSelection(); 
    356333                }, 
     
    389366                        setUserSetting( 'urlbutton', display.link ); 
    390367                }, 
    391368 
    392                 _updateEmpty: function() { 
    393                         var library = this.get('library'), 
    394                                 props = library.props; 
    395  
    396                         // If we're filtering the library, bail. 
    397                         if ( this.get('filterable') && ( props.get('type') || props.get('parent') ) ) 
    398                                 return; 
    399  
    400                         this.set( 'empty', ! library.length && ! library.props.get('search') ); 
    401                 }, 
    402  
    403369                refreshSelection: function() { 
    404370                        var selection = this.get('selection'), 
    405371                                mode = this.frame.content.mode(); 
     
    13021268                browseContent: function() { 
    13031269                        var state = this.state(); 
    13041270 
     1271                        this.$el.removeClass('hide-toolbar'); 
     1272 
    13051273                        // Browse our library of attachments. 
    13061274                        this.content.view( new media.view.AttachmentsBrowser({ 
    13071275                                controller: this, 
     
    30102978                        }); 
    30112979 
    30122980                        this.createToolbar(); 
    3013                         this.createAttachments(); 
     2981                        this.updateContent(); 
    30142982                        this.createSidebar(); 
     2983 
     2984                        this.collection.on( 'add remove reset', this.updateContent, this ); 
    30152985                }, 
    30162986 
    30172987                dispose: function() { 
     
    30593029                        } 
    30603030                }, 
    30613031 
     3032                updateContent: function() { 
     3033                        var view = this; 
     3034 
     3035                        if ( ! this.collection.length ) { 
     3036                                // If an uploader exists, we've already run `updateContent`. 
     3037                                if ( this.uploader ) 
     3038                                        return; 
     3039 
     3040                                this.collection.more().done( function() { 
     3041                                        if ( ! view.collection.length ) 
     3042                                                view.createUploader(); 
     3043                                }); 
     3044                        } 
     3045 
     3046                        if( ! this.attachments ) 
     3047                                this.createAttachments(); 
     3048                }, 
     3049 
     3050                createUploader: function() { 
     3051                        if ( this.attachments ) 
     3052                                this.attachments.remove(); 
     3053 
     3054                        this.uploader = new media.view.UploaderInline({ 
     3055                                controller: this.controller 
     3056                        }); 
     3057 
     3058                        this.views.add( this.uploader ); 
     3059                }, 
     3060 
    30623061                createAttachments: function() { 
     3062                        if ( this.uploader ) 
     3063                                this.uploader.remove(); 
     3064 
    30633065                        this.attachments = new media.view.Attachments({ 
    30643066                                controller: this.controller, 
    30653067                                collection: this.collection,