Changeset 22743 for trunk/wp-includes/js/media-views.js
- Timestamp:
- 11/21/2012 10:18:59 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/js/media-views.js
r22741 r22743 2767 2767 }, 2768 2768 2769 filters: (function() { 2770 var filters = {}; 2771 2772 _.each( media.view.settings.mimeTypes || {}, function( text, key ) { 2773 filters[ key ] = { 2774 text: text, 2775 props: { 2776 type: key, 2777 parent: null 2778 } 2779 }; 2780 }); 2781 2782 filters.all = { 2783 text: l10n.allMediaItems, 2784 props: { 2785 type: null, 2786 parent: null 2787 }, 2788 priority: 10 2789 }; 2790 2791 filters.uploaded = { 2792 text: l10n.uploadedToThisPost, 2793 props: { 2794 type: null, 2795 parent: media.view.settings.postId 2796 }, 2797 priority: 20 2798 }; 2799 2800 return filters; 2801 }()), 2802 2769 2803 initialize: function() { 2770 var els; 2771 2772 els = _.map({ 2773 all: 'allMediaItems', 2774 uploaded: 'uploadedToThisPost', 2775 image: 'images', 2776 audio: 'audio', 2777 video: 'videos' 2778 }, function( text, value ) { 2779 return this.make( 'option', { value: value }, l10n[ text ] ); 2780 }, this ); 2781 2782 this.$el.html( els ); 2804 // Build `<option>` elements. 2805 this.$el.html( _.chain( this.filters ).map( function( filter, value ) { 2806 return { 2807 el: this.make( 'option', { value: value }, filter.text ), 2808 priority: filter.priority || 50 2809 }; 2810 }, this ).sortBy('priority').pluck('el').value() ); 2783 2811 2784 2812 this.model.on( 'change', this.select, this ); … … 2787 2815 2788 2816 change: function( event ) { 2789 var model = this.model, 2790 value = this.el.value, 2791 type; 2792 2793 if ( 'all' === value || 'uploaded' === value ) 2794 model.unset('type'); 2795 else if ( 'image' === value || 'audio' === value || 'video' === value ) 2796 model.set( 'type', value ); 2797 2798 if ( 'uploaded' === value ) 2799 model.set( 'parent', media.view.settings.postId ); 2800 else 2801 model.unset('parent'); 2817 var filter = this.filters[ this.el.value ]; 2818 2819 if ( filter ) 2820 this.model.set( filter.props ); 2802 2821 }, 2803 2822 2804 2823 select: function() { 2805 2824 var model = this.model, 2825 value = 'all', 2806 2826 type = model.get('type'), 2807 value = 'all';2808 2809 if ( model.get('parent') === media.view.settings.postId )2810 value = 'uploaded';2811 else if ( 'image' === type )2812 value = 'image'; 2813 else if ( 'audio' === type )2814 value = 'audio';2815 else if ( 'video' === type )2816 value = 'video';2827 parent = model.get('parent'), 2828 props = { 2829 parent: _.isUndefined( parent ) ? null : parent, 2830 type: _.isUndefined( type ) ? null : type 2831 }; 2832 2833 _.find( this.filters, function( filter, key ) { 2834 if ( _.isEqual( filter.props, props ) ) 2835 return value = key; 2836 }); 2817 2837 2818 2838 this.$el.val( value );
Note: See TracChangeset
for help on using the changeset viewer.