Plugin Directory

Changeset 2172941

Timestamp:
10/14/2019 01:57:43 PM (5 years ago)
Author:
shaharia.azam
Message:

Updating assets

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wp-mail-gateway/assets/js/main.js

    r2172910 r2172941  
     1
    12(function () {
    23    var configFieldsDiv = jQuery("#config_fields");
     
    1415        var active_provider = null;
    1516        GATEWAY_PROVIDERS.forEach(function (provider) {
    16             if ($("#config_fields_" + provider).css('display') === "block") {
     17            if (("#config_fields_" + provider).css('display') === "block") {
    1718                active_provider = provider;
    1819            }
     
    3637     */
    3738    function getFormFieldValueByProvider(provider, key) {
    38         var selector = $("#" + provider + "_" + key);
     39        var selector = ("#" + provider + "_" + key);
    3940        if(key === "active"){
    4041            return selector.prop('checked');
     
    207208
    208209    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.