Make WordPress Core

Ticket #24859: 24859.6.diff

File 24859.6.diff, 2.4 KB (added by gcorne, 10 years ago)
  • src/wp-includes/css/media-views.css

    diff --git src/wp-includes/css/media-views.css src/wp-includes/css/media-views.css
    index 9a4478a..d40587b 100644
     
    12901290        margin: 0;
    12911291}
    12921292
     1293.media-toolbar .spinner {
     1294        display: inline-block;
     1295        margin-top: 14px;
     1296}
     1297
    12931298.media-sidebar .settings-save-status {
    12941299        background: #f5f5f5;
    12951300        float: right;
  • src/wp-includes/js/media-views.js

    diff --git src/wp-includes/js/media-views.js src/wp-includes/js/media-views.js
    index 19b26d1..358d90b 100644
     
    52375237        media.view.AttachmentsBrowser = media.View.extend({
    52385238                tagName:   'div',
    52395239                className: 'attachments-browser',
     5240                spinnerTimeout: false,
    52405241
    52415242                initialize: function() {
    52425243                        _.defaults( this.options, {
     
    52485249                        });
    52495250
    52505251                        this.createToolbar();
     5252                        this.toggleSpinner( false );
    52515253                        this.updateContent();
    52525254                        this.createSidebar();
    52535255
    52545256                        this.collection.on( 'add remove reset', this.updateContent, this );
    52555257                },
     5258                toggleSpinner: function( state ) {
     5259                        if ( state ) {
     5260                                this.spinnerTimeout = _.delay( function( view ) {
     5261                                        view.toolbar.get('spinner').show();
     5262                                }, 600, this );
     5263                        } else {
     5264                                this.toolbar.get('spinner').hide();
     5265                                clearTimeout( this.spinnerTimeout );
     5266                        }
     5267                },
    52565268                /**
    52575269                 * @returns {wp.media.view.AttachmentsBrowser} Returns itself to allow chaining
    52585270                 */
     
    52895301                                }).render() );
    52905302                        }
    52915303
     5304                        this.toolbar.set( 'spinner', new media.view.Spinner({
     5305                                priority: -70
     5306                        }) );
     5307
    52925308                        if ( this.options.search ) {
    52935309                                this.toolbar.set( 'search', new media.view.Search({
    52945310                                        controller: this.controller,
     
    53135329                        }
    53145330
    53155331                        if ( ! this.collection.length ) {
     5332                                this.toggleSpinner( true );
    53165333                                this.collection.more().done( function() {
    53175334                                        if ( ! view.collection.length ) {
    53185335                                                view.createUploader();
    53195336                                        }
     5337                                        view.toggleSpinner( false );
    53205338                                });
    53215339                        }
    53225340                },
     
    63266344                        this.$( '.embed-media-settings' ).scrollTop( 0 );
    63276345                }
    63286346        });
     6347
     6348        /**
     6349         * wp.media.view.Spinner
     6350         *
     6351         *
     6352         * @constructor
     6353         * @augments wp.media.View
     6354         * @augments wp.Backbone.View
     6355         * @augments Backbone.View
     6356         */
     6357        media.view.Spinner = media.View.extend({
     6358                tagName:   'span',
     6359                className: 'spinner',
     6360
     6361                show: function() {
     6362                        this.$el.show();
     6363                        return this;
     6364                },
     6365
     6366                hide: function() {
     6367                        this.$el.hide();
     6368                        return this;
     6369                }
     6370        });
    63296371}(jQuery, _));