/* global ajaxurl, contact_info_api_key_ajax_obj */ ( function ( $ ) { $( document ).on( 'change', '.jp-contact-info-showmap', function () { var $checkbox = $( this ), isChecked = $checkbox.is( ':checked' ); $checkbox.closest( '.widget' ).find( '.jp-contact-info-admin-map' ).toggle( isChecked ); } ); $( document ).on( 'widget-synced', function ( event, widgetContainer ) { // This event fires for all widgets, so restrict this to Contact Info widgets and the API key input. if ( ! widgetContainer.is( '[id*="widget_contact_info"]' ) || ! $( document.activeElement ).is( 'input[id*="apikey"]' ) ) { return; } event.preventDefault(); var $apikey_input = widgetContainer.find( 'input[id*="apikey"]' ); $.post( ajaxurl, { _ajax_nonce: contact_info_api_key_ajax_obj.nonce, action: 'customize-contact-info-api-key', apikey: $apikey_input.val(), }, function ( data ) { var $map_element = $apikey_input .closest( '.jp-contact-info-admin-map' ) .parent() .find( '.jp-contact-info-embed-map' ); var $warning_span = $map_element.find( '[class*="notice"]' ); if ( '1' !== data.result ) { if ( $warning_span.length === 0 ) { $map_element.append( '<span class="notice notice-warning" style="display: block;">' + data.result + '</span>' ); } else if ( $warning_span.text() !== data.result ) { $warning_span.text( data.result ); } } else { $map_element.empty(); } } ); } ); } )( window.jQuery );