From 0f0db92b0dfce3788ee3fc1e09452e7cd4a4f4c7 Mon Sep 17 00:00:00 2001 From: Adam Silverstein Date: Sun, 3 Dec 2017 18:55:31 +0000 Subject: [PATCH] Docs: Improve JSDocs for cropper.js. Ammends r42352 - include the built media files. git-svn-id: https://develop.svn.wordpress.org/trunk@42353 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/js/media-views.js | 52 ++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/src/wp-includes/js/media-views.js b/src/wp-includes/js/media-views.js index b8d30c9c78..9dbdd5ecb2 100644 --- a/src/wp-includes/js/media-views.js +++ b/src/wp-includes/js/media-views.js @@ -2297,7 +2297,7 @@ var l10n = wp.media.view.l10n, /** * wp.media.controller.Cropper * - * A state for cropping an image. + * A class for cropping an image when called from the header media customization panel. * * @memberOf wp.media.controller * @@ -2319,16 +2319,43 @@ Cropper = wp.media.controller.State.extend(/** @lends wp.media.controller.Croppe doCropArgs: {} }, + /** + * @summary Opens the crop image window. + * + * Shows the crop image window when called from the Add new image button. + * + * @since 4.2.0 + * + * @returns {void} + */ activate: function() { this.frame.on( 'content:create:crop', this.createCropContent, this ); this.frame.on( 'close', this.removeCropper, this ); this.set('selection', new Backbone.Collection(this.frame._selection.single)); }, + /** + * @summary Changes the state of the toolbar window to browse mode. + * + * @since 4.2.0 + * + * @returns {void} + */ deactivate: function() { this.frame.toolbar.mode('browse'); }, + /** + * @summary Creates the crop image window. + * + * Initialized when clicking on the Select and Crop button. + * + * @since 4.2.0 + * + * @fires crop window + * + * @returns {void} + */ createCropContent: function() { this.cropperView = new wp.media.view.Cropper({ controller: this, @@ -2338,12 +2365,28 @@ Cropper = wp.media.controller.State.extend(/** @lends wp.media.controller.Croppe this.frame.content.set(this.cropperView); }, + + /** + * @summary Removes the image selection and closes the cropping window. + * + * @since 4.2.0 + * + * @returns {void} + */ removeCropper: function() { this.imgSelect.cancelSelection(); this.imgSelect.setOptions({remove: true}); this.imgSelect.update(); this.cropperView.remove(); }, + + /** + * @summary Checks if cropping can be skipped and creates crop toolbar accordingly. + * + * @since 4.2.0 + * + * @returns {void} + */ createCropToolbar: function() { var canSkipCrop, toolbarOptions; @@ -2399,6 +2442,13 @@ Cropper = wp.media.controller.State.extend(/** @lends wp.media.controller.Croppe this.frame.toolbar.set( new wp.media.view.Toolbar(toolbarOptions) ); }, + /** + * @summary Creates an object with the image attachment and crop properties. + * + * @since 4.2.0 + * + * @returns {$.promise} A jQuery promise with the custom header crop details. + */ doCrop: function( attachment ) { return wp.ajax.post( 'custom-header-crop', _.extend( {},