WordPress.org

Make WordPress Core

Ticket #22494: 22494.diff

File 22494.diff, 1.3 KB (added by koopersmith, 17 months ago)
  • wp-includes/js/media-views.js

     
    575575                }, media.controller.Library.prototype.defaults ), 
    576576 
    577577                initialize: function() { 
     578                        var library, comparator; 
     579 
    578580                        // If we haven't been provided a `library`, create a `Selection`. 
    579581                        if ( ! this.get('library') ) 
    580582                                this.set( 'library', media.query({ type: 'image' }) ); 
    581583 
    582584                        media.controller.Library.prototype.initialize.apply( this, arguments ); 
     585 
     586                        library    = this.get('library'); 
     587                        comparator = library.comparator; 
     588 
     589                        // Overload the library's comparator to push items that are not in 
     590                        // the mirrored query to the front of the aggregate collection. 
     591                        library.comparator = function( a, b ) { 
     592                                var aInQuery = !! this.mirroring.getByCid( a.cid ), 
     593                                        bInQuery = !! this.mirroring.getByCid( b.cid ); 
     594 
     595                                if ( ! aInQuery && bInQuery ) 
     596                                        return -1; 
     597                                else if ( aInQuery && ! bInQuery ) 
     598                                        return 1; 
     599                                else 
     600                                        return comparator.apply( this, arguments ); 
     601                        }; 
     602 
     603                        // Add all items in the selection to the library, so any featured 
     604                        // images that are not initially loaded still appear. 
     605                        library.observe( this.get('selection') ); 
    583606                }, 
    584607 
    585608                activate: function() {