{"version":3,"file":"../../desktop/login-form.js","sources":["desktop/login-form.js"],"sourcesContent":["var PeopleMedia = PeopleMedia || {};\r\nPeopleMedia.Login = (function ($jq) {\r\n \"use strict\";\r\n var Oid = \"PeopleMedia.Login\";\r\n\r\n var _arkoseCaptchaEnabled = false;\r\n var _arkoseResponseValid = false;\r\n\r\n var _invalidClass = \"invalid\";\r\n var _hiddenClass = \"hidden\";\r\n\r\n // cached selectors\r\n var $loginForm = $jq();\r\n var $email = $jq();\r\n var $password = $jq();\r\n var $submitButton = $jq();\r\n var $fieldValidationError = $jq();\r\n\r\n var validateEmail = function (clearOnEmpty) {\r\n try {\r\n var email = ($email.val() || \"\").trim();\r\n if (email || clearOnEmpty) {\r\n $email.removeClass(_invalidClass);\r\n $fieldValidationError.addClass(_hiddenClass);\r\n } else {\r\n $email.addClass(_invalidClass);\r\n $jq(\"#externalloginerror\").html(\"

Please enter a valid email address.

\");\r\n $fieldValidationError.removeClass(_hiddenClass);\r\n }\r\n } catch (ex) {\r\n PeopleMedia.Logger.LogExceptionWithDetail(ex, { Oid: Oid, method: \"validateEmail\" });\r\n }\r\n };\r\n\r\n var validatePassword = function (clearOnEmpty) {\r\n try {\r\n var password = ($password.val() || \"\").trim();\r\n if (password || clearOnEmpty) {\r\n $password.removeClass(_invalidClass);\r\n $fieldValidationError.addClass(_hiddenClass);\r\n } else {\r\n $password.addClass(_invalidClass);\r\n if (!$email.hasClass(_invalidClass)) {\r\n $jq(\"#externalloginerror\").html(\"

Please enter your password.

\");\r\n }\r\n $fieldValidationError.removeClass(_hiddenClass);\r\n }\r\n } catch (ex) {\r\n PeopleMedia.Logger.LogExceptionWithDetail(ex, { Oid: Oid, method: \"validatePassword\" });\r\n }\r\n };\r\n\r\n var validateForm = function () {\r\n try {\r\n var email = ($email.val() || \"\").trim();\r\n var password = ($password.val() || \"\").trim();\r\n\r\n validateEmail(false);\r\n validatePassword(false);\r\n\r\n var valid = email.length > 0 && password.length > 0;\r\n if (valid) {\r\n $submitButton.removeClass(_invalidClass);\r\n } else {\r\n $submitButton.addClass(_invalidClass);\r\n }\r\n return valid;\r\n } catch (ex) {\r\n PeopleMedia.Logger.LogExceptionWithDetail(ex, { Oid: Oid, method: \"validateForm\" });\r\n // still allow form to be submitted \r\n return true;\r\n }\r\n };\r\n\r\n var submitForm = function (e) {\r\n try {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n $jq(\"input\").trigger(\"blur\");\r\n\r\n var isValid = validateForm();\r\n\r\n if (!isValid) {\r\n if ($email.hasClass(_invalidClass)) {\r\n $email.trigger(\"focus\");\r\n }\r\n showErrorMessage();\r\n return;\r\n }\r\n\r\n if (_arkoseCaptchaEnabled &&\r\n PeopleMedia.ArkoseCaptcha.scriptsReady) {\r\n PeopleMedia.ArkoseCaptcha.execute();\r\n return;\r\n }\r\n\r\n submitFormAfterCaptcha();\r\n\r\n } catch (ex) {\r\n PeopleMedia.Logger.LogExceptionWithDetail(ex, { Oid: Oid, method: \"submitForm\" });\r\n }\r\n };\r\n\r\n var submitFormAfterCaptcha = function () {\r\n // don't show for iOS since it doesn't display animations properly on a full page postback\r\n if (!PeopleMedia.detectIOS()) {\r\n PeopleMedia.Animations.showLoader({ legacy: false });\r\n }\r\n $loginForm.trigger(\"submit\");\r\n };\r\n\r\n var submitOnEnter = function (e) {\r\n try {\r\n var key = e.charCode ? e.charCode : e.keyCode;\r\n if (key === 13) {\r\n submitForm(e);\r\n }\r\n } catch (ex) {\r\n PeopleMedia.Logger.LogExceptionWithDetail(ex, { Oid: Oid, method: \"submitOnEnter\" });\r\n }\r\n return true;\r\n };\r\n\r\n var setFocus = function () {\r\n try {\r\n if ($email.val().length > 0) {\r\n $password.trigger(\"focus\");\r\n } else {\r\n $email.trigger(\"focus\");\r\n }\r\n } catch (ex) {\r\n PeopleMedia.Logger.LogExceptionWithDetail(ex, { Oid: Oid, method: \"setFocus\" });\r\n }\r\n };\r\n\r\n var showErrorMessage = function () {\r\n try {\r\n $fieldValidationError.removeClass(_hiddenClass);\r\n } catch (ex) {\r\n PeopleMedia.Logger.LogExceptionWithDetail(ex, { Oid: Oid, method: \"showErrorMessage\" });\r\n }\r\n };\r\n\r\n var onCaptchaValidateComplete = function (err, response) {\r\n _arkoseResponseValid = (!err && response && (response.completed || response.suppressed));\r\n // console.log(response);\r\n if (_arkoseResponseValid) {\r\n submitFormAfterCaptcha();\r\n } else {\r\n showErrorMessage();\r\n }\r\n };\r\n\r\n var emailOnPaste = function (event) {\r\n setTimeout(function () {\r\n validateEmail(false);\r\n }, 0);\r\n };\r\n\r\n var emailOnChange = function (event) {\r\n validateEmail(false);\r\n };\r\n\r\n var emailOnInput = function (event) {\r\n validateEmail(true);\r\n };\r\n\r\n var passwordOnPaste = function (event) {\r\n setTimeout(function () {\r\n validatePassword(false);\r\n }, 0);\r\n };\r\n\r\n var passwordOnChange = function (event) {\r\n validatePassword(false);\r\n };\r\n\r\n var passwordOnInput = function (event) {\r\n validatePassword(true);\r\n };\r\n\r\n var initialize = function (options) {\r\n try {\r\n $loginForm = $jq(\"#frmLogin\");\r\n $email = $jq(\"#email\");\r\n $password = $jq(\"#password\");\r\n $submitButton = $jq(\".login-button\");\r\n $fieldValidationError = $jq(\".field-validation-error\");\r\n\r\n if (options) {\r\n if (options.arkoseCaptchaEnabled === true) {\r\n _arkoseCaptchaEnabled = true;\r\n }\r\n if (options.hasError) {\r\n showErrorMessage();\r\n }\r\n }\r\n\r\n if (_arkoseCaptchaEnabled) {\r\n PeopleMedia.ArkoseCaptcha.initialize({\r\n captchaLocation: \"Login\",\r\n $form: $loginForm,\r\n selector: \".login-button\",\r\n onValidateComplete: onCaptchaValidateComplete,\r\n includeCaptchaFieldsInForm: true\r\n });\r\n }\r\n\r\n if ($email.val().length > 0) {\r\n validateEmail();\r\n }\r\n\r\n $email.on(\"paste.pm\", emailOnPaste)\r\n .on(\"change.pm\", emailOnChange)\r\n .on(\"input.pm\", emailOnInput);\r\n\r\n $password.on(\"paste.pm\", passwordOnPaste)\r\n .on(\"change.pm\", passwordOnChange)\r\n .on(\"input.pm\", passwordOnInput);\r\n\r\n $email.on(\"keypress\", submitOnEnter);\r\n $password.on(\"keypress\", submitOnEnter);\r\n\r\n $submitButton.on(\"click\", submitForm);\r\n\r\n setFocus();\r\n\r\n // clear session storage on login\r\n if (typeof (PeopleMedia.Storage.clearStorage) === \"function\") {\r\n PeopleMedia.Storage.clearStorage(\"MatchStack_\");\r\n // clear stored JWT\r\n PeopleMedia.Storage.clearStorage(\"publicSession\");\r\n }\r\n if (typeof (PeopleMedia.Storage.clearSessionStorage) === \"function\") {\r\n PeopleMedia.Storage.clearSessionStorage();\r\n }\r\n } catch (ex) {\r\n PeopleMedia.Logger.LogExceptionWithDetail(ex, { Oid: Oid, method: \"initialize\" });\r\n }\r\n };\r\n\r\n return {\r\n initialize: initialize\r\n };\r\n})(jQuery);"],"names":["PeopleMedia","Login","$jq","submitOnEnter","e","charCode","keyCode","submitForm","ex","Logger","LogExceptionWithDetail","Oid","method","onCaptchaValidateComplete","err","response","completed","suppressed","submitFormAfterCaptcha","showErrorMessage","emailOnPaste","event","setTimeout","validateEmail","emailOnChange","emailOnInput","passwordOnPaste","validatePassword","passwordOnChange","passwordOnInput","_arkoseCaptchaEnabled","_invalidClass","_hiddenClass","$loginForm","$email","$password","$submitButton","$fieldValidationError","clearOnEmpty","val","trim","removeClass","addClass","html","hasClass","validateForm","email","password","valid","length","stopPropagation","preventDefault","trigger","ArkoseCaptcha","scriptsReady","execute","detectIOS","Animations","showLoader","legacy","initialize","options","arkoseCaptchaEnabled","hasError","captchaLocation","$form","selector","onValidateComplete","includeCaptchaFieldsInForm","on","Storage","clearStorage","clearSessionStorage","jQuery"],"mappings":"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"}