jQuery(function() { var el_notice = jQuery( ".frash-notice" ), type = el_notice.find( "input[name=type]" ).val(), plugin_id = el_notice.find( "input[name=plugin_id]" ).val(), url_wp = el_notice.find( "input[name=url_wp]" ).val(), inp_email = el_notice.find( "input[name=EMAIL]" ), btn_act = el_notice.find( ".frash-notice-act" ), btn_dismiss = el_notice.find( ".frash-notice-dismiss" ), ajax_data = {}; ajax_data.plugin_id = plugin_id; ajax_data.type = type; function init_email() { if ( ! inp_email.length ) { return; } // Adjust the size of the email field to its contents. function adjust_email_size() { var width, tmp = jQuery( "" ); tmp.addClass( "input-field" ).text( inp_email.val() ); tmp.appendTo( "body" ); width = parseInt( tmp.width() ); tmp.remove(); inp_email.width( width + 34 ); } function email_keycheck( ev ) { if ( 13 === ev.keyCode ) { btn_act.click(); } else { adjust_email_size(); } } inp_email.keyup( email_keycheck ).focus().select(); adjust_email_size(); } // Display the notice after the page was loaded. function initialize() { el_notice.fadeIn( 500 ); init_email(); } // Hide the notice after a CTA button was clicked function remove_notice() { el_notice.fadeTo( 100 , 0, function() { el_notice.slideUp( 100, function() { el_notice.remove(); }); }); } // Open a tab to rate the plugin. function act_rate() { var url = url_wp.replace( /\/plugins\//, "/support/view/plugin-reviews/" ) + "?rate=5#postform", link = jQuery( 'Rate' ); link.appendTo( "body" ); link[0].click(); link.remove(); } // Submit the user to our email list. function act_email() { var form = inp_email.parent('form'); //Submit email to mailing list jQuery.ajax({ type: form.attr('method'), url: form.attr('action'), data: form.serialize(), cache: false, dataType: 'json', contentType: 'application/json; charset=utf-8', success: function (data) { console.log(data.msg); } }); } // Notify WordPress about the users choice and close the message. function notify_wordpress( action, message ) { el_notice.attr( "data-message", message ); el_notice.addClass( "loading" ); ajax_data.action = action; jQuery.post( window.ajaxurl, ajax_data, remove_notice ); } // Handle click on the primary CTA button. // Either open the wp.org page or submit the email address. btn_act.click(function( ev ) { ev.preventDefault(); //Do not submit form if the value is not set var email_inpt = btn_act.parent().find('input[type="email"]'); if( !email_inpt.length || !email_inpt.val() ) { return; } switch ( type ) { case 'rate': act_rate(); break; case 'email': act_email(); break; } notify_wordpress( "frash_act", btn_act.data( "msg" ) ); }); // Dismiss the notice without any action. btn_dismiss.click(function( ev ) { ev.preventDefault(); notify_wordpress( "frash_dismiss", btn_dismiss.data( "msg" ) ); }); window.setTimeout( initialize, 500 ); });