{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./ClientApps/common/Config.js","webpack:///./ClientApps/common/components/globalUI/GlobalHeader.js","webpack:///./ClientApps/common/components/globalUI/GlobalMenu.js","webpack:///./ClientApps/common/components/globalUI/GlobalLoginStatus.js","webpack:///./ClientApps/common/Utils.js","webpack:///./ClientApps/Login/containers/Welcome.js","webpack:///./ClientApps/Login/containers/LoginForm.js","webpack:///./ClientApps/Login/App.js","webpack:///./ClientApps/Login/index.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","USER_ROLES","DBIC_EDIT","DBIC_REPORTS","DBIC_VIEW","MP_VIEW","MP_CONTENT","MP_HOSPITALITY","MP_LISTABLE","PA_EDIT","PA_PUBLISH","PA_VIEW","MSF_EDIT","SC_VIEW","SC_EDIT","SC_INDEX_EDIT","TOD_VIEW","TOD_EDIT","PR_VIEW","PR_EDIT_RT","PR_EDIT_RG","FDSM_EDIT","CHANGES_NOT_SAVED_MSG","lpLogoPath","location","origin","GlobalHeader","props","toggle","state","isOpen","user","isAuthenticated","this","setState","light","expand","className","id","onClick","to","areaName","navbar","href","src","children","loggedIn","signOut","Component","propTypes","PropTypes","string","oneOfType","node","arrayOf","isRequired","bool","func","withRouter","GlobalMenu","roles","nav","inNavbar","caret","header","includes","shape","GlobalLoginStatus","userInfo","firstName","right","getLocalDataTime","datetime","toLocaleDateString","toLocaleTimeString","getFileNameFromPath","path","splitPath","split","createUUID","dt","Date","getTime","replace","Math","random","floor","toString","formatPrice","price","toLocaleString","minimumFractionDigits","formatLongSku","sku","reduce","acc","char","index","fromSurrogatePairToCodePoint","h","encodeChar","charcode","htmlEncode","str","output","charCode","charCodeAt","nextCharCode","Number","isNaN","codePoint","String","fromCharCode","join","Welcome","LoginForm","e","username","target","trim","password","lpxPath","lpcheckPath","errorMsgVisible","errorNetworkMsgVisible","isAuthenticating","role","autoComplete","noValidate","method","onSubmit","handleLoginBtnClick","htmlFor","type","onChange","changeUserName","getErrorMsg","getOkMsg","changePassword","React","Login","fetch","credentials","headers","accept","pragma","then","res","status","json","timeRemaining","setIsAuthenticated","localStorage","removeItem","error","console","log","preventDefault","isValid","validateLoginForm","tabId","sessionStorage","getItem","setItem","body","JSON","stringify","ClientId","Accept","isLoggingIn","returnUrl","document","getElementById","parse","checkIsAuthenticated","handleSignOut","render"],"mappings":"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","file":"Login.456f0c49bf709ce6e473.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([342,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/**\r\n * This is list of user roles (rights) that are used in SCMS\r\n */\r\nconst USER_ROLES = {\r\n\tDBIC_EDIT: 'CMS DBIC Edit',\r\n\tDBIC_REPORTS: 'CMS DBIC Reports',\r\n\tDBIC_VIEW: 'CMS DBIC View',\r\n\t/**\r\n\t * Allows read only access for all fields on the page\r\n\t */\r\n\tMP_VIEW: 'CMS Manage Product View Only',\r\n\t/**\r\n\t * Allows users read access for all fields on the page,\r\n\t * plus edit permissions for copy/content related fields and product attributes\r\n\t */\r\n\tMP_CONTENT: 'CMS Manage Product Content',\r\n\t/**\r\n\t * Allows users read access for all fields on the page, plus edit permissions for hospitality flags and schemes\r\n\t */\r\n\tMP_HOSPITALITY: 'CMS Manage Product Hospitality',\r\n\t/**\r\n\t * Allows users read access for all fields on the page, plus edit permissions for listable flags\r\n\t */\r\n\tMP_LISTABLE: 'CMS Manage Product Listable',\r\n\tPA_EDIT: 'CMS Product Asset Edit',\r\n\tPA_PUBLISH: 'CMS Product Asset Publish',\r\n\tPA_VIEW: 'CMS Product Asset View',\r\n\tMSF_EDIT: 'CMS Manage Sort Filters',\r\n\tSC_VIEW: 'CMS Search Configuration Utility View',\r\n\tSC_EDIT: 'CMS Search Configuration Utility Edit',\r\n\tSC_INDEX_EDIT: 'CMS Search Configuration Utility Index Edit',\r\n\tTOD_VIEW: 'CMS Training On Demand View',\r\n\tTOD_EDIT: 'CMS Training On Demand Edit',\r\n\tPR_VIEW: 'CMS View Product Relationships',\r\n\tPR_EDIT_RT: 'CMS Manage Relationship Types',\r\n\tPR_EDIT_RG: 'CMS Manage Relationship Groups',\r\n\tFDSM_EDIT: 'CMS Filter Display Set Mapping Edit'\r\n};\r\n\r\nconst CHANGES_NOT_SAVED_MSG = 'Changes you made may not be saved.';\r\n\r\nexport { USER_ROLES, CHANGES_NOT_SAVED_MSG };\r\n","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { withRouter } from 'react-router-dom';\r\nimport {\r\n\tCollapse, Navbar, NavbarBrand, NavbarToggler, Nav\r\n} from 'reactstrap';\r\nimport { LinkContainer } from 'react-router-bootstrap';\r\n\r\nimport GlobalMenu from './GlobalMenu';\r\nimport GlobalLoginStatus from './GlobalLoginStatus';\r\nimport './GlobalHeader.scss';\r\n\r\nconst lpLogoPath = `${window.location.origin}/imgs/lp-logo-black.png`;\r\n\r\nclass GlobalHeader extends Component {\r\n\r\n\tconstructor (props) {\r\n\r\n\t\tsuper(props);\r\n\r\n\t\tthis.toggle = this.toggle.bind(this);\r\n\t\tthis.state = {\r\n\t\t\tisOpen: false,\r\n\t\t\tuser: this.props.isAuthenticated && this.props.user\r\n\t\t};\r\n\r\n\t}\r\n\r\n\ttoggle () {\r\n\r\n\t\tthis.setState({\r\n\t\t\tisOpen: !this.state.isOpen\r\n\t\t});\r\n\r\n\t}\r\n\r\n\trender () {\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{this.props.areaName}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\r\n\t}\r\n\r\n}\r\n\r\nGlobalHeader.propTypes = {\r\n\tareaName: PropTypes.string,\r\n\tchildren: PropTypes.oneOfType([ PropTypes.node, PropTypes.arrayOf(PropTypes.node) ]).isRequired,\r\n\tisAuthenticated: PropTypes.bool,\r\n\tsignOut: PropTypes.func, // callback to parent for setting state before signout and redirection\r\n\tuser: PropTypes.object\r\n};\r\n\r\nexport default withRouter(GlobalHeader);\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n\tDropdownToggle, DropdownMenu, DropdownItem, UncontrolledDropdown\r\n} from 'reactstrap';\r\n\r\nimport { USER_ROLES } from '../../Config';\r\n\r\nconst GlobalMenu = ({ user: { roles } }) => (\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\tLamps Plus Utilities\r\n\t\t\r\n\t\t\r\n\t\t\tLamps Plus Utilities\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\tLamps Plus Utilities\r\n\t\t\t\r\n\t\t\t{roles.includes(USER_ROLES.PA_VIEW)\r\n\t\t\t|| roles.includes(USER_ROLES.PA_EDIT)\r\n\t\t\t|| roles.includes(USER_ROLES.PA_PUBLISH) ? (\r\n\t\t\t\t\tProduct Assets\r\n\t\t\t\t) : null}\r\n\t\t\t{roles.includes(USER_ROLES.DBIC_VIEW)\r\n\t\t\t|| roles.includes(USER_ROLES.DBIC_EDIT)\r\n\t\t\t|| roles.includes(USER_ROLES.DBIC_VIEW) ? (\r\n\t\t\t\t\tProduct Images\r\n\t\t\t\t) : null}\r\n\t\t\t{roles.includes(USER_ROLES.MP_VIEW)\r\n\t\t\t|| roles.includes(USER_ROLES.MP_LISTABLE)\r\n\t\t\t|| roles.includes(USER_ROLES.MP_HOSPITALITY)\r\n\t\t\t|| roles.includes(USER_ROLES.MP_CONTENT) ? (\r\n\t\t\t\t\tManage Products\r\n\t\t\t\t) : null}\r\n\t\t\t{roles.includes(USER_ROLES.PR_VIEW)\r\n\t\t\t|| roles.includes(USER_ROLES.PR_EDIT_RT)\r\n\t\t\t|| roles.includes(USER_ROLES.PR_EDIT_RG) ? (\r\n\t\t\t\t\tManage Relationships\r\n\t\t\t\t) : null}\r\n\t\t\t{roles.includes(USER_ROLES.MSF_EDIT) ? (\r\n\t\t\t\tManage Sort Filters\r\n\t\t\t) : null}\r\n\t\t\t{roles.includes(USER_ROLES.SC_VIEW) || roles.includes(USER_ROLES.SC_EDIT) ? (\r\n\t\t\t\tSearch Configuration\r\n\t\t\t) : null}\r\n\t\t\t{roles.includes(USER_ROLES.TOD_VIEW) || roles.includes(USER_ROLES.TOD_EDIT) ? (\r\n\t\t\t\tTraining On Demand\r\n\t\t\t) : null}\r\n\t\t\t{roles.includes(USER_ROLES.FDSM_EDIT) ? FDS Mapping : null}\r\n\t\t\r\n\t\r\n);\r\n\r\nGlobalMenu.propTypes = {\r\n\tuser: PropTypes.shape({\r\n\t\troles: PropTypes.arrayOf(PropTypes.string)\r\n\t}).isRequired\r\n};\r\n\r\nexport default GlobalMenu;\r\n","import React from 'react';\r\nimport {\r\n\tDropdownItem,\r\n\tDropdownMenu,\r\n\tDropdownToggle,\r\n\tNavItem,\r\n\tNavLink,\r\n\tUncontrolledDropdown\r\n} from 'reactstrap';\r\nimport PropTypes from 'prop-types';\r\n\r\nfunction GlobalLoginStatus ({ loggedIn, user, signOut }) {\r\n\r\n\tconst userInfo = {\r\n\t\tname: user && user.firstName,\r\n\t\t...user\r\n\t};\r\n\r\n\r\n\tconst handleSignOut = () => {\r\n\r\n\t\tsignOut && signOut();\r\n\t\twindow.location.href = '/logout';\r\n\r\n\t};\r\n\r\n\tif (loggedIn) {\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\tWelcome, {userInfo.firstName}\r\n\t\t\t\t\r\n\t\t\t\t\t handleSignOut()}>Sign Out\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t);\r\n\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\tSign In\r\n\t\t\r\n\t);\r\n\r\n}\r\n\r\nGlobalLoginStatus.propTypes - {\r\n\tloggedIn: PropTypes.bool.isRequired,\r\n\tsignOut: PropTypes.func.isRequired,\r\n\tuser: PropTypes.object\r\n};\r\n\r\nexport default GlobalLoginStatus;\r\n","const getLocalDataTime = (datetime) => `${datetime.toLocaleDateString()} ${datetime.toLocaleTimeString()}`;\r\n\r\nconst getFileNameFromPath = (path) => {\r\n\r\n\tconst splitPath = path.split('/');\r\n\treturn splitPath[splitPath.length - 1];\r\n\r\n};\r\n\r\nconst createUUID = () => {\r\n\r\n\tlet dt = new Date().getTime();\r\n\tconst uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\r\n\r\n\t\tconst r = (dt + Math.random() * 16) % 16 | 0;\r\n\t\tdt = Math.floor(dt / 16);\r\n\t\treturn (c == 'x' ? r : (r & 0x3) | 0x8).toString(16);\r\n\r\n\t});\r\n\r\n\treturn uuid;\r\n\r\n};\r\n\r\nconst formatPrice = (price) => `\\$${price.toLocaleString('en', { minimumFractionDigits: 2 })}`;\r\n\r\nconst formatLongSku = (sku) => sku\r\n\t\t?.replace(/\\s+/g, '')\r\n\t\t.split('')\r\n\t\t.reduce((acc, char, index) => acc + (index === 2 || index === 6 || index === 11 ? `-${char}` : char), '');\r\n\r\nconst fromSurrogatePairToCodePoint = (h, l) => (h - 0xd800) * 0x400 + l - 0xdc00 + 0x10000;\r\nconst isSurrogatePairValid = (h, l) => !Number.isNaN(h) && !Number.isNaN(l) && ((h - 0xd800) | (l - 0xdc00)) <= 0x3ff;\r\nconst encodeChar = (charcode) => `&#${charcode};`;\r\n/** This function was ported from .net (HttpUtility.HtmlDecode) to js */\r\nconst htmlEncode = (str) => {\r\n\r\n\tconst output = [];\r\n\tfor (let i = 0; i < str.length; i++) {\r\n\r\n\t\tif (str[i] === '<') {\r\n\r\n\t\t\toutput.push('<');\r\n\r\n\t\t} else if (str[i] === '>') {\r\n\r\n\t\t\toutput.push('>');\r\n\r\n\t\t} else if (str[i] === '\"') {\r\n\r\n\t\t\toutput.push('"');\r\n\r\n\t\t} else if (str[i] === \"'\") {\r\n\r\n\t\t\toutput.push(''');\r\n\r\n\t\t} else if (str[i] === '&') {\r\n\r\n\t\t\toutput.push('&');\r\n\r\n\t\t} else {\r\n\r\n\t\t\tconst charCode = str.charCodeAt(i);\r\n\t\t\tif (charCode >= 160 && charCode < 256) {\r\n\r\n\t\t\t\t// encoding required by RFC?\r\n\r\n\t\t\t\toutput.push(encodeChar(charCode));\r\n\r\n\t\t\t} else if (charCode >= 0xd800 && charCode <= 0xdfff) {\r\n\r\n\t\t\t\t// surrogate pair\r\n\r\n\t\t\t\tconst nextCharCode = str.charCodeAt(i + 1);\r\n\r\n\t\t\t\tif (isSurrogatePairValid(charCode, nextCharCode)) {\r\n\r\n\t\t\t\t\tconst codePoint = fromSurrogatePairToCodePoint(charCode, nextCharCode);\r\n\t\t\t\t\tif (codePoint >= 0x10000) {\r\n\r\n\t\t\t\t\t\toutput.push(encodeChar(codePoint));\r\n\r\n\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\t// Don't encode BMP characters (like U+FFFD) since they wouldn't have\r\n\t\t\t\t\t\t// been encoded if explicitly present in the string anyway.\r\n\t\t\t\t\t\toutput.push(String.fromCharCode(codePoint));\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// since the surrogate pair is valid then we would like to skip next symbol\r\n\t\t\t\t\ti++;\r\n\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\t// for invalid pair we add � to output\r\n\t\t\t\t\toutput.push('\\uFFFD');\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t} else {\r\n\r\n\t\t\t\toutput.push(str[i]);\r\n\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t}\r\n\r\n\treturn output.join('');\r\n\r\n};\r\n\r\nexport {\r\n\tgetLocalDataTime, getFileNameFromPath, createUUID, formatPrice, formatLongSku, htmlEncode\r\n};\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { USER_ROLES } from '../../common/Config';\r\n\r\nimport './Welcome.scss';\r\n\r\nconst Welcome = ({ user: { roles } }) => (\r\n\t
\r\n\t\t

Recent Utilities

\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{roles.includes(USER_ROLES.PA_VIEW)\r\n\t\t\t\t|| roles.includes(USER_ROLES.PA_EDIT)\r\n\t\t\t\t|| roles.includes(USER_ROLES.PA_PUBLISH) ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tProduct Assets\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t{roles.includes(USER_ROLES.DBIC_VIEW)\r\n\t\t\t\t|| roles.includes(USER_ROLES.DBIC_EDIT)\r\n\t\t\t\t|| roles.includes(USER_ROLES.DBIC_VIEW) ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tProduct Images\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t{roles.includes(USER_ROLES.MP_VIEW)\r\n\t\t\t\t|| roles.includes(USER_ROLES.MP_LISTABLE)\r\n\t\t\t\t|| roles.includes(USER_ROLES.MP_HOSPITALITY)\r\n\t\t\t\t|| roles.includes(USER_ROLES.MP_CONTENT) ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tManage Products\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t{roles.includes(USER_ROLES.PR_VIEW)\r\n\t\t\t\t|| roles.includes(USER_ROLES.PR_EDIT_RT)\r\n\t\t\t\t|| roles.includes(USER_ROLES.PR_EDIT_RG) ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tManage Relationships\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : null}\r\n\t\t\t\t{roles.includes(USER_ROLES.MSF_EDIT) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tManage Sort Filters\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\t\t\t\t{roles.includes(USER_ROLES.SC_VIEW) || roles.includes(USER_ROLES.SC_EDIT) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tSearch Configuration\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\t\t\t\t{roles.includes(USER_ROLES.TOD_VIEW) || roles.includes(USER_ROLES.TOD_EDIT) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tTraining On Demand\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\t\t\t\t{roles.includes(USER_ROLES.FDSM_EDIT) ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tFDS Mapping\r\n\t\t\t\t\t\r\n\t\t\t\t) : null}\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n);\r\n\r\nWelcome.propTypes = {\r\n\tuser: PropTypes.shape({\r\n\t\troles: PropTypes.arrayOf(PropTypes.string)\r\n\t}).isRequired\r\n};\r\n\r\nexport default Welcome;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport './LoginForm.scss';\r\n\r\nclass LoginForm extends React.Component {\r\n\r\n\tconstructor (props) {\r\n\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = { \r\n\r\n\t\t\tusername: null,\r\n\t\t\tpassword: null\r\n\r\n\t\t};\r\n\r\n\t}\r\n\r\n\tchangeUserName = (e) => {\r\n\r\n\t\tthis.setState({ username: e.target.value.trim() });\r\n\r\n\t}\r\n\r\n\tchangePassword = (e) => {\r\n\r\n\t\tthis.setState({ password: e.target.value.trim() });\r\n\r\n\t}\r\n\r\n\tgetErrorMsg = () => {\r\n\r\n\t\tconst lpxPath = `${window.location.origin}/imgs/x.png`;\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\tThis field is required\r\n\t\t\t\r\n\t\t);\r\n\r\n\t}\r\n\r\n\tgetOkMsg = () => {\r\n\r\n\t\tconst lpcheckPath = `${window.location.origin}/imgs/check-mark.png`;\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t);\r\n\r\n\t}\r\n\t\r\n\trender () {\r\n\t\t\r\n\t\tconst lpLogoPath = `${window.location.origin}/imgs/lp-logo-black.png`;\t\t\t\t\r\n\t\tconst errorMsgVisible = this.props.errorMsgVisible;\r\n\t\tconst errorNetworkMsgVisible = this.props.errorNetworkMsgVisible;\r\n\t\tconst isAuthenticating = this.props.isAuthenticating;\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

Super CMS

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t{errorMsgVisible ?

Invalid Username and/or Password

:

 

}\r\n\t\t\t\t{errorNetworkMsgVisible &&

There was a problem logging in, please try again.

}\r\n\t\t\t\t\r\n\t\t\t\t
this.props.handleLoginBtnClick(e)}>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{errorMsgVisible \r\n\t\t\t\t\t\t\t\t\t\t? this.state.username === null || this.state.username === '' ? this.getErrorMsg() : this.getOkMsg()\r\n\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{errorMsgVisible \r\n\t\t\t\t\t\t\t\t\t\t? this.state.password === null || this.state.password === '' ? this.getErrorMsg() : this.getOkMsg()\r\n\t\t\t\t\t\t\t\t\t\t: null\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tLogin\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t{isAuthenticating &&

Logging in...

}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\r\n\t}\r\n\r\n};\r\n\r\nconst propTypes = {\r\n\thandleLoginBtnClick: PropTypes.func,\r\n\terrorMsgVisible: PropTypes.bool,\r\n\terrorNetworkMsgVisible: PropTypes.bool,\r\n\tisAuthenticating: PropTypes.bool\r\n};\r\n\r\nLoginForm.propTypes = propTypes;\r\n\r\nexport default LoginForm;","import React, { Component } from 'react';\r\nimport { BrowserRouter, Router, Redirect } from 'react-router-dom';\r\n\r\nimport { createUUID } from '../common/Utils';\r\nimport GlobalHeader from '../common/components/globalUI/GlobalHeader';\r\n\r\nimport Welcome from './containers/Welcome';\r\nimport LoginForm from './containers/LoginForm';\r\n\r\nexport default class Login extends Component {\r\n\r\n\tconstructor (props) {\r\n\r\n\t\tsuper(props);\r\n\r\n\t\tconst user = localStorage.user ? JSON.parse(localStorage.getItem('user')) : {};\r\n\r\n\t\tthis.state = {\r\n\t\t\terrorMsgVisible: false,\r\n\t\t\terrorNetworkMsgVisible: false,\r\n\t\t\tisAuthenticated: false,\r\n\t\t\tisAuthenticating: false,\r\n\t\t\tuser\r\n\t\t};\r\n\r\n\t}\r\n\r\n\tUNSAFE_componentWillMount () {\r\n\r\n\t\tthis.checkIsAuthenticated();\r\n\r\n\t}\r\n\r\n\tsetIsAuthenticated (isAuthenticated) {\r\n\r\n\t\tthis.setState({ isAuthenticated });\r\n\r\n\t}\r\n\r\n\tcheckIsAuthenticated = () => {\r\n\r\n\t\tfetch('/api/login/remaining', {\r\n\t\t\tcredentials: 'same-origin',\r\n\t\t\theaders: {\r\n\t\t\t\taccept: 'application/json',\r\n\t\t\t\t'content-type': 'application/json',\r\n\t\t\t\tpragma: 'no-cache',\r\n\t\t\t\t'cache-control': 'no-cache'\r\n\t\t\t}\r\n\t\t})\r\n\t\t\t.then((res) => res.status === 200 && res.json())\r\n\t\t\t.then((timeRemaining) => {\r\n\r\n\t\t\t\tif (timeRemaining > 0) {\r\n\r\n\t\t\t\t\tthis.setIsAuthenticated(true);\r\n\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\tlocalStorage.removeItem('user');\r\n\t\t\t\t\tthis.setIsAuthenticated(false);\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t})\r\n\t\t\t.catch((error) => console.log(error));\r\n\r\n\t};\r\n\r\n\thandleLoginBtnClick = (e) => {\r\n\r\n\t\te.preventDefault();\r\n\t\tconst isValid = this.validateLoginForm();\r\n\r\n\t\tif (!isValid) {\r\n\r\n\t\t\tthis.setState(() => ({ errorMsgVisible: true }));\r\n\r\n\t\t\treturn false;\r\n\r\n\t\t}\r\n\r\n\t\tconst { username, password } = isValid;\r\n\r\n\t\tthis.setState(\r\n\t\t\t{\r\n\t\t\t\tisAuthenticating: true\r\n\t\t\t},\r\n\t\t\t() => {\r\n\r\n\t\t\t\tlet tabId = sessionStorage.getItem('tabId');\r\n\r\n\t\t\t\tif (!tabId) {\r\n\r\n\t\t\t\t\ttabId = createUUID();\r\n\t\t\t\t\tsessionStorage.setItem('tabId', tabId);\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfetch('/Login', {\r\n\t\t\t\t\tmethod: 'post',\r\n\t\t\t\t\tbody: JSON.stringify({\r\n\t\t\t\t\t\tusername,\r\n\t\t\t\t\t\tpassword\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tcredentials: 'same-origin',\r\n\t\t\t\t\theaders: {\r\n\t\t\t\t\t\tClientId: tabId,\r\n\t\t\t\t\t\tAccept: 'application/json',\r\n\t\t\t\t\t\t'Content-Type': 'application/json',\r\n\t\t\t\t\t\tpragma: 'no-cache',\r\n\t\t\t\t\t\t'cache-control': 'no-cache'\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t\t.then((res) => {\r\n\r\n\t\t\t\t\t\tif (res.status !== 200) {\r\n\r\n\t\t\t\t\t\t\tthis.setState(() => ({\r\n\t\t\t\t\t\t\t\terrorMsgVisible: true,\r\n\t\t\t\t\t\t\t\terrorNetworkMsgVisible: false,\r\n\t\t\t\t\t\t\t\tisAuthenticating: false,\r\n\t\t\t\t\t\t\t\tisAuthenticated: false,\r\n\t\t\t\t\t\t\t\tisLoggingIn: false\r\n\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\treturn false;\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn res.json();\r\n\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.then((res) => {\r\n\r\n\t\t\t\t\t\tif (!res) {\r\n\r\n\t\t\t\t\t\t\treturn;\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tconst url = window.location.href;\r\n\t\t\t\t\t\tconst returnUrl = url.split('ReturnUrl=%2F')[1];\r\n\r\n\t\t\t\t\t\tif (returnUrl) {\r\n\r\n\t\t\t\t\t\t\tconst { origin } = window.location;\r\n\r\n\t\t\t\t\t\t\tlocalStorage.setItem('user', JSON.stringify(res));\r\n\t\t\t\t\t\t\twindow.location.href = `${origin}/${returnUrl\r\n\t\t\t\t\t\t\t\t.replace(/%2f/gi, '/')\r\n\t\t\t\t\t\t\t\t.replace(/%3f/gi, '?')\r\n\t\t\t\t\t\t\t\t.replace(/%3d/gi, '=')}`;\r\n\r\n\t\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\t\tthis.setState(\r\n\t\t\t\t\t\t\t\t() => ({\r\n\t\t\t\t\t\t\t\t\terrorMsgVisible: false,\r\n\t\t\t\t\t\t\t\t\terrorNetworkMsgVisible: false,\r\n\t\t\t\t\t\t\t\t\tisAuthenticating: false,\r\n\t\t\t\t\t\t\t\t\tisAuthenticated: true,\r\n\t\t\t\t\t\t\t\t\tisLoggingIn: false,\r\n\t\t\t\t\t\t\t\t\tuser: res\r\n\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t() => {\r\n\r\n\t\t\t\t\t\t\t\t\tlocalStorage.setItem('user', JSON.stringify(res));\r\n\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((error) => {\r\n\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\terrorNetworkMsgVisible: true,\r\n\t\t\t\t\t\t\terrorMsgVisible: false,\r\n\t\t\t\t\t\t\tisAuthenticating: false,\r\n\t\t\t\t\t\t\tisAuthenticated: false,\r\n\t\t\t\t\t\t\tisLoggingIn: false\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t});\r\n\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t};\r\n\r\n\thandleSignOut = () => {\r\n\r\n\t\tlocalStorage.removeItem('user');\r\n\t\tlocalStorage.removeItem('tabId');\r\n\t\tthis.setState({ isAuthenticated: false, user: {} });\r\n\r\n\t};\r\n\r\n\tvalidateLoginForm = () => {\r\n\r\n\t\tlet username = document.getElementById('username');\r\n\t\tlet password = document.getElementById('password');\r\n\t\tusername = username.value;\r\n\t\tpassword = password.value;\r\n\r\n\t\tif (!username || !password) {\r\n\r\n\t\t\treturn false;\r\n\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tusername,\r\n\t\t\tpassword\r\n\t\t};\r\n\r\n\t};\r\n\r\n\trender () {\r\n\r\n\t\tconst {\r\n\t\t\tisAuthenticated, isAuthenticating, errorMsgVisible, errorNetworkMsgVisible, user\r\n\t\t} = this.state;\r\n\r\n\t\tif (!isAuthenticated) {\r\n\r\n\t\t\treturn (\r\n\t\t\t\t<>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t);\r\n\r\n\t}\r\n\r\n}\r\n","import React from 'react';\r\nimport { render } from 'react-dom';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport './index.scss';\r\n\r\nimport Login from './App';\r\n\r\nrender(, document.getElementById('Login'));\r\n"],"sourceRoot":""}