| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- /* global jetpack_post_by_email:true, pbeVars */
- ( function ( $ ) {
- var $pbeDisable,
- $pbeEmail,
- $pbeEmailWrapper,
- $pbeEnable,
- $pbeError,
- $pbeInfo,
- $pbeRegenerate,
- $pbeSpinner;
- jetpack_post_by_email = {
- init: function () {
- $pbeEnable.click( jetpack_post_by_email.enable );
- $pbeRegenerate.click( jetpack_post_by_email.regenerate );
- $pbeDisable.click( jetpack_post_by_email.disable );
- },
- enable: function () {
- $pbeEnable.attr( 'disabled', 'disabled' );
- $pbeError.fadeOut();
- $pbeSpinner.fadeIn();
- jetpack_post_by_email.send_request(
- { post_by_email_address: 'create' },
- jetpack_post_by_email.handle_enabled
- );
- },
- handle_enabled: function ( response ) {
- $pbeRegenerate.removeAttr( 'disabled' );
- $pbeDisable.removeAttr( 'disabled' );
- if ( response.code === 'success' ) {
- $pbeEnable.fadeOut( 400, function () {
- $pbeEnable.removeAttr( 'disabled' );
- $pbeEmail.val( response.post_by_email_address );
- $pbeInfo.fadeIn();
- } );
- } else {
- $pbeError.text( jetpack_post_by_email.parse_error_message( response ) );
- $pbeError.fadeIn();
- $pbeEnable.removeAttr( 'disabled' );
- }
- $pbeSpinner.fadeOut();
- },
- regenerate: function () {
- jetpack_post_by_email.before_request();
- jetpack_post_by_email.send_request(
- { post_by_email_address: 'regenerate' },
- jetpack_post_by_email.handle_regenerated
- );
- },
- handle_regenerated: function ( response ) {
- if ( response.code === 'success' ) {
- $pbeEmailWrapper.fadeOut( 400, function () {
- $pbeEmail.val( response.post_by_email_address );
- $pbeEmailWrapper.fadeIn();
- } );
- } else {
- $pbeError.text( jetpack_post_by_email.parse_error_message( response ) );
- $pbeError.fadeIn();
- }
- $pbeRegenerate.removeAttr( 'disabled' );
- $pbeDisable.removeAttr( 'disabled' );
- $pbeSpinner.fadeOut();
- },
- disable: function () {
- jetpack_post_by_email.before_request();
- jetpack_post_by_email.send_request(
- { post_by_email_address: 'delete' },
- jetpack_post_by_email.handle_disabled
- );
- },
- handle_disabled: function ( response ) {
- if ( response.code === 'success' ) {
- $pbeEnable.removeAttr( 'disabled' );
- $pbeInfo.fadeOut( 400, function () {
- $pbeRegenerate.removeAttr( 'disabled' );
- $pbeDisable.removeAttr( 'disabled' );
- $pbeEnable.fadeIn();
- } );
- } else {
- $pbeRegenerate.removeAttr( 'disabled' );
- $pbeDisable.removeAttr( 'disabled' );
- $pbeError.text( jetpack_post_by_email.parse_error_message( response ) );
- $pbeError.fadeIn();
- }
- $pbeSpinner.fadeOut();
- },
- send_request: function ( data, callback ) {
- var request = new XMLHttpRequest();
- request.open( 'POST', '/wp-json/jetpack/v4/settings/' );
- request.setRequestHeader( 'Content-Type', 'application/json' );
- request.setRequestHeader( 'X-WP-Nonce', pbeVars.rest_nonce );
- request.onreadystatechange = function () {
- if ( this.readyState === XMLHttpRequest.DONE ) {
- callback( JSON.parse( this.response ) );
- }
- };
- request.send( JSON.stringify( data ) );
- },
- parse_error_message: function ( data ) {
- if ( data.message ) {
- return data.message.replace( /^.*?:/, '' );
- }
- return '';
- },
- before_request: function () {
- $pbeRegenerate.attr( 'disabled', 'disabled' );
- $pbeDisable.attr( 'disabled', 'disabled' );
- $pbeError.fadeOut();
- $pbeSpinner.fadeIn();
- },
- };
- $( function () {
- $pbeDisable = $( '#jp-pbe-disable' );
- $pbeEmail = $( '#jp-pbe-email' );
- $pbeEmailWrapper = $( '#jp-pbe-email-wrapper' );
- $pbeEnable = $( '#jp-pbe-enable' );
- $pbeError = $( '#jp-pbe-error' );
- $pbeInfo = $( '#jp-pbe-info' );
- $pbeRegenerate = $( '#jp-pbe-regenerate' );
- $pbeSpinner = $( '#jp-pbe-spinner' );
- jetpack_post_by_email.init();
- } );
- } )( jQuery );
|