function escapeHtml(str) { var div = document.createElement("div"); div.appendChild(document.createTextNode(str)); return div.innerHTML; } window.fbAsyncInit = function () { FB.init({ appId: "221646389321681", autoLogAppEvents: true, xfbml: true, version: "v13.0", }); }; window.facebookBusinessExtensionConfig = { pixelId: meta_wc_params.pixelId, popupOrigin: "https://business.facebook.com", setSaveSettingsRoute: meta_wc_params.setSaveSettingsRoute, externalBusinessId: meta_wc_params.externalBusinessId, fbeLoginUrl: "https://business.facebook.com/fbe-iframe-get-started/?", deleteConfigKeys: meta_wc_params.deleteConfigKeys, appId: "221646389321681", timeZone: "America/Los_Angeles", installed: meta_wc_params.installed, systemUserName: meta_wc_params.systemUserName + "_system_user", businessVertical: "ECOMMERCE", version: "v8.0", currency: "USD", businessName: "Solutions Engineering Team", debug: true, channel: "DEFAULT", }; var hasAccessToken = jQuery("#fb-adv-conf").attr("data-access-token"); if ("false" == hasAccessToken) { jQuery("#fb-adv-conf").hide(); } else { jQuery("#fb-adv-conf").show(); jQuery("#fb-capi-ef").show(); var enablePiiCachingCheckbox = document.getElementById("capi-ch"); var piiCachingStatus = meta_wc_params.piiCachingStatus; updateCapiPiiCachingCheckbox(piiCachingStatus); enablePiiCachingCheckbox.addEventListener("change", function () { if (this.checked) { saveCapiPiiCachingStatus("1"); } else { saveCapiPiiCachingStatus("0"); } }); var enablePageViewFilterCheckBox = document.getElementById("capi-ef"); var capiIntegrationPageViewFiltered = meta_wc_params.capiIntegrationPageViewFiltered === "true" ? "1" : "0"; updateCapiIntegrationEventsFilter(capiIntegrationPageViewFiltered); enablePageViewFilterCheckBox.addEventListener("change", function () { saveCapiIntegrationEventsFilter(this.checked ? "1" : "0"); }); function updateCapiPiiCachingCheckbox(val) { if (val === "1") { enablePiiCachingCheckbox.checked = true; } else { enablePiiCachingCheckbox.checked = false; } } function updateCapiIntegrationEventsFilter(val) { enablePageViewFilterCheckBox.checked = val === "1" ? true : false; } function saveCapiPiiCachingStatus(new_val) { jQuery .ajax({ type: "post", dataType: "json", url: meta_wc_params.capiPiiCachingStatusSaveUrl, data: { action: meta_wc_params.capiPiiCachingStatusActionName, val: new_val, }, success: function (response) { updateCapiPiiCachingCheckbox(new_val); }, }) .fail(function (jqXHR, textStatus, error) { jQuery("#fb-capi-se").text( meta_wc_params.capiPiiCachingStatusUpdateError ); jQuery("#fb-capi-se").show().delay(3000).fadeOut(); updateCapiPiiCachingCheckbox(new_val === "1" ? "0" : "1"); }); } function saveCapiIntegrationEventsFilter(new_val) { jQuery .ajax({ type: "post", dataType: "json", url: meta_wc_params.capiIntegrationEventsFilterSaveUrl, data: { action: meta_wc_params.capiIntegrationEventsFilterActionName, val: new_val, }, success: function (response) {}, }) .fail(function (jqXHR, textStatus, error) { jQuery("#fb-capi-ef-se").text( meta_wc_params.capiIntegrationEventsFilterUpdateError ); jQuery("#fb-capi-ef-se").show().delay(3000).fadeOut(); updateCapiIntegrationEventsFilter(new_val === "1" ? "0" : "1"); }); } } var currentFBEInstalledStatus = meta_wc_params.installed; jQuery("#ad-creation-plugin-iframe").attr("data-fbe-extras", getFBEExtras()); jQuery("#ad-insights-plugin-iframe").attr("data-fbe-extras", getFBEExtras()); updateAdInsightsPlugin(currentFBEInstalledStatus); function getFBEExtras() { $fbeConfig = window.facebookBusinessExtensionConfig; return JSON.stringify({ business_config: { business: { name: $fbeConfig.businessName, }, }, setup: { external_business_id: $fbeConfig.externalBusinessId, timezone: $fbeConfig.timeZone, currency: $fbeConfig.currency, business_vertical: $fbeConfig.businessVertical, channel: $fbeConfig.channel, }, repeat: false, }); } function updateAdInsightsPlugin(isFBEInstalled) { if (isFBEInstalled) { jQuery("#meta-ads-plugin").show(); } else { jQuery("#meta-ads-plugin").hide(); } } function sendTestEvent(e) { e.preventDefault(); var advancedPayloadElement = document.getElementById("advanced-payload"); var testEventCode = ""; var testEventName = ""; var data = ""; if (advancedPayloadElement.classList.contains("open")) { if (!advancedPayloadElement.value) { alert("You must enter payload."); return; } advancedPayload = advancedPayloadElement.value; try { data = JSON.parse(advancedPayload); if (data.test_event_code) { testEventCode = data.test_event_code; } testEventName += data.data .map((event) => event.event_name) .join(", "); } catch (e) { alert("Invalid JSON in payload."); return; } } else { testEventCode = document.getElementById("event-test-code").value; testEventName = document.getElementById("test-event-name").value; } if (!testEventCode) { alert("You must enter test event code."); return; } jQuery.ajax({ type: "POST", url: meta_wc_params.ajax_url, data: { action: "send_capi_event", nonce: meta_wc_params.send_capi_event_nonce, event_name: testEventName, test_event_code: testEventCode, payload: data, custom_data: setCustomData(data, testEventName), user_data: { ph: "254aa248acb47dd654ca3ea53f48c2c26d641d23d7e2e93a1ec56258df7674c4", em: "309a0a5c3e211326ae75ca18196d301a9bdbd1a882a4d2569511033da23f0abd", }, }, success: function (response) { data = JSON.parse(response.data); if (!data.error) { document .querySelector(".event-log-block>table>tbody") .insertAdjacentHTML( "beforeend", `