{"version":3,"sources":["webpack://insight-web-ui/./insight/scripts/login/forgotLoginUI.js","webpack://insight-web-ui/./insight/forgot.js","webpack://insight-web-ui/./insight/scripts/common/errorHandler.js","webpack://insight-web-ui/./insight/scripts/common/featuresRepo.js","webpack://insight-web-ui/./insight/scripts/common/dateHelper.js","webpack://insight-web-ui/./insight/scripts/common/isValidEmailAddress.js","webpack://insight-web-ui/./insight/scripts/common/uiHelper.js","webpack://insight-web-ui/webpack/bootstrap","webpack://insight-web-ui/webpack/runtime/compat get default export","webpack://insight-web-ui/webpack/runtime/define property getters","webpack://insight-web-ui/webpack/runtime/global","webpack://insight-web-ui/webpack/runtime/hasOwnProperty shorthand","webpack://insight-web-ui/webpack/runtime/node module decorator","webpack://insight-web-ui/webpack/runtime/jsonp chunk loading","webpack://insight-web-ui/webpack/startup"],"names":["viewModel","self","this","emailAddress","sendingUsernameReminder","sendingPasswordReset","showUsernameReminderSentMessage","showPasswordResetSentMessage","showStartingForm","errorMessage","emailAddressIsValid","email","sendUsernameReminder","authService","then","response","sentSuccessfully","setTimeout","redirectUser","errorResult","sendPasswordReset","window","location","href","template","element","featuresRepo","_featuresObject","prototype","getFeatures","deferred","resolve","url","type","beforeSend","xhr","setRequestHeader","success","results","status","jqXhr","error","reject","promise","dateHelper","getDateFromString","dateString","toDate","getShortDateString","dateObj","format","getDateRangeStartDate","interval","dateRange","startDate","dateAmount","getCurrentDateRangeUnit","dateInterval","replace","toIndex","toLowerCase","indexOf","substring","startOf","subtract","getDateRangeEndDate","endDate","add","isValidEmailAddress","string","test","uiHelper","isMobileDevice","result","navigator","maxTouchPoints","msMaxTouchPoints","innerWidth","useDesktopSite","useDesktop","localStorge","setItem","localStorage","getItem","deleteCookie","name","document","cookie","setCookie","cookieName","cookieValue","expirationDays","d","Date","setTime","getTime","expires","toUTCString","getCookie","ca","split","i","length","c","charAt","getUriEncodedCookie","value","object","k","v","decodeURIComponent","map","property","hasCookie","includes","copyToClipboard","elementId","el","getElementById","console","log","content","innerHTML","clipboard","writeText","catch","err","__webpack_module_cache__","__webpack_require__","moduleId","exports","module","id","loaded","__webpack_modules__","call","m","x","n","getter","__esModule","a","definition","key","o","Object","defineProperty","enumerable","get","g","globalThis","Function","e","obj","prop","hasOwnProperty","nmd","paths","children","installedChunks","89","deferredModules","checkDeferredModules","webpackJsonpCallback","parentChunkLoadingFunction","data","chunkId","chunkIds","moreModules","runtime","executeModules","resolves","push","shift","apply","chunkLoadingGlobal","checkDeferredModulesImpl","deferredModule","fulfilled","j","depId","splice","s","forEach","bind","startup"],"mappings":"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","file":"forgot_9134bec90c083f607b49.js","sourcesContent":["/*\r\n forgotLoginUI\r\n\r\n This class represents the login UI.\r\n\r\n */\r\n\r\nimport ko from 'knockout';\r\nimport { isValidEmailAddress } from '../common';\r\nimport { authService } from './authService';\r\n\r\nko.components.register('forgot-login-ui', {\r\n viewModel: forgotLoginUI,\r\n\ttemplate: {\r\n\t\telement: 'forgot-login-ui-template'\r\n\t}\r\n});\r\n\r\nfunction forgotLoginUI() {\r\n\r\n\tvar self = this;\r\n\r\n\t//Public functions\r\n\tself.emailAddress = ko.observable(\"\");\r\n\tself.sendingUsernameReminder = ko.observable(false);\r\n\tself.sendingPasswordReset = ko.observable(false);\r\n\tself.showUsernameReminderSentMessage = ko.observable(false);\r\n\tself.showPasswordResetSentMessage = ko.observable(false);\r\n\tself.showStartingForm = ko.computed(function () {\r\n\t return self.showUsernameReminderSentMessage() === false && self.showPasswordResetSentMessage() === false;\r\n\t});\r\n\tself.errorMessage = ko.observable(\"\");\r\n\r\n\tself.emailAddressIsValid = ko.computed(function () {\r\n\t self.errorMessage(\"\");\r\n\t var email = self.emailAddress() || \"\";\r\n\t return isValidEmailAddress(email);\r\n\t});\r\n\r\n\tself.sendUsernameReminder = function () {\r\n\r\n\t self.sendingUsernameReminder(true);\r\n\t self.errorMessage(\"\");\r\n\r\n\t authService.sendUsernameReminderEmail(self.emailAddress()).then(\r\n\t \tfunction (response) {\r\n\r\n\t \t self.sendingUsernameReminder(false);\r\n\r\n\t \t if (response.sentSuccessfully) {\r\n\t \t self.showUsernameReminderSentMessage(true);\r\n\t \t setTimeout(redirectUser, 10000);\r\n\t \t }\r\n\t \t else {\r\n\t \t self.errorMessage(response.errorMessage);\r\n\t \t }\r\n\t \t},\r\n\t \tfunction (errorResult) {\r\n\t \t self.sendingUsernameReminder(false);\r\n\t \t self.errorMessage(errorResult);\r\n\t \t}\r\n\t )\r\n\t}\r\n\r\n\tself.sendPasswordReset = function () {\r\n\r\n\t self.sendingPasswordReset(true);\r\n\t\tself.errorMessage(\"\");\r\n\r\n\t\tauthService.sendPasswordResetEmail(self.emailAddress()).then(\r\n\t \tfunction (response) {\r\n\r\n\t \t self.sendingPasswordReset(false);\r\n\r\n\t \t if (response.sentSuccessfully) {\r\n\t \t self.showPasswordResetSentMessage(true);\r\n\t \t setTimeout(redirectUser, 10000);\r\n\t \t }\r\n\t \t else {\r\n\t \t self.errorMessage(response.errorMessage);\r\n\t \t }\r\n\t \t},\r\n\t \tfunction (errorResult) {\r\n\t \t self.sendingPasswordReset(false);\r\n\t \t self.errorMessage(errorResult);\r\n\t \t}\r\n\t )\r\n\t}\r\n\r\n\tvar redirectUser = function () {\t\t\r\n\t\twindow.location.href = \"login.html\";\r\n\t}\r\n\r\n\tvar init = function () {\r\n\t\t\r\n\t}\r\n\r\n\t//Init the UI\r\n\tinit();\r\n}","import '@progress/kendo-ui/css/web/kendo.common-material.css';\r\nimport '@progress/kendo-ui/css/web/kendo.material.css';\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport 'jquery-ui/themes/base/all.css';\r\nimport './styles/common/common.css';\r\nimport './styles/common/page-header.css';\r\nimport './styles/login/login.css';\r\n\r\nimport { loadTemplatesAndApplyBindings } from './scripts';\r\nimport './scripts/common/dropdown';\r\nimport './scripts/common/helperFunctions';\r\nimport './scripts/common/mixins';\r\nimport './scripts/common/modalDialog';\r\nimport './scripts/common/pageHeader';\r\nimport './scripts/common/runAfter';\r\nimport './scripts/login/forgotLoginUI';\r\nimport './scripts/elasticAPM';\r\n\r\nloadTemplatesAndApplyBindings();\r\n","/*\r\n errorHandler\r\n\r\n This class handles exceptions in the UI\r\n\r\n */\r\n\r\nconst bootbox = require('bootbox');\r\n\r\nexport const errorHandler = {\r\n //Process the xhr response\r\n processResponse(xhr) {\r\n if (xhr.status && xhr.status === 500) {\r\n\r\n var message = \"An error occurred\";\r\n\r\n if (xhr.responseJSON && xhr.responseJSON.exceptions && xhr.responseJSON.exceptions.length > 0) {\r\n message = xhr.responseJSON.exceptions[0].message;\r\n }\r\n\r\n if (message.length > 500) {\r\n message = message.substring(0, 500);\r\n }\r\n\r\n errorHandler.show(message);\r\n }\r\n },\r\n\r\n /**\r\n * @param {string} message \r\n */\r\n show(message) {\r\n bootbox.alert({\r\n size: 'medium',\r\n message: message,\r\n title: 'An Error Has Occurred - ' + new Date().toLocaleDateString() + ' ' + new Date().toLocaleTimeString()\r\n });\r\n }\r\n};\r\n","/*\r\n featuresRepo\r\n\r\n This class retrieves enabled features\r\n\r\n */\r\n\r\nimport $ from 'jquery';\r\nimport { authService } from '../login';\r\n\r\nvar FeaturesRepo = (function () {\r\n var self = this;\r\n\r\n function featuresRepo() {\r\n\r\n }\r\n\r\n var _featuresObject = null;\r\n\r\n featuresRepo.prototype.getFeatures = function () {\r\n var deferred = $.Deferred();\r\n\r\n if (_featuresObject !== null) {\r\n deferred.resolve(_featuresObject)\r\n }\r\n else {\r\n $.ajax({\r\n url: `${API_URL}/features`,\r\n type: 'GET',\r\n beforeSend: function (xhr) {\r\n xhr.setRequestHeader(\"Authorization\", authService.getAuthorizationHeaderValue());\r\n },\r\n success: function (results, status, jqXhr) {\r\n _featuresObject = results;\r\n deferred.resolve(results);\r\n },\r\n error: function (jqXhr, status, error) {\r\n authService.handleApiResult(jqXhr);\r\n deferred.reject(jqXhr);\r\n }\r\n });\r\n }\r\n \r\n return deferred.promise();\r\n }\r\n\r\n return featuresRepo;\r\n})();\r\n\r\nexport const featuresRepo = new FeaturesRepo();\r\n","/*\r\n dateHelper\r\n\r\n This class provides date helper functions\r\n\r\n */\r\n\r\nimport _ from 'lodash';\r\nimport moment from 'moment';\r\n\r\nvar DateHelper = (function () {\r\n\r\n function dateHelper() {}\r\n\r\n //Returns a date from a string in the format of YYYY-MM-DD\r\n dateHelper.prototype.getDateFromString = function (dateString) {\r\n\r\n if (_.isNullOrUndefined(dateString)) {\r\n return undefined;\r\n }\r\n\r\n var result = moment(dateString, \"YYYY-MM-DD\");\r\n return result.toDate();\r\n }\r\n\r\n //Returns a date from a string in the format of YYYY-MM-DD\r\n dateHelper.prototype.getShortDateString = function (dateObj) {\r\n\r\n if (_.isNullOrUndefined(dateObj)) {\r\n return undefined;\r\n }\r\n\r\n return moment(dateObj).format('MM/DD/YYYY');\r\n }\r\n\r\n //Returns a report start date based on the currently stored date range and interval.\r\n dateHelper.prototype.getDateRangeStartDate = function (interval, dateRange) {\r\n\r\n var dateAmount = getCurrentDateRangeUnit(dateRange); // 0, 3, 6, 12 (i.e. current, last 3, last 6, last 12)\r\n var dateInterval = interval.replace(\"period\", \"year\").replace(\"fiscalyear\", \"year\"); // day, week, month, year, period, fiscalyear, custom\r\n\r\n var startDate;\r\n if (dateInterval == \"custom\") {\r\n var toIndex = dateRange.toLowerCase().indexOf(\"-to-\");\r\n if (toIndex > -1) {\r\n startDate = moment(dateRange.substring(0, toIndex));\r\n }\r\n }\r\n else {\r\n startDate = moment().startOf(dateInterval).subtract(dateAmount, dateInterval);\r\n }\r\n\r\n //TODO: remove this when we get more current data\r\n if (dateInterval != \"custom\")\r\n startDate.subtract(4, \"year\");\r\n\r\n return startDate.toDate();\r\n }\r\n\r\n //Returns a report end date based on the currently stored date range and interval.\r\n dateHelper.prototype.getDateRangeEndDate = function (interval, dateRange) {\r\n\r\n var dateAmount = getCurrentDateRangeUnit(dateRange); // 0, 3, 6, 12 (i.e. current, last 3, last 6, last 12)\r\n var dateInterval = interval.replace(\"period\", \"year\").replace(\"fiscalyear\", \"year\"); // day, week, month, year, period, fiscalyear, custom\r\n\r\n var endDate;\r\n if (dateInterval == \"custom\") {\r\n var toIndex = dateRange.toLowerCase().indexOf(\"-to-\");\r\n if (toIndex > -1) {\r\n endDate = moment(dateRange.substring(toIndex + 4));\r\n }\r\n }\r\n else {\r\n var startDate = moment().startOf(dateInterval).subtract(dateAmount, dateInterval);\r\n endDate = startDate.add(dateAmount == 0 ? 1 : dateAmount, dateInterval).subtract(1, \"day\");\r\n }\r\n\r\n //TODO: remove this when we get more current data\r\n if (dateInterval != \"custom\")\r\n endDate.subtract(4, \"year\");\r\n\r\n return endDate.toDate();\r\n }\r\n\r\n //Helper function to return date range units.\r\n var getCurrentDateRangeUnit = function (dateRange) {\r\n switch (dateRange) {\r\n case \"current\":\r\n return 0;\r\n break;\r\n case \"last3\":\r\n return 3;\r\n break;\r\n case \"last6\":\r\n return 6;\r\n break;\r\n case \"last12\":\r\n return 12;\r\n break;\r\n default:\r\n return 0;\r\n }\r\n }\r\n\r\n return dateHelper;\r\n})();\r\n\r\nexport const dateHelper = new DateHelper();","export function isValidEmailAddress(string) {\r\n var regex = /[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/;\r\n\r\n return regex.test(string);\r\n};","/*\r\n uiHelper\r\n\r\n This class provides ui helper functions\r\n\r\n */\r\n\r\nimport $ from 'jquery';\r\n\r\nvar UIHelper = (function () {\r\n\r\n function uiHelper() { }\r\n\r\n uiHelper.prototype.isMobileDevice = function () {\r\n var result = false;\r\n\r\n //Detect touch events or pointer events, i.e. mobile device\r\n if (('ontouchstart' in window) || (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0)) {\r\n if (window.innerWidth < 992) {\r\n result = true;\r\n }\r\n }\r\n\r\n return result;\r\n };\r\n\r\n uiHelper.prototype.useDesktopSite = function (useDesktop) {\r\n\r\n if (useDesktop !== undefined && useDesktop !== null) {\r\n localStorge.setItem(\"useDesktopSite\", useDesktop);\r\n }\r\n else if (localStorage.getItem(\"useDesktopSite\") === null) {\r\n localStorage.setItem(\"useDesktopSite\", this.isMobileDevice() === false);\r\n }\r\n\r\n return localStorage.getItem(\"useDesktopSite\");\r\n };\r\n\r\n /**\r\n * Deletes a cookie.\r\n * \r\n * @param {string} name The cookie name.\r\n */\r\n uiHelper.prototype.deleteCookie = function (name) {\r\n document.cookie = `${name}=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;SameSite=Strict`;\r\n }\r\n\r\n uiHelper.prototype.setCookie = function (cookieName, cookieValue, expirationDays) {\r\n var d = new Date();\r\n d.setTime(d.getTime() + (expirationDays * 24 * 60 * 60 * 1000));\r\n\r\n if (expirationDays) {\r\n var expires = \"expires=\" + d.toUTCString();\r\n document.cookie = cookieName + \"=\" + cookieValue + \";\" + expires + \";path=/;SameSite=Strict\";\r\n }\r\n else {\r\n document.cookie = cookieName + \"=\" + cookieValue + \";path=/;SameSite=Strict\";\r\n }\r\n }\r\n\r\n uiHelper.prototype.getCookie = function (cookieName) {\r\n var name = cookieName + \"=\";\r\n var ca = document.cookie.split(';');\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n while (c.charAt(0) == ' ') {\r\n c = c.substring(1);\r\n }\r\n if (c.indexOf(name) == 0) {\r\n return c.substring(name.length, c.length);\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n /**\r\n * Retrieves the URI-encoded cookie value as an object.\r\n * \r\n * @param {string} name The cookie name.\r\n */\r\n uiHelper.prototype.getUriEncodedCookie = function (name) {\r\n const value = this.getCookie(name);\r\n\r\n if (!value) return undefined;\r\n\r\n /**\r\n * @type {{[key: string]: string}}\r\n */\r\n const object = {};\r\n\r\n for (const [k, v] of decodeURIComponent(value).split('&').map(property => property.split('=')))\r\n object[k] = v;\r\n\r\n return object;\r\n }\r\n\r\n /**\r\n * Indicates whether a cookie exists.\r\n * \r\n * @param {string} name The cookie name.\r\n */\r\n uiHelper.prototype.hasCookie = function (name) {\r\n return document.cookie.includes(`${name}=`);\r\n }\r\n\r\n uiHelper.prototype.copyToClipboard = function (elementId) {\r\n\r\n const el = document.getElementById(elementId);\r\n\r\n if (el === null) {\r\n console.log(\"Text could not be copied to clipboard\");\r\n return;\r\n }\r\n\r\n const content = el.innerHTML;\r\n navigator.clipboard.writeText(content)\r\n .then(() => {\r\n console.log(\"Text copied to clipboard...\")\r\n })\r\n .catch(err => {\r\n console.log(\"Text could not be copied to clipboard\", err);\r\n })\r\n }\r\n\r\n return uiHelper;\r\n})();\r\n\r\nexport const uiHelper = new UIHelper();\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// the startup function\n// It's empty as some runtime module handles the default behavior\n__webpack_require__.x = x => {}\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// Promise = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t89: 0\n};\n\nvar deferredModules = [\n\t[7751,334,131,176,865]\n];\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\nvar checkDeferredModules = x => {};\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime, executeModules] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0, resolves = [];\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tresolves.push(installedChunks[chunkId][0]);\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\tfor(moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t}\n\t}\n\tif(runtime) runtime(__webpack_require__);\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\twhile(resolves.length) {\n\t\tresolves.shift()();\n\t}\n\n\t// add entry modules from loaded chunk to deferred list\n\tif(executeModules) deferredModules.push.apply(deferredModules, executeModules);\n\n\t// run deferred modules when all chunks ready\n\treturn checkDeferredModules();\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkinsight_web_ui\"] = self[\"webpackChunkinsight_web_ui\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));\n\nfunction checkDeferredModulesImpl() {\n\tvar result;\n\tfor(var i = 0; i < deferredModules.length; i++) {\n\t\tvar deferredModule = deferredModules[i];\n\t\tvar fulfilled = true;\n\t\tfor(var j = 1; j < deferredModule.length; j++) {\n\t\t\tvar depId = deferredModule[j];\n\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferredModules.splice(i--, 1);\n\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n\t\t}\n\t}\n\tif(deferredModules.length === 0) {\n\t\t__webpack_require__.x();\n\t\t__webpack_require__.x = x => {};\n\t}\n\treturn result;\n}\nvar startup = __webpack_require__.x;\n__webpack_require__.x = () => {\n\t// reset startup function so it can be called again when more startup code is added\n\t__webpack_require__.x = startup || (x => {});\n\treturn (checkDeferredModules = checkDeferredModulesImpl)();\n};","// run startup\nreturn __webpack_require__.x();\n"],"sourceRoot":""}