~canonical-sysadmins/wordpress/4.7

« back to all changes in this revision

Viewing changes to wp-includes/js/media-grid.js

  • Committer: Nick Moffitt
  • Date: 2015-01-15 11:04:26 UTC
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: nick.moffitt@canonical.com-20150115110426-5stm1p14cfnxrtme
New Upstream Version 4.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
387
387
 
388
388
                events: {
389
389
                        'click .left':  'previousMediaItem',
390
 
                        'click .right': 'nextMediaItem',
391
 
                        'keydown':      'keyEvent'
 
390
                        'click .right': 'nextMediaItem'
392
391
                },
393
392
 
394
393
                initialize: function() {
631
630
 
632
631
                        children = toolbar.$( '.media-toolbar-secondary > *, .media-toolbar-primary > *');
633
632
 
 
633
                        // TODO: the Frame should be doing all of this.
634
634
                        if ( this.controller.isModeActive( 'select' ) ) {
635
635
                                this.model.set( 'text', l10n.cancelSelection );
636
 
                                children.not( '.delete-selected-button' ).hide();
637
 
                                toolbar.$( '.select-mode-toggle-button' ).show();
 
636
                                children.not( '.media-button' ).hide();
 
637
                                this.$el.show();
638
638
                                toolbar.$( '.delete-selected-button' ).removeClass( 'hidden' );
639
639
                        } else {
640
640
                                this.model.set( 'text', l10n.bulkSelect );
641
 
                                this.controller.content.get().$el.removeClass('fixed');
642
 
                                toolbar.$el.css('width', '');
 
641
                                this.controller.content.get().$el.removeClass( 'fixed' );
 
642
                                toolbar.$el.css( 'width', '' );
643
643
                                toolbar.$( '.delete-selected-button' ).addClass( 'hidden' );
644
 
                                children.not( '.spinner, .delete-selected-button' ).show();
 
644
                                children.not( '.spinner, .media-button' ).show();
645
645
                                this.controller.state().get( 'selection' ).reset();
646
646
                        }
647
647
                }
648
648
        });
649
649
 
 
650
        /**
 
651
         * A button that handles bulk Delete/Trash logic
 
652
         *
 
653
         * @constructor
 
654
         * @augments wp.media.view.Button
 
655
         * @augments wp.media.View
 
656
         * @augments wp.Backbone.View
 
657
         * @augments Backbone.View
 
658
         */
650
659
        media.view.DeleteSelectedButton = media.view.Button.extend({
651
660
                initialize: function() {
652
661
                        media.view.Button.prototype.initialize.apply( this, arguments );
677
686
                        } else {
678
687
                                this.$el.addClass( 'delete-selected-button hidden' );
679
688
                        }
 
689
                        this.toggleDisabled();
680
690
                        return this;
681
691
                }
682
692
        });
683
693
 
684
694
        /**
685
 
         * A filter dropdown for month/dates.
 
695
         * When MEDIA_TRASH is true, a button that handles bulk Delete Permanently logic
 
696
         *
 
697
         * @constructor
 
698
         * @augments wp.media.view.DeleteSelectedButton
 
699
         * @augments wp.media.view.Button
 
700
         * @augments wp.media.View
 
701
         * @augments wp.Backbone.View
 
702
         * @augments Backbone.View
686
703
         */
687
 
        media.view.DateFilter = media.view.AttachmentFilters.extend({
688
 
                id: 'media-attachment-date-filters',
689
 
 
690
 
                createFilters: function() {
691
 
                        var filters = {};
692
 
                        _.each( media.view.settings.months || {}, function( value, index ) {
693
 
                                filters[ index ] = {
694
 
                                        text: value.text,
695
 
                                        props: {
696
 
                                                year: value.year,
697
 
                                                monthnum: value.month
698
 
                                        }
699
 
                                };
700
 
                        });
701
 
                        filters.all = {
702
 
                                text:  l10n.allDates,
703
 
                                props: {
704
 
                                        monthnum: false,
705
 
                                        year:  false
706
 
                                },
707
 
                                priority: 10
708
 
                        };
709
 
                        this.filters = filters;
 
704
        media.view.DeleteSelectedPermanentlyButton = media.view.DeleteSelectedButton.extend({
 
705
                initialize: function() {
 
706
                        media.view.DeleteSelectedButton.prototype.initialize.apply( this, arguments );
 
707
                        this.listenTo( this.controller, 'select:activate', this.selectActivate );
 
708
                        this.listenTo( this.controller, 'select:deactivate', this.selectDeactivate );
 
709
                },
 
710
 
 
711
                filterChange: function( model ) {
 
712
                        this.canShow = ( 'trash' === model.get( 'status' ) );
 
713
                },
 
714
 
 
715
                selectActivate: function() {
 
716
                        this.toggleDisabled();
 
717
                        this.$el.toggleClass( 'hidden', ! this.canShow );
 
718
                },
 
719
 
 
720
                selectDeactivate: function() {
 
721
                        this.toggleDisabled();
 
722
                        this.$el.addClass( 'hidden' );
 
723
                },
 
724
 
 
725
                render: function() {
 
726
                        media.view.Button.prototype.render.apply( this, arguments );
 
727
                        this.selectActivate();
 
728
                        return this;
710
729
                }
711
730
        });
712
731