woocommerce-paypal-payments/assets/ppcp-onboarding-js-onboarding.js

1 line
No EOL
8.2 KiB
JavaScript

(()=>{function e(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var o,r,c,a,i=[],d=!0,l=!1;try{if(c=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;d=!1}else for(;!(d=(o=c.call(t)).done)&&(i.push(o.value),i.length!==n);d=!0);}catch(e){l=!0,r=e}finally{try{if(!d&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(l)throw r}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var o={}.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?n(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=Array(n);t<n;t++)o[t]=e[t];return o}var t={BUTTON_SELECTOR:"[data-paypal-onboard-button]",PAYPAL_JS_ID:"ppcp-onboarding-paypal-js",_timeout:!1,STATE_START:"start",STATE_ONBOARDED:"onboarded",init:function(){document.addEventListener("DOMContentLoaded",this.reload)},reload:function(){var n=document.querySelectorAll(t.BUTTON_SELECTOR);if(n.length>0){n.forEach(function(e){e.hasAttribute("data-ppcp-button-initialized")||e.addEventListener("click",function(n){e.hasAttribute("data-ppcp-button-initialized")&&void 0!==window.PAYPAL||n.preventDefault()})}),[t.PAYPAL_JS_ID,"signup-js","biz-js"].forEach(function(e){var n=document.getElementById(e);n&&n.parentNode.removeChild(n),void 0!==window.PAYPAL&&delete window.PAYPAL});var o=document.createElement("script");o.id=t.PAYPAL_JS_ID,o.src=PayPalCommerceGatewayOnboarding.paypal_js_url,document.body.appendChild(o),t._timeout&&clearTimeout(t._timeout),t._timeout=setTimeout(function(){n.forEach(function(e){e.setAttribute("data-ppcp-button-initialized","true")}),"undefined"!==window.PAYPAL.apps.Signup&&window.PAYPAL.apps.Signup.render()},1e3)}var r=function(){return jQuery("*[data-onboarding-option]")};r().on("click",function(t){var o;t.preventDefault(),r().each(function(e,n){n.setAttribute("disabled","disabled")}),n.forEach(function(e){e.removeAttribute("href"),e.setAttribute("disabled","disabled"),jQuery('<span class="spinner is-active" style="float: none;"></span>').insertAfter(e)}),fetch(PayPalCommerceGatewayOnboarding.update_signup_links_endpoint,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify({nonce:PayPalCommerceGatewayOnboarding.update_signup_links_nonce,settings:(o={},r().each(function(e,n){var t=jQuery(n).data("onboardingOption");o[t]=n.checked}),o)})}).then(function(e){return e.json()}).then(function(t){t.success?(n.forEach(function(n){for(var o=0,r=Object.entries(t.data.signup_links);o<r.length;o++){var c=e(r[o],2),a=c[0],i=c[1];(a="connect-to"+a.replace(/-/g,""))===n.id&&(n.setAttribute("href",i),n.removeAttribute("disabled"),document.querySelector(".spinner").remove())}}),r().each(function(e,n){n.removeAttribute("disabled")})):alert("Could not update signup buttons: "+JSON.stringify(t))})})},loginSeller:function(e,n,t){fetch(PayPalCommerceGatewayOnboarding.endpoint,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({authCode:n,sharedId:t,nonce:PayPalCommerceGatewayOnboarding.nonce,env:e,acceptCards:document.querySelector("#ppcp-onboarding-accept-cards").checked})})}};window.ppcp_onboarding_sandboxCallback=function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return t.loginSeller.apply(t,["sandbox"].concat(n))},window.ppcp_onboarding_productionCallback=function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];return t.loginSeller.apply(t,["production"].concat(n))},function(){var e=["#field-merchant_email_production","#field-merchant_id_production","#field-client_id_production","#field-client_secret_production"],n=["#field-merchant_email_sandbox","#field-merchant_id_sandbox","#field-client_id_sandbox","#field-client_secret_sandbox"],o=function(){var e=document.querySelector("#ppcp-onboarding-accept-cards");if(e){document.querySelectorAll("#ppcp-onboarding-dcc-options input").forEach(function(n){n.disabled=!e.checked}),document.querySelector(".ppcp-onboarding-cards-options").style.display=e.checked?"":"none";var n=document.querySelector("#ppcp-onboarding-dcc-basic"),t=!e.checked||n.checked;document.querySelectorAll(["#field-ppcp_onboarding_production_express","#field-ppcp_onboarding_sandbox_express"].join()).forEach(function(e){return e.style.display=t?"":"none"}),document.querySelectorAll(["#field-ppcp_onboarding_production_ppcp","#field-ppcp_onboarding_sandbox_ppcp"].join()).forEach(function(e){return e.style.display=t?"none":""});var o=document.querySelector("#ppcp-onboarding-cards-screen-img");if(o){var r,c=(null!==(r=Array.from(document.querySelectorAll('#ppcp-onboarding-dcc-options input[type="radio"]')).filter(function(e){return e.checked})[0])&&void 0!==r?r:null).getAttribute("data-screen-url");o.src=c}}},r=function(t,o,r){var c=e,a=n,i=[".woocommerce-save-button"];r||i.push("#field-sandbox_on"),document.querySelectorAll(c.join()).forEach(function(e){e.classList.remove("hide","show"),e.classList.add(t&&!o?"show":"hide")}),document.querySelectorAll(a.join()).forEach(function(e){e.classList.remove("hide","show"),e.classList.add(t&&o?"show":"hide")}),document.querySelectorAll(i.join()).forEach(function(e){return e.style.display=t?"":"none"})},c=function(e){document.querySelectorAll(["#field-ppcp_disconnect_production","#field-credentials_production_heading"].join()).forEach(function(n){return n.style.display=e?"none":""}),document.querySelectorAll(["#field-ppcp_disconnect_sandbox","#field-credentials_sandbox_heading"].join()).forEach(function(n){return n.style.display=e?"":"none"})},a=!1,i=function(t){t.preventDefault();var o=t.target.classList.contains("production")?e:n;document.querySelectorAll(o.map(function(e){return e+" input"}).join()).forEach(function(e){e.value=""}),l.checked=!l.checked,a=!0;var r=document.querySelector(".woocommerce-save-button");r.removeAttribute("disabled"),r.click()},d=function(e){e.preventDefault(),e.stopPropagation();var n=e.target.checked;setTimeout(function(){e.target.checked=n},1)},l=document.querySelector("#ppcp-sandbox_on");null==l||l.addEventListener("click",function(){var e;null===(e=document.querySelector(".woocommerce-save-button"))||void 0===e||e.removeAttribute("disabled")});var u=PayPalCommerceGatewayOnboarding.sandbox_state===t.STATE_ONBOARDED||PayPalCommerceGatewayOnboarding.production_state===t.STATE_ONBOARDED;document.querySelectorAll(".ppcp-disconnect").forEach(function(e){e.addEventListener("click",i)}),document.querySelectorAll(".ppcp-onboarding-options input").forEach(function(e){e.addEventListener("click",function(e){o(),d(e)})});var p="sandbox"===PayPalCommerceGatewayOnboarding.current_env;(null==l?void 0:l.checked)!==p&&(l.checked=p),o();var s=document.querySelector("#mainform .form-table"),f=function(e){s.classList.remove("ppcp-onboarded","ppcp-onboarding"),s.classList.add(e?"ppcp-onboarded":"ppcp-onboarding")};f(PayPalCommerceGatewayOnboarding.current_state===t.STATE_ONBOARDED);var m=document.querySelector("#field-toggle_manual_input button"),y=PayPalCommerceGatewayOnboarding.current_state===t.STATE_ONBOARDED;m.addEventListener("click",function(e){e.preventDefault(),r(y=!y,l.checked,u)}),l.addEventListener("click",function(e){var n=l.checked;if(u){var o=(n?PayPalCommerceGatewayOnboarding.sandbox_state:PayPalCommerceGatewayOnboarding.production_state)===t.STATE_ONBOARDED;f(o),y=o}r(y,n,u),c(n),d(e)}),r(y,l.checked,u),c(l.checked),document.querySelector("#mainform").addEventListener("submit",function(t){if(!a){var o=function(){var t=[];return(l.checked?n:e).map(function(e){return document.querySelector(e+" input")}).map(function(e){return e.value}).some(function(e){return!e})&&t.push(PayPalCommerceGatewayOnboarding.error_messages.no_credentials),t}();if(o.length){t.preventDefault();var r=document.querySelector("#ppcp-form-errors-label");r.parentElement.parentElement.classList.remove("hide"),r.innerHTML=o.join("<br/>"),r.scrollIntoView(),window.scrollBy(0,-120)}}}),t.init()}()})();