WordPress/wp-includes/js/media/views/button-group.js
Scott Taylor d9a2e85bfe Media JS files:
* specify globals in more files
* add missing `wp.media.*` namespace docs
* add doc blocks to files that had none

See #28510.

Built from https://develop.svn.wordpress.org/trunk@31492


git-svn-id: http://core.svn.wordpress.org/trunk@31473 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-22 07:25:27 +00:00

49 lines
962 B
JavaScript

/*globals _, Backbone, jQuery */
/**
* wp.media.view.ButtonGroup
*
* @class
* @augments wp.media.View
* @augments wp.Backbone.View
* @augments Backbone.View
*/
var View = require( './view.js' ),
Button = require( './button.js' ),
$ = jQuery,
ButtonGroup;
ButtonGroup = View.extend({
tagName: 'div',
className: 'button-group button-large media-button-group',
initialize: function() {
/**
* @member {wp.media.view.Button[]}
*/
this.buttons = _.map( this.options.buttons || [], function( button ) {
if ( button instanceof Backbone.View ) {
return button;
} else {
return new Button( button ).render();
}
});
delete this.options.buttons;
if ( this.options.classes ) {
this.$el.addClass( this.options.classes );
}
},
/**
* @returns {wp.media.view.ButtonGroup}
*/
render: function() {
this.$el.html( $( _.pluck( this.buttons, 'el' ) ).detach() );
return this;
}
});
module.exports = ButtonGroup;