post-by-email.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. /* global jetpack_post_by_email:true, ajaxurl, pbeVars */
  2. (function($) {
  3. var $pbeDisable,
  4. $pbeEmail,
  5. $pbeEmailWrapper,
  6. $pbeEnable,
  7. $pbeError,
  8. $pbeInfo,
  9. $pbeRegenerate,
  10. $pbeSpinner;
  11. jetpack_post_by_email = {
  12. init: function () {
  13. $pbeEnable.click( jetpack_post_by_email.enable );
  14. $pbeRegenerate.click( jetpack_post_by_email.regenerate );
  15. $pbeDisable.click( jetpack_post_by_email.disable );
  16. },
  17. enable: function () {
  18. $pbeEnable.attr('disabled', 'disabled');
  19. $pbeError.fadeOut();
  20. $pbeSpinner.fadeIn();
  21. var data = {
  22. action: 'jetpack_post_by_email_enable',
  23. pbe_nonce: pbeVars.nonces.enable
  24. };
  25. $.post( ajaxurl, data, jetpack_post_by_email.handle_enabled );
  26. },
  27. handle_enabled: function( response ) {
  28. $pbeRegenerate.removeAttr( 'disabled' );
  29. $pbeDisable.removeAttr( 'disabled' );
  30. if ( response.success ) {
  31. $pbeEnable.fadeOut( 400, function() {
  32. $pbeEnable.removeAttr( 'disabled' );
  33. $pbeEmail.val( response.data );
  34. $pbeInfo.fadeIn();
  35. });
  36. } else {
  37. $pbeError.text( response.data );
  38. $pbeError.fadeIn();
  39. $pbeEnable.removeAttr( 'disabled' );
  40. }
  41. $pbeSpinner.fadeOut();
  42. },
  43. regenerate: function() {
  44. $pbeRegenerate.attr( 'disabled', 'disabled' );
  45. $pbeDisable.attr( 'disabled', 'disabled' );
  46. $pbeError.fadeOut();
  47. $pbeSpinner.fadeIn();
  48. var data = {
  49. action: 'jetpack_post_by_email_regenerate',
  50. pbe_nonce: pbeVars.nonces.regenerate
  51. };
  52. $.post( ajaxurl, data, jetpack_post_by_email.handle_regenerated );
  53. },
  54. handle_regenerated: function( response ) {
  55. if ( response.success ) {
  56. $pbeEmailWrapper.fadeOut( 400, function() {
  57. $pbeEmail.val( response.data );
  58. $pbeEmailWrapper.fadeIn();
  59. });
  60. } else {
  61. $pbeError.text( response.data );
  62. $pbeError.fadeIn();
  63. }
  64. $pbeRegenerate.removeAttr( 'disabled' );
  65. $pbeDisable.removeAttr( 'disabled' );
  66. $pbeSpinner.fadeOut();
  67. },
  68. disable: function () {
  69. $pbeRegenerate.attr( 'disabled', 'disabled' );
  70. $pbeDisable.attr( 'disabled', 'disabled' );
  71. $pbeError.fadeOut();
  72. $pbeSpinner.fadeIn();
  73. var data = {
  74. action: 'jetpack_post_by_email_disable',
  75. pbe_nonce: pbeVars.nonces.disable
  76. };
  77. $.post( ajaxurl, data, jetpack_post_by_email.handle_disabled );
  78. },
  79. handle_disabled: function( response ) {
  80. if ( response.success ) {
  81. $pbeEnable.removeAttr( 'disabled' );
  82. $pbeInfo.fadeOut( 400, function() {
  83. $pbeRegenerate.removeAttr( 'disabled' );
  84. $pbeDisable.removeAttr( 'disabled' );
  85. $pbeEnable.fadeIn();
  86. });
  87. } else {
  88. $pbeRegenerate.removeAttr( 'disabled' );
  89. $pbeDisable.removeAttr( 'disabled' );
  90. $pbeError.text( response.data );
  91. $pbeError.fadeIn();
  92. }
  93. $pbeSpinner.fadeOut();
  94. }
  95. };
  96. $( function() {
  97. $pbeDisable = $('#jp-pbe-disable');
  98. $pbeEmail = $('#jp-pbe-email');
  99. $pbeEmailWrapper = $('#jp-pbe-email-wrapper');
  100. $pbeEnable = $('#jp-pbe-enable');
  101. $pbeError = $('#jp-pbe-error');
  102. $pbeInfo = $('#jp-pbe-info');
  103. $pbeRegenerate = $('#jp-pbe-regenerate');
  104. $pbeSpinner = $('#jp-pbe-spinner');
  105. jetpack_post_by_email.init();
  106. } );
  107. })(jQuery);