From ccaf134b3301209694e58271ab1ea34b331f2ef8 Mon Sep 17 00:00:00 2001 From: Scott Taylor Date: Wed, 6 Aug 2014 19:12:41 +0000 Subject: [PATCH] Media Grid: display upload errors in a dismissable sidebar. See #29037. git-svn-id: https://develop.svn.wordpress.org/trunk@29415 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/css/media-views.css | 7 ++++++- src/wp-includes/js/media-grid.js | 11 +++++++++-- src/wp-includes/js/media-views.js | 4 +++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/wp-includes/css/media-views.css b/src/wp-includes/css/media-views.css index 723d9d033b..987cb14a8b 100644 --- a/src/wp-includes/css/media-views.css +++ b/src/wp-includes/css/media-views.css @@ -257,6 +257,11 @@ -webkit-overflow-scrolling: touch; } +.upload-php .mode-grid .hide-sidebar .media-sidebar { + top: 102px; + display: none; +} + .hide-toolbar .media-sidebar { bottom: 0; } @@ -1383,7 +1388,7 @@ padding: 0; margin: 0; -webkit-box-shadow: none; - box-shadow: none; + box-shadow: none; } .media-selection .attachment .thumbnail { diff --git a/src/wp-includes/js/media-grid.js b/src/wp-includes/js/media-grid.js index cb8447df7f..567702709f 100644 --- a/src/wp-includes/js/media-grid.js +++ b/src/wp-includes/js/media-grid.js @@ -191,7 +191,7 @@ var state = this.state(); // Browse our library of attachments. - contentRegion.view = new media.view.AttachmentsBrowser({ + this.browserView = contentRegion.view = new media.view.AttachmentsBrowser({ controller: this, collection: state.get('library'), selection: state.get('selection'), @@ -201,7 +201,7 @@ filters: state.get('filterable'), display: state.get('displaySettings'), dragInfo: state.get('dragInfo'), - sidebar: false, + sidebar: 'errors', suggestedWidth: state.get('suggestedWidth'), suggestedHeight: state.get('suggestedHeight'), @@ -210,6 +210,13 @@ scrollElement: document }); + + this.errors = wp.Uploader.errors; + this.errors.on( 'add remove reset', this.sidebarVisibility, this ); + }, + + sidebarVisibility: function() { + this.browserView.$( '.media-sidebar' ).toggle( this.errors.length ); } }); diff --git a/src/wp-includes/js/media-views.js b/src/wp-includes/js/media-views.js index 8a1e2eecff..fc35be075b 100644 --- a/src/wp-includes/js/media-views.js +++ b/src/wp-includes/js/media-views.js @@ -5702,7 +5702,9 @@ this.updateContent(); if ( this.options.sidebar ) { this.createSidebar(); - } else { + } + + if ( ! this.options.sidebar || 'errors' === this.options.sidebar ) { this.$el.addClass( 'hide-sidebar' ); }