summaryrefslogtreecommitdiff
blob: c05ffc2cfdcbf1435cdd3c2a508fe6a809ffec29 (plain)
1
jQuery(document).ready((function(n){var e=n(".jp-connect-button, .jp-banner__alt-connect-button").eq(0),t=n(".jp-connect-full__tos-blurb"),o=n('<iframe class="jp-jetpack-connect__iframe" />'),a=n("#jetpack-connection-cards, .jp-connect-full__dismiss-paragraph, .jp-connect-full__testimonial"),i="";e.on("click",(function(e){if(e.preventDefault(),"undefined"==typeof URLSearchParams)i="";else{var t=new URLSearchParams(n(this).prop("search"));i=t&&t.get("from")}a.length&&a.fadeOut(600),c.startConnectionFlow()}));var c={isRegistering:!1,isPaidPlan:!1,startConnectionFlow:function(){var e=n("#jetpack-connection-cards, .jp-connect-full__testimonial");e.length&&e.fadeOut(600),c.isRegistering||c.handleConnection()},selectAndStartAuthorizationFlow:function(n){n.allowInplaceAuthorization&&"original"!==jpConnect.forceVariation?c.handleAuthorizeInPlaceFlow(n):n.alternateAuthorizeUrl?window.location=n.alternateAuthorizeUrl:window.location=n.authorizeUrl},handleConnection:function(){if(e.hasClass("jp-banner__alt-connect-button")){var o=i&&"&from="+i||"";window.location=jpConnect.connectInPlaceUrl+o}else{c.isRegistering=!0,t.hide(),e.hide(),c.triggerLoadingState();var a=jpConnect.apiBaseUrl+"/connection/register";window.Initial_State&&window.Initial_State.calypsoEnv&&(a=a+"?"+n.param({calypso_env:window.Initial_State.calypsoEnv})),n.ajax({url:a,type:"POST",data:{registration_nonce:jpConnect.registrationNonce,_wpnonce:jpConnect.apiNonce,from:i,no_iframe:"original"===jpConnect.forceVariation},error:c.handleConnectionError,success:c.selectAndStartAuthorizationFlow})}},triggerLoadingState:function(){var e=n("<span>").addClass("jp-connect-full__button-container-loading").text(jpConnect.buttonTextRegistering).appendTo(".jp-connect-full__button-container"),t=n("<div>").addClass("jp-spinner"),o=n("<div>").addClass("jp-spinner__outer").appendTo(t);n("<div>").addClass("jp-spinner__inner").appendTo(o),e.after(t)},handleAuthorizeInPlaceFlow:function(e){window.addEventListener("message",c.receiveData),o.attr("src",e.authorizeUrl+"&from="+i+"&iframe_source=jetpack-connect-main"),o.on("load",(function(){o.show(),n(".jp-connect-full__button-container").hide(),n("#jp-connect-full__step1-header").hide(),n("#jp-connect-full__step2-header").show()})),o.hide(),n(".jp-connect-full__button-container").after(o);var t=document.createElement("link");t.rel="preload",t.as="script",t.href=jpConnect.preFetchScript,document.head.appendChild(t)},fetchPlanType:function(){return n.ajax({url:jpConnect.apiBaseUrl+"/site",type:"GET",data:{_wpnonce:jpConnect.apiSiteDataNonce},success:function(n){var e=JSON.parse(n.data);c.isPaidPlan=e.options.is_pending_plan||!e.plan.is_free}})},receiveData:function(n){if(n.origin===jpConnect.jetpackApiDomain&&n.source===o.get(0).contentWindow)switch(n.data){case"close":window.removeEventListener("message",this.receiveData),c.handleAuthorizationComplete();break;case"wpcom_nocookie":o.hide(),c.handleConnectionError()}},handleAuthorizationComplete:function(){c.isRegistering=!1,c.fetchPlanType().always((function(){if(c.isPaidPlan){var n=document.createElement("a");n.href=jpConnect.dashboardUrl;var e=window.location.pathname===n.pathname&&window.location.hash.length&&n.hash.length;window.location.assign(jpConnect.dashboardUrl),e&&window.location.reload(!0)}else window.location.assign(jpConnect.plansPromptUrl)}))},handleConnectionError:function(n){c.isRegistering=!1,window.location=e.attr("href")}};i=location.hash.split("&from=")[1]}));