WordPress.org

Make WordPress Core

Ticket #22628: 22628.3.diff

File 22628.3.diff, 4.3 KB (added by koopersmith, 2 years ago)
  • wp-includes/css/media-views.css

     
    726726        margin-top: 10px; 
    727727} 
    728728 
    729 .attachments-browser .attachments { 
     729.attachments-browser .attachments, 
     730.attachments-browser .uploader-inline { 
    730731        position: absolute; 
    731732        top: 50px; 
    732733        left: 0; 
     
    931932        display: block; 
    932933} 
    933934 
    934 .region-content.uploader-inline { 
     935.media-frame .uploader-inline { 
    935936        margin: 20px; 
    936937        padding: 20px; 
    937938        text-align: center; 
     
    13731374        } 
    13741375 
    13751376        .attachments-browser .attachments, 
     1377        .attachments-browser .uploader-inline, 
    13761378        .attachments-browser .media-toolbar { 
    13771379                right: 180px; 
    13781380        } 
  • 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(); 
     
    524490                        editing:    false, 
    525491                        sortable:   true, 
    526492                        searchable: false, 
    527                         toolbar:    'gallery-edit' 
     493                        toolbar:    'gallery-edit', 
     494                        content:    'browse' 
    528495                }, 
    529496 
    530497                initialize: function() { 
     
    13011268                browseContent: function() { 
    13021269                        var state = this.state(); 
    13031270 
     1271                        this.$el.removeClass('hide-toolbar'); 
     1272 
    13041273                        // Browse our library of attachments. 
    13051274                        this.content.view( new media.view.AttachmentsBrowser({ 
    13061275                                controller: this, 
     
    30172986                        }); 
    30182987 
    30192988                        this.createToolbar(); 
    3020                         this.createAttachments(); 
     2989                        this.updateContent(); 
    30212990                        this.createSidebar(); 
     2991 
     2992                        this.collection.on( 'add remove reset', this.updateContent, this ); 
    30222993                }, 
    30232994 
    30242995                dispose: function() { 
     
    30663037                        } 
    30673038                }, 
    30683039 
     3040                updateContent: function() { 
     3041                        var view = this; 
     3042 
     3043                        if( ! this.attachments ) 
     3044                                this.createAttachments(); 
     3045 
     3046                        if ( ! this.collection.length ) { 
     3047                                this.collection.more().done( function() { 
     3048                                        if ( ! view.collection.length ) 
     3049                                                view.createUploader(); 
     3050                                }); 
     3051                        } 
     3052                }, 
     3053 
     3054                createUploader: function() { 
     3055                        if ( this.attachments ) { 
     3056                                this.attachments.remove(); 
     3057                                delete this.attachments; 
     3058                        } 
     3059 
     3060                        this.uploader = new media.view.UploaderInline({ 
     3061                                controller: this.controller 
     3062                        }); 
     3063 
     3064                        this.views.add( this.uploader ); 
     3065                }, 
     3066 
    30693067                createAttachments: function() { 
     3068                        if ( this.uploader ) { 
     3069                                this.uploader.remove(); 
     3070                                delete this.uploader; 
     3071                        } 
     3072 
    30703073                        this.attachments = new media.view.Attachments({ 
    30713074                                controller: this.controller, 
    30723075                                collection: this.collection,