forked from LiveCarta/LiveCartaWP
90 lines
2.5 KiB
JavaScript
90 lines
2.5 KiB
JavaScript
var transports = [];
|
|
|
|
jQuery(document).ready(
|
|
function($) {
|
|
|
|
// display password on entry
|
|
enablePasswordDisplayOnEntry('input_basic_auth_password',
|
|
'togglePasswordField');
|
|
|
|
// tabs
|
|
jQuery("#config_tabs").tabs( {
|
|
|
|
activate: function( event ,ui ) {
|
|
|
|
jQuery( ui.oldTab ).addClass( 'visited-config-ui-tab' );
|
|
|
|
}
|
|
|
|
} );
|
|
|
|
// on first viewing, determine whether to show password or
|
|
// oauth section
|
|
reloadOauthSection();
|
|
|
|
// add an event on the transport input field
|
|
// when the user changes the transport, determine whether
|
|
// to show or hide the SMTP Settings
|
|
jQuery('select#input_transport_type').change(function() {
|
|
hide('#wizard_oauth2_help');
|
|
reloadOauthSection();
|
|
switchBetweenPasswordAndOAuth();
|
|
});
|
|
|
|
// add an event on the authentication input field
|
|
// on user changing the auth type, determine whether to show
|
|
// password or oauth section
|
|
jQuery('select#input_auth_type').change(function() {
|
|
switchBetweenPasswordAndOAuth();
|
|
doneTyping();
|
|
});
|
|
|
|
// setup before functions
|
|
var typingTimer; // timer identifier
|
|
var doneTypingInterval = 250; // time in ms, 5 second for
|
|
// example
|
|
|
|
// add an event on the hostname input field
|
|
// on keyup, start the countdown
|
|
jQuery(post_smtp_localize.postman_hostname_element_name).keyup(function() {
|
|
clearTimeout(typingTimer);
|
|
if (jQuery(post_smtp_localize.postman_hostname_element_name).val) {
|
|
typingTimer = setTimeout(doneTyping, doneTypingInterval);
|
|
}
|
|
});
|
|
|
|
// user is "finished typing," do something
|
|
function doneTyping() {
|
|
if (jQuery(post_smtp_localize.postman_input_auth_type).val() == 'oauth2') {
|
|
reloadOauthSection();
|
|
}
|
|
}
|
|
});
|
|
|
|
function reloadOauthSection() {
|
|
var hostname = jQuery(post_smtp_localize.postman_hostname_element_name).val();
|
|
var transport = jQuery('#input_transport_type').val();
|
|
var authtype = jQuery('select#input_auth_type').val();
|
|
var security = jQuery('#security').val();
|
|
var data = {
|
|
'action' : 'manual_config',
|
|
'auth_type' : authtype,
|
|
'hostname' : hostname,
|
|
'transport' : transport,
|
|
'security' : security
|
|
};
|
|
jQuery.post(ajaxurl, data, function(response) {
|
|
if (response.success) {
|
|
handleConfigurationResponse(response);
|
|
}
|
|
}).fail(function(response) {
|
|
ajaxFailed(response);
|
|
});
|
|
}
|
|
function switchBetweenPasswordAndOAuth() {
|
|
var transportName = jQuery('select#input_transport_type').val();
|
|
transports.forEach(function(item) {
|
|
item.handleTransportChange(transportName);
|
|
});
|
|
}
|