mirror of
https://github.com/WordPress/WordPress.git
synced 2025-02-13 19:11:41 +01:00
* In media manifests, ditch IIFEs and global injection, these get dynamically scoped via Browserify * Remove the `debug` option from `browserify:media` * Add `jshint:media` to `jshint:corejs` * Add a trailing newline to all new module files Props iseulde. See #28510. Built from https://develop.svn.wordpress.org/trunk@31385 git-svn-id: http://core.svn.wordpress.org/trunk@31366 1a063a9b-81f0-0310-95a4-ce76da25c4cd
54 lines
1.7 KiB
JavaScript
54 lines
1.7 KiB
JavaScript
var Button = require( '../button.js' ),
|
|
l10n = wp.media.view.l10n,
|
|
SelectModeToggle;
|
|
|
|
SelectModeToggle = Button.extend({
|
|
initialize: function() {
|
|
Button.prototype.initialize.apply( this, arguments );
|
|
this.listenTo( this.controller, 'select:activate select:deactivate', this.toggleBulkEditHandler );
|
|
this.listenTo( this.controller, 'selection:action:done', this.back );
|
|
},
|
|
|
|
back: function () {
|
|
this.controller.deactivateMode( 'select' ).activateMode( 'edit' );
|
|
},
|
|
|
|
click: function() {
|
|
Button.prototype.click.apply( this, arguments );
|
|
if ( this.controller.isModeActive( 'select' ) ) {
|
|
this.back();
|
|
} else {
|
|
this.controller.deactivateMode( 'edit' ).activateMode( 'select' );
|
|
}
|
|
},
|
|
|
|
render: function() {
|
|
Button.prototype.render.apply( this, arguments );
|
|
this.$el.addClass( 'select-mode-toggle-button' );
|
|
return this;
|
|
},
|
|
|
|
toggleBulkEditHandler: function() {
|
|
var toolbar = this.controller.content.get().toolbar, children;
|
|
|
|
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( '.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', '' );
|
|
toolbar.$( '.delete-selected-button' ).addClass( 'hidden' );
|
|
children.not( '.spinner, .media-button' ).show();
|
|
this.controller.state().get( 'selection' ).reset();
|
|
}
|
|
}
|
|
});
|
|
|
|
module.exports = SelectModeToggle;
|