]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/js/media-grid.js
WordPress 4.1
[autoinstalls/wordpress.git] / wp-includes / js / media-grid.js
index 7822b9d831a05e4eae2eb145bd3f9c007049cbcb..5bf3716d5c7414ccff0dc91828d5e94d54adbafb 100644 (file)
 
                events: {
                        'click .left':  'previousMediaItem',
-                       'click .right': 'nextMediaItem',
-                       'keydown':      'keyEvent'
+                       'click .right': 'nextMediaItem'
                },
 
                initialize: function() {
 
                        children = toolbar.$( '.media-toolbar-secondary > *, .media-toolbar-primary > *');
 
+                       // TODO: the Frame should be doing all of this.
                        if ( this.controller.isModeActive( 'select' ) ) {
                                this.model.set( 'text', l10n.cancelSelection );
-                               children.not( '.delete-selected-button' ).hide();
-                               toolbar.$( '.select-mode-toggle-button' ).show();
+                               children.not( '.media-button' ).hide();
+                               this.$el.show();
                                toolbar.$( '.delete-selected-button' ).removeClass( 'hidden' );
                        } else {
                                this.model.set( 'text', l10n.bulkSelect );
-                               this.controller.content.get().$el.removeClass('fixed');
-                               toolbar.$el.css('width', '');
+                               this.controller.content.get().$el.removeClass( 'fixed' );
+                               toolbar.$el.css( 'width', '' );
                                toolbar.$( '.delete-selected-button' ).addClass( 'hidden' );
-                               children.not( '.spinner, .delete-selected-button' ).show();
+                               children.not( '.spinner, .media-button' ).show();
                                this.controller.state().get( 'selection' ).reset();
                        }
                }
        });
 
+       /**
+        * A button that handles bulk Delete/Trash logic
+        *
+        * @constructor
+        * @augments wp.media.view.Button
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
+        */
        media.view.DeleteSelectedButton = media.view.Button.extend({
                initialize: function() {
                        media.view.Button.prototype.initialize.apply( this, arguments );
                        } else {
                                this.$el.addClass( 'delete-selected-button hidden' );
                        }
+                       this.toggleDisabled();
                        return this;
                }
        });
 
        /**
-        * A filter dropdown for month/dates.
+        * When MEDIA_TRASH is true, a button that handles bulk Delete Permanently logic
+        *
+        * @constructor
+        * @augments wp.media.view.DeleteSelectedButton
+        * @augments wp.media.view.Button
+        * @augments wp.media.View
+        * @augments wp.Backbone.View
+        * @augments Backbone.View
         */
-       media.view.DateFilter = media.view.AttachmentFilters.extend({
-               id: 'media-attachment-date-filters',
-
-               createFilters: function() {
-                       var filters = {};
-                       _.each( media.view.settings.months || {}, function( value, index ) {
-                               filters[ index ] = {
-                                       text: value.text,
-                                       props: {
-                                               year: value.year,
-                                               monthnum: value.month
-                                       }
-                               };
-                       });
-                       filters.all = {
-                               text:  l10n.allDates,
-                               props: {
-                                       monthnum: false,
-                                       year:  false
-                               },
-                               priority: 10
-                       };
-                       this.filters = filters;
+       media.view.DeleteSelectedPermanentlyButton = media.view.DeleteSelectedButton.extend({
+               initialize: function() {
+                       media.view.DeleteSelectedButton.prototype.initialize.apply( this, arguments );
+                       this.listenTo( this.controller, 'select:activate', this.selectActivate );
+                       this.listenTo( this.controller, 'select:deactivate', this.selectDeactivate );
+               },
+
+               filterChange: function( model ) {
+                       this.canShow = ( 'trash' === model.get( 'status' ) );
+               },
+
+               selectActivate: function() {
+                       this.toggleDisabled();
+                       this.$el.toggleClass( 'hidden', ! this.canShow );
+               },
+
+               selectDeactivate: function() {
+                       this.toggleDisabled();
+                       this.$el.addClass( 'hidden' );
+               },
+
+               render: function() {
+                       media.view.Button.prototype.render.apply( this, arguments );
+                       this.selectActivate();
+                       return this;
                }
        });