mirror of
https://github.com/WordPress/WordPress.git
synced 2024-09-17 10:04:49 +02:00
d568679946
* Add a new folder in `wp-includes/js`, `media` * Create manifest files for `views`, `models`, `grid`, and `audio-video` * Make `browserify` an `npm` dependency * Add Grunt tasks for `browserify` and `uglify:media` on `build` and `watch` * Update the paths loaded for media files in `script-loader` * All new files were created using `svn cp` from their original location Please run `npm install`. While developing media JS, you must run `grunt watch`. See #28510. Built from https://develop.svn.wordpress.org/trunk@31373 git-svn-id: http://core.svn.wordpress.org/trunk@31354 1a063a9b-81f0-0310-95a4-ce76da25c4cd
48 lines
961 B
JavaScript
48 lines
961 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; |