WordPress.org

Make WordPress Core

Ticket #24716: 24716.45.diff

File 24716.45.diff, 4.2 KB (added by ericlewis, 4 years ago)
  • src/wp-includes/css/media-views.css

    diff --git a/src/wp-includes/css/media-views.css b/src/wp-includes/css/media-views.css
    index 0a2ced6..1e4e70f 100644
    a b  
    903903        display: block;
    904904}
    905905
    906 .attachment.details {
     906.attachment.details,
     907.media-grid-view .selected.attachment {
    907908        -webkit-box-shadow: 0 0 0 1px #fff,
    908909                                0 0 0 5px #1e8cbe;
    909910        box-shadow: 0 0 0 1px #fff,
    910911                                0 0 0 5px #1e8cbe;
    911912}
    912913
    913 .attachment.details .check {
     914.attachment.details .check,
     915.media-grid-view .attachment .check {
    914916        background-color: #1e8cbe;
    915917        -webkit-box-shadow: 0 0 0 1px #fff,
    916918                                0 0 0 2px #1e8cbe;
     
    918920                                0 0 0 2px #1e8cbe;
    919921}
    920922
    921 .attachment.details .check div {
     923.attachment.details .check div,
     924.media-grid-view .attachment .check div {
    922925        background-position: -21px 0;
    923926}
    924927
    925 .attachment.details .check:hover div {
     928.attachment.details .check:hover div,
     929.media-grid-view .attachment .check:hover div {
    926930        background-position: -60px 0;
    927931}
    928932
  • src/wp-includes/js/media-grid.js

    diff --git a/src/wp-includes/js/media-grid.js b/src/wp-includes/js/media-grid.js
    index 71dc812..0b5a38f 100644
    a b  
    608608                        media.view.Button.prototype.click.apply( this, arguments );
    609609
    610610                        if ( bulkEditActive ) {
    611                                 this.controller.deactivateMode( 'bulk-edit' );
    612                                 this.controller.activateMode( 'edit' );
     611                                this.controller.deactivateMode( 'bulk-edit' )
     612                                        .activateMode( 'edit' );
    613613                        } else {
    614                                 this.controller.deactivateMode( 'edit' );
    615                                 this.controller.activateMode( 'bulk-edit' );
     614                                this.controller.deactivateMode( 'edit' )
     615                                        .activateMode( 'bulk-edit' );
    616616                        }
    617617                },
    618618
  • src/wp-includes/js/media-views.js

    diff --git a/src/wp-includes/js/media-views.js b/src/wp-includes/js/media-views.js
    index 5f53808..dfff517 100644
    a b  
    19701970                        eventToTrigger = model.get('id') + ':' + modeEventMap[collectionEvent];
    19711971                        this.trigger( eventToTrigger );
    19721972                },
     1973                /**
     1974                 * Activate a mode on the frame.
     1975                 *
     1976                 * @param string mode Mode ID.
     1977                 * @returns {this} Returns itself to allow chaining.
     1978                 */
    19731979                activateMode: function( mode ) {
    1974                         if ( this.activeModes.where( { id: mode } ).length ) {
     1980                        // Bail if the mode is already active.
     1981                        if ( this.isModeActive( mode ) ) {
    19751982                                return;
    19761983                        }
    19771984                        this.activeModes.add( [ { id: mode } ] );
     1985                        // Add a css class to the frame for anything that needs to be styled
     1986                        // for the mode.
    19781987                        this.$el.addClass( 'mode-' + mode );
     1988                        /**
     1989                         * Frame mode activation event.
     1990                         *
     1991                         * @event this#{mode}:activate
     1992                         */
    19791993                        this.trigger( mode + ':activate' );
     1994
     1995                        return this;
    19801996                },
     1997                /**
     1998                 * Deactivate a mode on the frame.
     1999                 *
     2000                 * @param string mode Mode ID.
     2001                 * @returns {this} Returns itself to allow chaining.
     2002                 */
    19812003                deactivateMode: function( mode ) {
    19822004                        // Bail if the mode isn't active.
    1983                         if ( ! this.activeModes.where( { id: mode } ).length ) {
     2005                        if ( ! this.isModeActive( mode ) ) {
    19842006                                return;
    19852007                        }
    19862008                        this.activeModes.remove( this.activeModes.where( { id: mode } ) );
    19872009                        this.$el.removeClass( 'mode-' + mode );
     2010                        /**
     2011                         * Frame mode deactivation event.
     2012                         *
     2013                         * @event this#{mode}:deactivate
     2014                         */
    19882015                        this.trigger( mode + ':deactivate' );
     2016
     2017                        return this;
     2018                },
     2019                /**
     2020                 * Check if a mode is enabled on the frame.
     2021                 *
     2022                 * @param  string mode Mode ID.
     2023                 * @return bool
     2024                 */
     2025                isModeActive: function( mode ) {
     2026                        return Boolean( this.activeModes.where( { id: mode } ).length );
    19892027                }
    19902028        });
    19912029
     
    48194857                 */
    48204858                details: function( model, collection ) {
    48214859                        var selection = this.options.selection,
    4822                                 details;
     4860                                details,
     4861                                addAttachmentDetailsClass;
    48234862
    48244863                        if ( selection !== collection ) {
    48254864                                return;
    48264865                        }
    48274866
    4828                         details = selection.single();
    4829                         this.$el.toggleClass( 'details', details === this.model );
     4867                        // In bulk edit mode (in media grid), attachments don't open the "details"
     4868                        // pane, so a `details` class is unnecessary on the attachment view.
     4869                        addAttachmentDetailsClass = ! this.controller.isModeActive( 'bulk-edit' );
     4870
     4871                        if ( addAttachmentDetailsClass ) {
     4872                                details = selection.single();
     4873                                this.$el.toggleClass( 'details', details === this.model );
     4874                        }
     4875
    48304876                },
    48314877                /**
    48324878                 * @param {Object} event