{"version":3,"sources":["LogOn.js","LogOn.ts"],"names":["appn","views","account","logOn","InitArgs","constructor","isLockedOut","lockedOutMinutesLeft","logOnLocation","logOnStep","_initArgs","init","args","startTimer","$","checkVersion","attr","returnurl","getUrlParamByName","localStorage","removeItem","click","e","preventDefault","form","loginType","data","append","submit","initTwoFactorAuth","select2","theme","width","duration","display","timer","minutes","seconds","setInterval","minStr","secStr","parseInt","text","window","location","href","getInternetExplorerVersion","rv","navigator","appName","ua","userAgent","re","RegExp","exec","parseFloat","$1","name","url","replace","regex","results","decodeURIComponent","ver","remove","alert","T","verifyString","each","index","numberElement","val","length","clearVerifyInputs","off","on","currentVal","trim","id","prop","endsWith","slice","firstSixChars","substring","bits","split","focus","select","next","msg","document","which"],"mappings":"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","file":"content/platform/public-logon.min.js","sourcesContent":["\"use strict\";\nvar appn;\n(function (appn) {\n var views;\n (function (views) {\n var account;\n (function (account) {\n var logOn;\n (function (logOn) {\n class InitArgs {\n constructor() {\n this.isLockedOut = false;\n this.lockedOutMinutesLeft = 0;\n this.logOnLocation = '';\n this.logOnStep = '';\n }\n }\n let _initArgs;\n function init(args) {\n _initArgs = args;\n if (_initArgs.isLockedOut)\n startTimer(_initArgs.lockedOutMinutesLeft, $('#time'));\n checkVersion();\n if (!$('#ReturnUrl').attr('value')) {\n const returnurl = getUrlParamByName('ReturnUrl');\n $('#ReturnUrl').attr('value', returnurl ? returnurl : '');\n }\n appn.localStorage.removeItem('helpWidgetDisabled');\n if (_initArgs.logOnStep === 'TypeSelect')\n $('.btn-signin').click(function (e) {\n e.preventDefault();\n const form = $('form');\n const loginType = $(this).data('logintype');\n form.append(``);\n form.submit();\n });\n initTwoFactorAuth();\n $('select').select2({\n theme: 'bootstrap4',\n width: '100%'\n });\n }\n logOn.init = init;\n function startTimer(duration, display) {\n let timer = duration, minutes, seconds;\n setInterval(function () {\n const minStr = timer / 60;\n const secStr = timer % 60;\n minutes = parseInt(minStr, 10);\n seconds = parseInt(secStr, 10);\n minutes = minutes < 10 ? '0' + minutes : minutes;\n seconds = seconds < 10 ? '0' + seconds : seconds;\n display.text(minutes + ':' + seconds);\n if (--timer < 0)\n window.location.href = _initArgs.logOnLocation;\n }, 1000);\n }\n function getInternetExplorerVersion() {\n let rv = -1;\n if (navigator.appName === 'Microsoft Internet Explorer') {\n const ua = navigator.userAgent;\n const re = new RegExp('MSIE ([0-9]{1,}[\\.0-9]{0,})');\n if (re.exec(ua))\n rv = parseFloat(RegExp.$1);\n }\n return rv;\n }\n function getUrlParamByName(name, url) {\n if (!url)\n url = window.location.href;\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\n const regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);\n if (!results)\n return null;\n if (!results[2])\n return '';\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n }\n function checkVersion() {\n const ver = getInternetExplorerVersion();\n if (ver > -1)\n if (ver < 10.0) {\n $('.btn').remove();\n window.alert(T('You are using an unsupported version of Internet Explorer. Please upgrade to a modern browser such as Internet Explorer 10, Edge, FireFox, Chrome or Safari.'));\n }\n }\n function initTwoFactorAuth() {\n if (_initArgs.logOnStep !== 'TwoFactorAuth')\n return;\n $('.btn-signin-twoFactorAuth').click(function (e) {\n e.preventDefault();\n let verifyString = '';\n $('.two-factor-auth-verify-code-input').each(function (index, numberElement) {\n verifyString += $(this).val();\n });\n if (verifyString.length !== 6) {\n clearVerifyInputs();\n return;\n }\n $('#TwoFactorAuthVerifyCode').val(verifyString);\n $('.form-signin').submit();\n });\n $('.two-factor-auth-verify-code-input').off().on('input', function () {\n const currentVal = $(this).val().trim();\n const id = $(this).prop('id');\n if (!currentVal)\n return;\n if (currentVal.length > 1) {\n if (id.endsWith('t6')) {\n $(this).val(currentVal.slice(0, -1));\n return;\n }\n const firstSixChars = currentVal.substring(0, 6);\n const bits = firstSixChars.split('');\n $('#twoFactorAuthVerifyCodeInput2').val(bits[1]);\n $('#twoFactorAuthVerifyCodeInput3').val(bits[2]);\n $('#twoFactorAuthVerifyCodeInput4').val(bits[3]);\n $('#twoFactorAuthVerifyCodeInput5').val(bits[4]);\n $('#twoFactorAuthVerifyCodeInput6').val(bits[5]);\n $('#twoFactorAuthVerifyCodeInput1').val(bits[0]).focus().select();\n return;\n }\n if (currentVal.length === 1) {\n if (!id.endsWith('t6'))\n $(this).next().val('').focus();\n return;\n }\n $(this).val(currentVal.slice(0, -1));\n });\n $('.btn-twoFactorAuthClearVerify').off().on('click', function (e) {\n e.preventDefault();\n clearVerifyInputs();\n });\n $('.btn-whySeeTwoFa').off().on('click', function (e) {\n e.preventDefault();\n const msg = T('Why am I seeing this?\\n') +\n T('Your administrator has turned on two-factor authentication for your organization to provide increased security.\\n\\n') +\n T('What is two-factor authentication?\\n') +\n T(`Two-factor authentication (2FA) adds an extra level of security to your account which prevents another person logging in even if they have your password.\nThis works by setting up an authenticator app on your phone or computer. The app then provides a 6 digit verification code each time you log in.\\n\\n`) +\n T('How do I set this up?\\n') +\n T(`1. If you don't already have it, download and install the authenticator app using the link provided.\n2. Open the authenticator app and either scan the QR code with your device camera or copy/paste the text code into the app. (Refer to your app's help docs if needed)\n3. The authenticator app will generate a 6 digit code.\n4. On our Login Verification page, enter those digits into the verification code box.\n5. Click 'Sign In'`) +\n T(`On each subsequent sign in you'll need to enter a new verification code from your authenticator app.`);\n alert(msg);\n });\n $(document).on('keypress', function (e) {\n if (e.which !== 13)\n return;\n $('.btn-signin-twoFactorAuth').click();\n });\n }\n function clearVerifyInputs() {\n $('.two-factor-auth-verify-code-input').val('');\n $('#twoFactorAuthVerifyCodeInput1').focus();\n }\n })(logOn = account.logOn || (account.logOn = {}));\n })(account = views.account || (views.account = {}));\n })(views = appn.views || (appn.views = {}));\n})(appn || (appn = {}));\n","\nnamespace appn.views.account.logOn {\n\n class InitArgs {\n isLockedOut: boolean = false;\n\n lockedOutMinutesLeft: number = 0;\n\n logOnLocation: string = '';\n\n logOnStep: string = '';\n }\n\n let _initArgs: InitArgs;\n\n export function init(args: InitArgs): void {\n _initArgs = args;\n\n if (_initArgs.isLockedOut)\n startTimer(_initArgs.lockedOutMinutesLeft, $('#time'));\n\n checkVersion();\n\n if (!$('#ReturnUrl').attr('value')) {\n const returnurl = getUrlParamByName('ReturnUrl');\n\n $('#ReturnUrl').attr('value', returnurl ? returnurl : '');\n }\n\n // Clear out the temporary Help link disabled cache\n localStorage.removeItem('helpWidgetDisabled');\n\n if (_initArgs.logOnStep === 'TypeSelect')\n $('.btn-signin').click(function(e) {\n e.preventDefault();\n const form = $('form');\n const loginType = $(this).data('logintype');\n form.append(``);\n form.submit();\n });\n \n initTwoFactorAuth();\n\n // init the provider selector\n ($('select') as any).select2({\n theme: 'bootstrap4',\n width: '100%'\n });\n }\n\n function startTimer(duration: number, display: JQuery) {\n let timer = duration, minutes, seconds;\n setInterval(function() {\n const minStr: any = timer / 60;\n const secStr: any = timer % 60;\n minutes = parseInt(minStr as string, 10);\n seconds = parseInt(secStr as string, 10);\n\n minutes = minutes < 10 ? '0' + minutes : minutes;\n seconds = seconds < 10 ? '0' + seconds : seconds;\n\n display.text(minutes + ':' + seconds);\n\n if (--timer < 0)\n window.location.href = _initArgs.logOnLocation;\n }, 1000);\n }\n\n function getInternetExplorerVersion() {\n let rv = -1; // Return value assumes failure.\n if (navigator.appName === 'Microsoft Internet Explorer') {\n const ua = navigator.userAgent;\n const re = new RegExp('MSIE ([0-9]{1,}[\\.0-9]{0,})');\n if (re.exec(ua))\n rv = parseFloat(RegExp.$1);\n }\n return rv;\n }\n\n function getUrlParamByName(name: string, url?: string) {\n if (!url)\n url = window.location.href;\n\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\n const regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'), results = regex.exec(url);\n\n if (!results)\n return null;\n\n if (!results[2])\n return '';\n\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n }\n\n function checkVersion() {\n const ver = getInternetExplorerVersion();\n if (ver > -1)\n if (ver < 10.0) {\n $('.btn').remove();\n window.alert(T('You are using an unsupported version of Internet Explorer. Please upgrade to a modern browser such as Internet Explorer 10, Edge, FireFox, Chrome or Safari.'));\n }\n }\n\n function initTwoFactorAuth() {\n if (_initArgs.logOnStep !== 'TwoFactorAuth')\n return;\n\n $('.btn-signin-twoFactorAuth').click(function(e) {\n e.preventDefault();\n\n // Extract all the values into one verify string\n let verifyString = '';\n $('.two-factor-auth-verify-code-input').each(function(index, numberElement) {\n verifyString += $(this).val() as string;\n });\n\n if (verifyString.length !== 6) {\n // Somehow we got here and there are not 6 chars, there must be six\n clearVerifyInputs();\n return;\n }\n\n // Set the verify val and submit\n $('#TwoFactorAuthVerifyCode').val(verifyString);\n $('.form-signin').submit();\n });\n\n $('.two-factor-auth-verify-code-input').off().on('input', function() {\n const currentVal = ($(this).val() as string).trim();\n const id = $(this).prop('id') as string;\n\n if (!currentVal)\n return;\n \n if (currentVal.length > 1) {\n if ((id as any).endsWith('t6')) {\n $(this).val(currentVal.slice(0, -1));\n return;\n }\n\n // If a 6 length char is pasted into any of the inputs then auto paste them into each\n const firstSixChars = currentVal.substring(0, 6);\n const bits = firstSixChars.split('');\n $('#twoFactorAuthVerifyCodeInput2').val(bits[1]);\n $('#twoFactorAuthVerifyCodeInput3').val(bits[2]);\n $('#twoFactorAuthVerifyCodeInput4').val(bits[3]);\n $('#twoFactorAuthVerifyCodeInput5').val(bits[4]);\n $('#twoFactorAuthVerifyCodeInput6').val(bits[5]);\n $('#twoFactorAuthVerifyCodeInput1').val(bits[0]).focus().select();\n return;\n }\n\n if (currentVal.length === 1) {\n if (!(id as any).endsWith('t6'))\n $(this).next().val('').focus(); // Focus on the next input auto\n\n return;\n }\n\n $(this).val(currentVal.slice(0, -1));\n });\n\n $('.btn-twoFactorAuthClearVerify').off().on('click', function(e: Event) {\n e.preventDefault();\n clearVerifyInputs();\n });\n\n $('.btn-whySeeTwoFa').off().on('click', function(e: Event) {\n e.preventDefault();\n\n const msg = T('Why am I seeing this?\\n') +\nT('Your administrator has turned on two-factor authentication for your organization to provide increased security.\\n\\n') +\nT('What is two-factor authentication?\\n') +\nT(`Two-factor authentication (2FA) adds an extra level of security to your account which prevents another person logging in even if they have your password.\nThis works by setting up an authenticator app on your phone or computer. The app then provides a 6 digit verification code each time you log in.\\n\\n`) +\nT('How do I set this up?\\n') +\nT(`1. If you don't already have it, download and install the authenticator app using the link provided.\n2. Open the authenticator app and either scan the QR code with your device camera or copy/paste the text code into the app. (Refer to your app's help docs if needed)\n3. The authenticator app will generate a 6 digit code.\n4. On our Login Verification page, enter those digits into the verification code box.\n5. Click 'Sign In'`) +\nT(`On each subsequent sign in you'll need to enter a new verification code from your authenticator app.`);\n\n alert(msg);\n });\n\n // Submit form on Enter key pressed\n $(document).on('keypress',function(e) {\n if (e.which !== 13)\n return;\n\n $('.btn-signin-twoFactorAuth').click();\n });\n }\n\n function clearVerifyInputs() {\n $('.two-factor-auth-verify-code-input').val('');\n $('#twoFactorAuthVerifyCodeInput1').focus();\n }\n}\n"]}