{"version":3,"sources":["webpack:///./assets/javascripts/modules/components/SocialLoginComponent.js"],"names":["SocialLoginComponent","_classCallCheck","this","_this","_possibleConstructorReturn","__proto__","Object","getPrototypeOf","call","trackingComponent","TrackingComponent","Component","facebookbutton","googlebutton","facebookSignup","googleSignup","e","ctx","$","getScript","ajax","method","url","dataType","success","data","window","location","redirectUrl","redirect","clientId","console","log","href","params","loginType","currentTarget","dataset","actions","login","gapi","load","auth2","init","client_id","cookiepolicy","scope","ux_mode","grantOfflineAccess","then","authResult","append","submit","redirect_uri","email","val","on","SELECTORS","preventDefault","matchMedia","matches","googleLoginMobile","googleLoginDesktop","googleSignupDesktop","bindEvents"],"mappings":"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","file":"components-SocialLoginComponent.chunks.js","sourcesContent":["import Component from '../abstracts/Component';\nimport TrackingComponent from \"../components/TrackingComponent\";\n\nexport default class SocialLoginComponent extends Component {\n\n  get SELECTORS() {\n    return {\n        facebookbutton: '.facebook-login-button',\n        googlebutton: '.google-login-button',\n        facebookSignup: '.facebook-signup-button',\n        googleSignup: '.google-signup-button'\n    };\n  }\n\n  constructor() {\n    super();\n    this.trackingComponent = new TrackingComponent();\n  }\n\n\n  googleLoginMobile(e) {\n    let ctx = this\n    $.getScript('https://apis.google.com/js/client:platform.js', function(){\n                  $.ajax({\n                      method: 'GET',\n                      url: '/action/social-login/mobile-login-url/google?email=',\n                      dataType: \"json\",\n                      success: function( data ) {\n                          if (data === 'error'){\n                            window.location = \"/error\";\n                          }else {\n\n                            var redirectUrl = \"https://accounts.google.com/o/oauth2/v2/auth?\" +\n                              \"scope=profile%20email&\" +\n                              \"access_type=offline&\" +\n                              \"include_granted_scopes=true&\" +\n                              \"response_type=code&\" +\n                              \"redirect_uri=\" + data.redirect + \"/action/social-login/mobile-login/google&\" +\n                              \"client_id=\" + data.clientId ;\n\n                            console.log(\"Redirect to \" + redirectUrl);\n                            window.location.href = redirectUrl;\n                            let params = { loginType : e.currentTarget.dataset.loginType };\n                            ctx.trackingComponent.actions.login(params);\n                          }\n                      }\n                  });\n               });\n  }\n\n  googleLoginDesktop(e) {\n     let ctx = this\n     $.getScript('https://apis.google.com/js/client:platform.js', function(){\n              $.ajax({\n                  method: 'GET',\n                  url: '/action/social-login/login-url/google?email=',\n                  success: function( data ) {\n                      if (data === 'error'){\n                        window.location = \"/error\";\n                      }else {\n                        gapi.load('auth2', function(){\n                                // Retrieve the singleton for the GoogleAuth library and set up the client.\n                          var auth2 = gapi.auth2.init({\n                            client_id: data,\n                            cookiepolicy: 'single_host_origin',\n                            scope: 'profile email',\n                            ux_mode: 'redirect'\n                          });\n                          console.log('Welcome!  Fetching your information.... ');\n                          auth2.grantOfflineAccess().then(function(authResult) {\n                            if(authResult['code']) {\n                              $(\"#login-google-form\").append('<input type=\"hidden\" name=\"code\" value=\"'+authResult['code']+'\" /> ');\n                              $(\"#login-google-form\").submit();\n                              let params = { loginType : e.currentTarget.dataset.loginType };\n                              ctx.trackingComponent.actions.login(params);\n                            }\n                          });\n                        });\n                      }\n                  }\n              });\n           });\n  }\n\n\ngoogleSignupDesktop() {\n\n $.getScript('https://apis.google.com/js/client:platform.js', function(){\n        $.ajax({\n          method: 'GET',\n          url: '/action/social-login/login-url/google?email=',\n          success: function( data ) {\n            if (data === 'error'){\n              window.location = \"/error\";\n            }else {\n              gapi.load('auth2', function(){\n                      // Retrieve the singleton for the GoogleAuth library and set up the client.\n                var auth2 = gapi.auth2.init({\n                  client_id: data,\n                  cookiepolicy: 'single_host_origin',\n                  scope: 'profile email',\n                  ux_mode: 'redirect',\n                  redirect_uri: 'https://it-mm.dev.digitalcoat.org:9002/action/social-login/social/google'\n                });\n                console.log('Welcome!  Fetching your information.... ');\n                auth2.grantOfflineAccess().then(function(authResult) {\n                  if(authResult['code']) {\n                    var email = $(\"#email\").val()\n                    if ( $(\"#social_reg_checkout\").val() !== 'true'){\n                      email = \"\";\n                    }\n                    $(\"#signup-google-form\").append('<input type=\"hidden\" name=\"code\" value=\"'+authResult['code']+'\" /> ');\n                    $(\"#signup-google-form\").append('<input type=\"hidden\" name=\"email\" value=\"'+email+'\" /> ');\n                    $(\"#signup-google-form\").submit();\n                  }\n                });\n              });\n            }\n          }\n        });\n      });\n}\n\n\n  bindEvents() {\n    let ctx = this;\n    $('body').on('click', this.SELECTORS.facebookbutton, function (e) {\n       e.preventDefault();\n       console.log('Welcome!  Fetching your information.... ');\n\n        $.ajax({\n            method: 'GET',\n            url: '/action/social-login/login-url/facebook?email=',\n            success: function( data ) {\n                if (data === 'error'){\n                  window.location = \"/error\"\n                }else {\n                  window.location = data;\n                  let params = { loginType : e.currentTarget.dataset.loginType };\n                  ctx.trackingComponent.actions.login(params);\n                }\n            }\n        });\n      });\n\n    $('body').on('click', this.SELECTORS.facebookSignup, function (e) {\n      e.preventDefault();\n         console.log('Welcome!  Fetching your information.... ');\n         var email = $(\"#email\").val()\n          if ( $(\"#social_reg_checkout\").val() !== 'true'){\n            email = \"\";\n          }\n\n          $.ajax({\n              method: 'GET',\n              url: '/action/social-login/login-url/facebook?email='+email,\n              success: function( data ) {\n                  if (data === 'error'){\n                    window.location = '/error';\n                  }else {\n                    window.location = data;\n                  }\n              }\n          });\n      });\n\n    $('body').on('click', this.SELECTORS.googlebutton, function (e) {\n      e.preventDefault();\n      let isMobile = window.matchMedia('(max-width:820px)').matches;\n      if(isMobile) {\n        ctx.googleLoginMobile(e);\n      }\n      else {\n        ctx.googleLoginDesktop(e);\n      }\n    });\n\n\n    $('body').on('click', this.SELECTORS.googleSignup, function (e) {\n     e.preventDefault();\n          let isMobile = window.matchMedia('(max-width:820px)').matches;\n          if(isMobile) {\n            ctx.googleLoginMobile();\n          }\n          else {\n            ctx.googleSignupDesktop();\n          }\n    });\n\n  }\n\n  render() {\n\n    this.bindEvents();\n  }\n}\n"],"sourceRoot":""}