WordPress/wp-includes/js/media/controllers/edit-image.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

79 lines
2.0 KiB
JavaScript

/*globals wp */
/**
* wp.media.controller.EditImage
*
* A state for editing (cropping, etc.) an image.
*
* @class
* @augments wp.media.controller.State
* @augments Backbone.Model
*
* @param {object} attributes The attributes hash passed to the state.
* @param {wp.media.model.Attachment} attributes.model The attachment.
* @param {string} [attributes.id=edit-image] Unique identifier.
* @param {string} [attributes.title=Edit Image] Title for the state. Displays in the media menu and the frame's title region.
* @param {string} [attributes.content=edit-image] Initial mode for the content region.
* @param {string} [attributes.toolbar=edit-image] Initial mode for the toolbar region.
* @param {string} [attributes.menu=false] Initial mode for the menu region.
* @param {string} [attributes.url] Unused. @todo Consider removal.
*/
var State = require( './state.js' ),
ToolbarView = require( '../views/toolbar.js' ),
l10n = wp.media.view.l10n,
EditImage;
EditImage = State.extend({
defaults: {
id: 'edit-image',
title: l10n.editImage,
menu: false,
toolbar: 'edit-image',
content: 'edit-image',
url: ''
},
/**
* @since 3.9.0
*/
activate: function() {
this.listenTo( this.frame, 'toolbar:render:edit-image', this.toolbar );
},
/**
* @since 3.9.0
*/
deactivate: function() {
this.stopListening( this.frame );
},
/**
* @since 3.9.0
*/
toolbar: function() {
var frame = this.frame,
lastState = frame.lastState(),
previous = lastState && lastState.id;
frame.toolbar.set( new ToolbarView({
controller: frame,
items: {
back: {
style: 'primary',
text: l10n.back,
priority: 20,
click: function() {
if ( previous ) {
frame.setState( previous );
} else {
frame.close();
}
}
}
}
}) );
}
});
module.exports = EditImage;