WordPress.org

Make WordPress Core

Ticket #24716: 24716.44.diff

File 24716.44.diff, 9.3 KB (added by wonderboymusic, 4 years ago)
  • src/wp-admin/css/common.css

     
    10251025        display: none;
    10261026        margin: 0 20px -1px 0px;
    10271027        position: relative;
     1028        z-index: 10;
    10281029        background-color: #fff;
    10291030        border: 1px solid #ddd;
    10301031        border-top: none;
     
    10471048#screen-meta-links .screen-meta-toggle {
    10481049        position: relative;
    10491050        top: 0;
     1051        z-index: 10;
    10501052}
    10511053
    10521054#screen-meta-links a {
  • src/wp-admin/includes/screen.php

     
    10191019                ?>
    10201020                <div id="screen-options-wrap" class="hidden" tabindex="-1" aria-label="<?php esc_attr_e('Screen Options Tab'); ?>">
    10211021                <form id="adv-settings" action="" method="post">
    1022                 <?php if ( isset( $wp_meta_boxes[ $this->id ] ) || $this->get_option( 'per_page' ) || ( $columns && empty( $columns['_title'] ) ) ) : ?>
     1022                <?php if (
     1023                        isset( $wp_meta_boxes[ $this->id ] )
     1024                        || $this->get_option( 'per_page' )
     1025                        || $this->get_option( 'media_grid_title' )
     1026                        || ( $columns && empty( $columns['_title'] ) )
     1027                ) : ?>
    10231028                        <h5><?php _e( 'Show on screen' ); ?></h5>
    10241029                <?php
    10251030                endif;
     
    10711076                                ?>
    10721077                                <br class="clear" />
    10731078                        </div>
     1079                <?php elseif ( $this->get_option( 'media_grid_title' ) ): ?>
     1080                        <div class="metabox-prefs media-grid-prefs">
     1081                        <?php foreach ( $this->_options as $column => $args ) {
     1082                                $id = "$column-hide";
     1083                                echo '<label for="' . $id . '">';
     1084                                $saved = str_replace( 'media_grid_', '', $column );
     1085                                echo '<input class="hide-column-tog" name="' . $id . '" type="checkbox" id="' . $id . '" value="' . $column . '"' . checked( ! in_array( $saved, $hidden ), true, false ) . ' />';
     1086                                echo $args['label'] . "</label>\n";
     1087                        } ?>
     1088                                <br class="clear" />
     1089                        </div>
    10741090                <?php endif;
    10751091
    10761092                $this->render_screen_layout();
  • src/wp-admin/js/common.js

     
    2828
    2929        saveManageColumnsState : function() {
    3030                var hidden = this.hidden();
     31                if ( $( '#media_grid_title-hide' ).length ) {
     32                        hidden = [];
     33                        $( '.hide-column-tog', '.media-grid-prefs' ).each( function() {
     34                                var $el, field = this.value.replace( 'media_grid_', '' );
     35                                $el = $( '.data-' + field );
     36                                if ( ! this.checked ) {
     37                                        hidden.push( field );
     38                                        $el.removeClass( 'data-visible' ).addClass( 'data-hidden' );
     39                                } else {
     40                                        $el.removeClass( 'data-hidden' ).addClass( 'data-visible' );
     41                                }
     42                        } );
     43                        hidden = hidden.join( ',' );
     44                }
    3145                $.post(ajaxurl, {
    3246                        action: 'hidden-columns',
    3347                        hidden: hidden,
  • src/wp-admin/upload.php

     
    2626        wp_enqueue_script( 'media' );
    2727        wp_localize_script( 'media-grid', 'mediaGridSettings', array( 'adminUrl' => parse_url( self_admin_url(), PHP_URL_PATH )  ) );
    2828
     29        add_screen_option( 'media_grid_title', array( 'label' => __( 'Name' ) ) );
     30        add_screen_option( 'media_grid_uploadedTo', array( 'label' => __( 'Uploaded To' ) ) );
     31        add_screen_option( 'media_grid_dateFormatted', array( 'label' => __( 'Date' ) ) );
     32        add_screen_option( 'media_grid_mime', array( 'label' => __( 'Mime-type' ) ) );
     33
    2934        require_once( ABSPATH . 'wp-admin/admin-header.php' );
    3035        include( ABSPATH . 'wp-admin/admin-footer.php' );
    3136        exit;
  • src/wp-includes/css/media-views.css

     
    25752575 * area of the screen.
    25762576 */
    25772577.media-grid-view {
     2578        z-index: 1;
    25782579        position: fixed;
    25792580        bottom: 0;
    25802581        left: 160px;
  • src/wp-includes/js/media-grid.js

     
    597597                }
    598598        });
    599599
    600         media.view.GridFieldOptions = media.View.extend({
    601                 className: 'media-grid-field-options',
    602                 template: media.template( 'media-grid-field-options' ),
    603 
    604                 events: {
    605                         'change input': 'toggleFields'
    606                 },
    607 
    608                 toggleFields: function(e) {
    609                         var $el = $( e.currentTarget ), fields, setting;
    610                         setting = $el.data( 'setting' );
    611                         fields = $( '.data-' + setting, '.data-fields' );
    612                         if ( $el.is( ':checked' ) ) {
    613                                 fields.show();
    614                                 deleteUserSetting( 'hidegrid' + setting );
    615                         } else {
    616                                 fields.hide();
    617                                 setUserSetting( 'hidegrid' + setting, 1 );
    618                         }
    619 
    620                         if ( $( ':checked', this.$el ).length ) {
    621                                 fields.parent().show();
    622                         } else {
    623                                 fields.parent().hide();
    624                         }
    625                 }
    626         });
    627 
    628600        media.view.BulkSelectionToggleButton = media.view.Button.extend({
    629601                initialize: function() {
    630602                        media.view.Button.prototype.initialize.apply( this, arguments );
  • src/wp-includes/js/media-views.js

     
    52285228                                controller:           this.controller,
    52295229                                model:                attachment,
    52305230                                collection:           this.collection,
    5231                                 selection:            this.options.selection,
    5232                                 showAttachmentFields: this.options.showAttachmentFields
     5231                                selection:            this.options.selection
    52335232                        });
    52345233
    52355234                        return this._viewsByCid[ attachment.cid ] = view;
     
    55445543                                search:  true,
    55455544                                display: false,
    55465545                                sidebar: true,
    5547                                 showAttachmentFields: getUserSetting( 'showAttachmentFields', [ 'title', 'uploadedTo', 'dateFormatted', 'mime' ] ),
    55485546                                AttachmentView: media.view.Attachment.Library
    55495547                        });
    55505548
     
    56095607                                        controller: this.controller,
    56105608                                        priority: -69
    56115609                                }).render() );
    5612 
    5613                                 this.toolbar.set( 'gridFieldOptions', new media.view.GridFieldOptions({
    5614                                         controller: this.controller,
    5615                                         priority: -50
    5616                                 }).render() );
    56175610                        }
    56185611
    56195612                        filters = this.options.filters;
     
    57055698                                selection:            this.options.selection,
    57065699                                model:                this.model,
    57075700                                sortable:             this.options.sortable,
    5708                                 showAttachmentFields: this.options.showAttachmentFields,
    57095701
    57105702                                // The single `Attachment` view to be used in the `Attachments` view.
    57115703                                AttachmentView: this.options.AttachmentView
  • src/wp-includes/media-template.php

     
    229229                </a>
    230230        </script>
    231231
    232         <script type="text/html" id="tmpl-media-grid-field-options">
    233                 <label class="setting">
    234                         <span><?php _e( 'Name' ); ?></span>
    235                         <input type="checkbox" data-setting="title" {{ '' === getUserSetting( 'hidegridtitle' ) && 'checked' }} />
    236                 </label>
    237                 <label class="setting">
    238                         <span><?php _e( 'Uploaded to' ); ?></span>
    239                         <input type="checkbox" data-setting="uploadedTo" {{ '' === getUserSetting( 'hidegriduploadedTo' ) && 'checked' }} />
    240                 </label>
    241                 <label class="setting">
    242                         <span><?php _e( 'Date' ); ?></span>
    243                         <input type="checkbox" data-setting="dateFormatted" {{ '' === getUserSetting( 'hidegriddateFormatted' ) && 'checked' }} />
    244                 </label>
    245                 <label class="setting">
    246                         <span><?php _e( 'Mime-type' ); ?></span>
    247                         <input type="checkbox" data-setting="mime" {{ '' === getUserSetting( 'hidegridmime' ) && 'checked' }} />
    248                 </label>
    249         </script>
    250 
    251232        <script type="text/html" id="tmpl-uploader-status">
    252233                <h3><?php _e( 'Uploading' ); ?></h3>
    253234                <a class="upload-dismiss-errors" href="#"><?php _e('Dismiss Errors'); ?></a>
     
    437418
    438419                if ( _.contains( data.controller.options.mode, 'grid' ) ) { #>
    439420                <div class="data-fields">
    440                 <# _.each( data.showAttachmentFields, function( field ) {
    441                         var className = 'data-field data-hidden';
    442                         if ( '' === getUserSetting( 'hidegrid' + field ) ) {
    443                                 className = 'data-field data-visible';
    444                         }
    445                 #>
    446                         <div class="{{ className }} data-{{ field }}"><#
    447                                 if ( 'uploadedTo' === field ) {
    448                                         if ( data[ field ] ) {
     421                <?php
     422                $hidden = get_hidden_columns( get_current_screen() );
     423                $fields = array( 'title', 'uploadedTo', 'dateFormatted', 'mime' );
     424                foreach ( $fields as $field ):
     425                        $class_name = in_array( $field, $hidden ) ? 'data-field data-hidden' : 'data-field data-visible';
     426                ?>
     427                        <div class="<?php echo $class_name ?> data-<?php echo $field ?>"><#
     428                                if ( 'uploadedTo' === '<?php echo $field ?>' ) {
     429                                        if ( data[ '<?php echo $field ?>' ] ) {
    449430                                        #><?php _e( 'Uploaded To: ' ) ?><a href="{{ data.uploadedToLink }}">{{ data.uploadedToTitle }}</a><#
    450431                                        } else {
    451432                                        #><?php _e( 'Unattached' ) ?><#
    452433                                        }
    453                                 } else if ( 'title' === field && ! data[ field ] ) {
     434                                } else if ( 'title' === '<?php echo $field ?>' && ! data[ '<?php echo $field ?>' ] ) {
    454435                                #><?php _e( '(No title)' ) ?><#
    455                                 } else if ( data[ field ] ) {
    456                                 #>{{ data[ field ] }}<#
     436                                } else if ( data[ '<?php echo $field ?>' ] ) {
     437                                #>{{ data[ '<?php echo $field ?>' ] }}<#
    457438                                }
    458439                        #></div>
    459                 <# }); #>
     440                <?php endforeach ?>
    460441                </div>
    461442                <# } #>
    462443