WordPress.org

Make WordPress Core

Ticket #22613: 22613.2.diff

File 22613.2.diff, 3.8 KB (added by koopersmith, 5 years ago)
  • wp-includes/css/media-views.css

     
    693693        background-position: -60px 0;
    694694}
    695695
    696 .media-frame .describe {
     696.media-frame .attachment .describe {
    697697        position: relative;
    698698        display: block;
    699699        width: 100%;
     
    11611161}
    11621162
    11631163/**
     1164 * Spinner
     1165 */
     1166.media-sidebar .settings-save-status {
     1167        background: #f5f5f5;
     1168        float: right;
     1169        text-transform: none;
     1170        z-index: 10;
     1171}
     1172
     1173.media-sidebar .settings-save-status .spinner {
     1174        background: url(../../wp-admin/images/wpspin_light.gif) no-repeat;
     1175        background-size: 16px 16px;
     1176        display: none;
     1177        float: right;
     1178        opacity: 0.7;
     1179        filter: alpha(opacity=70);
     1180        width: 16px;
     1181        height: 16px;
     1182        margin: 0 5px 0;
     1183}
     1184
     1185.media-sidebar .settings-save-status .saved {
     1186        float: right;
     1187        display: none;
     1188}
     1189
     1190.media-sidebar .save-waiting .settings-save-status .spinner,
     1191.media-sidebar .save-complete .settings-save-status .saved {
     1192        display: block;
     1193}
     1194
     1195/**
    11641196 * Attachment Details
    11651197 */
    11661198.attachment-details {
     1199        position: relative;
    11671200        overflow: auto;
    11681201}
    11691202
  • wp-includes/js/media-views.js

     
    25842584                        // Check if the model is selected.
    25852585                        this.updateSelect();
    25862586
     2587                        // Update the save status.
     2588                        this.updateSave();
     2589
    25872590                        this.views.render();
    25882591                        return this;
    25892592                },
     
    26882691                        value   = event.target.value;
    26892692
    26902693                        if ( this.model.get( setting ) !== value )
    2691                                 this.model.save( setting, value );
     2694                                this.save( setting, value );
    26922695                },
    26932696
     2697                // Pass all the arguments to the model's save method.
     2698                //
     2699                // Records the aggregate status of all save requests and updates the
     2700                // view's classes accordingly.
     2701                save: function() {
     2702                        var view = this,
     2703                                save = this._save = this._save || { status: 'ready' },
     2704                                request = this.model.save.apply( this.model, arguments ),
     2705                                requests = save.requests ? $.when( request, save.requests ) : request;
     2706
     2707                        // If we're waiting to remove 'Saved.', stop.
     2708                        if ( save.savedTimer )
     2709                                clearTimeout( save.savedTimer );
     2710
     2711                        this.updateSave('waiting');
     2712                        save.requests = requests;
     2713                        requests.done( function() {
     2714                                // If we've performed another request since this one, bail.
     2715                                if ( save.requests !== requests )
     2716                                        return;
     2717
     2718                                view.updateSave('complete');
     2719                                save.savedTimer = setTimeout( function() {
     2720                                        view.updateSave('ready');
     2721                                        delete save.savedTimer;
     2722                                }, 2000 );
     2723                        });
     2724
     2725                },
     2726
     2727                updateSave: function( status ) {
     2728                        var save = this._save = this._save || { status: 'ready' };
     2729
     2730                        if ( status && status !== save.status ) {
     2731                                this.$el.removeClass( 'save-' + save.status );
     2732                                save.status = status;
     2733                        }
     2734
     2735                        this.$el.addClass( 'save-' + save.status );
     2736                        return this;
     2737                },
     2738
    26942739                updateAll: function() {
    26952740                        var $settings = this.$('[data-setting]'),
    26962741                                model = this.model,
     
    38353880                        this.$('img').attr( 'src', this.model.get('url') );
    38363881                }
    38373882        });
    3838 }(jQuery));
    3839  No newline at end of file
     3883}(jQuery));
  • wp-includes/media.php

     
    16651665        </script>
    16661666
    16671667        <script type="text/html" id="tmpl-attachment-details">
    1668                 <h3><?php _e('Attachment Details'); ?></h3>
     1668                <h3>
     1669                        <?php _e('Attachment Details'); ?>
     1670
     1671                        <span class="settings-save-status">
     1672                                <span class="spinner"></span>
     1673                                <span class="saved"><?php esc_html_e('Saved.'); ?></span>
     1674                        </span>
     1675                </h3>
    16691676                <div class="attachment-info">
    16701677                        <div class="thumbnail">
    16711678                                <# if ( data.uploading ) { #>