Changeset 2172941
- Timestamp:
- 10/14/2019 01:57:43 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
wp-mail-gateway/assets/js/main.js
r2172910 r2172941 1 1 2 (function () { 2 3 var configFieldsDiv = jQuery("#config_fields"); … … 14 15 var active_provider = null; 15 16 GATEWAY_PROVIDERS.forEach(function (provider) { 16 if ( $("#config_fields_" + provider).css('display') === "block") {17 if (("#config_fields_" + provider).css('display') === "block") { 17 18 active_provider = provider; 18 19 } … … 36 37 */ 37 38 function getFormFieldValueByProvider(provider, key) { 38 var selector = $("#" + provider + "_" + key);39 var selector = ("#" + provider + "_" + key); 39 40 if(key === "active"){ 40 41 return selector.prop('checked'); … … 207 208 208 209 getSavedConfigs(); 209 })(); 210 })();||||||| .r0 211 ======= 212 (function () { 213 var configFieldsDiv = jQuery("#config_fields"); 214 215 const GATEWAY_PROVIDERS = ["amazon_ses", "mailgun", "mailjet", "mandrill", "postmark", "sendgrid", "sendinblue"]; 216 const GATEWAY_PROVIDERS_NAME = {"amazon_ses": "Amazon SES", "mailgun": "Mailgun", "mailjet": "MailJet", "mandrill": "Mandrill", "postmark": "Postmark", "sendgrid": "Sendgrid", "sendinblue": "SendinBlue"}; 217 const CONFIG_FORM_ID = "wmg_provider_config_form"; 218 219 /** 220 * Get Active config form 221 * 222 * @returns {*} 223 */ 224 function getActiveConfigProviderForm() { 225 var active_provider = null; 226 GATEWAY_PROVIDERS.forEach(function (provider) { 227 if ($("#config_fields_" + provider).css('display') === "block") { 228 active_provider = provider; 229 } 230 }); 231 232 return active_provider; 233 } 234 235 function showProviderConfiguration(provider) { 236 jQuery("#config_fields_" + provider).show(); 237 jQuery("#instructions_for_" + provider).show(); 238 jQuery("#emailGatewayProvider").val(provider); 239 } 240 241 /** 242 * Get provider specific field's value 243 * 244 * @param provider 245 * @param key 246 * @returns {jQuery} 247 */ 248 function getFormFieldValueByProvider(provider, key) { 249 var selector = $("#" + provider + "_" + key); 250 if(key === "active"){ 251 return selector.prop('checked'); 252 } 253 254 return selector.val(); 255 } 256 257 //Hide all form specific fields at init 258 jQuery("document").ready(function () { 259 GATEWAY_PROVIDERS.forEach(function (provider) { 260 jQuery("#config_fields_" + provider).hide(); 261 jQuery("#instructions_for_" + provider).hide(); 262 }); 263 }); 264 265 //On select gateway provider, display that form 266 jQuery("#wmg_provider_config_form select[name=gateway_provider]").on("change", function (e) { 267 var selectedProvider = jQuery(this).val(); 268 jQuery("#config_fields_" + selectedProvider).show(); 269 jQuery("#instructions_for_" + selectedProvider).show(); 270 271 GATEWAY_PROVIDERS.forEach(function (provider) { 272 if (provider !== selectedProvider) { 273 jQuery("#config_fields_" + provider).hide(); 274 jQuery("#instructions_for_" + provider).hide(); 275 } 276 }); 277 }); 278 279 jQuery("#wmg_provider_config_form").on("submit", function (e) { 280 e.preventDefault(); 281 var configured_provider = getActiveConfigProviderForm(); 282 283 var configs = {}; 284 285 if (configured_provider === "amazon_ses") { 286 configs['provider'] = configured_provider; 287 configs[configs['provider'] + '_from_name'] = getFormFieldValueByProvider("amazon_ses", "from_name"); 288 configs[configs['provider'] + '_from_email'] = getFormFieldValueByProvider("amazon_ses", "from_email"); 289 configs[configs['provider'] + '_access_key'] = getFormFieldValueByProvider("amazon_ses", "access_key"); 290 configs[configs['provider'] + '_secret_key'] = getFormFieldValueByProvider("amazon_ses", "secret_key"); 291 configs[configs['provider'] + '_verify_peer'] = getFormFieldValueByProvider("amazon_ses", "verify_peer"); 292 configs[configs['provider'] + '_verify_host'] = getFormFieldValueByProvider("amazon_ses", "verify_host"); 293 configs[configs['provider'] + '_region'] = getFormFieldValueByProvider("amazon_ses", "region"); 294 configs[configs['provider'] + '_active'] = getFormFieldValueByProvider("amazon_ses", "active"); 295 }else if (configured_provider === "mailgun") { 296 configs['provider'] = configured_provider; 297 configs[configs['provider'] + '_from_name'] = getFormFieldValueByProvider("mailgun", "from_name"); 298 configs[configs['provider'] + '_from_email'] = getFormFieldValueByProvider("mailgun", "from_email"); 299 configs[configs['provider'] + '_api_key'] = getFormFieldValueByProvider("mailgun", "api_key"); 300 configs[configs['provider'] + '_domain'] = getFormFieldValueByProvider("mailgun", "domain"); 301 configs[configs['provider'] + '_active'] = getFormFieldValueByProvider("mailgun", "active"); 302 }else if (configured_provider === "mailjet") { 303 configs['provider'] = configured_provider; 304 configs[configs['provider'] + '_from_name'] = getFormFieldValueByProvider("mailjet", "from_name"); 305 configs[configs['provider'] + '_from_email'] = getFormFieldValueByProvider("mailjet", "from_email"); 306 configs[configs['provider'] + '_api_key'] = getFormFieldValueByProvider("mailjet", "api_key"); 307 configs[configs['provider'] + '_api_secret'] = getFormFieldValueByProvider("mailjet", "api_secret"); 308 configs[configs['provider'] + '_active'] = getFormFieldValueByProvider("mailjet", "active"); 309 }else if (configured_provider === "mandrill") { 310 configs['provider'] = configured_provider; 311 configs[configs['provider'] + '_from_name'] = getFormFieldValueByProvider("mandrill", "from_name"); 312 configs[configs['provider'] + '_from_email'] = getFormFieldValueByProvider("mandrill", "from_email"); 313 configs[configs['provider'] + '_api_key'] = getFormFieldValueByProvider("mandrill", "api_key"); 314 configs[configs['provider'] + '_active'] = getFormFieldValueByProvider("mandrill", "active"); 315 }else if (configured_provider === "postmark") { 316 configs['provider'] = configured_provider; 317 configs[configs['provider'] + '_from_name'] = getFormFieldValueByProvider("postmark", "from_name"); 318 configs[configs['provider'] + '_from_email'] = getFormFieldValueByProvider("postmark", "from_email"); 319 configs[configs['provider'] + '_api_token'] = getFormFieldValueByProvider("postmark", "api_token"); 320 configs[configs['provider'] + '_active'] = getFormFieldValueByProvider("postmark", "active"); 321 }else if (configured_provider === "sendgrid") { 322 configs['provider'] = configured_provider; 323 configs[configs['provider'] + '_from_name'] = getFormFieldValueByProvider("sendgrid", "from_name"); 324 configs[configs['provider'] + '_from_email'] = getFormFieldValueByProvider("sendgrid", "from_email"); 325 configs[configs['provider'] + '_api_key'] = getFormFieldValueByProvider("sendgrid", "api_key"); 326 configs[configs['provider'] + '_active'] = getFormFieldValueByProvider("sendgrid", "active"); 327 }else if (configured_provider === "sendinblue") { 328 configs['provider'] = configured_provider; 329 configs[configs['provider'] + '_from_name'] = getFormFieldValueByProvider("sendinblue", "from_name"); 330 configs[configs['provider'] + '_from_email'] = getFormFieldValueByProvider("sendinblue", "from_email"); 331 configs[configs['provider'] + '_access_key'] = getFormFieldValueByProvider("sendinblue", "access_key"); 332 configs[configs['provider'] + '_active'] = getFormFieldValueByProvider("sendinblue", "active"); 333 } 334 335 //Post config data to backend via Ajax 336 var data = { 337 'action': 'wmg_save_provider_config', 338 'configs': JSON.stringify(configs) 339 }; 340 341 // We can also pass the url value separately from ajaxurl for front end AJAX implementations 342 jQuery.post(ajaxurl, data, function (response) { 343 //console.log(response); 344 if(response.hasOwnProperty("data") && response.data.hasOwnProperty("success") && response.data.success === true){ 345 Swal.fire( 346 'Great!', 347 'Configuration has been updated!', 348 'success' 349 ) 350 } 351 }); 352 353 //console.log(configs); 354 }); 355 356 jQuery("#wmg_test_provider_configuration").on("submit", function (e) { 357 e.preventDefault(); 358 var formData = {}; 359 formData.to = jQuery("#test_configuration_to").val(); 360 formData.subject = jQuery("#test_configuration_subject").val(); 361 formData.content = jQuery("#test_configuration_content").val(); 362 363 var data = { 364 'action': 'wmg_test_provider_config_send_mail', 365 'configs': JSON.stringify(formData) 366 }; 367 368 // We can also pass the url value separately from ajaxurl for front end AJAX implementations 369 jQuery.post(ajaxurl, data, function (response) { 370 //console.log(response); 371 if(response.hasOwnProperty("data") && response.data.hasOwnProperty("success") && response.data.success === true){ 372 if(response.data.mail_sent === true){ 373 Swal.fire( 374 'Great!', 375 'Email has been sent successfully. So your configurations are correct!', 376 'success' 377 ) 378 }else{ 379 Swal.fire( 380 'Oops!', 381 'Email couldn\'t be sent. Please check your configuration again.', 382 'error' 383 ) 384 } 385 } 386 }); 387 }); 388 389 function getSavedConfigs() { 390 var data = { 391 'action': 'wmg_get_saved_configs' 392 }; 393 394 // We can also pass the url value separately from ajaxurl for front end AJAX implementations 395 jQuery.post(ajaxurl, data, function (response) { 396 //console.log(response); 397 if (response.hasOwnProperty("data") && response.data.hasOwnProperty("saved_configs")) { 398 399 GATEWAY_PROVIDERS.forEach(function (provider) { 400 if (response.data.saved_configs.hasOwnProperty(provider)) { 401 jQuery.each(response.data.saved_configs[provider], function (key, val) { 402 jQuery("#" + provider + "_" + key).val(val); 403 404 //Is active === true? 405 if(key === "active" && val === true){ 406 jQuery("#" + provider + "_" + key).attr("checked", "checked"); 407 jQuery("#wmg_provider_configuration h5.card-title").append("<span> [ Currently Active: " + GATEWAY_PROVIDERS_NAME[provider] + " ]</span>"); 408 showProviderConfiguration(provider); 409 } 410 }); 411 } 412 }) 413 } else { 414 //console.log("No saved configs found!"); 415 } 416 }); 417 } 418 419 getSavedConfigs(); 420 })();>>>>>>> .r2172940
Note: See TracChangeset
for help on using the changeset viewer.