{"version":3,"file":"main.js","mappings":"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","sources":["webpack://cs-portal/webpack/runtime/chunk loaded","webpack://cs-portal/webpack/runtime/load script","webpack://cs-portal/./src/components/Auth/AuthContext.js","webpack://cs-portal/./src/components/Auth/helpers/validateUser.js","webpack://cs-portal/./src/components/Auth/AuthProvider.js","webpack://cs-portal/./src/components/Auth/AuthRoute.js","webpack://cs-portal/./src/components/Auth/useAuthContext.js","webpack://cs-portal/./src/components/Auth/withAuthContext.js","webpack://cs-portal/./src/components/DataTable/DataHeading.js","webpack://cs-portal/./src/components/DataTable/SortIcon.js","webpack://cs-portal/./src/components/DataTable/styles.js","webpack://cs-portal/./src/components/FontAwesome/FaCaretLeft.js","webpack://cs-portal/./src/components/FontAwesome/FaArrowDown.js","webpack://cs-portal/./src/components/FontAwesome/FaArrowLeft.js","webpack://cs-portal/./src/components/FontAwesome/FaArrowRight.js","webpack://cs-portal/./src/components/FontAwesome/FaArrowUp.js","webpack://cs-portal/./src/components/FontAwesome/FaCheck.js","webpack://cs-portal/./src/components/FontAwesome/FaCheckCircle.js","webpack://cs-portal/./src/components/FontAwesome/FaCheckSquare.js","webpack://cs-portal/./src/components/FontAwesome/FaCaretRight.js","webpack://cs-portal/./src/components/FontAwesome/FaCommentLines.js","webpack://cs-portal/./src/components/FontAwesome/FaComments.js","webpack://cs-portal/./src/components/FontAwesome/FaDatabase.js","webpack://cs-portal/./src/components/FontAwesome/FaEraser.js","webpack://cs-portal/./src/components/FontAwesome/FaExclamationCircle.js","webpack://cs-portal/./src/components/FontAwesome/FaFile.js","webpack://cs-portal/./src/components/FontAwesome/FaFileAlt.js","webpack://cs-portal/./src/components/FontAwesome/FaHistory.js","webpack://cs-portal/./src/components/FontAwesome/FaList.js","webpack://cs-portal/./src/components/FontAwesome/FaMinus.js","webpack://cs-portal/./src/components/FontAwesome/FaAddressBook.js","webpack://cs-portal/./src/components/FontAwesome/FaPlus.js","webpack://cs-portal/./src/components/FontAwesome/FaQuestionCircle.js","webpack://cs-portal/./src/components/FontAwesome/FaSquare.js","webpack://cs-portal/./src/components/FontAwesome/FaTrash.js","webpack://cs-portal/./src/components/FontAwesome/FaTimesCircle.js","webpack://cs-portal/./src/components/FontAwesome/FaEnvelope.js","webpack://cs-portal/./src/components/FontAwesome/FaTriangle.js","webpack://cs-portal/./src/components/FontAwesome/FaMapMarkedAlt.js","webpack://cs-portal/./src/components/FontAwesome/FaVideo.js","webpack://cs-portal/./src/components/FontAwesome/FaImage.js","webpack://cs-portal/./src/components/FontAwesome/FaExternalLinkAlt.js","webpack://cs-portal/./src/components/LoadingIcon/styles.js","webpack://cs-portal/./src/components/LoadingIcon/index.js","webpack://cs-portal/./src/components/PopoverContext/DefaultContent.js","webpack://cs-portal/./src/components/PopoverContext/PopoverContext.js","webpack://cs-portal/./src/components/PopoverContext/PopoverContextTrigger.js","webpack://cs-portal/./src/components/PopoverContext/withPopoverContext.js","webpack://cs-portal/./src/components/PopoverContext/PopoverProvider.js","webpack://cs-portal/./src/components/PricingManagement/constants.js","webpack://cs-portal/./src/components/TooltipContext/TooltipContext.js","webpack://cs-portal/./src/components/TooltipContext/TooltipContextTrigger.js","webpack://cs-portal/./src/components/TooltipContext/withTooltipContext.js","webpack://cs-portal/./src/components/TooltipContext/TooltipProvider.js","webpack://cs-portal/./src/constants/externalLinks.js","webpack://cs-portal/./src/components/CopyrightFooter/styles.js","webpack://cs-portal/./src/components/CopyrightFooter/index.js","webpack://cs-portal/./src/components/DataTable/DataHeader.js","webpack://cs-portal/./src/components/DataTable/DataItem.js","webpack://cs-portal/./src/components/DataTable/DataRow.js","webpack://cs-portal/./src/components/DataTable/DataContainer.js","webpack://cs-portal/./src/components/DataTable/index.js","webpack://cs-portal/./src/components/FilterAndDisplay/helpers/handleSort.js","webpack://cs-portal/./src/components/FilterAndDisplay/helpers/useCollateData.js","webpack://cs-portal/./src/components/FilterAndDisplay/helpers/paginateData.js","webpack://cs-portal/./src/components/FilterAndDisplay/index.js","webpack://cs-portal/./src/components/GlobalErrorBoundary/index.js","webpack://cs-portal/./src/components/Navigation/FAQ/InfoGroup.js","webpack://cs-portal/./src/components/Navigation/FAQ/faqListCoordination.js","webpack://cs-portal/./src/components/Navigation/FAQ/faqListProtection.js","webpack://cs-portal/./src/components/Navigation/FAQ/ModalContent.js","webpack://cs-portal/./src/components/Navigation/FAQ/index.js","webpack://cs-portal/./src/components/Navigation/styles.js","webpack://cs-portal/./src/components/Navigation/UserInfo.js","webpack://cs-portal/./src/components/Navigation/NavLink.js","webpack://cs-portal/./src/components/Navigation/index.js","webpack://cs-portal/./src/components/HomePage/Banner/index.js","webpack://cs-portal/./src/components/HomePage/ActivationPending.js","webpack://cs-portal/./src/components/HomePage/Footer/styles.js","webpack://cs-portal/./src/components/HomePage/Footer/Content.js","webpack://cs-portal/./src/components/HomePage/Footer/index.js","webpack://cs-portal/./src/components/HomePage/CTAButtons/DataProducts.js","webpack://cs-portal/./src/components/HomePage/CTAButtons/PathDatabase.js","webpack://cs-portal/./src/components/HomePage/CTAButtons/ProjectTracker.js","webpack://cs-portal/./src/components/HomePage/CTAButtons/Protection.js","webpack://cs-portal/./src/components/HomePage/CTAButtons/index.js","webpack://cs-portal/./src/components/HomePage/index.js","webpack://cs-portal/./src/components/Notifications/common/documentGenerationNotification/GeneratingMessage.js","webpack://cs-portal/./src/components/Notifications/ReduxNotifications/index.js","webpack://cs-portal/./src/components/SignIn/Form/signUpConfig.js","webpack://cs-portal/./src/components/SignIn/Form/index.js","webpack://cs-portal/./src/components/SignIn/styles.js","webpack://cs-portal/./src/components/SignIn/ComsearchConnectVideo.js","webpack://cs-portal/./src/components/SignIn/ProtectionMetrics/styles.js","webpack://cs-portal/./src/components/SignIn/ProtectionMetrics/CaptionItem.js","webpack://cs-portal/./src/components/SignIn/ProtectionMetrics/Caption.js","webpack://cs-portal/./src/components/SignIn/ProtectionMetrics/index.js","webpack://cs-portal/./src/components/SignIn/index.js","webpack://cs-portal/./src/components/PathReports/helpers/handlePathReportsSubmit.js","webpack://cs-portal/./src/components/Notifications/common/documentGenerationNotification/index.js","webpack://cs-portal/./src/components/PathReports/index.js","webpack://cs-portal/./src/constants/stateCodes.js","webpack://cs-portal/./src/constants/userGroups.js","webpack://cs-portal/./src/constants/userPool.js","webpack://cs-portal/./src/helpers/api/meta.js","webpack://cs-portal/./src/helpers/getNestedByString/index.js","webpack://cs-portal/./src/helpers/getStateCodes.js","webpack://cs-portal/./src/helpers/googleAnalytics/pageView.js","webpack://cs-portal/./src/helpers/prepareNestedString/index.js","webpack://cs-portal/./src/helpers/reduxFormFunctions/castToFloat.js","webpack://cs-portal/./src/helpers/regex/index.js","webpack://cs-portal/./src/helpers/triggerFileDownload.js","webpack://cs-portal/./src/hooks/useBooleanToggle.js","webpack://cs-portal/./src/routes/styles.js","webpack://cs-portal/./src/routes/index.js","webpack://cs-portal/./src/components/ConnectedLoader/index.js","webpack://cs-portal/./src/redux/modules/loading/reducer.js","webpack://cs-portal/./src/redux/modules/loading/index.js","webpack://cs-portal/./src/aws-exports.js","webpack://cs-portal/./src/index.js","webpack://cs-portal/./src/helpers/setNestedValueInObject/index.js","webpack://cs-portal/./src/redux/helpers/setNestedInReduxState/index.js","webpack://cs-portal/./src/redux/modules/dataProducts/types.js","webpack://cs-portal/./src/redux/modules/dataProducts/reducer.js","webpack://cs-portal/./src/redux/modules/dataProducts/thunks/getProductData/index.js","webpack://cs-portal/./src/redux/modules/dataProducts/thunks/getProductData/quarterCell.js","webpack://cs-portal/./src/redux/modules/dataProducts/thunks/getProductData/initSortData.js","webpack://cs-portal/./src/redux/modules/dataProducts/actions.js","webpack://cs-portal/./src/redux/modules/dataProducts/index.js","webpack://cs-portal/./src/redux/modules/loading/actions.js","webpack://cs-portal/./src/redux/modules/loading/loadingToggler.js","webpack://cs-portal/./src/redux/modules/loading/types.js","webpack://cs-portal/./src/redux/modules/pathDatabase/actions.js","webpack://cs-portal/./src/redux/modules/pathDatabase/initialState.js","webpack://cs-portal/./src/redux/modules/pathDatabase/thunks/togglePathDatabaseHighlightedId/index.js","webpack://cs-portal/./src/redux/modules/pathDatabase/thunks/updatePathDatabaseHighlightedData/index.js","webpack://cs-portal/./src/redux/modules/pathDatabase/index.js","webpack://cs-portal/./src/redux/modules/pathDatabase/reducer.js","webpack://cs-portal/./src/redux/modules/pathDatabase/thunks/handlePathDatabaseSearch/index.js","webpack://cs-portal/./src/redux/modules/pathDatabase/types.js","webpack://cs-portal/./src/redux/modules/pricingManagement/types.js","webpack://cs-portal/./src/redux/modules/pricingManagement/initialState.js","webpack://cs-portal/./src/redux/modules/pricingManagement/actions.js","webpack://cs-portal/./src/redux/modules/pricingManagement/thunks/getPricingManagementDefault/index.js","webpack://cs-portal/./src/redux/modules/pricingManagement/thunks/handlePricingManagementSearch/index.js","webpack://cs-portal/./src/redux/modules/pricingManagement/thunks/togglePricingManagementSelectedPricingGroupDef/index.js","webpack://cs-portal/./src/redux/modules/pricingManagement/thunks/updatePricingManagementDefault/index.js","webpack://cs-portal/./src/redux/modules/pricingManagement/thunks/updatePricingManagementDetails/index.js","webpack://cs-portal/./src/redux/modules/pricingManagement/index.js","webpack://cs-portal/./src/redux/modules/pricingManagement/reducer.js","webpack://cs-portal/./src/redux/modules/projectTracker/initialState.js","webpack://cs-portal/./src/redux/modules/projectTracker/types.js","webpack://cs-portal/./src/redux/modules/projectTracker/actions.js","webpack://cs-portal/./src/redux/modules/projectTracker/thunks/getBulkReminderSummaryEmail.js","webpack://cs-portal/./src/redux/modules/projectTracker/thunks/getWorkOrdersData.js","webpack://cs-portal/./src/redux/modules/projectTracker/thunks/getPcnData.js","webpack://cs-portal/./src/redux/modules/projectTracker/thunks/getPcnRenewalData.js","webpack://cs-portal/./src/redux/modules/projectTracker/thunks/getPcnRenewalAdminTransactions.js","webpack://cs-portal/./src/redux/modules/projectTracker/thunks/getFilingStatusData.js","webpack://cs-portal/./src/redux/modules/projectTracker/thunks/togglePcnRenewalHighlightedId/index.js","webpack://cs-portal/./src/redux/modules/projectTracker/thunks/toggleRenewalAdminHighlightedId/index.js","webpack://cs-portal/./src/redux/modules/projectTracker/thunks/updatePcnRenewalHighlightedData/index.js","webpack://cs-portal/./src/redux/modules/projectTracker/thunks/updateRenewalAdminHighlightedData/index.js","webpack://cs-portal/./src/redux/modules/projectTracker/index.js","webpack://cs-portal/./src/redux/modules/projectTracker/reducer.js","webpack://cs-portal/./src/redux/modules/protection/initialState.js","webpack://cs-portal/./src/redux/modules/protection/types.js","webpack://cs-portal/./src/redux/modules/protection/actions.js","webpack://cs-portal/./src/redux/modules/protection/thunks/getRcn.js","webpack://cs-portal/./src/redux/modules/protection/thunks/getProtectionMetrics.js","webpack://cs-portal/./src/redux/modules/protection/thunks/initializeMonthlyReports/index.js","webpack://cs-portal/./src/redux/modules/protection/thunks/initializeMonthlyReports/helpers/reduceLicensees.js","webpack://cs-portal/./src/redux/modules/protection/thunks/initializeMonthlyReports/helpers/getReportCodes.js","webpack://cs-portal/./src/redux/modules/protection/thunks/initializeMonthlyReports/helpers/reduceReports.js","webpack://cs-portal/./src/redux/modules/protection/index.js","webpack://cs-portal/./src/redux/modules/protection/reducer.js","webpack://cs-portal/./src/redux/modules/rfDroneServices/initialState.js","webpack://cs-portal/./src/redux/modules/rfDroneServices/types.js","webpack://cs-portal/./src/redux/modules/rfDroneServices/thunks/getProjectsData.js","webpack://cs-portal/./src/redux/modules/rfDroneServices/actions.js","webpack://cs-portal/./src/redux/modules/rfDroneServices/thunks/getSitesData.js","webpack://cs-portal/./src/redux/modules/rfDroneServices/index.js","webpack://cs-portal/./src/redux/modules/rfDroneServices/reducer.js","webpack://cs-portal/webpack/bootstrap","webpack://cs-portal/webpack/runtime/compat get default export","webpack://cs-portal/webpack/runtime/define property getters","webpack://cs-portal/webpack/runtime/ensure chunk","webpack://cs-portal/webpack/runtime/get javascript chunk filename","webpack://cs-portal/webpack/runtime/get mini-css chunk filename","webpack://cs-portal/webpack/runtime/global","webpack://cs-portal/webpack/runtime/harmony module decorator","webpack://cs-portal/webpack/runtime/hasOwnProperty shorthand","webpack://cs-portal/webpack/runtime/make namespace object","webpack://cs-portal/webpack/runtime/node module decorator","webpack://cs-portal/webpack/runtime/publicPath","webpack://cs-portal/webpack/runtime/css loading","webpack://cs-portal/webpack/runtime/jsonp chunk loading","webpack://cs-portal/webpack/runtime/nonce","webpack://cs-portal/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"cs-portal:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport { createContext } from 'react'\r\n\r\nconst AuthContext = createContext()\r\n\r\nexport default AuthContext\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport { loadingToggler } from 'redux/modules/loading'\r\nimport { Auth } from 'aws-amplify'\r\nimport ReactGA from 'react-ga4'\r\nimport { updateHeaderToken } from 'helpers/api'\r\nimport { measurementId } from 'constants/userPool'\r\n\r\nconst validateUser = () => dispatch => (\r\n dispatch(loadingToggler(\r\n async () => {\r\n let groups = []\r\n let user = null\r\n let GA_userId = null\r\n\r\n try {\r\n const auth = await Auth.currentAuthenticatedUser()\r\n\r\n const {\r\n accessToken,\r\n idToken,\r\n } = auth.signInUserSession\r\n\r\n // updates the Headers used in fetchWrapper with the new token.\r\n updateHeaderToken(idToken.jwtToken)\r\n\r\n // if the user has no groups assigned, this value is undefined in the payload.\r\n // use an empty array as fallback for simple checking elsewhere.\r\n groups = accessToken.payload['cognito:groups'] || []\r\n\r\n // pull the user object out from Amplify now that it's signed the user in.\r\n user = Auth.user\r\n\r\n // get some details about this user to track in Google Analytics\r\n const {\r\n email,\r\n sub,\r\n } = user.attributes\r\n\r\n // This will extract the domain from the user's email.\r\n // This supports sub domains and will warn us if there's ever an email address which doesn't work with the regex for some reason.\r\n const userDomain = email.match(/^.+@(.+)\\.\\w+$/i)\r\n\r\n // we store use a combination of the email's domain and the Amplify 'sub' to\r\n // create a userId in Google Analytics.\r\n GA_userId = `${userDomain[1] || 'Invalid_Domain_Match'}__${sub}`\r\n\r\n ReactGA.gtag('config', measurementId, {\r\n user_id: sub,\r\n })\r\n\r\n // just in case we ever have an email which isn't properly caught by the .match() above, we'll know about it through analytics.\r\n if (userDomain.length !== 2) {\r\n ReactGA.event({\r\n action: 'Domain was not properly extracted from the user\\'s email.',\r\n category: 'User',\r\n label: GA_userId,\r\n })\r\n }\r\n\r\n ReactGA.event({\r\n action: 'Logged in.',\r\n category: 'User',\r\n label: GA_userId,\r\n })\r\n } catch (err) {\r\n console.warn(err)\r\n\r\n // clear out the stored token\r\n updateHeaderToken('')\r\n }\r\n\r\n return {\r\n GA_userId,\r\n groups,\r\n user,\r\n }\r\n })\r\n )\r\n)\r\n\r\nexport default validateUser\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport { func, object } from 'prop-types'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport AuthContext from './AuthContext'\r\nimport ReactGA from 'react-ga4'\r\nimport { validateUser } from './helpers'\r\n\r\nimport {\r\n measurementId,\r\n trackingConfig,\r\n} from 'constants/userPool'\r\n\r\n// need to point directly to it since the Auth stuff is exported first in components/index.js\r\nimport LoadingIcon from 'components/LoadingIcon'\r\n\r\nclass AuthProvider extends React.Component {\r\n static propTypes = {\r\n children: object.isRequired,\r\n validateUser: func.isRequired,\r\n }\r\n\r\n state = {\r\n groups: [],\r\n isLoading: true,\r\n user: null,\r\n GA_userId: null, // this is the uid which will be sent to Google Analytics\r\n }\r\n\r\n async componentDidMount () {\r\n // initialize the GA tracker based on the user pool\r\n ReactGA.initialize(measurementId, trackingConfig)\r\n\r\n await this.updateAuthState()\r\n }\r\n\r\n // triggers Amplify to get and set user data so we can expose it within React.\r\n updateAuthState = async () => {\r\n const {\r\n GA_userId,\r\n groups,\r\n user,\r\n } = await this.props.validateUser()\r\n\r\n if (this.state.user !== null && user === null) {\r\n window.location.reload()\r\n }\r\n\r\n // clear out the stored user\r\n this.setState(() => ({\r\n groups,\r\n isLoading: false,\r\n user,\r\n GA_userId,\r\n }))\r\n }\r\n\r\n render () {\r\n const {\r\n state: {\r\n // there's no reason to pass isLoading here to a child.\r\n isLoading,\r\n ...state\r\n },\r\n updateAuthState,\r\n } = this\r\n\r\n return (\r\n isLoading\r\n ? \r\n : (\r\n \r\n {this.props.children}\r\n \r\n )\r\n )\r\n }\r\n}\r\n\r\n// no need to pull anything from state here\r\nconst mapStateToProps = (state, props) => ({})\r\n\r\nconst mapDispatchToProps = dispatch => (\r\n bindActionCreators({\r\n validateUser,\r\n }, dispatch)\r\n)\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(AuthProvider)\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React, { useContext } from 'react'\r\nimport { array } from 'prop-types'\r\nimport { Route, Redirect } from 'react-router-dom'\r\nimport AuthContext from './AuthContext'\r\n\r\n// NOTE - requiredGroups is an array of string values which\r\n// map the the various cognito user groups.\r\n// constants/userGroups.js stores examples of these\r\n\r\n// NOTE - when comparing the user's groups with\r\n// the required groups, we do not AND the required groups.\r\n// meaning if the user has at least one match, they have permission.\r\n\r\nconst AuthRoute = ({ requiredGroups, ...props }) => {\r\n const {\r\n groups,\r\n user,\r\n } = useContext(AuthContext)\r\n\r\n // if requiredGroups === undefined, then we don't require\r\n // a specific group for this page.\r\n const hasRequiredGroup = (\r\n requiredGroups !== undefined\r\n // checks to see if at least one of the required groups are\r\n // within this user's groups\r\n ? requiredGroups.some(d => groups.includes(d))\r\n : true\r\n )\r\n\r\n return (\r\n // if user is falsey, then the user isn't signed in.\r\n // or if they don't have the required group, then they're\r\n // trying to access a page which they don't have permission to.\r\n // probably via direct URL editing\r\n user && hasRequiredGroup\r\n ? \r\n : \r\n )\r\n}\r\n\r\nAuthRoute.propTypes = {\r\n requiredRole: array,\r\n}\r\nexport default AuthRoute\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport { useContext } from 'react'\r\nimport AuthContext from './AuthContext'\r\n\r\nconst useAuthContext = () => {\r\n const auth = useContext(AuthContext)\r\n\r\n return auth\r\n}\r\n\r\nexport default useAuthContext\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport AuthContext from './AuthContext'\r\n\r\nconst withAuthContext = Component => {\r\n const Wrapper = props => (\r\n \r\n {authContext => (\r\n \r\n )}\r\n \r\n )\r\n\r\n return Wrapper\r\n}\r\n\r\nexport default withAuthContext\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport { bool, func, number, object, oneOfType, string } from 'prop-types'\r\nimport { DataHeadingWrapper } from './styles'\r\nimport SortIcon from './SortIcon'\r\n\r\nconst DataHeading = props => {\r\n const {\r\n columnData,\r\n handleSort,\r\n stickyTop,\r\n tableSort,\r\n } = props\r\n\r\n const {\r\n field,\r\n sortable = true,\r\n title,\r\n width,\r\n } = columnData\r\n\r\n if (columnData.headerCell) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nDataHeader.propTypes = {\r\n columns: array.isRequired,\r\n customHeader: func,\r\n handleSort: func,\r\n tableSort: object,\r\n}\r\n\r\nexport default DataHeader\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport { object } from 'prop-types'\r\nimport { DataItemWrapper } from './styles'\r\n\r\n// This is the table cell or
element\r\n\r\nconst DataItem = props => {\r\n const {\r\n columnData,\r\n rowData,\r\n } = props\r\n\r\n if (columnData.cell) {\r\n return (\r\n \r\n )\r\n }\r\n\r\n const label = rowData[columnData.field]\r\n\r\n const title = (\r\n columnData.hoverField\r\n ? rowData[columnData.hoverField]\r\n : label\r\n )\r\n\r\n return (\r\n \r\n {label}\r\n \r\n )\r\n}\r\n\r\nDataItem.propTypes = {\r\n columnData: object.isRequired,\r\n rowData: object.isRequired,\r\n}\r\n\r\nexport default DataItem\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React, { useMemo } from 'react'\r\nimport { array, func, object, oneOfType, string } from 'prop-types'\r\nimport DataItem from './DataItem'\r\nimport { DataRowWrapper } from './styles'\r\n\r\n// this is a
\r\n\r\nconst DataRow = React.memo(props => {\r\n const {\r\n columns,\r\n handleRowClick,\r\n rowClass,\r\n rowData,\r\n } = props\r\n\r\n const rowClasses = useMemo(() => {\r\n let classes = ''\r\n classes += handleRowClick ? 'cursor-pointer' : ''\r\n\r\n // if there's any special row classes to apply, add em here\r\n if (typeof rowClass === 'string') {\r\n classes += ` ${rowClass}`\r\n } else if (typeof rowClass === 'function') {\r\n classes += ` ${rowClass(rowData)}`\r\n }\r\n\r\n return classes\r\n }, [columns, rowData])\r\n\r\n return (\r\n handleRowClick && handleRowClick(rowData)}>\r\n {\r\n columns.map(d => (\r\n \r\n ))\r\n }\r\n \r\n )\r\n})\r\n\r\nDataRow.propTypes = {\r\n columns: array.isRequired,\r\n handleRowClick: func,\r\n rowClass: oneOfType([\r\n func,\r\n string,\r\n ]),\r\n rowData: object.isRequired,\r\n}\r\n\r\nexport default DataRow\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport { array, func, string, oneOfType } from 'prop-types'\r\nimport DataRow from './DataRow'\r\n\r\n// this is a tbody\r\n\r\nconst DataContainer = props => {\r\n const {\r\n columns,\r\n data,\r\n handleRowClick,\r\n rowClass,\r\n uniqueKey,\r\n } = props\r\n\r\n return (\r\n \r\n {\r\n data.map((d, i) => (\r\n \r\n ))\r\n }\r\n \r\n )\r\n}\r\n\r\nDataContainer.propTypes = {\r\n columns: array.isRequired,\r\n data: array.isRequired,\r\n handleRowClick: func,\r\n rowClass: oneOfType([\r\n func,\r\n string,\r\n ]),\r\n uniqueKey: string,\r\n}\r\n\r\nexport default DataContainer\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport { array, func, number, object, oneOfType, string } from 'prop-types'\r\nimport DataHeader from './DataHeader'\r\nimport DataContainer from './DataContainer'\r\nimport { DataTableWrapper } from './styles'\r\n\r\n// NOTE - is real simple.\r\n// It holds no state and requires that its parent\r\n// feed it data, columns, and event handlers\r\n// for sorting and clicking a row.\r\n\r\n// NOTE - DataTableWrapper is not a
\r\n// It wraps the table with a so we can handle\r\n// horizontal scrolling and sticky columns/headers as necessary\r\n\r\n// props:\r\n// rowClass - takes a string of a function and allows you to assign CSS classes to each row of the table.\r\n\r\nconst DataTable = props => {\r\n const {\r\n className,\r\n columns,\r\n customHeader,\r\n data,\r\n handleSort,\r\n handleRowClick,\r\n minWidth,\r\n rowClass,\r\n tableSort,\r\n uniqueKey,\r\n } = props\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nDataTable.propTypes = {\r\n className: string,\r\n columns: array.isRequired,\r\n customHeader: func,\r\n data: array.isRequired,\r\n handleSort: func,\r\n handleRowClick: func,\r\n minWidth: oneOfType([\r\n number,\r\n string,\r\n ]),\r\n rowClass: oneOfType([\r\n func,\r\n string,\r\n ]),\r\n tableSort: object,\r\n uniqueKey: string,\r\n}\r\n\r\nexport default DataTable\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport { change } from 'redux-form'\r\nimport getNestedByString from 'helpers/getNestedByString'\r\n\r\n// takes the form's name and the selected column.\r\n// if it was the same column as selected before, then it toggles asc,\r\n// otherwise it sets the new column and sets asc to true.\r\n\r\nconst handleSort = (formName, col) => (dispatch, getState) => {\r\n const { form } = getState()\r\n\r\n const {\r\n tableSort: oldSort,\r\n } = getNestedByString(form, formName).values\r\n\r\n // default to saying there is no sort.\r\n let tableSort = null\r\n\r\n // if we've selected the same column and we're currently ascending,\r\n // then set it to descending.\r\n if (oldSort?.col === col && oldSort.asc) {\r\n tableSort = {\r\n col,\r\n asc: false,\r\n }\r\n\r\n // else if we've selected a new column, then set that column\r\n // and order by ascending.\r\n } else if (oldSort?.col !== col) {\r\n tableSort = {\r\n col,\r\n asc: true,\r\n }\r\n }\r\n\r\n // this means that if the user clicks on a column that's currently sorting by\r\n // asc === false, then we will turn off the sort (by returning null).\r\n // This mimics the sorting behavior of Kendo Grid.\r\n\r\n return dispatch(change(formName, 'tableSort', tableSort))\r\n}\r\n\r\nexport default handleSort\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport { useMemo } from 'react'\r\nimport paginateData from './paginateData'\r\n\r\nconst useCollateData = props => {\r\n const {\r\n data,\r\n filterAndSortData,\r\n formValues,\r\n } = props\r\n\r\n // gets the filtered and sorted, full data set\r\n const filteredAndSortedData = useMemo(() => (\r\n data.length && formValues\r\n ? filterAndSortData(data, formValues)\r\n : data\r\n ), [data, formValues])\r\n\r\n // if the form has pagination stuff,\r\n // this will return the subset of data based on paginationPage/paginationPage.\r\n // otherwise it will just return the full data set it's given.\r\n const paginatedData = useMemo(() => (\r\n paginateData(filteredAndSortedData, formValues)\r\n ), [filteredAndSortedData, formValues])\r\n\r\n return {\r\n filteredAndSortedData,\r\n paginatedData,\r\n }\r\n}\r\n\r\nexport default useCollateData\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nconst paginateData = (data, formValues) => {\r\n // if there's no data to paginate,\r\n // if the form hasn't been initialized yet, or if\r\n // there is no specified page size, then we don't\r\n // need to worry about paginating this data\r\n if (!data.length || !formValues || !formValues.paginationSize) {\r\n return data\r\n }\r\n\r\n const {\r\n paginationPage,\r\n paginationSize,\r\n } = formValues\r\n\r\n const pageStartIndex = paginationSize * paginationPage\r\n\r\n // otherwise create a subset of the data based on the given pagination information.\r\n // reduce here allows us to properly handle when it's the last page and the count is\r\n // less than the given paginationSize.\r\n return (\r\n Array.from({ length: paginationSize })\r\n .reduce((a, d, i) => {\r\n if (data[pageStartIndex + i]) {\r\n a.push(data[pageStartIndex + i])\r\n }\r\n return a\r\n }, [])\r\n )\r\n}\r\n\r\nexport default paginateData\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React, { useCallback } from 'react'\r\nimport { array, element, func, object, oneOfType, string } from 'prop-types'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport { DataTable } from 'components'\r\nimport getNestedByString from 'helpers/getNestedByString'\r\n\r\nimport {\r\n handleSort,\r\n useCollateData,\r\n} from './helpers'\r\n\r\n// NOTE when calling this component, it requires:\r\n// columns - an array of columns for the \r\n// dataPath - a string which points to where the data is stored in redux\r\n// eg. 'projectTracker.workOrders.data'\r\n// handleUpdateSort - custom handler for updating sort.\r\n// filterAndSortData - func which takes data and formValues and returns the filtered/sorted data to display.\r\n\r\n// optional props:\r\n// handleRowClick - custom handler for row clicks\r\n\r\nconst FilterAndDisplay = props => {\r\n const {\r\n children,\r\n columns,\r\n customHeader,\r\n dataPath,\r\n handleRowClick,\r\n handleSort,\r\n formValues,\r\n rowClass,\r\n uniqueKey,\r\n } = props\r\n\r\n const tableSort = formValues?.tableSort || null\r\n\r\n const handleSorter = useCallback(col => (\r\n handleSort(dataPath, col)\r\n ), [dataPath])\r\n\r\n const {\r\n filteredAndSortedData,\r\n paginatedData,\r\n } = useCollateData(props)\r\n\r\n // NOTE - we're cloning children here so we can pass down the dataPath as form,\r\n // as well as the filteredAndSortedData as filteredAndSortedData.\r\n // This way, we only have to pass the value once (to FilterAndDisplay)\r\n // and not have to pass it also down to the form element. (children in the return below)\r\n\r\n return (\r\n <>\r\n {\r\n React.Children.map(children, child =>\r\n React.cloneElement(\r\n child,\r\n {\r\n columns,\r\n filteredAndSortedData,\r\n form: dataPath,\r\n },\r\n )\r\n )\r\n }\r\n \r\n >\r\n )\r\n}\r\n\r\nFilterAndDisplay.propTypes = {\r\n children: oneOfType([\r\n array.isRequired,\r\n element.isRequired,\r\n ]),\r\n columns: array.isRequired,\r\n customHeader: func,\r\n filterAndSortData: func.isRequired,\r\n formValues: object,\r\n handleRowClick: func,\r\n rowClass: oneOfType([\r\n func,\r\n string,\r\n ]),\r\n uniqueKey: string.isRequired,\r\n}\r\n\r\nconst mapStateToProps = (state, { dataPath }) => {\r\n const data = getNestedByString(state, dataPath)\r\n const formValues = getNestedByString(state.form, dataPath)?.values || null\r\n\r\n return {\r\n data,\r\n formValues,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch, props) => (\r\n bindActionCreators({\r\n handleSort,\r\n }, dispatch)\r\n)\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(FilterAndDisplay)\r\n","// Copyright (c) 2018 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport { object } from 'prop-types'\r\nimport ReactGA from 'react-ga4'\r\nimport { withAuthContext } from 'components/Auth'\r\n\r\nimport {\r\n Button,\r\n Jumbotron,\r\n} from 'reactstrap'\r\n\r\nconst errWrap = {\r\n border: 'thin solid',\r\n maxWidth: 500,\r\n}\r\n\r\nconst stackStyles = {\r\n maxHeight: '20vh',\r\n overflow: 'auto',\r\n whitespace: 'pre',\r\n}\r\n\r\nclass GlobalErrorBoundary extends React.Component {\r\n static propTypes = {\r\n authContext: object.isRequired,\r\n children: object.isRequired,\r\n }\r\n\r\n state = {\r\n hasError: false,\r\n message: null,\r\n stack: null,\r\n }\r\n\r\n componentDidCatch (error, info) {\r\n const { GA_userId } = this.props.authContext\r\n const message = error.message || 'Uncaught Error!'\r\n const stack = info.componentStack\r\n\r\n this.setState({\r\n hasError: true,\r\n message,\r\n stack,\r\n })\r\n\r\n ReactGA.event({\r\n action: message,\r\n category: 'UI uncaught error',\r\n label: GA_userId,\r\n })\r\n }\r\n\r\n render () {\r\n const {\r\n hasError,\r\n message,\r\n stack,\r\n } = this.state\r\n\r\n if (hasError) {\r\n return (\r\n
\r\n \r\n
{'Something went wrong.'}
\r\n
{'The application crashed with the following message:'}
\r\n
\r\n {message}\r\n
\r\n \r\n {'Component Stack Trace'}\r\n
{stack}
\r\n \r\n \r\n \r\n
\r\n )\r\n }\r\n\r\n return this.props.children\r\n }\r\n}\r\n\r\nexport default withAuthContext(GlobalErrorBoundary)\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport { array, string, func } from 'prop-types'\r\n\r\nimport {\r\n Button,\r\n CardBody,\r\n Card,\r\n Collapse,\r\n} from 'reactstrap'\r\n\r\nconst InfoGroup = ({ heading, items, assignActiveInfoGroup, activeInfoGroup }) => (\r\n \r\n
\r\n\r\n ))}\r\n \r\n)\r\n\r\nInfoGroup.propTypes = {\r\n heading: string.isRequired,\r\n items: array.isRequired,\r\n assignActiveInfoGroup: func.isRequired,\r\n activeInfoGroup: string,\r\n}\r\n\r\nexport default InfoGroup\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nexport default {\r\n heading: 'Coordination',\r\n items: [{\r\n label: 'How long does the analysis take?',\r\n details: 'The analysis takes 2-3 business days.',\r\n }, {\r\n label: 'When will my path(s) be off coordination?',\r\n details: 'The standard PCN period is 30 days. Once that period is fulfilled and any cases have been resolved the path can be filed.',\r\n }, {\r\n label: 'Is it possible to shorten the PCN period?',\r\n details: 'Yes. A PCN period can be shortened to 14 days upon request.',\r\n }, {\r\n label: 'What is Conditional Authorization?',\r\n details: 'Conditional Authorization allows some paths to operate as soon as the FCC applications have been submitted.',\r\n }, {\r\n label: 'What is a quiet zone and how do I know if my path is in one?',\r\n details: 'Restricted areas due to military or radio astronomy.',\r\n }, {\r\n label: 'When can I order my equipment?',\r\n details: 'You can order your equipment once the PCN period is fulfilled and all cases are resolved.',\r\n }, {\r\n label: 'What is a \"Completion of Construction Notice\" or \"Schedule K\"?',\r\n details: 'The FCC requires you to construct and operate within 18 months of a license grant date. Once constructed,' +\r\n 'you must file a Schedule K notice—providing the construction date. Failure to file this notice will result in termination of the licenses.',\r\n }, {\r\n label: 'How long to I have to construct my path(s)?',\r\n details: '18 months from the license grant date.',\r\n }, {\r\n label: 'When can I turn up my new path?',\r\n details: 'If your path is not eligible for conditional authorization you cannot operate until the licenses are granted.',\r\n }, {\r\n label: 'How long is a PCN valid?',\r\n details: 'A PCN is good for six months. At the end of the six month period you must either renew the PCN or file with the FCC.',\r\n }],\r\n}\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport { Row, Col } from 'reactstrap'\r\n\r\nexport default {\r\n heading: 'Protection',\r\n items: [{\r\n label: 'How do I renew my protection service?',\r\n details: (\r\n <>\r\n {'Contact Customer Support: '}\r\n \r\n {'customersupport@comsearch.com'}\r\n \r\n >\r\n ),\r\n }, {\r\n label: 'Where can I send PCN notices I receive to have them verified?',\r\n details: (\r\n \r\n {'EPCN@comsearch.com'}\r\n \r\n ),\r\n }, {\r\n label: 'Who can I contact regarding Protection service questions?',\r\n details: (\r\n \r\n
\r\n \r\n {`Current Version: ${process.env.VERSION} `}\r\n \r\n \r\n {'Policies'}\r\n \r\n \r\n {'Credits'}\r\n \r\n \r\n)\r\n\r\nContent.propTypes = {\r\n toggleCollapsedPopup: func.isRequired,\r\n}\r\n\r\nexport default Content\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport { marketingUrlRoot } from 'constants/externalLinks'\r\nimport { CopyrightFooter } from 'components'\r\nimport { FaPlus, FaMinus } from 'components/FontAwesome'\r\nimport { useBooleanToggle } from 'hooks'\r\nimport Content from './Content'\r\n\r\nimport {\r\n CollapseInfo,\r\n ContactCol,\r\n ContactExpertLink,\r\n ContactRow,\r\n FooterDiv,\r\n} from './styles'\r\n\r\nconst Footer = () => {\r\n const [isOpenAddress, toggleCollapsedAddress] = useBooleanToggle()\r\n const [isOpenContact, toggleCollapsedContact] = useBooleanToggle()\r\n const [isOpenPopup, toggleCollapsedPopup] = useBooleanToggle(false)\r\n\r\n return (\r\n \r\n )\r\n}\r\nexport default Footer\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport dpImage from 'images/data-products_white.png'\r\n\r\nconst DataProducts = () => (\r\n \r\n \r\n {'DATA PRODUCTS'}\r\n \r\n)\r\n\r\nexport default DataProducts\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React, { useContext } from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport { AuthContext } from 'components/Auth'\r\nimport dbImage from 'images/path-database_whiteIcon.png'\r\n\r\nconst PathDatabase = () => {\r\n const { groups } = useContext(AuthContext)\r\n\r\n return (\r\n groups.includes('Path_Database')\r\n ? (\r\n \r\n \r\n {'PATH DATABASE'}\r\n \r\n ) : (\r\n
\r\n \r\n {'PATH DATABASE'}\r\n
\r\n {'This section is reserved for our frequency protection customers. Please contact '}\r\n \r\n {'customersupport@comsearch.com'}\r\n \r\n {' to learn more about the service.'}\r\n
\r\n
\r\n )\r\n )\r\n}\r\n\r\nexport default PathDatabase\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React, { useContext } from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport { AuthContext } from 'components/Auth'\r\nimport pcnImage from 'images/project-tracker_whiteIcon.png'\r\n\r\nconst ProjectTracker = () => {\r\n const { groups } = useContext(AuthContext)\r\n\r\n return (\r\n groups.includes('Frequency_Coordination') ||\r\n groups.includes('Internal_Users')\r\n ? (\r\n \r\n \r\n {'PROJECT TRACKER'}\r\n \r\n ) : (\r\n
\r\n \r\n {'PROJECT TRACKER'}\r\n
\r\n {'This section is reserved for our frequency coordination customers. Please contact '}\r\n \r\n {'customersupport@comsearch.com'}\r\n \r\n {' to learn more about the service.'}\r\n
\r\n
\r\n )\r\n )\r\n}\r\n\r\nexport default ProjectTracker\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React, { useContext } from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport { AuthContext } from 'components/Auth'\r\nimport protImage from 'images/protection_whiteIcon.png'\r\n\r\nconst Protection = () => {\r\n const { groups } = useContext(AuthContext)\r\n\r\n return (\r\n groups.includes('Frequency_Protection')\r\n ? (\r\n \r\n \r\n {'PROTECTION'}\r\n \r\n ) : (\r\n
\r\n \r\n {'PROTECTION'}\r\n
\r\n {'This section is reserved for our frequency protection customers. Please contact '}\r\n \r\n {'customersupport@comsearch.com'}\r\n \r\n {' to learn more about the service.'}\r\n
\r\n
\r\n )\r\n )\r\n}\r\n\r\nexport default Protection\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport DataProducts from './DataProducts'\r\nimport PathDatabase from './PathDatabase'\r\nimport ProjectTracker from './ProjectTracker'\r\nimport Protection from './Protection'\r\n\r\nconst CTAButtons = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default CTAButtons\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React, { useContext, useEffect } from 'react'\r\nimport { AuthContext } from 'components/Auth'\r\nimport { SignIn } from 'components'\r\nimport pageView from 'helpers/googleAnalytics/pageView'\r\nimport Banner from './Banner'\r\nimport ActivationPending from './ActivationPending'\r\nimport Footer from './Footer'\r\nimport CTAButtons from './CTAButtons'\r\n\r\nconst HomePage = () => {\r\n const {\r\n groups,\r\n user,\r\n } = useContext(AuthContext)\r\n\r\n useEffect(() => {\r\n document.title = 'Comsearch Connect'\r\n // NOTE - this is based on hash routing.\r\n pageView(window.location.hash.slice(1), document.title)\r\n }, [])\r\n\r\n if (!user) {\r\n return \r\n }\r\n\r\n return (\r\n <>\r\n \r\n {\r\n groups.length\r\n ? \r\n : \r\n }\r\n \r\n >\r\n )\r\n}\r\n\r\nexport default HomePage\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport { func, number, string } from 'prop-types'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport { fetchWrapper } from 'helpers/api'\r\nimport triggerFileDownload from 'helpers/triggerFileDownload'\r\n\r\nimport {\r\n error,\r\n hide,\r\n warning,\r\n} from 'react-notification-system-redux'\r\n\r\nclass GeneratingMessage extends React.Component {\r\n static propTypes = {\r\n exportJobId: number.isRequired,\r\n hide: func.isRequired,\r\n uid: string.isRequired,\r\n warning: func.isRequired,\r\n }\r\n\r\n state = {\r\n jobStatus: null,\r\n }\r\n\r\n componentDidMount () {\r\n this.setState((s, { jobStatus }) => ({ jobStatus }))\r\n this.__intervalId = setInterval(this.checkJobStatus, 3000)\r\n }\r\n\r\n componentWillUnmount () {\r\n // just in case\r\n clearInterval(this.__intervalId)\r\n }\r\n\r\n __intervalId = null\r\n\r\n checkJobStatus = async () => {\r\n const { hideMessage } = this\r\n const {\r\n error,\r\n exportJobId,\r\n uid,\r\n } = this.props\r\n\r\n try {\r\n const { entity } = await fetchWrapper(`/pathExport/${exportJobId}`)\r\n\r\n const {\r\n jobStatus,\r\n fileUrl,\r\n message,\r\n } = entity\r\n\r\n // if something happened when trying to generate the report,\r\n // tell em!\r\n if (jobStatus === 'Error') {\r\n throw new Error(`Error: ${message}`)\r\n }\r\n\r\n // if the message is a warning, then display the warning to the user in the UI\r\n if (message.indexOf('Warning') === 0) {\r\n this.displayWarning(message)\r\n }\r\n\r\n // if the file was successfully generated and stored, go get that file!\r\n if (fileUrl) {\r\n hideMessage()\r\n return triggerFileDownload(fileUrl)\r\n }\r\n\r\n // if there's no file URL, we're still waiting, update the status\r\n // with anything new to mention.\r\n this.setState(() => ({ jobStatus }))\r\n } catch (err) {\r\n console.warn(err)\r\n const errorConfig = {\r\n uid: `${uid}-error`,\r\n title: 'Error generating the report',\r\n autoDismiss: 0,\r\n children: err.message || 'Uncaught Error!',\r\n }\r\n error(errorConfig)\r\n hideMessage()\r\n }\r\n }\r\n\r\n displayWarning = message => {\r\n const {\r\n uid,\r\n warning,\r\n } = this.props\r\n\r\n const warningConfig = {\r\n // generate unique UID so we can display multiple messages if necessary\r\n uid: `${uid}-warning-${Date.now()}`,\r\n title: 'Warning generating the report',\r\n autoDismiss: 0,\r\n children: message,\r\n }\r\n\r\n warning(warningConfig)\r\n }\r\n\r\n hideMessage = () => {\r\n clearInterval(this.__intervalId)\r\n this.__intervalId = null\r\n\r\n const {\r\n hide,\r\n uid,\r\n } = this.props\r\n return hide(uid)\r\n }\r\n\r\n render () {\r\n return (\r\n
\r\n {this.state.jobStatus}\r\n
\r\n )\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => (\r\n bindActionCreators({\r\n error,\r\n hide,\r\n warning,\r\n }, dispatch)\r\n)\r\n\r\nexport default connect(\r\n () => ({}),\r\n mapDispatchToProps\r\n)(GeneratingMessage)\r\n","// Copyright (c) 2017 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport { array } from 'prop-types'\r\nimport { connect } from 'react-redux'\r\nimport Notifications from 'react-notification-system-redux'\r\n\r\nconst ReduxNotifications = ({ notifications }) => (\r\n \r\n)\r\n\r\nReduxNotifications.propTypes = {\r\n notifications: array.isRequired,\r\n}\r\n\r\nconst mapStateToProps = ({ notifications }) => ({ notifications })\r\n\r\nexport default connect(mapStateToProps)(ReduxNotifications)\r\n","import React from 'react'\r\nimport { TooltipContextTrigger } from 'components/TooltipContext'\r\n\r\nconst getPasswordTooltipContent = () => (\r\n \r\n {'Passwords must be '}{'at least 8 '}{'characters long and contain'}{' at least:'} \r\n
\r\n
{'one lowercase letter'}
\r\n
{'one uppercase letter'}
\r\n
{'one number'}
\r\n
{'one special character'}
\r\n
\r\n \r\n)\r\n\r\nexport default {\r\n header: 'Sign Up',\r\n defaultCountryCode: '1',\r\n hideDefaults: true,\r\n signUpFields: [\r\n {\r\n label: 'Username',\r\n key: 'username',\r\n required: true,\r\n displayOrder: 1,\r\n type: 'string',\r\n },\r\n {\r\n label: <>\r\n {'Password'}\r\n \r\n >,\r\n key: 'password',\r\n required: true,\r\n displayOrder: 6,\r\n type: 'password',\r\n },\r\n {\r\n label: 'Email',\r\n key: 'email',\r\n required: true,\r\n displayOrder: 5,\r\n type: 'email',\r\n },\r\n {\r\n label: 'First Name',\r\n key: 'given_name',\r\n required: true,\r\n displayOrder: 3,\r\n type: 'string',\r\n },\r\n {\r\n label: 'Last name',\r\n key: 'family_name',\r\n required: true,\r\n displayOrder: 4,\r\n type: 'string',\r\n },\r\n {\r\n label: 'Phone number',\r\n key: 'phone_number',\r\n required: true,\r\n displayOrder: 2,\r\n type: 'string',\r\n },\r\n ],\r\n}\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React, { useCallback, useContext } from 'react'\r\nimport { AuthContext } from 'components/Auth'\r\nimport signUpConfig from './signUpConfig'\r\n\r\nimport {\r\n Authenticator,\r\n ConfirmSignUp,\r\n ForgotPassword,\r\n Greetings,\r\n SignIn,\r\n SignUp,\r\n RequireNewPassword,\r\n} from 'aws-amplify-react'\r\n\r\nconst Form = () => {\r\n const { updateAuthState } = useContext(AuthContext)\r\n\r\n // only trigger updateAuthState if this change type is 'verifyContact' this is to control flow on updating AuthContext.\r\n // This component's will call this.handleStateChange with various changes, but for this element,\r\n // all we care about is capturing the 'verifyContact' event and triggering the AuthContext to update itself accordingly.\r\n const handleStateChange = useCallback(changeType => (\r\n changeType === 'verifyContact' &&\r\n updateAuthState()\r\n ), [])\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default Form\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport styled from 'styled-components'\r\n\r\nexport const SignInPageWrapper = styled.div`\r\n align-content: flex-start;\r\n align-items: flex-start;\r\n display: flex;\r\n justify-content: center;\r\n flex: 1;\r\n flex-wrap: wrap;\r\n padding: 2em;\r\n overflow-y auto;\r\n overflow-x: hidden;\r\n\r\n @media (max-height: 700px) {\r\n padding: .5em;\r\n\r\n > .form-wrapper > div {\r\n > [class^='Form__formContainer'] {\r\n margin-top: 0;\r\n\r\n > [class^='Form__formSection'] {\r\n padding: 1em;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Amplify isn't supporting IE11 styles here so we need to.\r\n // I'm not a fan of this approach but I don't have control over the class names for these children.\r\n > .form-wrapper > div {\r\n position: relative;\r\n\r\n > [class^='Toast'] {\r\n background-color: #335c84;\r\n }\r\n\r\n > [class^='Form__formContainer'] > [class^='Form__formSection'] {\r\n background-color: #fff;\r\n\r\n @media (max-height: 700px) {\r\n margin-bottom: 0;\r\n }\r\n }\r\n }\r\n`\r\n\r\nexport const ComsearchConnectVideoWrapper = styled.div`\r\n border-radius: 6px;\r\n background-color: #fff;\r\n box-shadow: 1px 1px 4px 0 rgba(0, 0, 0, 0.15);\r\n flex: 1;\r\n margin-top: 20px; // Amplify's sign in form has this baked in.\r\n max-width: 650px; // matches height of sign in form assuming aspect radio of 56%.\r\n min-width: 515px; // forces video on to a new row\r\n overflow: hidden;\r\n padding: 1em;\r\n\r\n @media(min-width: 900px) {\r\n margin-left: 20px; // pushes video away from sign in form.\r\n }\r\n\r\n @media (max-height: 700px) {\r\n margin: 0 20px;\r\n\r\n }\r\n`\r\n\r\nexport const IframeWrapper = styled.div`\r\n background-color: #ccc;\r\n border: 1px solid #000;\r\n border-radius: .25rem;\r\n overflow: hidden;\r\n position: relative;\r\n\r\n &::before {\r\n content: ' ';\r\n display: block;\r\n height: 0;\r\n padding-top: 56%;\r\n width: 100%;\r\n\r\n @media (max-height: 700px) {\r\n padding-top: 49.5%;\r\n }\r\n }\r\n\r\n > iframe {\r\n border: 0;\r\n bottom: 0;\r\n height: 100%;\r\n left: 0;\r\n margin: auto;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n width: 100%;\r\n }\r\n`\r\n","\r\nimport React from 'react'\r\n\r\nimport {\r\n ComsearchConnectVideoWrapper,\r\n IframeWrapper,\r\n} from './styles'\r\n\r\nconst ComsearchConnectVideo = () => (\r\n \r\n
\r\n)\r\n\r\nCaption.propTypes = {\r\n metrics: object.isRequired,\r\n}\r\n\r\nexport default Caption\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React, { useState, useEffect } from 'react'\r\nimport { func, array } from 'prop-types'\r\nimport Caption from './Caption'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport { getProtectionMetrics } from 'redux/modules/protection'\r\nimport { CarouselControl } from 'reactstrap'\r\n\r\nimport {\r\n CarouselItemWrapper,\r\n CarouselWrapper,\r\n} from './styles'\r\n\r\nconst ProtectionMetrics = ({ data, getProtectionMetrics }) => {\r\n const [activeIndex, setActiveIndex] = useState(0)\r\n const [animating, setAnimating] = useState(false)\r\n\r\n useEffect(() => {\r\n const initializeComponent = async () => {\r\n try {\r\n await getProtectionMetrics()\r\n } catch (err) {\r\n console.warn(err)\r\n // TODO - how to better handle here?\r\n }\r\n }\r\n\r\n initializeComponent()\r\n }, [data])\r\n\r\n const next = () => {\r\n if (animating) return\r\n const nextIndex = (activeIndex + 1) % data.length\r\n setActiveIndex(nextIndex)\r\n }\r\n\r\n const previous = () => {\r\n if (animating) return\r\n const nextIndex = activeIndex ? activeIndex - 1 : data.length - 1\r\n setActiveIndex(nextIndex)\r\n }\r\n\r\n return (\r\n \r\n {(\r\n data.map((item) => (\r\n setAnimating(true)}\r\n onExited={() => setAnimating(false)} >\r\n
\r\n \r\n ))\r\n )}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nProtectionMetrics.propTypes = {\r\n data: array.isRequired,\r\n getProtectionMetrics: func.isRequired,\r\n}\r\n\r\nconst mapStateToProps = ({ protection }) => {\r\n const { data } = protection.protectionMetrics\r\n return {\r\n data,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => (\r\n bindActionCreators({\r\n getProtectionMetrics,\r\n }, dispatch)\r\n)\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(ProtectionMetrics)\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport { Jumbotron } from 'reactstrap'\r\nimport Form from './Form'\r\nimport ComsearchConnectVideo from './ComsearchConnectVideo'\r\nimport ProtectionMetrics from './ProtectionMetrics'\r\nimport bgImage from 'images/connectedCircles2.png'\r\nimport { SignInPageWrapper } from './styles'\r\n\r\nconst style = {\r\n backgroundImage: `url(${bgImage})`,\r\n backgroundSize: 'cover',\r\n backgroundPosition: 'center',\r\n}\r\n\r\nconst SignIn = () => (\r\n <>\r\n \r\n \r\n {\r\n /Trident\\/|MSIE/.test(window.navigator.userAgent) &&\r\n
\r\n \r\n
\r\n {'For the best user-experience, '}\r\n \r\n {'Google Chrome'}\r\n \r\n {' is recommended over Microsoft Internet Explorer.'}\r\n
\r\n \r\n
\r\n }\r\n \r\n \r\n \r\n >\r\n)\r\n\r\nexport default SignIn\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport { loadingToggler } from 'redux/modules/loading'\r\nimport { documentGenerationNotification } from 'components/Notifications'\r\n\r\nimport { \r\n setPcnRenewalHighlightedIds,\r\n getPcnRenewalData,\r\n } from 'redux/modules/projectTracker'\r\n\r\nimport {\r\n assembleQuery,\r\n postWrapper,\r\n} from 'helpers/api'\r\n\r\nconst handlePathReportsSubmit = (formats, selected) => (dispatch, getState) => (\r\n dispatch(loadingToggler(\r\n async () => {\r\n\r\n const fileName = `Comsearch_Connect_Path_Report_${Date.now()}`\r\n const pathExportTypes = formats.map(v => v.toUpperCase())\r\n const underline = 0 //false since portal does not use underline\r\n const asc = true\r\n \r\n const body = {\r\n fileName,\r\n pathExportTypes,\r\n underline,\r\n asc\r\n }\r\n body.pathIds = selected\r\n \r\n try {\r\n const { entity } = await postWrapper(`/legoGateway/paths/export-data`, body)\r\n dispatch(documentGenerationNotification(entity))\r\n dispatch(getPcnRenewalData(true))\r\n dispatch(setPcnRenewalHighlightedIds())\r\n } catch (err) {\r\n console.warn(err)\r\n return handleError(err)\r\n }\r\n })\r\n )\r\n)\r\n\r\nexport default handlePathReportsSubmit\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React from 'react'\r\nimport GeneratingMessage from './GeneratingMessage'\r\nimport { success } from 'react-notification-system-redux'\r\n\r\nconst documentGenerationNotification = jobData => dispatch => {\r\n const {\r\n exportJobId,\r\n jobStatus,\r\n message,\r\n } = jobData\r\n\r\n const uid = `document-generation-notification-${exportJobId}`\r\n\r\n const config = {\r\n uid,\r\n title: message,\r\n position: 'br',\r\n autoDismiss: 0,\r\n dismissible: false,\r\n children: (\r\n \r\n ),\r\n }\r\n\r\n dispatch(success(config))\r\n}\r\n\r\nexport default documentGenerationNotification\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React, { useCallback, useContext, useState } from 'react'\r\nimport { array, bool, func, string } from 'prop-types'\r\nimport { Button } from 'reactstrap'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport ReactGA from 'react-ga4'\r\nimport { handlePathReportsSubmit } from './helpers'\r\nimport { AuthContext } from 'components/Auth'\r\nimport { TooltipContextTrigger } from 'components/TooltipContext'\r\n\r\nconst PathReports = props => {\r\n const { GA_userId } = useContext(AuthContext)\r\n\r\n const {\r\n category,\r\n handlePathReportsSubmit,\r\n pathIds,\r\n disabledTooltip,\r\n } = props\r\n\r\n const disabled = !!disabledTooltip\r\n\r\n const getTooltipContent = () => (\r\n disabled\r\n ? (\r\n \r\n {'Select at least one record to perform this action.'}\r\n \r\n )\r\n : (\r\n \r\n {'Renewals Data Sheets'}\r\n \r\n )\r\n )\r\n\r\n const [errorMessage, setErrorMessage] = useState(null)\r\n\r\n const formats = ['docx']\r\n\r\n const handleSubmit = useCallback(async e => {\r\n // prevent default form submit behavior.\r\n e.preventDefault()\r\n\r\n try {\r\n await handlePathReportsSubmit(formats, pathIds)\r\n\r\n // tell GA when a data sheets export was initiated.\r\n ReactGA.event({\r\n action: 'Data sheets deliverables downloaded.',\r\n category: category,\r\n label: GA_userId,\r\n })\r\n } catch (err) {\r\n console.warn(err)\r\n setErrorMessage(() => err.message || 'Uncaught Error')\r\n }\r\n // track all these things in this callback so we can use \r\n // as generically as possible.\r\n }, [formats, handlePathReportsSubmit, pathIds])\r\n\r\n return (\r\n <>\r\n { errorMessage &&\r\n
\r\n {errorMessage}\r\n
\r\n }\r\n\r\n \r\n \r\n \r\n >\r\n )\r\n}\r\n\r\nPathReports.propTypes = {\r\n category: string.isRequired,\r\n disabledTooltip: bool.isRequired,\r\n handlePathReportsSubmit: func.isRequired,\r\n pathIds: array.isRequired,\r\n highlightedPathIds: array.isRequired,\r\n}\r\n\r\nconst mapStateToProps = ({ projectTracker }) => {\r\n const { highlightedPathIds } = projectTracker.pcnRenewal\r\n\r\n const disabledTooltip = (\r\n !highlightedPathIds.length\r\n )\r\n\r\n return {\r\n highlightedPathIds,\r\n disabledTooltip,\r\n }\r\n}\r\n\r\nconst mapDispatchToProps = dispatch => (\r\n bindActionCreators({\r\n handlePathReportsSubmit,\r\n }, dispatch)\r\n)\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n)(PathReports)\r\n","const stateCodes = {\r\n AZ: 'Arizona',\r\n AL: 'Alabama',\r\n AK: 'Alaska',\r\n AR: 'Arkansas',\r\n AS: 'American Samoa',\r\n CA: 'California',\r\n CO: 'Colorado',\r\n CT: 'Connecticut',\r\n DE: 'Delaware',\r\n FL: 'Florida',\r\n FM: 'Federated States of Micronesia',\r\n GA: 'Georgia',\r\n GM: 'Guam',\r\n HI: 'Hawaii',\r\n ID: 'Idaho',\r\n IL: 'Illinois',\r\n IN: 'Indiana',\r\n IA: 'Iowa',\r\n KS: 'Kansas',\r\n KY: 'Kentucky',\r\n LA: 'Louisiana',\r\n ME: 'Maine',\r\n MD: 'Maryland',\r\n MA: 'Massachusetts',\r\n MI: 'Michigan',\r\n MN: 'Minnesota',\r\n MS: 'Mississippi',\r\n MO: 'Missouri',\r\n MT: 'Montana',\r\n MH: 'Marshall Islands',\r\n MP: 'Northern Mariana Islands',\r\n NE: 'Nebraska',\r\n NV: 'Nevada',\r\n NH: 'New Hampshire',\r\n NJ: 'New Jersey',\r\n NM: 'New Mexico',\r\n NY: 'New York',\r\n NC: 'North Carolina',\r\n ND: 'North Dakota',\r\n OH: 'Ohio',\r\n OK: 'Oklahoma',\r\n OR: 'Oregon',\r\n PA: 'Pennsylvania',\r\n PR: 'Puerto Rico',\r\n PW: 'Palau',\r\n RI: 'Rhode Island',\r\n SC: 'South Carolina',\r\n SD: 'South Dakota',\r\n TN: 'Tennessee',\r\n TX: 'Texas',\r\n UT: 'Utah',\r\n VT: 'Vermont',\r\n VA: 'Virginia',\r\n VI: 'Virgin Ilands',\r\n WA: 'Washington',\r\n WV: 'West Virginia',\r\n WI: 'Wisconsin',\r\n WY: 'Wyoming',\r\n}\r\n\r\nexport default stateCodes\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\n// this tracks required groups for various features within the UI\r\n// the intention is to keep these all in a single space.\r\n// if there's a one-off role check like \"hide Filing Status tab for Internal_Users\"\r\n// then you can keep that in its own space.\r\n// this is just for common group checks which are repeated throughout the application.\r\n\r\n// NOTE - we are no longer tracking the Data_Product role in the UI.\r\n\r\nexport const ROLES_PATH_DATABASE = ['Path_Database']\r\n\r\nexport const ROLES_PROJECT_TRACKER = ['Frequency_Coordination', 'Internal_Users']\r\n\r\nexport const ROLES_PROTECTION = ['Frequency_Protection']\r\n\r\nexport const ROLES_PRICING_MANAGEMENT = ['Internal_Admin']\r\n\r\nexport const ROLES_SUAS = ['SUAS'] // RF Drone Services role\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\n/* global USER_POOL */\r\n\r\nconst userPoolHash = {\r\n DEV: {\r\n apiRoot: 'https://l6kqe47080.execute-api.us-east-1.amazonaws.com/dev',\r\n Auth: {\r\n region: 'us-east-1',\r\n userPoolId: 'us-east-1_hL4BZXLY3',\r\n userPoolWebClientId: '3pjbakb7u687vahn9mac7ga01',\r\n mandatorySignIn: true,\r\n authenticationFlowType: 'USER_PASSWORD_AUTH',\r\n },\r\n trackingConfig: {\r\n debug: true,\r\n gaOptions: {\r\n cookieDomain: 'auto',\r\n },\r\n },\r\n trackingId: 'UA-144784447-1',\r\n measurementId: 'G-7L55WM7VG1',\r\n },\r\n\r\n QA: {\r\n apiRoot: 'https://vv09vv1sq8.execute-api.us-east-1.amazonaws.com/qa',\r\n Auth: {\r\n region: 'us-east-1',\r\n userPoolId: 'us-east-1_hL4BZXLY3',\r\n userPoolWebClientId: '3pjbakb7u687vahn9mac7ga01',\r\n mandatorySignIn: true,\r\n authenticationFlowType: 'USER_PASSWORD_AUTH',\r\n },\r\n trackingConfig: {\r\n debug: true,\r\n gaOptions: {\r\n cookieDomain: 'auto',\r\n },\r\n },\r\n trackingId: 'UA-144784447-1',\r\n measurementId: 'G-7L55WM7VG1',\r\n },\r\n\r\n PROD: {\r\n apiRoot: 'https://frh3yreglj.execute-api.us-east-1.amazonaws.com/prod',\r\n Auth: {\r\n region: 'us-east-1',\r\n userPoolId: 'us-east-1_oHH1SM4yi',\r\n userPoolWebClientId: '36j9kp01fuel9sa55g5ao5sbm6',\r\n mandatorySignIn: true,\r\n authenticationFlowType: 'USER_PASSWORD_AUTH',\r\n },\r\n trackingConfig: {\r\n debug: false,\r\n gaOptions: {\r\n cookieDomain: 'auto',\r\n },\r\n },\r\n trackingId: 'UA-137023296-1',\r\n measurementId: 'G-CCPKT197BF',\r\n },\r\n\r\n PRODEVEN: {\r\n apiRoot: 'https://6dh4mottog.execute-api.us-east-1.amazonaws.com/prodeven',\r\n Auth: {\r\n region: 'us-east-1',\r\n userPoolId: 'us-east-1_oHH1SM4yi',\r\n userPoolWebClientId: '36j9kp01fuel9sa55g5ao5sbm6',\r\n mandatorySignIn: true,\r\n authenticationFlowType: 'USER_PASSWORD_AUTH',\r\n },\r\n trackingConfig: {\r\n debug: false,\r\n gaOptions: {\r\n cookieDomain: 'auto',\r\n },\r\n },\r\n trackingId: 'UA-137023296-1',\r\n measurementId: 'G-CCPKT197BF',\r\n },\r\n\r\n PRODODD: {\r\n apiRoot: '',\r\n Auth: {\r\n region: 'us-east-1',\r\n userPoolId: 'us-east-1_oHH1SM4yi',\r\n userPoolWebClientId: '36j9kp01fuel9sa55g5ao5sbm6',\r\n mandatorySignIn: true,\r\n authenticationFlowType: 'USER_PASSWORD_AUTH',\r\n },\r\n trackingConfig: {\r\n debug: false,\r\n gaOptions: {\r\n cookieDomain: 'auto',\r\n },\r\n },\r\n trackingId: 'UA-137023296-1',\r\n measurementId: 'G-CCPKT197BF',\r\n },\r\n\r\n UAT: {\r\n apiRoot: 'https://8mm27vrqy2.execute-api.us-east-1.amazonaws.com/uat',\r\n Auth: {\r\n region: 'us-east-1',\r\n userPoolId: 'us-east-1_hL4BZXLY3',\r\n userPoolWebClientId: '3pjbakb7u687vahn9mac7ga01',\r\n mandatorySignIn: true,\r\n authenticationFlowType: 'USER_PASSWORD_AUTH',\r\n },\r\n trackingConfig: {\r\n debug: false,\r\n gaOptions: {\r\n cookieDomain: 'auto',\r\n },\r\n },\r\n trackingId: 'UA-144784447-1',\r\n measurementId: 'G-7L55WM7VG1',\r\n },\r\n}\r\n\r\n// pulls out the mapped api root and Auth config\r\nconst {\r\n apiRoot,\r\n Auth,\r\n measurementId,\r\n trackingConfig,\r\n trackingId,\r\n} = userPoolHash[USER_POOL]\r\n\r\n// and exposes only these\r\nexport {\r\n apiRoot,\r\n Auth,\r\n measurementId,\r\n trackingConfig,\r\n trackingId,\r\n}\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport { Auth } from 'aws-amplify'\r\nimport { apiRoot } from 'constants/userPool'\r\n\r\nconst headers = {\r\n 'Content-Type': 'application/json',\r\n}\r\n\r\n// assigns the authorization token to the API Headers\r\nexport const updateHeaderToken = token => {\r\n headers.Authorization = token\r\n}\r\n\r\nconst configDELETE = {\r\n headers,\r\n method: 'DELETE',\r\n}\r\n\r\nconst configGET = {\r\n headers,\r\n method: 'GET',\r\n}\r\n\r\nconst configPATCH = {\r\n headers,\r\n method: 'PATCH',\r\n}\r\n\r\nconst configPOST = {\r\n headers,\r\n method: 'POST',\r\n}\r\n\r\nconst configPUT = {\r\n headers,\r\n method: 'PUT',\r\n}\r\n\r\n// handles the fetch promise resolution wether successful or not.\r\n// if it's not successful, it will throw an error with\r\n// the API's given error message.\r\nconst fetchResponse = async res => {\r\n if (res.ok) {\r\n // request was successful\r\n return res.json()\r\n }\r\n\r\n // 401 response - user was not authorized\r\n // 403 response - user is forbidden from the action they just tried.\r\n // a 403 should never happen in the UI so if the UI gets this response status,\r\n // it means the user's trying to do something sneaky. log them out!\r\n if (res.status === 401 || res.status === 403) {\r\n await Auth.signOut()\r\n location.reload()\r\n return\r\n }\r\n\r\n const json = await res.json()\r\n const err = json.message || res.statusText\r\n const error = new Error(err)\r\n throw Object.assign(error, { res, json })\r\n}\r\n\r\nexport const fetchWrapper = async (url, config = configGET, body) => {\r\n const r = await fetch(`${apiRoot}${url}`, {\r\n ...config,\r\n body,\r\n })\r\n return fetchResponse(r)\r\n}\r\n\r\nexport const deleteWrapper = url => (\r\n fetchWrapper(\r\n url,\r\n configDELETE,\r\n )\r\n)\r\n\r\nexport const patchWrapper = (url, body = '') => (\r\n fetchWrapper(\r\n url,\r\n configPATCH,\r\n JSON.stringify(body),\r\n )\r\n)\r\n\r\nexport const postWrapper = (url, body = '') => (\r\n fetchWrapper(\r\n url,\r\n configPOST,\r\n JSON.stringify(body),\r\n )\r\n)\r\n\r\nexport const putWrapper = (url, body) => (\r\n fetchWrapper(\r\n url,\r\n configPUT,\r\n JSON.stringify(body),\r\n )\r\n)\r\n\r\n// NOTE - The API will expect arrays in two different ways:\r\n// ?foo=[1,2,3]\r\n// and\r\n// ?foo=1,2,3\r\n// This depends on how that param is configured in the back end!\r\n// If you need to convert an array and pass it as a comma spaced string of values,\r\n// you can arr.join(',')\r\nexport const makeQueryString = s => {\r\n const t = typeof s !== 'string' ? JSON.stringify(s) : s\r\n return encodeURIComponent(t)\r\n}\r\n\r\n// when using the 2d search array in query params,\r\n// use this method to quickly build the search criteria.\r\nexport const makeSearchObject = (field = null, value = null, operator = 'LIKE') => (\r\n value !== null && field !== null\r\n ? ({\r\n field,\r\n operator,\r\n value,\r\n })\r\n : null\r\n)\r\n\r\n// builds a query string from the array of flags passed to it.\r\n// this also adds an 'expires' query to prevent any sort of caching.\r\n// this is because IE11 gets real clingy with the original responses\r\n// despite the fetch headers telling it explicitly NOT to.\r\n// eg of passing this a 2d \"search\" array:\r\n// a = [{\r\n// field: 'search',\r\n// value: [{\r\n// field: 'companyId',\r\n// operator: 'EQ',\r\n// value: 3,\r\n// }]\r\n// }]\r\nexport const assembleQuery = (a = []) => {\r\n a.push({\r\n field: 'expires',\r\n value: Date.now(),\r\n })\r\n\r\n return a.reduce((q, d, i) => {\r\n // separated for readability\r\n const s = !i ? '?' : '&'\r\n const f = d.field\r\n const v = makeQueryString(d.value)\r\n q += `${s}${f}=${v}`\r\n return q\r\n }, '')\r\n}\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport prepareNestedString from 'helpers/prepareNestedString'\r\n\r\n// gets nested value of a validation object.\r\n// o is the validation object and\r\n// s is the string that points to the desired value.\r\n// example:\r\n// o = {\r\n// foo: [{\r\n// bar: {\r\n// fa: 'Test',\r\n// },\r\n// }],\r\n// }\r\n// s = foo[0]bar.fa\r\n// getNestedByString (o, s) ==> 'Test'\r\nconst getNestedByString = (o, s) => {\r\n s = prepareNestedString(s)\r\n for (let i = 0, n = s.length; i < n; ++i) {\r\n let k = s[i]\r\n if (k in o) {\r\n o = o[k]\r\n } else {\r\n return\r\n }\r\n }\r\n return o\r\n}\r\n\r\nexport default getNestedByString\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport stateCodes from 'constants/stateCodes'\r\nimport { createRegExpWithWildcards } from 'helpers/regex'\r\n\r\n// value is a string\r\n// this takes value and determines if it is a substring\r\n// of either a state code or a state's full name.\r\n// For example, if the user typed \"T\" or \"te\",\r\n// this will return ['TX','TN']\r\n// but if the user types \"tex\", it will\r\n// only return ['TX']\r\n\r\nconst getStateCodes = value => {\r\n const v = value.trim().toLowerCase()\r\n const matchedCodes = []\r\n\r\n if (v.length === 0) {\r\n return matchedCodes\r\n }\r\n\r\n // if the length is greater than 2, we know we're not dealing with a\r\n // state code. store this so we know if we can skip that or not.\r\n const checkStateCode = v.length <= 2\r\n\r\n const textInputWithWildCards = createRegExpWithWildcards(v)\r\n\r\n // loop over the stateCodes map.\r\n // check for a match with both the state code and name\r\n Object.entries(stateCodes).forEach(([stateCode, stateName]) => {\r\n if (\r\n (checkStateCode && textInputWithWildCards.test(stateCode.toLowerCase())) ||\r\n textInputWithWildCards.test(stateName.toLowerCase())\r\n ) {\r\n matchedCodes.push(stateCode)\r\n }\r\n })\r\n\r\n return matchedCodes\r\n}\r\n\r\nexport default getStateCodes\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport ReactGA from 'react-ga4'\r\n\r\n/**\r\n * Triggers a pageview hitType in GA4.\r\n * @param {string} page - url to the page\r\n * @param {string} title - page title\r\n */\r\nconst pageView = (page, title) => {\r\n ReactGA.send({\r\n hitType: 'pageview',\r\n page,\r\n title,\r\n })\r\n}\r\n\r\nexport default pageView\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\n// used when both grabbing and setting\r\n// a nested value\r\n// this supports standard notation for\r\n// accessing values in javascript, eg.\r\n// foo.bar[0][buzz].fizz\r\n// but because of redux-form\r\n// this also supports a slightly\r\n// invalid javascript value like\r\n// foo[0]bar\r\n\r\n// eg.\r\n// \"foo.bar[0][fizz].buzz\"\r\n// {\r\n// \"foo\": {\r\n// \"bar\": [{\r\n// fizz: {\r\n// buzz: true,\r\n// }\r\n// }]\r\n// }\r\n// }\r\n// would return true\r\n\r\nconst prepareNestedString = s => {\r\n // removes any leading or trailing periods or brackets\r\n s = s.replace(/(^\\.|^\\[|^]|\\.$|\\[$|]$)/g, '')\r\n\r\n // captures\r\n // ].[\r\n // ][\r\n // ].\r\n // ]\r\n // and replaces with a period\r\n s = s.replace(/(]\\.\\[|]\\[|]\\.|\\[|])/g, '.')\r\n\r\n // then splits the string into an array\r\n return s.split('.')\r\n}\r\n\r\nexport default prepareNestedString\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\n// if value is an empty string or is NaN it returns null\r\n// otherwise it returns the value cast as a number.\r\n// this is useful because redux-form prefers to work with string values\r\n// and the value selected may be '' which should be null for API.\r\n// see how uses prop emptyOptionLabel for an example of this.\r\n// NOTE - these checks (in place of regex) allow us to support scientific notation in the value\r\n// NOTE - first isNaN check handles false, '', null and undefined\r\n// NOTE - second one handles strings like '1.3e' which parseFloat returns as 1.3\r\nconst castToFloat = v => !isNaN(parseFloat(v)) && !isNaN(+v) ? +v : null\r\n\r\nexport default castToFloat\r\n","// Copyright (c) 2017 Comsearch, Inc., All rights reserved\r\n\r\nimport XRegExp from 'xregexp'\r\n\r\nexport const alphanumeric = /^[a-z0-9]+$/i\r\n// allows for decimal and negative values\r\n// does not allow scientific notation eg. \"1e4\"\r\nexport const numericalValuesOnly = /^[+-]?((\\.\\d+)|(\\d+(\\.(\\d+)?)?))$/\r\nexport const goodProjectName = /^[a-z0-9\\s_-]+$/i\r\nexport const goodPathOrSiteName = goodProjectName\r\n\r\n// all acceptable formats of DMS coords\r\n// DD MM SS.SS N/S, DDD MM SS.SS E/W\r\n// +/- DD MM SS.SS, +/- DDD MM SS.SS\r\nexport const coordsDMS = XRegExp(\r\n `^(? [-]{0,1}|[NnEeSsWw][\\\\s])\\n\\\r\n (? [0-9]{1,3}) (\\\\s|-|°|°\\\\s)\\n\\\r\n (? [0-9]{1,2}) (\\\\s|-|'|'\\\\s)\\n\\\r\n (? [0-9]{1,2}([.]{1}[0-9]{0,2})?) [\"]{0,1}[\\\\s]{0,1}\\n\\\r\n (? [NnEeSsWw]{0,1})\\n$`, `x`\r\n)\r\n\r\n// all acceptable formats of DD coords\r\n// DD.DDDDDD N/S, DD.DDDDDD E/W\r\n// +/- DD.DDDDDD, +/- DD.DDDDDD\r\n// NOTE: the line:\r\n// (? [0-9]{0,12}) [\\\\s]{0,1}\\n\\\r\n// means that this regex allows for values which have more than 6 decimals.\r\n// eg. 32.1234567890574 vs 32.123456\r\n// this is so that we can gracefully handle when such a value is given\r\n// (this could be from API or from user input.)\r\n// however we will still only consider the first six decimal places\r\n// which are included in the ? match.\r\nexport const coordsDD = XRegExp(\r\n `^(? ([-]{0,1}|[NnEeSsWw][\\\\s]))\\n\\\r\n (? [0-9]{1,3}([.]{1}[0-9]{0,6})?)\\n\\\r\n (? [0-9]{0,15}) [\\\\s]{0,1}\\n\\\r\n (? [NnEeSsWw]{0,1})\\n$`, `x`\r\n)\r\n\r\nexport const dateFormat = XRegExp(\r\n `^(? [0-9]{4})[/]\\n\\\r\n (? [0-9]{2})[/]\\n\\\r\n (? [0-9]{2})\\n$`, `x`\r\n)\r\n\r\nexport const fccDateFormat = XRegExp(\r\n `^(? [0-9]{2})[/]\\n\\\r\n (? [0-9]{2})[/]\\n\\\r\n (? [0-9]{4})\\n$`, `x`\r\n)\r\n\r\n// escapes common special characters for regex.\r\n// this is specifically for strings that contain *\r\n// without this, those strings would break the constructor\r\nexport const escapeForRegEx = s => (\r\n s.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&')\r\n)\r\n\r\n// dynamically generates wildcards to support query % wildcards\r\n// so \"b%lb\" --> /^b.*lb.*$/, matches \"billboard\"\r\n// NOTE: wild cards are added to the end of the string always\r\n// so if the input's value is \"b%lb%\" or \"b%lb\" it will return the same results.\r\nexport const createRegExpWithWildcards = s => (\r\n new RegExp(`^${escapeForRegEx(s).toLowerCase().replace(/%/g, '.*')}.*$`)\r\n)\r\n\r\nexport const validEmail = /^(?:[a-z0-9!#$%&''*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&''*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\n// creates an anchor tag, assigns the given href,\r\n// appends it to the document\r\n// triggers the download via click\r\n// then detach the link from the document.\r\n\r\nconst triggerFileDownload = href => {\r\n const link = document.createElement('a')\r\n link.setAttribute('href', href)\r\n link.setAttribute('download', href.substr(href.lastIndexOf('/') + 1))\r\n document.body.appendChild(link) // Required for FF\r\n link.click()\r\n document.body.removeChild(link)\r\n}\r\n\r\nexport default triggerFileDownload\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport {\r\n useCallback,\r\n useEffect,\r\n useState,\r\n useRef,\r\n} from 'react'\r\n\r\n// provides a boolean value that can be toggled off/on.\r\n\r\nconst useBooleanToggle = (initialState = false) => {\r\n const [state, setState] = useState(initialState)\r\n\r\n // we will track if the component which called useBooleanToggle is mounted or not.\r\n // This way we can avoid setting state for a component which is no longer in the DOM.\r\n const mounted = useRef(false)\r\n useEffect(() => {\r\n mounted.current = true\r\n return () => { mounted.current = false }\r\n }, [])\r\n\r\n // make sure that mounted.current === true\r\n // before calling toggling state value\r\n const toggleBoolean = useCallback(() => (\r\n mounted.current && setState(state => !state)\r\n ), [])\r\n\r\n return [state, toggleBoolean]\r\n}\r\n\r\nexport default useBooleanToggle\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport styled from 'styled-components'\r\n\r\nexport const RoutesWrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n height: 100vh;\r\n overflow: hidden;\r\n position: relative;\r\n z-index: 1;\r\n`\r\n","// Copyright (c) 2019 Comsearch, Inc., All rights reserved\r\n\r\nimport React, { Suspense } from 'react'\r\nimport { AuthRoute } from 'components/Auth'\r\nimport { RoutesWrapper } from './styles'\r\n\r\nimport {\r\n Route,\r\n Switch,\r\n} from 'react-router-dom'\r\n\r\nimport {\r\n ROLES_PATH_DATABASE,\r\n ROLES_PROTECTION,\r\n ROLES_PROJECT_TRACKER,\r\n ROLES_PRICING_MANAGEMENT,\r\n ROLES_SUAS,\r\n} from 'constants/userGroups'\r\n\r\nimport {\r\n HomePage,\r\n LoadingIcon,\r\n Navigation,\r\n} from 'components'\r\n\r\nconst Protection = React.lazy(() => import('components/Protection'))\r\nconst PageNotFound = React.lazy(() => import('components/PageNotFound'))\r\nconst ProjectTracker = React.lazy(() => import('components/ProjectTracker'))\r\nconst PathDatabase = React.lazy(() => import('components/PathDatabase'))\r\nconst PricingManagement = React.lazy(() => import('components/PricingManagement'))\r\nconst DataProducts = React.lazy(() => import('components/DataProducts'))\r\nconst RfDroneServices = React.lazy(() => import('components/RfDroneServices'))\r\nconst PathDatabaseEnhancement = React.lazy(() => import('components/PathDatabaseEnhancement'))\r\n\r\nconst Routes = () => (\r\n \r\n \r\n