(function($){
$( function () {
var url = window.location.href,
tab_link = url.split( '#tab_' )[1],
premade_grid_cache = '',
et_bloom_all_optins_array = JSON.parse( bloom_settings.all_optins_list ),
et_bloom_stats_data = {};
//Set the current tab to home by default
if ( typeof tab_link === 'undefined' ) {
window.et_dashboard_set_current_tab( 'et_dashboard_tab_content_header_home', 'header' );
$( '#et_dashboard_wrapper' ).addClass( 'et_dashboard_hidden_nav' );
} else {
var link_to_highlight = $( '#toplevel_page_et_bloom_options' ).find('a[href$="#tab_' + tab_link + '"]');
window.et_dashboard_set_current_tab( tab_link, 'header' );
$( '#toplevel_page_et_bloom_options ul li' ).removeClass( 'current' );
if ( link_to_highlight.length ) {
link_to_highlight.parent().addClass( 'current' );
} else {
$( '#toplevel_page_et_bloom_options .wp-first-item' ).addClass( 'current' );
}
if ( 'et_dashboard_tab_content_header_stats' === tab_link ) {
refresh_stats_tab( false );
}
}
// Add et_dashboard_hidden_nav if no menu present on admin page load
if ($('#et_dashboard_navigation.et_dashboard_visible_nav').length < 1) {
$('#et_dashboard_wrapper').addClass('et_dashboard_hidden_nav');
}
// initiate the stats data updating
if ( et_bloom_all_optins_array.length > 0 ) {
update_stats_data( et_bloom_all_optins_array[0] );
}
$( 'body' ).on( 'change', '.et_dashboard_select_provider select', function() {
// hide/show "Success Action" option depending on selected provider. Custom HTML doesn't support "Success Action".
if ( 'custom_html' === $( this ).val() ) {
$( '.et_dashboard_tab_content_side_success_action, .et_dashboard_next_success_action' ).addClass( 'et_bloom_hidden_tab' );
} else {
$( '.et_dashboard_tab_content_side_success_action, .et_dashboard_next_success_action' ).removeClass( 'et_bloom_hidden_tab' );
}
});
// redirect to correct page after OAuth
if ( -1 !== url.indexOf( '&code=' ) ) {
var oauth_redirect_cookie = wpCookies.get( 'et_bloom_redirect_after_oauth' );
if ( oauth_redirect_cookie ) {
wpCookies.remove( 'et_bloom_redirect_after_oauth' );
// redirect to accounts tab by default
window.et_dashboard_set_current_tab( 'et_dashboard_tab_content_header_accounts', 'header' );
}
}
/** Handle clicks in the WP navigation menu:
* 1) Open appropriate tab in dashboard
* 2) Highlight an appropriate link in the WP menu
*/
$( 'body' ).on( 'click', '#toplevel_page_et_bloom_options li a', function() {
var $this_link = $( this );
var full_link = $this_link.attr( 'href' );
var tab_link = full_link.split( '#tab_' )[1];
if ( full_link.indexOf( 'et_support_center' ) > -1 ) {
return true;
} else if ( typeof tab_link !== 'undefined' ) {
window.et_dashboard_set_current_tab( tab_link, 'header' );
if ( 'et_dashboard_tab_content_header_stats' === tab_link ) {
refresh_stats_tab( false );
}
} else {
window.et_dashboard_set_current_tab( 'et_dashboard_tab_content_header_home', 'header' );
$( '#et_dashboard_wrapper' ).addClass( 'et_dashboard_hidden_nav' );
}
$( '#toplevel_page_et_bloom_options ul li' ).removeClass( 'current' );
$this_link.parent().addClass( 'current' );
return false;
});
if ( 'et_dashboard_tab_content_header_home' === tab_link || 'et_dashboard_tab_content_header_importexport' === tab_link || 'et_dashboard_tab_content_header_accounts' === tab_link || 'et_dashboard_tab_content_header_stats' === tab_link ) {
$( '#et_dashboard_wrapper' ).addClass( 'et_dashboard_hidden_nav' );
}
$( 'body' ).on( 'click', '#et_dashboard_header ul li a', function() {
var tab_link = $( this) .attr( 'href' ).split( '#tab_' )[1],
link_to_highlight = $( '#toplevel_page_et_bloom_options' ).find('a[href$="#tab_' + tab_link + '"]');
$( '#et_dashboard_wrapper' ).addClass( 'et_dashboard_hidden_nav' );
//Highlight appropriate menu link in WP menu
$( '#toplevel_page_et_bloom_options ul li' ).removeClass( 'current' );
if ( link_to_highlight.length ) {
link_to_highlight.parent().addClass( 'current' );
} else {
$( '#toplevel_page_et_bloom_options .wp-first-item' ).addClass( 'current' );
}
});
$( 'body' ).on( 'click', '#et_dashboard_tab_content_header_home', function() {
reset_home_tab();
});
$( 'body' ).on( 'click', '.et_dashboard_save_changes button', function() {
var $provider = $( '.et_dashboard_select_provider select' ).val(),
$list = $( '.et_dashboard_select_list select' ).val();
if ( 'empty' == $provider || ( 'custom_html' !== $provider && 'empty' == $list ) ) {
window.et_dashboard_generate_warning( bloom_settings.no_account_text, '#tab_et_dashboard_tab_content_optin_setup', bloom_settings.add_account_button, bloom_settings.save_inactive_button, '#', 'et_bloom_save_inactive' );
} else {
bloom_dashboard_save( $( this ) );
}
return false;
});
$( 'body' ).on( 'click', '.et_bloom_save_inactive', function() {
$( '#et_dashboard_optin_status' ).val( 'inactive' );
bloom_dashboard_save( $( '.et_dashboard_save_changes button' ) );
$( '.et_dashboard_warning' ).remove();
return false;
});
$( 'body' ).on( 'click', '.et_dashboard_next_design button', function() {
window.et_dashboard_set_current_tab( 'et_dashboard_tab_content_optin_design', 'side' );
$( 'html, body' ).animate( { scrollTop : 0 }, 400 );
return false;
});
$( 'body' ).on( 'click', '.et_bloom_open_premade', function() {
window.et_dashboard_set_current_tab( 'et_dashboard_tab_content_optin_premade', 'side' );
$( '#et_dashboard_tab_content_optin_design' ).addClass( 'current' );
if ( '' == premade_grid_cache ) {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_generate_premade_grid',
bloom_premade_nonce : bloom_settings.bloom_premade_nonce
},
beforeSend: function( data ) {
$( '.et_bloom_premade_spinner' ).addClass( 'et_dashboard_spinner_visible' );
},
success: function( data ) {
premade_grid_cache = data;
$( '.et_bloom_premade_grid' ).replaceWith( premade_grid_cache );
}
});
} else {
$( '.et_bloom_premade_grid' ).replaceWith( premade_grid_cache );
}
});
$( 'body' ).on( 'click', '.et_dashboard_next_customize button', function() {
$( '.et_dashboard_next_design button' ).removeClass( 'et_bloom_open_premade' );
$( '.et_dashboard_tab_content_side_design a' ).removeClass( 'et_bloom_open_premade' );
var selected_layout = JSON.stringify({ 'id' : $( this ).data( 'selected_layout' ) });
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
dataType: 'json',
data: {
action : 'bloom_get_premade_values',
bloom_premade_nonce : bloom_settings.bloom_premade_nonce,
premade_data_array : selected_layout
},
success: function( data ) {
if ( $.isPlainObject( data ) ) {
$( data ).each( function( i, val ) {
$.each( val, function( optin_name, optin_value ) {
switch( optin_name ) {
case 'et_dashboard_optin_title' :
case 'et_dashboard_optin_message' :
case 'et_dashboard_footer_text' :
case 'et_dashboard_success_text' :
$( '.' + optin_name ).text( optin_value );
break;
case 'et_dashboard_border_orientation' :
case 'et_dashboard_image_orientation' :
case 'et_dashboard_image_orientation_widget' :
case 'et_dashboard_header_font' :
case 'et_dashboard_body_font' :
case 'et_dashboard_text_color' :
case 'et_dashboard_corner_style' :
case 'et_dashboard_form_orientation' :
case 'et_dashboard_name_fields' :
case 'et_dashboard_field_orientation' :
case 'et_dashboard_field_corners' :
case 'et_dashboard_form_text_color' :
case 'et_dashboard_field_button_text_color' :
$( '.' + optin_name + ' select' ).val( optin_value );
if ( 'no_image' != optin_value && 'et_dashboard_image_orientation' == optin_name ) {
$( '.et_dashboard_upload_image' ).parent().parent().removeClass( 'et_dashboard_hidden_option' );
}
if ( 'no_border' != optin_value && 'et_dashboard_border_orientation' == optin_name ) {
$( '.et_dashboard_border_color' ).removeClass( 'et_dashboard_hidden_option' );
$( '.et_dashboard_border_style' ).removeClass( 'et_dashboard_hidden_option' );
}
if ( 'no_name' != optin_value && 'et_dashboard_name_fields' == optin_name ) {
$( '.et_dashboard_name_checkbox input' ).prop( 'checked', true );
if ( $( '.et_dashboard_name_checkbox' ).hasClass( 'et_dashboard_visible_option' ) || ( 'single_name' == optin_value ) ) {
$( '.et_dashboard_name_text_single' ).parent().removeClass( 'et_dashboard_hidden_option' );
}
if ( 'first_last_name' == optin_value ) {
$( '.et_dashboard_last_name_text' ).parent().removeClass( 'et_dashboard_hidden_option' );
$( '.et_dashboard_name_text' ).parent().removeClass( 'et_dashboard_hidden_option' );
}
}
break;
case 'et_dashboard_name_text' :
case 'et_dashboard_last_name_text' :
case 'et_dashboard_email_text' :
case 'et_dashboard_button_text' :
$( '.' + optin_name ).val( optin_value );
break;
case 'et_dashboard_upload_image' :
$( '.' + optin_name ).find( '.et-dashboard-upload-field' ).val( optin_value );
et_dashboard_generate_preview_image( $( '.' + optin_name ).find( '.et-dashboard-upload-field' ).siblings( '.et-dashboard-upload-button' ) );
break;
case 'et_dashboard_optin_bg' :
case 'et_dashboard_form_bg_color' :
case 'et_dashboard_form_button_color' :
case 'et_dashboard_border_color' :
$( '.' + optin_name ).find( '.et-dashboard-color-picker' ).wpColorPicker( 'color', optin_value );
break;
case 'et_dashboard_border_style' :
case 'et_dashboard_optin_edge' :
var tabs = $( '.' + optin_name ).find( 'div.et_dashboard_single_selectable' ),
inputs = $( '.' + optin_name ).find( 'input' );
tabs.removeClass( 'et_dashboard_selected' );
inputs.prop( 'checked', false );
var selected = tabs.find( 'input[value="' + optin_value + '"]' );
selected.parent().toggleClass( 'et_dashboard_selected' );
selected.prop( 'checked', true );
break;
}
});
});
}
window.et_dashboard_set_current_tab( 'et_dashboard_tab_content_optin_design', 'side' );
$( 'html, body' ).animate( { scrollTop : 0 }, 400 );
}
});
return false;
});
$( 'body' ).on( 'click', '.et_dashboard_next_display button', function() {
window.et_dashboard_set_current_tab( 'et_dashboard_tab_content_optin_display', 'side' );
$( 'html, body' ).animate( { scrollTop : 0 }, 400 );
return false;
});
$( 'body' ).on( 'click', '.et_dashboard_next_success_action button', function() {
window.et_dashboard_set_current_tab( 'et_dashboard_tab_content_optin_success_action', 'side' );
$( 'html, body' ).animate( { scrollTop : 0 }, 400 );
return false;
});
$( 'body' ).on( 'click', '.et_dashboard_new_optin button', function() {
$( '.et_dashboard_optin_select' ).addClass( 'et_dashboard_visible' );
$( this ).addClass( 'clicked_button' );
});
$( 'body' ).on( 'click', '.et_dashboard_optin_add', function() {
$( '.et_dashboard_new_optin button' ).addClass( 'et_bloom_loading' );
reset_options( $( this ), '', true, false, '' );
});
$( 'body' ).on( 'click', '.et_dashboard_new_account_row button', function() {
window.et_dashboard_set_current_tab( 'et_dashboard_tab_content_header_edit_account', 'header' );
display_edit_account_tab( false, '', '' );
});
$( 'body' ).on( 'click', '.et_dashboard_icon_edit_account', function() {
var this_el = $( this );
window.et_dashboard_set_current_tab( 'et_dashboard_tab_content_header_edit_account', 'header' );
display_edit_account_tab( true, this_el.data( 'service' ), this_el.data( 'account_name' ) );
});
$( 'body' ).on( 'click', '.et_dashboard_icon_edit', function() {
var $this_el = $( this ),
optin_id = $this_el.parent().parent().data( 'optin_id' ),
parent_id = typeof $this_el.data( 'parent_id' ) !== 'undefined' ? $this_el.data( 'parent_id' ) : '',
is_child = '' != parent_id ? true : false;
$this_el.find( '.spinner' ).addClass( 'et_dashboard_spinner_visible' );
reset_options( $this_el, optin_id, false, is_child, parent_id );
});
$( 'body' ).on( 'click', '.et_dashboard_icon_delete:not(.clicked_button)', function() {
var this_el = $( this );
$( '.et_dashboard_icon_delete' ).removeClass( 'clicked_button' );
this_el.addClass( 'clicked_button' );
$( '.et_dashboard_confirmation' ).hide();
this_el.find( '.et_dashboard_confirmation' ).fadeToggle();
});
$( 'body' ).on( 'click', '.et_bloom_clear_stats', function() {
var this_el = $( this );
this_el.parent().find( '.et_dashboard_confirmation' ).fadeToggle();
});
$( 'body' ).on( 'click', '.et_dashboard_confirm_stats', function() {
$( this ).parent().hide();
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_clear_stats',
bloom_stats_nonce : bloom_settings.bloom_stats,
},
beforeSend: function( data ){
$( '.et_bloom_clear_stats' ).addClass( 'et_bloom_loading' );
},
success: function( data ){
$( '.et_bloom_clear_stats' ).removeClass( 'et_bloom_loading' );
refresh_stats_tab( true );
}
});
});
$( 'body' ).on( 'click', '.et_bloom_refresh_stats', function() {
var $this = $(this),
button_width = $this.width();
$this.width( button_width ).addClass( 'et_bloom_loading' );
refresh_stats_tab( true );
});
$( 'body' ).on( 'click', '.et_dashboard_confirm_delete', function() {
var this_el = $( this ),
optin_id = this_el.data( 'optin_id' ),
need_refresh = false,
table_row = this_el.parent().parent().parent().parent(),
parent_id = typeof this_el.data( 'parent_id' ) !== 'undefined' ? this_el.data( 'parent_id' ) : '',
is_account = true == this_el.data( 'remove_account' ) ? true : false,
service = table_row.data( 'service' );
//if we're about to remove the last item in table, then we need to refresh page after removal.
if ( 1 === table_row.parent().find( '.et_dashboard_optins_item.et_dashboard_parent_item' ).length || true === is_account || '' != parent_id ) {
need_refresh = true;
} else {
table_row.remove();
}
remove_optin( optin_id, need_refresh, is_account, service, parent_id );
});
$( 'body' ).on( 'click', '.et_dashboard_cancel_delete', function() {
$( this ).parent().hide();
$( this ).parent().parent().removeClass( 'clicked_button' );
});
$( 'body' ).on( 'click', '.et_dashboard_optin_select .et_dashboard_close_button', function() {
var this_select = $( this ).parent();
this_select.removeClass( 'et_dashboard_visible' ).addClass( 'et_dashboard_hidden' );
this_select.parent().find( '.clicked_button').removeClass( 'clicked_button' );
});
$( 'body' ).on( 'click', '.clicked_button', function() {
return false;
});
$( 'body' ).on( 'click', '.et_dashboard_icon_duplicate:not(.clicked_button)', function() {
var this_el = $( this ),
parent = this_el.parent().parent();
$( '.et_dashboard_icon_duplicate' ).removeClass( 'clicked_button' );
this_el.addClass( 'clicked_button' );
var select_type_box = '
' + bloom_settings.optin_type_title + '
fly in
below post
inline
locked content
widget
';
$( '.et_dashboard_optins_item .et_dashboard_optin_select' ).remove();
parent.append( select_type_box );
setTimeout( function() {
$( '.et_dashboard_optins_item .et_dashboard_optin_select').addClass( 'et_dashboard_visible' );
}, 100 );
});
$( 'body' ).on( 'click', '.et_dashboard_optins_item .et_dashboard_optin_select .et_dashboard_close_button', function() {
setTimeout( function() {
$( '.et_dashboard_optins_item .et_dashboard_optin_select' ).remove();
}, 800 );
$( '.et_dashboard_icon_duplicate' ).removeClass( 'clicked_button' );
});
$( 'body' ).on( 'click', '.et_dashboard_optin_duplicate', function() {
var this_el = $( this ),
form_id = this_el.parent().data( 'optin_id' ),
form_type = this_el.data( 'type' );
$( '.et_dashboard_optin_select' ).removeClass( 'et_dashboard_visible' ).addClass( 'et_dashboard_hidden' );
$( '.clicked_button').removeClass( 'clicked_button' );
duplicate_optin( form_id, form_type );
});
$( 'body' ).on( 'click', '.et_dashboard_toggle_status', function() {
var this_el = $( this ),
optin_id = this_el.parent().parent().data( 'optin_id' ),
new_status = this_el.data( 'toggle_to' );
if ( this_el.hasClass( 'et_bloom_no_account' ) && 'active' == new_status ) {
window.et_dashboard_generate_warning( bloom_settings.cannot_activate_text, '#', '', '', '', '' );
} else {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_toggle_optin_status',
toggle_status_nonce : bloom_settings.toggle_status,
status_optin_id : optin_id,
status_new : new_status
},
beforeSend: function() {
this_el.find( '.spinner' ).addClass( 'et_dashboard_spinner_visible' );
},
success: function( data ){
reset_home_tab();
}
});
}
});
$( 'body' ).on( 'click', '.et_dashboard_icon_shortcode, .et_dashboard_next_shortcode button', function() {
var this_el = $( this ),
optin_id = typeof this_el.data( 'optin_id' ) !== 'undefined' ? this_el.data( 'optin_id' ) : this_el.parent().parent().data( 'optin_id' ),
message_text = '',
shortcode_text = '',
shortcode_type = this_el.data( 'type' );
if ( 'locked' == shortcode_type ) {
shortcode_text = '[et_bloom_locked optin_id="' + optin_id + '"] content [/et_bloom_locked]
';
} else {
shortcode_text = '[et_bloom_inline optin_id="' + optin_id + '"]
';
}
message_text = '' + bloom_settings.shortcode_text + shortcode_text + '
';
window.et_dashboard_generate_warning( message_text, '#', '', '', '', '' );
return false;
});
//disable links on side nav to avoid confusion during page refresh
$( 'body' ).on( 'click', '.et_dashboard_optin_nav', function(){
return false;
} );
$( 'body' ).on( 'change', '.et_dashboard_select_account select', function() {
var this_el = $( this );
service = this_el.data( 'service' ),
account_name = this_el.val();
if ( 'add_new' == account_name ) {
display_actual_accounts( service, true, '' );
} else {
if ( 'empty' != account_name ) {
display_actual_lists( account_name, service );
}
}
});
$( 'body' ).on( 'change', '.et_dashboard_select_provider select', function() {
var selected_provider = $( '.et_dashboard_select_provider select' ).val(),
selected_account = 'empty';
if ( 'empty' == selected_provider || 'custom_html' == selected_provider ) {
$( '.et_dashboard_select_account' ).css( { 'display' : 'none' } );
} else {
display_actual_accounts( selected_provider, false, '' );
selected_account = $( '.et_dashboard_select_account select' ).val();
}
});
$( 'body' ).on( 'click', '.et_dashboard_new_account .authorize_service', function(){
$( '.account_settings_fields' ).addClass( 'et_visible_settings' );
$( this ).text( 'Authorize' );
$( this ).addClass('clicked_button');
return false;
});
$( 'body' ).on( 'click', '.authorize_service.clicked_button, .authorize_service.new_account_tab, .et_dashboard_icon_update_lists', function(){
var $this_el = $( this ),
on_form = $this_el.hasClass( 'new_account_tab' ) ? false : true,
account_name = typeof $this_el.data( 'account_name' ) !== 'undefined' ? $this_el.data( 'account_name' ) : '',
account_exists = $this_el.text() === bloom_settings.reauthorize_text;
authorize_network( $this_el.data( 'service' ), $this_el.parent(), on_form, account_name, account_exists );
});
$( 'body' ).on( 'change', '.et_dashboard_select_provider_new select', function() {
var selected = $( this ).val();
var new_tab;
if ( 'aweber' === selected ) {
// Open a new tab without URL so that it isn't blocked by popup blocker (we'll update the URL after AJAX call)
new_tab = window.open('');
}
display_new_account_form( selected, new_tab );
});
$( 'body' ).on( 'click', '.save_account_tab', function() {
var fields_container = $( '.et_dashboard_new_account_fields' );
if ( ! fields_container.hasClass( 'et_dashboard_edit_account_fields' ) ) {
reset_accounts_tab();
}
window.et_dashboard_set_current_tab( 'et_dashboard_tab_content_header_accounts', 'header' );
return false;
});
$( 'body' ).on( 'click', '.et_pb_save_updates_settings', function() {
var $form_container = $( this ).closest( '.et_dashboard_form' ),
username = $form_container.find( '#et_bloom_updates_username' ).val(),
api_key = $form_container.find( '#et_bloom_updates_api_key' ).val();
save_updates_tab( username, api_key, $form_container.find( '.spinner' ) );
} );
$('body').on( 'click', '.et_pb_save_google_settings', function() {
var $form_container = $(this).closest('.et_dashboard_form');
var google_fonts_val = $form_container.find('#et_use_google_fonts').prop('checked') ? 'on' : 'off';
save_google_tab(google_fonts_val, $form_container.find('.spinner'));
} );
$( 'body' ).on( 'click', '.et_dashboard_icon_abtest:not(.active_child_optins)', function(){
var table_row = $( this ).parent().parent();
$( 'ul.et_dashboard_temp_row' ).remove();
$( '.et_dashboard_icon_abtest' ).removeClass( 'clicked_button' );
$( this ).addClass( 'clicked_button' );
table_row.append('');
});
$( 'body' ).on( 'click', '.et_dashboard_add_var_button', function(){
var optin_id = $( this ).parent().parent().parent().data( 'optin_id' );
add_variant( optin_id );
return false;
});
$( 'body' ).on( 'click', '.child_buttons_right a', function(){
var button = $( this ),
parent_id = button.data( 'parent_id' ),
action = '';
if ( button.hasClass( 'et_dashboard_pause_test' ) ) {
button.removeClass( 'et_dashboard_pause_test' );
action = 'pause';
} else if ( button.hasClass( 'et_dashboard_start_test' ) ) {
button.addClass( 'et_dashboard_pause_test' );
action = 'start';
} else {
action = 'end';
}
ab_test_controls( parent_id, action, button );
return false;
});
//stats graph
$( 'ul.et_bloom_graph' ).each( function() {
resize ( $( this ) );
});
$( 'body' ).on( 'mouseenter', '.et_bloom_graph .et_bloom_graph_bar', function(){
var $this_el = $( this ),
value = $this_el.attr( 'value' );
$( '' + value + '
' ).appendTo( $this_el );
}).on( 'mouseleave', '.et_bloom_graph .et_bloom_graph_bar', function(){
$( this ).find( 'div.et_bloom_tooltip' ).remove();
});
$( 'body' ).on( 'click', '.et_bloom_graph_button', function(){
var this_el = $( this ),
period = this_el.data( 'period' ),
list_id = $( '.et_bloom_graph_select_list' ).val();
if ( ! this_el.hasClass( 'et_bloom_active_button' ) ) {
$( '.et_bloom_graph_button' ).removeClass( 'et_bloom_active_button' );
this_el.addClass( 'et_bloom_active_button' );
switch_graph( period, list_id, true );
}
return false;
});
$( 'body' ).on( 'change', '.et_bloom_graph_select_list', function(){
var this_el = $( this ),
period = $( 'a.et_bloom_graph_button.et_bloom_active_button' ).data( 'period' ),
list_id = this_el.val();
switch_graph( period, list_id, false );
});
$( 'body' ).on( 'click', '.et_dashboard_sort_button:not(.active_sorting)', function(){
var this_el = $( this ),
orderby = this_el.data( 'order_by' ),
table = this_el.parent().data( 'table' );
if ( 'lists' == table ) {
$table_class = '.et_dashboard_lists_stats .et_dashboard_table_contents';
}
if ( 'optins' == table ) {
$table_class = '.et_dashboard_optins_all_table .et_dashboard_table_contents';
}
refresh_stats_table( $table_class, orderby, table );
this_el.parent().find( '.et_dashboard_sort_button' ).removeClass( 'active_sorting' );
this_el.addClass( 'active_sorting' );
});
$( 'body' ).on( 'click', 'a#et_dashboard_tab_content_header_stats:not(.current)', function(){
refresh_stats_tab( false );
});
$( 'body' ).on( 'click', '.end_test_table .et_dashboard_content_row', function(){
var this_el = $( this ),
winner_id = this_el.data( 'optin_id' ),
parent_id = this_el.parent().data( 'parent_id' ),
optins_set = this_el.parent().data( 'optins_set' );
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_pick_winner_optin',
remove_option_nonce : bloom_settings.remove_option,
winner_id : winner_id,
optins_set : optins_set,
parent_id : parent_id
},
success: function( data ){
reset_home_tab();
$( '.et_dashboard_end_test' ).remove();
}
});
});
$( 'body' ).on( 'click', '.display_on_section .display_on_checkboxes_everything label', function() {
check_display_options( $( this ).parent(), false );
});
$( 'body' ).on( 'click', '.et_bloom_premade_item', function() {
var this_item = $( this );
$( '.et_bloom_premade_item' ).removeClass( 'et_bloom_layout_selected' );
this_item.addClass( 'et_bloom_layout_selected' );
$( '.et_dashboard_next_customize button' ).data( 'selected_layout', this_item.data( 'layout' ) );
});
$( 'body' ).on( 'click', '.et_dashboard_preview button', function() {
if ( ! $( this ).hasClass( 'bloom_preview_opened' ) ) {
tinyMCE.triggerSave();
var options_fromform = $( '.et_bloom #et_dashboard_options' ).serialize();
$( this ).addClass( 'bloom_preview_opened' );
$.ajax({
type: 'POST',
url: dashboardSettings.ajaxurl,
dataType: 'json',
data: {
action : 'bloom_display_preview',
preview_options : options_fromform,
bloom_preview_nonce : bloom_settings.preview_nonce
},
success: function( data ){
var $head = $( 'head' );
$( '#wpwrap' ).append( data.popup_code );
define_popup_position( $( '.et_bloom_preview_popup' ), true );
display_image( $('.et_bloom_preview_popup') );
$head.append( data.popup_css );
$( data.fonts ).each( function( i, font_name ) {
var font_name_converted = font_name.replace(/ /g,'+');
if ( $head.find( 'link#' + font_name_converted ).length ) return;
$head.append( '' );
});
$( 'body' ).addClass( 'et_bloom_popup_active' );
$( '.et_bloom_custom_html_form input[type="radio"], .et_bloom_custom_html_form input[type="checkbox"]' ).uniform();
}
});
}
return false;
} );
$( 'body' ).on( 'click', '.et_bloom_preview_popup .et_bloom_close_button', function() {
$( this ).parent().parent().remove();
$( '#et_bloom_preview_css' ).remove();
$( '.et_dashboard_preview button' ).removeClass( 'bloom_preview_opened' );
$( 'body' ).removeClass( 'et_bloom_popup_active' );
});
$( 'body' ).on( 'click', '.et_bloom_preview_popup .et_bloom_submit_subscription', function() {
return false;
});
function display_image( $popup ) {
setTimeout( function() {
$popup.find( '.et_bloom_image' ).addClass( 'et_bloom_visible_image' );
}, 500 );
}
function resize( $current_ul ) {
var bar_array = '';
var bar_array = $( $current_ul ).find( 'li > div' ).map( function() {
return $( this ).attr( 'value' );
}).get();
var bar_height = Math.max.apply( Math, bar_array );
$( $current_ul ).find( 'li > div' ).each( function() {
set_bar_height( $( this ), bar_height );
});
}
function set_bar_height( $element, $bar_height ) {
var value = $( $element ).attr( 'value' );
var li_height = value / $bar_height * 375;
$( $element ).animate({ height: li_height }, 700);
}
function switch_graph( $period, $list_id, $period_changed ) {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_get_stats_graph_ajax',
bloom_stats_nonce : bloom_settings.bloom_stats,
bloom_list : $list_id,
bloom_period : $period
},
success: function( data ){
if ( true === $period_changed ) {
$( '.et_dashboard_lists_stats_graph_container' ).replaceWith( function() {
return $( data ).hide().fadeIn();
} );
} else {
$( '.et_dashboard_lists_stats_graph_container' ).replaceWith( data );
}
$( 'ul.et_bloom_graph' ).each( function() {
resize ( $( this ) );
});
}
});
}
function refresh_stats_table( $id, $orderby, $table ) {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_refresh_optins_stats_table',
bloom_stats_nonce : bloom_settings.bloom_stats,
bloom_orderby : $orderby,
bloom_stats_table : $table
},
success: function( data ){
$( $id ).replaceWith( data );
}
});
}
function refresh_stats_tab( $force_upd ) {
if ( ! $( '.et_dashboard_stats_ready' ).length || true == $force_upd ) {
//make sure that graphs start loading from the 0 height to avoid weird jumping of bars
$( '.et_dashboard_lists_stats_graph_container ul li div' ).css( 'height', '0px' );
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_reset_stats',
bloom_stats_nonce : bloom_settings.bloom_stats,
bloom_force_upd_stats : $force_upd
},
beforeSend: function( data ){
if ( ! $force_upd ) {
$( '.et_bloom_stats_spinner' ).addClass( 'et_dashboard_spinner_visible' );
}
},
success: function( data ){
if ( ! $force_upd ) {
$( '.et_bloom_stats_spinner' ).removeClass( 'et_dashboard_spinner_visible' );
}
$( '.et_dashboard_stats_contents' ).replaceWith( data );
$( 'ul.et_bloom_graph' ).each( function() {
resize ( $( this ) );
});
$( '.et_bloom_refresh_stats' ).removeClass( 'et_bloom_loading' );
}
});
} else {
$( '.et_dashboard_lists_stats_graph_container ul li div' ).css( 'height', '0px' );
$( 'ul.et_bloom_graph' ).each( function() {
resize ( $( this ) );
});
}
}
/**
* Restore all jQuery events after dashboard regeneration
*/
function restore_events() {
if ( $( '.et-dashboard-upload-button' ).length ) {
var upload_button = $( '.et-dashboard-upload-button' );
et_dashboard_image_upload( upload_button );
upload_button.siblings( '.et-dashboard-upload-field' ).on( 'input', function() {
et_dashboard_generate_preview_image( $( this ).siblings( '.et-dashboard-upload-button' ) );
$(this).siblings( '.et-dashboard-upload-id' ).val('');
} );
upload_button.siblings( '.et-dashboard-upload-field' ).each( function() {
et_dashboard_generate_preview_image( $( this ).siblings( '.et-dashboard-upload-button' ) );
} );
}
$( '.et-dashboard-color-picker' ).wpColorPicker();
if ( $( '.et_dashboard_conditional' ).length ) {
$( '.et_dashboard_conditional' ).each( function() {
window.et_dashboard_check_conditional_options( $( this ), true );
});
}
//restore email services selections
var selected_provider = $( '.et_dashboard_select_provider select' ).val(),
selected_account = 'empty';
if ( 'empty' == selected_provider || 'custom_html' == selected_provider ) {
$( '.et_dashboard_select_account' ).css( { 'display' : 'none' } );
} else {
display_actual_accounts( selected_provider, false, '' );
selected_account = $( '.et_dashboard_select_account select' ).val();
}
$( '.et_dashboard_select_list' ).css( { 'display' : 'none' } );
if ( 'empty' !== selected_account && 'add_new' !== selected_account && ! ( 'empty' == selected_provider || 'custom_html' == selected_provider ) ) {
display_actual_lists( selected_account, selected_provider );
}
check_display_options( $( '.display_on_checkboxes_everything' ), true );
//fix the removing of tinymce editors in FireFox
window.et_dashboard_tinymce_wrapper({
mode : 'specific_textareas',
editor_selector : 'et_dashboard_optin_title',
menubar : false,
plugins: "textcolor",
forced_root_block : "h2",
toolbar: [
"forecolor | bold italic | alignleft aligncenter alignright"
]
});
window.et_dashboard_tinymce_wrapper({
mode : 'specific_textareas',
editor_selector : 'et_dashboard_optin_message',
menubar : false,
plugins: "textcolor autolink link",
toolbar: [
"forecolor | bold italic | alignleft aligncenter alignright | link"
]
});
window.et_dashboard_tinymce_wrapper( {
mode: 'specific_textareas',
editor_selector: 'et_dashboard_footer_text',
menubar: false,
plugins: "textcolor autolink link",
toolbar: [
"forecolor | bold italic | alignleft aligncenter alignright | link"
]
} );
}
function reset_options( $this_el, $form_id, $new_form, $is_child, $parent_id ) {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'reset_options_page',
reset_options_nonce : bloom_settings.reset_options,
reset_optin_id : $form_id
},
success: function( data ){
$( '#et_dashboard_wrapper_outer' ).replaceWith(data.data.dashboard_html);
open_optin_settings( $this_el, $new_form, $is_child, $parent_id );
window.et_bloom_custom_field_definitions = data.data.custom_field_definitions;
window.et_bloom_setting_values = data.data.setting_values;
window.et_bloom_predefined_custom_fields = data.data.predefined_custom_fields;
et_bloom_custom_field_manager_init();
if ( true == $new_form ) {
$( '.et_dashboard_next_design button' ).addClass( 'et_bloom_open_premade' );
$( '.et_dashboard_tab_content_side_design a' ).addClass( 'et_bloom_open_premade' );
}
}
});
}
function reset_home_tab() {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_home_tab_tables',
home_tab_nonce : bloom_settings.home_tab,
},
success: function( data ){
$( '.et_dashboard_home_tab_content' ).replaceWith( data );
// update stats numbers once we reload the home tab
update_stats_numbers();
try {
tinymce.remove();
} catch (e) {}
}
});
}
function update_stats_data( optin_id ) {
$.ajax({
type: 'POST',
dataType: 'json',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_get_optin_stats',
bloom_stats_nonce : bloom_settings.bloom_stats,
bloom_stats_optin : optin_id,
bloom_stats_last_record : bloom_settings.last_record_date
},
success: function( data ) {
if ( data ) {
et_bloom_all_optins_array.splice( et_bloom_all_optins_array.indexOf( optin_id ), 1 );
// fail silently if no data received
if ( ! data ) {
return;
}
// initiate request for another optin in a queue
if ( et_bloom_all_optins_array.length > 0 ) {
update_stats_data( et_bloom_all_optins_array[0] );
}
// cache the retrieved data
et_bloom_stats_data[ optin_id ] = data;
// update stats numbers in table
update_stats_numbers();
// update stats number in "Pick Winner" modal
update_split_test_numbers();
}
}
});
}
function get_compact_number( full_number ) {
var processedNumber = parseInt( full_number );
if ( processedNumber >= 1000000 ) {
processedNumber = Math.floor( processedNumber / 100000 ) / 10;
processedNumber += 'Mil';
} else if ( processedNumber > 1000 ) {
processedNumber = Math.floor( processedNumber / 100 ) / 10;
processedNumber += 'k';
}
return processedNumber;
}
function update_split_test_numbers( $add_spinner ) {
var $test_table = $( '.end_test_table' );
if ( 0 === $test_table.length ) {
return;
}
var $all_test_rows = $test_table.find( '.et_dashboard_content_row' );
// check whether the conversion rate was updated for the test optins. Display spinner if not
$all_test_rows.each( function() {
var $this_row = $( this );
var optin_id = $this_row.data( 'optin_id' );
// calculate the rate if stats data already exists
if ( typeof et_bloom_stats_data[ optin_id ] !== 'undefined' ) {
var rate = 0;
if ( et_bloom_stats_data[ optin_id ].imp > 0 ) {
var rate = Math.round( ( ( et_bloom_stats_data[ optin_id ].con * 100 ) / et_bloom_stats_data[ optin_id ].imp ) * 10 ) / 10;
}
$this_row.find( '.et_test_conversion' ).text( rate + '%' );
} else if ( $add_spinner ) {
$this_row.find( '.et_test_conversion' ).html( '' );
}
});
}
function update_stats_numbers() {
if ( 0 === et_bloom_stats_data.length ) {
return;
}
// go through the stats data in et_bloom_stats_data and update appropriate rows in the table
$.each( et_bloom_stats_data, function( optin_id, data ) {
var $optin_row = $( '.et_dashboard_optins_item[data-optin_id="' + optin_id + '"]');
var $parent_table = $optin_row.closest( '.et_dashboard_optins_list' );
var $bottom_row = $parent_table.find( '.et_dashboard_optins_item_bottom_row' );
$optin_row.find( '>.et_dashboard_table_impressions' ).text( data.imp ).addClass( 'et_dashboard_refreshed' );
$optin_row.find( '>.et_dashboard_table_conversions' ).text( data.con ).addClass( 'et_dashboard_refreshed' );
$optin_row.find( '>.et_dashboard_table_rate' ).text( data.rate + '%' ).addClass( 'et_dashboard_refreshed' );
if ( 0 === $bottom_row.length ) {
return;
}
// calculate totals for main table and update them as well
var $all_rows = $parent_table.find( '.et_dashboard_optins_item' );
var total_imp = 0;
var total_con = 0;
var total_rate = 0;
$all_rows.each( function() {
var $current_row = $( this );
var $impression_fields = $current_row.find( '.et_dashboard_table_impressions' );
var $conversion_fields = $current_row.find( '.et_dashboard_table_conversions' );
//row may contain child items, need to check all of them to get the correct number
$impression_fields.each( function() {
total_imp += parseFloat( $( this ).text() );
});
$conversion_fields.each( function() {
total_con += parseFloat( $( this ).text() );
});
});
if ( 0 < total_imp ) {
total_rate = Math.round( ( ( total_con * 100 ) / total_imp ) * 10 ) / 10;
}
$bottom_row.find( '.et_dashboard_table_impressions' ).text( get_compact_number( total_imp ) );
$bottom_row.find( '.et_dashboard_table_conversions' ).text( get_compact_number( total_con ) );
$bottom_row.find( '.et_dashboard_table_rate' ).text( total_rate + '%' );
} );
}
function reset_accounts_tab() {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_reset_accounts_table',
accounts_tab_nonce : bloom_settings.accounts_tab,
},
success: function( data ){
$( '.et_dashboard_accounts_content' ).replaceWith( data );
}
});
}
function remove_optin( $form_id, $need_refresh, $is_account, $service, $parent_id ) {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_remove_optin',
remove_option_nonce : bloom_settings.remove_option,
remove_optin_id : $form_id,
is_account : $is_account,
service : $service,
parent_id : $parent_id
},
success: function( data ){
if ( true === $need_refresh ) {
if ( true === $is_account ) {
reset_accounts_tab();
} else {
reset_home_tab();
}
}
}
});
}
function duplicate_optin( $form_id, $form_type ) {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_duplicate_optin',
duplicate_option_nonce : bloom_settings.duplicate_option,
duplicate_optin_id : $form_id,
duplicate_optin_type : $form_type
},
beforeSend: function() {
$( '.duplicate_id_' + $form_id ).find( '.spinner' ).addClass( 'et_dashboard_spinner_visible' );
},
success: function( data ){
reset_home_tab();
}
});
}
function open_optin_settings( $this_el, $new_form, $is_child, $parent_id ) {
restore_events();
if ( true === $new_form ) {
$( '#et_dashboard_optin_type' ).val( $this_el.data( 'type' ) );
$( '#et_dashboard_optin_status' ).val( 'active' );
$type = $this_el.data( 'type' );
if ( 'flyin' == $type ) {
$( '.et_dashboard_field_orientation select' ).val( 'stacked' );
$( '.et_bloom_load_in_animation select' ).val( 'slideup' );
}
} else {
$type = $( '#et_dashboard_optin_type' ).val();
}
$( '#et_dashboard_wrapper' ).addClass( 'et_dashboard_visible_nav' );
$( '#et_dashboard_options' ).removeAttr( 'class' ).addClass( 'current_optin_type_' + $type );
$( '#et_dashboard_navigation > ul' ).removeAttr( 'class' ).addClass( 'nav_current_optin_type_' + $type );
$( '#et_dashboard_navigation' ).removeAttr( 'class' ).addClass( 'current_optin_type_' + $type );
$( '#et_dashboard_wrapper' ).removeClass( 'et_dashboard_edit_child' );
if ( 'locked' == $type || 'inline' == $type ) {
$( '.et_dashboard_next_shortcode button' ).data( 'type', $type );
$( '.et_dashboard_next_shortcode button' ).data( 'optin_id', $( '.et_dashboard_save_changes button' ).data( 'subtitle' ) );
}
if ( true === $is_child ) {
$( '#et_dashboard_child_of' ).val( $parent_id );
$( '#et_dashboard_wrapper' ).addClass( 'et_dashboard_edit_child' );
}
window.et_dashboard_set_current_tab( 'et_dashboard_tab_content_optin_setup', 'side' );
// hide "Success Action" option if Custom HTML selected as provider
if ( 0 !== $( '.et_dashboard_select_provider select' ).length && 'custom_html' === $( '.et_dashboard_select_provider select' ).val() ) {
$( '.et_dashboard_tab_content_side_success_action, .et_dashboard_next_success_action' ).addClass( 'et_bloom_hidden_tab' );
}
}
function clear_account_confirmation() {
$( '.et_dashboard_confirmation_add_account' ).remove();
$( '.et_dashboard_account_new.clicked_button' ).removeClass( 'clicked_button' );
}
function authorize_network( $service, $container, $on_form, $account_name, $account_exists ) {
var key_field = $( $container ).find( '#api_key_' + $service ),
token_field = $( $container ).find( '#token_' + $service ),
username_field = $( $container ).find( '#username_' + $service ),
client_field = $( $container ).find( '#client_id_' + $service ),
organization_field = $( $container ).find( '#organization_id_' + $service ),
login_url = $( $container ).find( '#login_url_' + $service ),
password_field = $( $container ).find( '#password_' + $service ),
account_name = $( $container ).find( '#name_' + $service ),
account_name_val = '' === $account_name ? $( $container ).find( '#name_' + $service ).val() : $account_name,
$provider_fields = $( $container ).find( '.provider_field_' + $service ),
provider_fields_invalid = false,
authorization_from_optin = 0 !== $( '.current_tab_et_dashboard_tab_content_optin_setup' ).length;
$( $container ).find( 'input' ).css( { 'border' : 'none' } );
$provider_fields.each(function(){
var $field = $(this);
if ( $field.hasClass( 'et_dashboard_not_required' ) ) {
return true;
}
if ( '' === $field.val() ) {
$field.css( { 'border' : '1px solid red' } );
provider_fields_invalid = true;
} else {
$field.css( { 'border' : '' } );
}
});
if ( provider_fields_invalid || ( key_field.length && '' == key_field.val() ) || ( token_field.length && '' == token_field.val() ) || ( username_field.length && '' == username_field.val() ) || ( client_field.length && '' == client_field.val() ) || ( password_field.length && '' == password_field.val() ) || ( account_name.length && '' == account_name_val ) ) {
if ( '' == key_field.val() ) {
key_field.css( { 'border' : '1px solid red' } );
}
if ( '' == token_field.val() ) {
token_field.css( { 'border' : '1px solid red' } );
}
if ( '' == username_field.val() ) {
username_field.css( { 'border' : '1px solid red' } );
}
if ( '' == client_field.val() ) {
client_field.css( { 'border' : '1px solid red' } );
}
if ( '' == password_field.val() ) {
password_field.css( { 'border' : '1px solid red' } );
}
if ( '' == account_name_val ) {
account_name.css( { 'border' : '1px solid red' } );
}
} else {
var ajax_data = {
action : 'bloom_authorize_account',
get_lists_nonce : bloom_settings.get_lists,
bloom_api_key : key_field.val(),
bloom_upd_service : $service,
bloom_upd_name : account_name_val,
bloom_constant_token : token_field.val(),
bloom_username : username_field.val(),
bloom_client_id : client_field.val(),
bloom_password : password_field.val(),
bloom_organization_id : organization_field.val(),
bloom_login_url : login_url.val(),
bloom_account_exists : $account_exists
};
$provider_fields.each(function(){
var $field = $(this);
ajax_data[ $field.attr('id') ] = $field.val();
});
$.ajax({
type: 'POST',
dataType: 'json',
url: bloom_settings.ajaxurl,
data: ajax_data,
beforeSend: function( data ) {
$( $container ).find( 'span.spinner' ).addClass( 'et_dashboard_spinner_visible' );
},
success: function( data ) {
if ( typeof data !== 'undefined' && typeof data.redirect_url !== 'undefined' ) {
// redirect to authorization URL to finish OAuth 2 authorization
// save current optin if authorization initiated from optin editing screen
if ( $( '.current_tab_et_dashboard_tab_content_optin_setup' ).length ) {
bloom_dashboard_save( $( '.et_dashboard_save_changes button' ), 'silent', data.redirect_url );
var redirect_to_optin = $( '.et_dashboard_save_changes button' ).data( 'subtitle' );
wpCookies.set( 'et_bloom_redirect_after_oauth', redirect_to_optin );
return;
}
wpCookies.set( 'et_bloom_redirect_after_oauth', 'true' );
window.location.href = data.redirect_url;
return;
}
$( $container ).find( 'span.spinner' ).removeClass( 'et_dashboard_spinner_visible' );
if ( 'success' === data || '' === data || typeof data.message !== 'undefined' ) {
reset_accounts_tab();
if ( true === $on_form ) {
hide_account_form( account_name_val );
} else {
$( '.et_dashboard_select_provider_new select' ).prop( 'disabled', true ).addClass( 'et_dashboard_disabled_input' );
account_name.prop( 'disabled', true ).addClass( 'et_dashboard_disabled_input' );
$( '.authorize_service.new_account_tab' ).text( bloom_settings.reauthorize_text );
append_lists( $service, account_name_val );
}
// do not output success messages when authorizing from optin settings
if ( typeof data.message !== 'undefined' && ! authorization_from_optin ) {
window.et_dashboard_generate_warning( data.message, '#', '', '', '', '' );
}
if ( typeof data.next_action !== 'undefined' ) {
// run the function if need to
et_bloom_finish_authorization_action( data.next_action, data.service, data.name );
}
} else {
window.et_dashboard_generate_warning( data, '#', '', '', '', '' );
}
}
});
}
return false;
}
function et_bloom_finish_authorization_action( action_name, service, name ) {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : action_name,
get_lists_nonce : bloom_settings.get_lists,
bloom_service : service,
bloom_name : name
}
});
}
function append_lists( $service, $name ){
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_generate_current_lists',
accounts_tab_nonce : bloom_settings.accounts_tab,
bloom_service : $service,
bloom_upd_name : $name
},
success: function( data ){
$( '.et_dashboard_new_account_lists' ).remove();
$( '.et_dashboard_new_account_fields' ).after( function() {
return $( data ).hide().fadeIn();
} );
}
});
}
function hide_account_form( $account_name ) {
$account_fields = $( '.account_settings_fields.et_visible_settings' );
$account_fields.removeClass( 'et_visible_settings' );
setTimeout( function() {
display_actual_accounts( $account_fields.data( 'service' ), false, $account_name );
}, 100 );
}
function display_actual_accounts( $service, $new_account, $set_to ) {
var optin_id = $( '.et_dashboard_save_changes button' ).data( 'subtitle' ),
new_account = true == $new_account ? true : '';
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_generate_accounts_list',
retrieve_lists_nonce : bloom_settings.retrieve_lists,
bloom_service : $service,
bloom_optin_id : optin_id,
bloom_add_account : new_account
},
success: function( data ){
$( 'li.et_dashboard_select_account' ).replaceWith( function() {
return $( data ).hide().fadeIn();
} );
$( 'li.et_dashboard_select_list' ).hide();
if ( '' !== $set_to ) {
$( 'li.et_dashboard_select_account select' ).val( $set_to );
}
if ( $( 'li.et_dashboard_select_account select' ).length && 'empty' !== $( 'li.et_dashboard_select_account select' ).val() && 'add_new' !== $( 'li.et_dashboard_select_account select' ).val() ){
display_actual_lists( $( 'li.et_dashboard_select_account select' ).val(), $service );
}
}
});
}
function display_actual_lists( $account_name, $service ) {
var optin_id = $( '.et_dashboard_save_changes button' ).data( 'subtitle' );
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_generate_mailing_lists',
retrieve_lists_nonce : bloom_settings.retrieve_lists,
bloom_account_name : $account_name,
bloom_service : $service,
bloom_optin_id : optin_id
},
success: function( data ){
$( 'li.et_dashboard_select_list' ).replaceWith( function() {
return $( data ).hide().fadeIn();
} );
}
});
}
function display_new_account_form( service, new_tab ) {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_generate_new_account_fields',
accounts_tab_nonce : bloom_settings.accounts_tab,
bloom_service : service
},
success: function( data ){
$( 'ul.et_dashboard_new_account_fields' ).replaceWith( function() {
return $( data ).hide().fadeIn();
} );
$( '.account_settings_fields' ).addClass( 'et_visible_settings' );
if ( 'aweber' === service ) {
new_tab.location = 'https://auth.aweber.com/1.0/oauth/authorize_app/e233dabd';
}
}
});
}
function display_edit_account_tab( $edit_account, $service, $name ) {
$( '#et_dashboard_edit_account_tab' ).css( { 'display' : 'none' } );
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_generate_edit_account_page',
accounts_tab_nonce : bloom_settings.accounts_tab,
bloom_service : $service,
bloom_edit_account : $edit_account,
bloom_account_name : $name
},
success: function( data ){
$( '#et_dashboard_edit_account_tab' ).replaceWith( function() {
return $( data ).hide().fadeIn();
} );
}
});
}
function save_updates_tab( username, api_key, $spinner ) {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_save_updates_tab',
updates_tab_nonce : bloom_settings.updates_tab,
et_bloom_updates_username : username,
et_bloom_updates_api_key : api_key
},
beforeSend: function() {
$spinner.addClass( 'et_dashboard_spinner_visible' );
},
success: function( data ){
$spinner.removeClass( 'et_dashboard_spinner_visible' );
}
});
}
function save_google_tab(use_fonts_value, $spinner) {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_save_google_tab',
google_tab_nonce : bloom_settings.google_tab,
et_bloom_use_google_fonts : use_fonts_value
},
beforeSend: function() {
$spinner.addClass('et_dashboard_spinner_visible');
},
success: function(data) {
$spinner.removeClass('et_dashboard_spinner_visible');
window.location.reload();
}
});
}
function add_variant( $form_id ) {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_add_variant',
duplicate_option_nonce : bloom_settings.duplicate_option,
duplicate_optin_id : $form_id
},
success: function( data ){
reset_options( '', data, false, true, $form_id );
}
});
}
function ab_test_controls( $parent_id, $action, $button ) {
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'bloom_ab_test_actions',
ab_test_nonce : bloom_settings.ab_test,
parent_id : $parent_id,
test_action : $action
},
success: function( data ){
if ( 'start' == $action ) {
$button.text( bloom_settings.ab_test_pause_text );
}
if ( 'pause' == $action ) {
$button.text( bloom_settings.ab_test_start_text );
}
if ( 'end' == $action ) {
$( '#wpwrap' ).append( data );
update_split_test_numbers( true );
}
}
});
}
function check_display_options( current_li, is_load ) {
if ( ( current_li.find( 'input' ).prop( 'checked' ) && false == is_load ) || ( true != current_li.find( 'input' ).prop( 'checked' ) && true == is_load ) ) {
current_li.siblings().removeClass( 'et_bloom_hidden_option' );
$( '.categories_include_section' ).removeClass( 'et_bloom_hidden_option' );
} else {
current_li.siblings().addClass( 'et_bloom_hidden_option' );
$( '.categories_include_section' ).addClass( 'et_bloom_hidden_option' );
}
}
function bloom_dashboard_save( $button, silent_save, redirect_to ) {
tinyMCE.triggerSave();
var options_fromform = $( '.' + dashboardSettings.plugin_class + ' #et_dashboard_options' ).serialize();
$spinner = $button.parent().find( '.spinner' );
$options_subtitle = $button.data( 'subtitle' );
$.ajax({
type: 'POST',
url: bloom_settings.ajaxurl,
data: {
action : 'et_bloom_save_settings',
options : options_fromform,
options_sub_title : $options_subtitle,
save_settings_nonce : bloom_settings.save_settings
},
beforeSend: function ( xhr ) {
$spinner.addClass( 'et_dashboard_spinner_visible' );
},
success: function( data ) {
$spinner.removeClass( 'et_dashboard_spinner_visible' );
// display no warnings in case of silent save
if ( 'silent' === silent_save ) {
if ( 'undefined' !== typeof redirect_to ) {
window.location.href = redirect_to;
}
return;
}
window.et_dashboard_display_warning( data );
window.et_dashboard_set_current_tab( 'et_dashboard_tab_content_header_home', 'header' );
$( '#et_dashboard_wrapper' ).removeClass( 'et_dashboard_visible_nav' );
reset_home_tab();
}
});
}
function define_popup_position( $this_popup, $just_loaded ) {
setTimeout( function() {
var this_popup = $this_popup.find( '.et_bloom_form_container' ),
popup_max_height = this_popup.hasClass( 'et_bloom_popup_container' ) ? $( window ).height() - 40 : $( window ).height() - 20,
real_popup_height = 0,
percentage = this_popup.parent().hasClass( 'et_bloom_flyin' ) ? 0.03 : 0.05,
percentage = this_popup.hasClass( 'et_bloom_with_border' ) ? percentage + 0.03 : percentage,
breakout_offset = this_popup.hasClass( 'breakout_edge' ) ? 0.95 : 1,
dashed_offset = this_popup.hasClass( 'et_bloom_border_dashed' ) ? 4 : 0,
form_height = this_popup.find( 'form' ).innerHeight(),
form_add = true == $just_loaded ? 5 : 0;
if ( this_popup.find( '.et_bloom_form_header' ).hasClass('split' ) ) {
var image_height = this_popup.find( '.et_bloom_form_header img' ).innerHeight(),
text_height = this_popup.find( '.et_bloom_form_header .et_bloom_form_text' ).innerHeight(),
header_height = image_height < text_height ? text_height + 30 : image_height + 30;
} else {
var header_height = this_popup.find( '.et_bloom_form_header img' ).innerHeight() + this_popup.find( '.et_bloom_form_header .et_bloom_form_text' ).innerHeight() + 30;
}
this_popup.css( { 'max-height' : popup_max_height + 'px' } );
if ( this_popup.hasClass( 'et_bloom_popup_container' ) ) {
var top_position = $( window ).height() / 2 - this_popup.innerHeight() / 2;
this_popup.css( { 'top' : top_position + 'px' } );
}
this_popup.find( '.et_bloom_form_container_wrapper' ).css( { 'max-height' : ( popup_max_height - 20 ) + 'px' } );
if ( ( 768 > $( 'body' ).outerWidth() + 15 ) || this_popup.hasClass( 'et_bloom_form_bottom' ) ) {
if ( this_popup.hasClass( 'et_bloom_form_right' ) || this_popup.hasClass( 'et_bloom_form_left' ) ) {
this_popup.find( '.et_bloom_form_header' ).css( { 'height' : 'auto' } );
}
real_popup_height = this_popup.find( '.et_bloom_form_container_wrapper' ).height() + 30 + form_add;
if ( this_popup.hasClass( 'et_bloom_form_right' ) || this_popup.hasClass( 'et_bloom_form_left' ) ) {
this_popup.find( '.et_bloom_form_container_wrapper' ).css( { 'height' : ( real_popup_height - 30 + dashed_offset ) + 'px' } );
}
} else {
real_popup_height = this_popup.find( '.et_bloom_form_container_wrapper' ).height();
if ( this_popup.hasClass( 'et_bloom_form_right' ) || this_popup.hasClass( 'et_bloom_form_left' ) ) {
this_popup.find( '.et_bloom_form_header' ).css( { 'height' : ( real_popup_height * breakout_offset - dashed_offset ) + 'px' } );
this_popup.find( '.et_bloom_form_content' ).css( { 'min-height' : ( real_popup_height - dashed_offset ) + 'px' } );
this_popup.find( '.et_bloom_form_container_wrapper' ).css( { 'height' : real_popup_height + 'px' } );
}
}
if ( real_popup_height > popup_max_height ) {
this_popup.find( '.et_bloom_form_container_wrapper' ).addClass( 'et_bloom_vertical_scroll' );
} else {
this_popup.find( '.et_bloom_form_container_wrapper' ).removeClass( 'et_bloom_vertical_scroll' );
}
if ( $this_popup.hasClass( 'et_bloom_popup' ) ) {
$( 'body' ).addClass( 'et_bloom_popup_active' );
}
}, 100 );
}
$( window ).on( 'scroll', function(){
if( $( this ).scrollTop() > 200 ) {
$( '.et_dashboard_preview' ).addClass( 'et_dashboard_fixed' );
} else {
$( '.et_dashboard_preview' ).removeClass( 'et_dashboard_fixed' );
}
});
$( window ).on( 'resize', function () {
if ( $( '.et_bloom_preview_popup' ).length ) {
define_popup_position( $( '.et_bloom_preview_popup' ), false );
}
} );
});
})(jQuery)