{"version":3,"sources":["serviceWorker.js","components/content/Dropdown.js","components/header/Header.js","components/footer/Footer.js","config/authConfig.js","components/auth/auth.js","components/App.js","components/content/ManagerLocationPage.js","components/content/SortValue.js","components/content/LegalEntities.js","components/content/MRCPage.js","components/content/CostCenterPage.js","components/content/HeadCountMRC.js","components/content/HeadCountCostCenter.js","components/content/EndPage.js","components/content/HomePage.js","components/content/Metrics.js","components/content/PrivacyPolicy.js","components/content/LegalNotice.js","components/content/FAQs.js","Route.js","index.js","assets/home.png","assets/MetricsIcon.png","assets/workdaylogo.png","assets/footer.png","assets/JNJSurvey.png","assets/cancelbtn.png","assets/PTImages/PTLEHoverFeature.png","assets/PTImages/PTPayrollCCExpanded.png","assets/PTImages/PTManagerWWIDPopulated.png","assets/PTImages/PTLocationSearch.png","assets/PTImages/PTLocationPopup.png","assets/PTImages/PTHeadcountPopup.png"],"names":["Boolean","window","location","hostname","match","Dropdown","props","renderOption","option","state","title","name","country","workdaylocation","placeholderName","className","this","astrik","mode","value","locationselected","previouslocation","options","region","placeholder","onChange","e","regiondata","autoComplete","Component","Header","src","workdaylogo","alt","Footer","footer","style","textAlign","to","config","encryptionkey","msalConfig","auth","clientId","process","authority","redirectUri","cache","cacheLocation","storeAuthStateInCookie","loginRequest","scopes","msalInstance","PublicClientApplication","addEventCallback","event","eventType","EventType","LOGIN_SUCCESS","payload","account","setActiveAccount","error","console","log","msalContext","createContext","Auth","prop","useState","isUserAuthenticated","setIsUserAuthenticated","msal","setMsal","useEffect","a","handleRedirectPromise","res","currentAccounts","getAllAccounts","length","loginRedirect","accessTokenRequest","acquireTokenSilent","tokenRes","wwid","idTokenClaims","employeeId","secretKeyforEncryption","lsWWID_enc","CryptoJS","AES","encrypt","localStorage","setItem","InteractionRequiredAuthError","acquireTokenRedirect","err","handleAuth","Provider","children","App","useContext","ManagerLocationPage","handleChange","undefined","target","setState","mngwwid","replace","mngName","mnglocation","isDisplaymngactualLocation","isSubmitted","isValidated","showMnglocation","axios","method","url","headers","apiKey","clientKey","data","managerWWID","status","managerLocation","currency","regionname","countryselected","countryname","stateselected","statename","splocationselected","locationreferenceID","locationname","countrydata","splocationdata","refid","dropdownData","filter","item","locationId","validate","managerName","onclickManagerLocationNext","isDifferentlocation","handleUserData","nolocation","yeslocation","isMandatory","isValidMngName","isLoaded","then","allLocations","selLoc","catch","alert","regionarr","map","val","id","array","indexOf","el","push","regionlist","concat","sort","b","localeCompare","countryarr","it","countrylist","locationlist","type","defaultValue","onBlur","onClick","isOpen","compareValues","key","order","hasOwnProperty","varA","toUpperCase","varB","comparison","CustomCompMRC","dataTip","split","LegalEntities","SetWidth","header","document","querySelectorAll","i","width","DimensionWidth","parentElement","previousSibling","nextSibling","elmID","elmHeight","elmMargin","elm","all","offsetWidth","parseInt","currentStyle","marginLeft","marginRight","defaultView","getComputedStyle","getPropertyValue","legaldata","legalitemdata","index","dataTipvalue","payrollMRCList","payrollMRCListArr","payrollMRCCode","payrollMRCName","legalEntity","leCode","selectedvalue","handleCheck","leName","checked","lecode","float","data-for","data-tip","effect","getContent","handleLEData","onclickLENext","sessionID","handleLEDataBack","onclickLEBack","LEItemData","lsWWID_dec","lsWWID","getItem","lsWWID_dec_bytes","decrypt","JSON","parse","toString","enc","Utf8","addEventListener","locationCode","loggedInUserWWID","legalEntityList","sessionId","isLePresent","MRCPage","PayrollMRCData","mrccode","mrcname","handlePayrollMRCData","onclickPayrollMRCNext","handlePayrollMRCDataBack","onclickpayrollMRCBack","PayrollMRCItemData","mrcName","CustomComp","slice","Math","ceil","CostCenterPage","payrollcostcenter","payrollcostcenteritemdata","payrollcostcenteritemdataSort","secondvalue","level","getMergedEmployees","payrollCostCenterCode","selectedlevel","payrollCostCenterName","payrollCCcode","openItem","stopPropagation","sortemployee","employees","payrollcostcenterleveldown","payrollcostcenteritemdatadownSort","thirdvalue","inputArray","groupedJson","reduce","rv","x","groupedArray","Object","keys","toMerge","d","toRetain","finalArray","arr","newData","emplArray","uniqeEmployee","findIndex","employee","sortedemployee","payrollCCname","handlePayrollCCData","onclickPayrollCCNext","handlePayrollCCDataBack","onclickpayrollCCBack","showleveldown","leveldown","PayrollCCItemData","isDisplaylevelupdown","payrollCCCode","payrollCCName","selectedlevelCC","payrollCostCenterList","checkleveldownarr","checkthirdvalue","HeadCountMRC","HeadCountMRCData","headCountMRCCode","headCountMRCName","hcmrcname","handleHeadcountMRCData","onclickHeadCountMRCNext","handleHeadCountMRCDataBack","onclickHeadCountMRCBack","HeadCountMRCItemData","headCountMRCList","HeadCountCostCenter","headcountcostcenter","headcountCCitemdataSort","headCountCostCenterCode","selectedlevelhcc","headCountCostCenterName","headCountCCcode","headcountcostcenterleveldown","headcountCCitemdatadownSort","headCountCCname","handleHeadCountCCData","onclickheadCountCCNext","handleHeadCountCCDataBack","onclickHeadCountCCBack","nonUsedKey","Date","now","HeadCountCCItemData","headcountCCcode","headCountCCName","selectedlevelHCC","headCountCostCenterList","re","EndPage","handleEndPageDataBack","onclickEndPageBack","handleEndPagenext","isHomePage","onclickEndPageNext","handleEmailbtn","isEmailmodalOpen","managerlocation","summaryTakenAtStage","payrollmrccode","headcountCCCode","headcountCCName","handleEmailSuccess","getElementById","disabled","emailSentError","emails","refs","textarea","innerHTML","textarea1","emailSentSuccess","handleEmailPopUp","emailError","evt","email","handleKeyDown","includes","preventDefault","trim","validateEmail","handleBlur","handleDelete","toBeRemoved","handlePaste","clipboardData","getData","toBeAdded","close","refreshPage","reload","handleErrorEmailPopUp","surveyPage","setTime","getTime","cookies","set","path","expires","result","surveyURL","issurveyFeedback","popupheight","get","noneOfTheAboveSelected","summarySaved","isValidEmail","test","isInList","outputmsg","ariaHideApp","cancelbtn","onKeyDown","onPaste","contentEditable","ref","suppressContentEditableWarning","JNJSurvey","href","withCookies","HomePage","updateWindowDimensions","windowheight","innerHeight","Dimension","getElementsByClassName","clientHeight","marginTop","marginBottom","handleUserInput","mngID","mngname","mngactuallocation","locationName","regionName","countryName","stateName","manageractualLocation","isManagerLocation","isLegalEntities","isDisplayheader","isDisplaymngwwid","isDisplaylocationname","stepNumber","noOrganisaion","sessionid","isEndPage","handleLEInput","lename","leID","isPayrollMRC","isDisplaylename","handleLEBack","handlePayrollMRCInput","isPayrollCC","isDisplaypmrcname","handlePayrollMRCBack","handlePayrollCCInput","payrollName","levelselected","DecisionmodalOpen","isDisplaypccname","handlePayrollCCBack","noDecisionCard","isDisplayhmrcname","isDisplayhccname","yesDecisionCard","isHeadCountMRC","handleHeadCountMRCBack","handleHeadCountMRCInput","isHeadCountCC","handleHeadCountCCBack","handleHeadCountCCInput","hcccode","hccname","levelselectedhcc","headCountCCCode","handleEndPageBack","handleEndPageNext","isLEDataPresent","removeEventListener","minHeight","Stepper","activeStep","alternativeLabel","label","Step","StepLabel","Metrics","getweeklyreport","weeklyreport","items","reportId","DownloadReport","reportName","MetricsIcon","getmonthlyreport","monthlyreport","reportname","filename","response","blob","Blob","encoding","link","createElement","URL","createObjectURL","download","click","WeeklyReportData","MonthlyReportData","isAdmin","metricsReports","reportList","userWWID","PrivacyPolicy","scrollTo","display","home","LegalNotice","color","months","FrequentlyAsked","fwdLatestRefreshDate","locationLatestRefreshDate","r360LatestRefreshDate","configData","allConfig","config_key","fdwRes","config_value","date","fdwData","getMonth","getDate","getFullYear","locationRes","locationData","r360Res","r360Data","margin","PTLEHoverFeature","PTPayrollCCExpanded","PTManagerWWIDPopulated","PTLocationSearch","PTLocationPopup","PTHeadcountPopup","Routes","exact","component","ReactDOM","render","Route","navigator","serviceWorker","ready","registration","unregister","module","exports"],"mappings":"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","file":"static/js/main.de392ea7.chunk.js","sourcesContent":["// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport SelectSearch from 'react-select-search';\r\n\r\n\r\nclass Dropdown extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n /*------------------------------------------------Page Data--------------------------------------------------------- */\r\n // regiondata:this.props.address,\r\n country: 'EMEA',\r\n workdaylocation: this.props.location,\r\n placeholderName: this.props.placeholderName,\r\n }\r\n }\r\n renderOption = (option, state, props) => {\r\n return
{option.name} 
;\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

{this.state.workdaylocation} {this.props.astrik}

\r\n this.props.regiondata(e)}\r\n renderOption={this.renderOption}\r\n autoComplete='no'\r\n />\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Dropdown;","import React, { Component } from 'react';\r\nimport workdaylogo from '../../assets/workdaylogo.png';\r\nimport Dropdown from '../content/Dropdown';\r\nclass Header extends Component {\r\n render() {\r\n return (\r\n
\r\n \"Smiley\r\n
\r\n );\r\n }\r\n}\r\nexport default Header;","import React, { Component } from 'react';\r\nimport footer from '../../assets/footer.png';\r\nimport {Link} from 'react-router-dom';\r\nclass Footer extends Component {\r\n render() {\r\n return (\r\n
\r\n \"Smiley\r\n All contents © Copyright Johnson & Johnson Services, All rights Reserved\r\n \r\n \r\n Privacy Policy\r\n \r\n \r\n Legal Notice\r\n \r\n \r\n Frequently Asked Questions (FAQs)\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\nexport default Footer;","// // const config = {\r\n// // encryptionkey:\"lemrcccpredictor\",\r\n// // aliasWWIDName: 'lsMainKey',\r\n// // ssoURL: 'https://lemrcccpredictor.jnj.com/sso/',\r\n// // }\r\n// // export default config;\r\n\r\nconst config = {\r\n encryptionkey: \"lemrcccpredictor\",\r\n // aliasWWIDName: \"lsMainKey\",\r\n // ssoURL: \"https://dvl.lemrcccpredictor.jnj.com\",\r\n};\r\nexport default config;\r\n\r\n// import { LogLevel } from \"@azure/msal-browser\";\r\n\r\nexport const msalConfig = {\r\n auth: {\r\n clientId: process.env.REACT_APP_CLIENTID,\r\n authority: `https://login.microsoftonline.com/${process.env.REACT_APP_TENENTID}`,\r\n redirectUri: process.env.REACT_APP_REDIRECTURL,\r\n // postLogoutRedirectUri: \"/\",\r\n },\r\n cache: {\r\n // cacheLocation: \"sessionStorage\", // This configures where your cache will be stored\r\n cacheLocation: \"localStorage\",\r\n storeAuthStateInCookie: false, // Set this to \"true\" if you are having issues on IE11 or Edge\r\n },\r\n // system: {\r\n // loggerOptions: {\r\n // loggerCallback: (level, message, containsPii) => {\r\n // if (containsPii) {\r\n // return;\r\n // }\r\n // switch (level) {\r\n // case LogLevel.Error:\r\n // console.error(message);\r\n // return;\r\n // case LogLevel.Info:\r\n // console.info(message);\r\n // return;\r\n // case LogLevel.Verbose:\r\n // console.debug(message);\r\n // return;\r\n // case LogLevel.Warning:\r\n // console.warn(message);\r\n // return;\r\n // default:\r\n // return;\r\n // }\r\n // },\r\n // },\r\n // },\r\n};\r\n\r\n/**\r\n * Scopes you add here will be prompted for user consent during sign-in.\r\n * By default, MSAL.js will add OIDC scopes (openid, profile, email) to any login request.\r\n * For more information about OIDC scopes, visit:\r\n * https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#openid-connect-scopes\r\n */\r\nexport const loginRequest = {\r\n scopes: [\"User.Read\"],\r\n};\r\n\r\nconst logoutRequest = {\r\n // account: myMsal.getAccountByHomeId(homeAccountId),\r\n};\r\n\r\n/**\r\n * Add here the scopes to request when obtaining an access token for MS Graph API. For more information, see:\r\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/resources-and-scopes.md\r\n */\r\nexport const graphConfig = {\r\n graphMeEndpoint: \"https://graph.microsoft.com/v1.0/me\",\r\n};\r\n","import React, { createContext, useEffect, useState } from \"react\";\r\n// import { graphConfig, loginRequest, msalConfig }\r\n\r\nimport {\r\n EventType,\r\n InteractionRequiredAuthError,\r\n PublicClientApplication,\r\n} from \"@azure/msal-browser\";\r\nimport config, { loginRequest, msalConfig } from \"../../config/authConfig\";\r\nimport CryptoJS from \"crypto-js\";\r\n\r\nconst msalInstance = new PublicClientApplication(msalConfig);\r\n\r\nmsalInstance.addEventCallback(\r\n (event) => {\r\n // set active account after redirect\r\n if (event.eventType === EventType.LOGIN_SUCCESS && event.payload.account) {\r\n const account = event.payload.account;\r\n msalInstance.setActiveAccount(account);\r\n }\r\n },\r\n (error) => {\r\n console.log(\"error\", error);\r\n }\r\n);\r\n\r\nexport const msalContext = createContext({});\r\n\r\nconst Auth = (prop) => {\r\n const [isUserAuthenticated, setIsUserAuthenticated] = useState(false);\r\n const [msal, setMsal] = useState();\r\n\r\n useEffect(() => {\r\n const handleAuth = async () => {\r\n try {\r\n const res = await msalInstance.handleRedirectPromise();\r\n let account;\r\n if (res) {\r\n //if you are already logged in, get the cached account\r\n account = res.account;\r\n } else {\r\n // In case multiple accounts exist, you can select\r\n const currentAccounts = msalInstance.getAllAccounts();\r\n\r\n if (currentAccounts.length === 0) {\r\n // no accounts signed-in, attempt to sign a user in\r\n msalInstance.loginRedirect(loginRequest);\r\n } else if (currentAccounts.length > 1) {\r\n // Add choose account code here\r\n account = currentAccounts[0];\r\n } else if (currentAccounts.length === 1) {\r\n account = currentAccounts[0];\r\n }\r\n }\r\n\r\n const accessTokenRequest = {\r\n account,\r\n scopes: loginRequest.scopes,\r\n };\r\n try {\r\n // console.log({ account });\r\n // Display signed-in user content, call API, etc.\r\n\r\n const tokenRes =\r\n await msalInstance.acquireTokenSilent(accessTokenRequest);\r\n const wwid = tokenRes.account.idTokenClaims.employeeId || \"\";\r\n // const email =\r\n // tokenRes?.account?.idTokenClaims?.preferred_username || \"\";\r\n // const name = tokenRes?.account?.idTokenClaims?.name || \"\";\r\n const secretKeyforEncryption = config.encryptionkey;\r\n const lsWWID_enc = CryptoJS.AES.encrypt(wwid, secretKeyforEncryption);\r\n localStorage.setItem(\"wwid\", lsWWID_enc);\r\n setIsUserAuthenticated(true);\r\n setMsal(msalInstance);\r\n\r\n // me endpoint\r\n // const accessToken = res.accessToken\r\n // fetch(graphConfig.graphMeEndpoint, {\r\n // method: \"GET\",\r\n // headers: {\r\n // \"Content-Type\": \"application/json\",\r\n // Authorization: `Bearer ${accessToken}`,\r\n // },\r\n // })\r\n // .then((user) => user.json())\r\n // .then((user1) => {\r\n // console.log({ user1 });\r\n // })\r\n // .catch((err) => {\r\n // console.log({ err });\r\n // });\r\n } catch (error) {\r\n //Acquire token silent failure, and send an interactive request\r\n console.log(error);\r\n if (error instanceof InteractionRequiredAuthError) {\r\n msalInstance.acquireTokenRedirect(accessTokenRequest);\r\n }\r\n }\r\n } catch (err) {\r\n console.log({ err });\r\n }\r\n\r\n // msalInstance.logoutRedirect(logoutRequest);\r\n };\r\n handleAuth();\r\n }, []);\r\n\r\n return (\r\n
\r\n {isUserAuthenticated && (\r\n \r\n {prop.children}\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default Auth;\r\n","// import React, { Component } from \"react\";\r\n// import \"./App.css\";\r\n// import Header from \"../components/header/Header.js\";\r\n// import Footer from \"../components/footer/Footer.js\";\r\n// import config from \"../config/config.js\";\r\n// import { instanceOf } from \"prop-types\";\r\n// import { withCookies, Cookies } from \"react-cookie\";\r\n// import CryptoJS from \"crypto-js\";\r\n\r\nimport React from \"react\";\r\nimport { useContext } from \"react\";\r\nimport \"./App.css\";\r\n\r\nimport Header from \"../components/header/Header.js\";\r\nimport Footer from \"../components/footer/Footer.js\";\r\nimport { SomeContext, msalContext } from \"./auth/auth\";\r\n\r\n// class App extends Component {\r\n// static propTypes = {\r\n// cookies: instanceOf(Cookies).isRequired,\r\n// };\r\n// // constructor(props) {\r\n// // super(props);\r\n// // this.state = {\r\n// // isloaded: false,\r\n// // };\r\n// // }\r\n// // componentWillMount() {\r\n// // const { cookies } = this.props;\r\n// // const secretKeyforEncryption = config.encryptionkey;\r\n// // const aliasWWIDName = config.aliasWWIDName;\r\n// // const ssoURL = config.ssoURL;\r\n// // if (!this.props.allCookies.WWID) {\r\n// // var location = decodeURIComponent(window.location.href);\r\n// // cookies.set(\"ReturnUrl\", location, { path: \"/\" }); // Use this if you want to redirect to current url after sso verify\r\n// // window.location = ssoURL;\r\n// // } else {\r\n// // // You can use localStorage instead of sessionStorage if you dont want to remove the key on browser close.\r\n// // var lsWWID = sessionStorage.getItem(aliasWWIDName); // configured lsMainKey in config and take this from config. This is the alias name of \"WWID\" in session storage.\r\n// // var lsWWID_enc = \"\";\r\n// // if (!lsWWID) {\r\n// // lsWWID_enc = CryptoJS.AES.encrypt(\r\n// // this.props.allCookies.WWID,\r\n// // secretKeyforEncryption\r\n// // );\r\n// // sessionStorage.setItem(aliasWWIDName, lsWWID_enc); // this will set the encrypt value of WWID in aliasWWIDName.\r\n// // } else {\r\n// // var lsWWID_dec_bytes = CryptoJS.AES.decrypt(\r\n// // lsWWID,\r\n// // secretKeyforEncryption\r\n// // );\r\n// // var lsWWID_dec = JSON.parse(\r\n// // lsWWID_dec_bytes.toString(CryptoJS.enc.Utf8)\r\n// // ); //this will decrypt the encrypted value.\r\n// // if (this.props.allCookies.WWID != lsWWID_dec) {\r\n// // sessionStorage.setItem(aliasWWIDName, \"\");\r\n// // cookies.set(\"WWID\", \"\", { path: \"/\" });\r\n// // window.location = ssoURL;\r\n// // }\r\n// // }\r\n// // this.setState({\r\n// // isloaded: true,\r\n// // });\r\n// // }\r\n// // }\r\n// // componentDidMount() {\r\n// // if (this.state.isloaded) {\r\n// // document.body.style.background = \"#009\";\r\n// // }\r\n// // }\r\n// render() {\r\n// return (\r\n//
\r\n// {/* {this.state.isloaded ?\r\n//
\r\n//
\r\n// {this.props.children}\r\n// < Footer />\r\n//
:''\r\n// } */}\r\n//
\r\n// {this.props.children}\r\n//
\r\n// );\r\n// }\r\n// }\r\n// export default withCookies(App);\r\n\r\n// // export default (App);\r\n\r\nfunction App(props) {\r\n const msal = useContext(msalContext);\r\n\r\n // const handleLogout = () => {\r\n // console.log({ msal: msal.getAllAccounts() });\r\n // msal.logout();\r\n // // msal.loginRedirect();\r\n // };\r\n return (\r\n
\r\n {/* {this.state.isloaded ?\r\n
\r\n
\r\n {this.props.children}\r\n < Footer /> \r\n
:''\r\n } */}\r\n
\r\n {props.children}\r\n {/* */}\r\n
\r\n );\r\n}\r\n\r\nexport default App;\r\n","import React, { Component } from \"react\";\r\nimport Dropdown from \"../content/Dropdown\";\r\nimport axios from \"axios\";\r\nimport Modal from \"react-modal\";\r\n\r\nclass ManagerLocationPage extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n mngwwid: \"\",\r\n mnglocation: \"\",\r\n isDisplaymngactualLocation: false,\r\n mngName: \"\",\r\n locationreferenceID: \"\",\r\n locationname: \"\",\r\n regionname: \"\",\r\n countryname: \"\",\r\n statename: \"\",\r\n dropdownData: [],\r\n locationselected: {},\r\n countryselected: {},\r\n stateselected: {},\r\n splocationselected: {},\r\n currency: \"DEFAULT_CURRENCY\",\r\n isMandatory: false,\r\n isValidMngName: false,\r\n isSubmitted: false,\r\n isValidated: false,\r\n isLoaded: false,\r\n isDifferentlocation: false,\r\n };\r\n }\r\n handleChange = (e) => {\r\n if (e.target.value !== undefined) {\r\n this.setState({\r\n mngwwid: e.target.value.replace(/ /g, \"\"),\r\n mngName: \"\",\r\n mnglocation: \"\",\r\n isDisplaymngactualLocation: false,\r\n isSubmitted: false,\r\n isValidated: false,\r\n });\r\n }\r\n };\r\n showMnglocation = async () => {\r\n try {\r\n let res = await axios({\r\n method: \"POST\",\r\n url: process.env.REACT_APP_WORKDAY_API_URL + \"getManagerDetails\",\r\n headers: {\r\n apiKey: process.env.REACT_APP_WORKDAY_API_KEY,\r\n clientKey: process.env.REACT_APP_WORKDAY_API_CLIENTKEY,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: {\r\n managerWWID: this.state.mngwwid,\r\n },\r\n });\r\n if (res.status === 200) {\r\n this.setState({\r\n mnglocation: res.data.managerLocation,\r\n isDisplaymngactualLocation: true,\r\n });\r\n } else {\r\n this.setState({\r\n mnglocation: \"\",\r\n isDisplaymngactualLocation: false,\r\n });\r\n }\r\n } catch (error) {\r\n this.setState({\r\n mnglocation: \"\",\r\n isDisplaymngactualLocation: false,\r\n });\r\n }\r\n if (this.state.mnglocation !== \"\") {\r\n this.setState({\r\n isDisplaymngactualLocation: true,\r\n });\r\n }\r\n };\r\n componentDidMount() {\r\n axios({\r\n method: \"GET\",\r\n url: process.env.REACT_APP_WORKDAY_API_URL + \"getAllLocations\",\r\n headers: {\r\n apiKey: process.env.REACT_APP_WORKDAY_API_KEY,\r\n clientKey: process.env.REACT_APP_WORKDAY_API_CLIENTKEY,\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n },\r\n // console.log(headers);\r\n })\r\n .then((res) => {\r\n this.setState({\r\n dropdownData: res.data.allLocations,\r\n isLoaded: true,\r\n });\r\n if (this.props.regionname !== \"\") {\r\n this.setState({\r\n locationselected: {\r\n name: this.props.regionname,\r\n value: this.props.regionname,\r\n },\r\n regionname: this.props.regionname,\r\n });\r\n }\r\n if (this.props.countryname !== \"\") {\r\n this.setState({\r\n countryselected: {\r\n name: this.props.countryname,\r\n value: this.props.countryname,\r\n },\r\n countryname: this.props.countryname,\r\n });\r\n }\r\n /* if (this.props.statename !== '') {\r\n this.setState({\r\n stateselected: {\r\n name: this.props.statename,\r\n value: this.props.statename\r\n },\r\n statename: this.props.statename,\r\n });\r\n } */\r\n if (this.props.locationId !== \"\") {\r\n const selLoc = this.state.dropdownData.filter(\r\n (item) => item.locationId === this.props.locationId\r\n );\r\n if (selLoc.length !== 0) {\r\n this.setState({\r\n splocationselected: {\r\n name: selLoc[0].location,\r\n value: selLoc[0].location,\r\n },\r\n locationreferenceID: this.props.locationId,\r\n locationname: selLoc[0].location,\r\n });\r\n }\r\n }\r\n if (this.state.mngwwid != \"\") {\r\n this.showMnglocation();\r\n }\r\n })\r\n .catch((error) => {\r\n //on error\r\n console.log(error);\r\n alert(\"There is an error in API call.\\n\" + error);\r\n });\r\n\r\n this.setState({ mngwwid: this.props.mngwwid, mngName: this.props.mngName });\r\n }\r\n regiondata = (locationselected) => {\r\n this.setState({\r\n locationselected,\r\n currency: locationselected.value,\r\n regionname: locationselected.value,\r\n });\r\n this.setState({\r\n countryselected: {},\r\n countryname: \"\",\r\n stateselected: {},\r\n statename: \"\",\r\n splocationselected: {},\r\n locationreferenceID: \"\",\r\n locationname: \"\",\r\n });\r\n };\r\n countrydata = (countryselected) => {\r\n this.setState({\r\n countryselected,\r\n currency: countryselected.value,\r\n countryname: countryselected.value,\r\n });\r\n this.setState({\r\n stateselected: {},\r\n statename: \"\",\r\n splocationselected: {},\r\n locationreferenceID: \"\",\r\n locationname: \"\",\r\n });\r\n };\r\n /* statedata = (stateselected) => {\r\n this.setState({ stateselected, currency: stateselected.value, statename: stateselected.value });\r\n this.setState({ splocationselected: {}, locationreferenceID: '', locationname: '' });\r\n\r\n } */\r\n splocationdata = (splocationselected) => {\r\n this.setState({\r\n splocationselected,\r\n currency: splocationselected.value,\r\n isSubmitted: false,\r\n });\r\n\r\n this.setState({ locationname: splocationselected.value });\r\n\r\n let refid = this.state.dropdownData.filter((item) => {\r\n if (item.location == splocationselected.value) return item;\r\n });\r\n\r\n this.setState({ locationreferenceID: refid[0].locationId });\r\n };\r\n validate = async () => {\r\n try {\r\n let res = await axios({\r\n method: \"POST\",\r\n url: process.env.REACT_APP_WORKDAY_API_URL + \"getManagerDetails\",\r\n headers: {\r\n apiKey: process.env.REACT_APP_WORKDAY_API_KEY,\r\n clientKey: process.env.REACT_APP_WORKDAY_API_CLIENTKEY,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: {\r\n managerWWID: this.state.mngwwid,\r\n },\r\n });\r\n if (res.status === 200) {\r\n this.setState({\r\n mngName: res.data.managerName,\r\n isValidated: true,\r\n });\r\n if (res.data.managerName !== \"\") {\r\n if (\r\n this.state.splocationselected.name == this.state.mnglocation ||\r\n this.state.mnglocation == \"\"\r\n ) {\r\n this.props.onclickManagerLocationNext(\r\n this.state.mngwwid,\r\n this.state.locationreferenceID,\r\n this.state.mngName,\r\n this.state.locationname,\r\n this.state.regionname,\r\n this.state.countryname,\r\n this.state.mnglocation\r\n );\r\n } else {\r\n this.setState({ isDifferentlocation: true });\r\n }\r\n }\r\n } else {\r\n this.setState({\r\n mngName: \"\",\r\n isValidated: true,\r\n });\r\n }\r\n } catch (error) {\r\n this.setState({\r\n mngName: \"\",\r\n isValidated: true,\r\n });\r\n }\r\n };\r\n handleUserData = () => {\r\n this.setState({\r\n isSubmitted: true,\r\n isValidated: false,\r\n });\r\n if (this.state.mngwwid !== \"\" && this.state.locationreferenceID !== \"\") {\r\n this.validate();\r\n }\r\n };\r\n nolocation = () => {\r\n this.setState({ isDifferentlocation: false, isSubmitted: false });\r\n };\r\n yeslocation = () => {\r\n this.setState({ isDifferentlocation: false });\r\n this.props.onclickManagerLocationNext(\r\n this.state.mngwwid,\r\n this.state.locationreferenceID,\r\n this.state.mngName,\r\n this.state.locationname,\r\n this.state.regionname,\r\n this.state.countryname,\r\n this.state.mnglocation\r\n );\r\n };\r\n render() {\r\n let regionarr = this.state.dropdownData\r\n .map((item) => {\r\n return item.region;\r\n })\r\n .filter((val, id, array) => array.indexOf(val) == id)\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n });\r\n regionarr.push(\"All\");\r\n let regionlist = regionarr.map((item) => {\r\n return {\r\n name: item,\r\n value: item,\r\n };\r\n });\r\n regionlist = regionlist\r\n .filter((e) => e.value === \"All\")\r\n .concat(\r\n regionlist\r\n .filter((e) => e.value !== \"All\")\r\n .sort((a, b) => a.value.localeCompare(b.value))\r\n );\r\n\r\n let countryarr =\r\n this.state.regionname == \"\" || this.state.regionname == \"All\"\r\n ? this.state.dropdownData\r\n .map((item) => {\r\n return item.country;\r\n })\r\n .filter((val, id, array) => array.indexOf(val) == id)\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n })\r\n : this.state.dropdownData\r\n .filter((it) => {\r\n return it.region == this.state.regionname;\r\n })\r\n .map((item) => {\r\n return item.country;\r\n })\r\n .filter((val, id, array) => array.indexOf(val) == id)\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n });\r\n countryarr.push(\"All\");\r\n let countrylist = countryarr.map((item) => {\r\n return {\r\n name: item,\r\n value: item,\r\n };\r\n });\r\n countrylist = countrylist\r\n .filter((e) => e.value === \"All\")\r\n .concat(\r\n countrylist\r\n .filter((e) => e.value !== \"All\")\r\n .sort((a, b) => a.value.localeCompare(b.value))\r\n );\r\n const locationarr =\r\n this.state.regionname == \"\" && this.state.countryname == \"\"\r\n ? this.state.dropdownData\r\n .map((item) => {\r\n return item.location;\r\n })\r\n .filter((val, id, array) => array.indexOf(val) == id)\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n })\r\n : this.state.regionname == \"\" && this.state.countryname == \"All\"\r\n ? this.state.dropdownData\r\n .map((item) => {\r\n return item.location;\r\n })\r\n .filter((val, id, array) => array.indexOf(val) == id)\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n })\r\n : this.state.regionname == \"\" &&\r\n this.state.countryname != \"All\" &&\r\n this.state.countryname != \"\"\r\n ? this.state.dropdownData\r\n .filter((it) => {\r\n return it.country == this.state.countryname;\r\n })\r\n .map((item) => {\r\n return item.location;\r\n })\r\n .filter((val, id, array) => array.indexOf(val) == id)\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n })\r\n : this.state.regionname == \"All\" && this.state.countryname == \"\"\r\n ? this.state.dropdownData\r\n .map((item) => {\r\n return item.location;\r\n })\r\n .filter((val, id, array) => array.indexOf(val) == id)\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n })\r\n : this.state.regionname == \"All\" &&\r\n this.state.countryname == \"All\"\r\n ? this.state.dropdownData\r\n .map((item) => {\r\n return item.location;\r\n })\r\n .filter((val, id, array) => array.indexOf(val) == id)\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n })\r\n : this.state.regionname == \"All\" &&\r\n this.state.countryname != \"All\"\r\n ? this.state.dropdownData\r\n .filter((it) => {\r\n return it.country == this.state.countryname;\r\n })\r\n .map((item) => {\r\n return item.location;\r\n })\r\n .filter((val, id, array) => array.indexOf(val) == id)\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n })\r\n : this.state.regionname != \"\" &&\r\n this.state.regionname != \"All\" &&\r\n this.state.countryname == \"\"\r\n ? this.state.dropdownData\r\n .filter((it) => {\r\n return it.region == this.state.regionname;\r\n })\r\n .map((item) => {\r\n return item.location;\r\n })\r\n .filter((val, id, array) => array.indexOf(val) == id)\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n })\r\n : this.state.regionname != \"\" &&\r\n this.state.regionname != \"All\" &&\r\n this.state.countryname == \"All\"\r\n ? this.state.dropdownData\r\n .filter((it) => {\r\n return it.region == this.state.regionname;\r\n })\r\n .map((item) => {\r\n return item.location;\r\n })\r\n .filter((val, id, array) => array.indexOf(val) == id)\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n })\r\n : this.state.regionname != \"\" &&\r\n this.state.regionname != \"All\" &&\r\n this.state.countryname != \"All\" &&\r\n this.state.countryname != \"\"\r\n ? this.state.dropdownData\r\n .filter((it) => {\r\n return it.country == this.state.countryname;\r\n })\r\n .map((item) => {\r\n return item.location;\r\n })\r\n .filter(\r\n (val, id, array) => array.indexOf(val) == id\r\n )\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n })\r\n : this.state.dropdownData\r\n .filter((it) => {\r\n return it.state == this.state.statename;\r\n })\r\n .map((item) => {\r\n return item.location;\r\n })\r\n .filter(\r\n (val, id, array) => array.indexOf(val) == id\r\n )\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n });\r\n\r\n const locationlist = locationarr.sort().map((item) => {\r\n return {\r\n name: item,\r\n value: item,\r\n };\r\n });\r\n return (\r\n
\r\n {this.state.isLoaded ? (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n The Organization code predictor can help you select the\r\n correct Legal Entity (LE), MRC, and Cost Center codes for\r\n creating a new job requisition.\r\n

\r\n

Start by entering the job requisition info below:

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Hiring Manager's WWID *\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Requisition location

\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\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {this.state.isDisplaymngactualLocation === true ? (\r\n
\r\n
\r\n
\r\n

\r\n Hiring Manager's Location\r\n

\r\n \r\n
\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n
\r\n {(this.state.mngwwid === \"\" ||\r\n this.state.locationreferenceID === \"\") &&\r\n this.state.isSubmitted ? (\r\n
\r\n \r\n
\r\n ) : this.state.isSubmitted && !this.state.isValidated ? (\r\n
\r\n \r\n
\r\n ) : this.state.mngName === \"\" && this.state.isValidated ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {\" \"}\r\n \"\r\n onClick={this.handleUserData}\r\n className=\"btncls\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ) : (\r\n
Loading data please wait...
\r\n )}\r\n {this.state.isMandatory === true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
\r\n
\r\n
\r\n

\r\n

\r\n The Selected Requisition Location and Hiring Manager’s\r\n Location do not match. Do you wish to continue ?\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\n );\r\n }\r\n}\r\n\r\nexport default ManagerLocationPage;\r\n","function compareValues(key, order = 'asc') {\r\n return function innerSort(a, b) {\r\n if (!a.hasOwnProperty(key) || !b.hasOwnProperty(key)) {\r\n return 0;\r\n }\r\n\r\n const varA = (typeof a[key] === 'string')\r\n ? a[key].toUpperCase() : a[key];\r\n const varB = (typeof b[key] === 'string')\r\n ? b[key].toUpperCase() : b[key];\r\n\r\n let comparison = 0;\r\n if (varA > varB) {\r\n comparison = 1;\r\n } else if (varA < varB) {\r\n comparison = -1;\r\n }\r\n return (\r\n (order === 'desc') ? (comparison * -1) : comparison\r\n );\r\n };\r\n}\r\nexport default compareValues;","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport compareValues from \"./SortValue.js\";\r\nimport CryptoJS from \"crypto-js\";\r\nimport config from \"../../config/authConfig.js\";\r\nfunction CustomCompMRC(props) {\r\n return (\r\n
\r\n Payroll MRC :\r\n \r\n
\r\n );\r\n}\r\nclass LegalEntities extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n LEItemData: [],\r\n lecode: \"\",\r\n leName: \"\",\r\n isMandatory: false,\r\n selectedvalue: \"\",\r\n isLoaded: false,\r\n sessionID: \"\",\r\n };\r\n }\r\n async componentDidMount() {\r\n var lsWWID_dec = \"1461636\";\r\n if (process.env.REACT_APP_WORKDAY_LOCAL_DEBUG != \"Yes\") {\r\n // const secretKeyforEncryption = config.encryptionkey;\r\n // const aliasWWIDName = config.aliasWWIDName;\r\n // var lsWWID = sessionStorage.getItem(aliasWWIDName);\r\n // var lsWWID_dec_bytes = CryptoJS.AES.decrypt(lsWWID, secretKeyforEncryption);\r\n // lsWWID_dec = JSON.parse(lsWWID_dec_bytes.toString(CryptoJS.enc.Utf8));\r\n\r\n const secretKeyforEncryption = config.encryptionkey;\r\n var lsWWID = localStorage.getItem(\"wwid\");\r\n var lsWWID_dec_bytes = CryptoJS.AES.decrypt(\r\n lsWWID,\r\n secretKeyforEncryption\r\n );\r\n var lsWWID_dec = JSON.parse(lsWWID_dec_bytes.toString(CryptoJS.enc.Utf8)); //this will decrypt the encrypted value.\r\n // console.log({ lsWWID_dec });\r\n }\r\n window.addEventListener(\"resize\", this.SetWidth);\r\n if (this.props.lecode != \"\") {\r\n this.setState({\r\n lecode: this.props.lecode,\r\n leName: this.props.leName,\r\n selectedvalue: this.props.lecode,\r\n });\r\n }\r\n if (this.props.mngwwid != \"\" && this.props.locationreferenceID != \"\") {\r\n await axios({\r\n method: \"POST\",\r\n url: process.env.REACT_APP_WORKDAY_API_URL + \"getLEAndPayrollMRC \",\r\n headers: {\r\n apiKey: process.env.REACT_APP_WORKDAY_API_KEY,\r\n clientKey: process.env.REACT_APP_WORKDAY_API_CLIENTKEY,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: {\r\n managerWWID: this.props.mngwwid,\r\n locationCode: this.props.locationreferenceID,\r\n sessionID: this.props.sessionID,\r\n // loggedInUserWWID: \"1461636\",\r\n loggedInUserWWID: lsWWID_dec,\r\n },\r\n })\r\n .then((res) => {\r\n this.setState({\r\n LEItemData: res.data.legalEntityList,\r\n sessionID: res.data.sessionId,\r\n isLoaded: true,\r\n });\r\n })\r\n .catch((error) => {\r\n //on error\r\n // alert(\"There is an error in API call mngid.\");\r\n });\r\n if (this.state.LEItemData.length > 0) {\r\n } else {\r\n this.props.isLePresent(this.state.sessionID);\r\n }\r\n } else {\r\n }\r\n this.SetWidth();\r\n }\r\n SetWidth = () => {\r\n var header = document.querySelectorAll(\".accordionheader\");\r\n for (var i = 0; i < header.length; i++) {\r\n header[i].style.width =\r\n this.DimensionWidth(header[i].parentElement) -\r\n this.DimensionWidth(header[i].previousSibling) -\r\n this.DimensionWidth(header[i].nextSibling) -\r\n 20 +\r\n \"px\";\r\n }\r\n };\r\n DimensionWidth = (elmID) => {\r\n var elmHeight,\r\n elmMargin,\r\n elm = elmID;\r\n if (document.all) {\r\n // IE\r\n elmHeight = elm.offsetWidth;\r\n elmMargin =\r\n parseInt(elm.currentStyle.marginLeft, 10) +\r\n parseInt(elm.currentStyle.marginRight, 10);\r\n } else {\r\n // Mozilla\r\n elmHeight = elm.offsetWidth;\r\n elmMargin =\r\n parseInt(\r\n document.defaultView\r\n .getComputedStyle(elm, \"\")\r\n .getPropertyValue(\"margin-left\")\r\n ) +\r\n parseInt(\r\n document.defaultView\r\n .getComputedStyle(elm, \"\")\r\n .getPropertyValue(\"margin-right\")\r\n );\r\n }\r\n return elmHeight + elmMargin;\r\n };\r\n legaldata = (legalitemdata) => {\r\n if (legalitemdata.length > 0) {\r\n return legalitemdata.map((item, index) => {\r\n let dataTipvalue = \"\";\r\n if (item.payrollMRCList.length > 0) {\r\n let payrollMRCListArr = item.payrollMRCList.sort(\r\n compareValues(\"payrollMRCCode\")\r\n );\r\n for (let i = 0; i < payrollMRCListArr.length; i++) {\r\n if (i != 0) {\r\n dataTipvalue += \";\";\r\n }\r\n dataTipvalue +=\r\n payrollMRCListArr[i].payrollMRCCode +\r\n \" - \" +\r\n payrollMRCListArr[i].payrollMRCName;\r\n }\r\n } else {\r\n dataTipvalue += \";\";\r\n }\r\n\r\n return (\r\n {\r\n this.handleCheck(\r\n item.legalEntity.leCode,\r\n item.legalEntity.leName\r\n );\r\n }}\r\n >\r\n \r\n {\r\n this.handleCheck(\r\n item.legalEntity.leCode,\r\n item.legalEntity.leName\r\n );\r\n }}\r\n >\r\n \r\n \r\n {item.legalEntity.leCode} - {item.legalEntity.leName}\r\n \r\n\r\n \r\n {item.payrollMRCList.length} Associated MRC\r\n }\r\n />\r\n \r\n \r\n );\r\n });\r\n }\r\n };\r\n\r\n handleCheck = (id, val) => {\r\n this.setState({ lecode: id, leName: val, selectedvalue: id });\r\n };\r\n\r\n handleLEData = () => {\r\n if (this.state.lecode != \"\") {\r\n this.props.onclickLENext(\r\n this.state.lecode,\r\n this.state.leName,\r\n this.state.sessionID\r\n );\r\n this.setState({ isMandatory: false });\r\n } else {\r\n this.setState({ isMandatory: true });\r\n }\r\n };\r\n handleLEDataBack = () => {\r\n this.props.onclickLEBack();\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n {this.state.isLoaded ? (\r\n
\r\n

\r\n Please select a recommended{\" \"}\r\n Legal Entity (LE):\r\n

\r\n
    \r\n {this.legaldata(this.state.LEItemData)}\r\n {\r\n this.handleCheck(\"noa\", \"noa\");\r\n }}\r\n >\r\n \r\n {\r\n this.handleCheck(\"noa\", \"noa\");\r\n }}\r\n >\r\n \r\n \r\n None of the above\r\n \r\n \r\n
\r\n
\r\n ) : (\r\n
Loading data please wait...
\r\n )}\r\n {this.state.isMandatory === true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isLoaded ? (\r\n
\r\n
\r\n {\" \"}\r\n \r\n
\r\n
\r\n {\" \"}\r\n \"\r\n onClick={this.handleLEData}\r\n className=\"btncls\"\r\n />\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n );\r\n }\r\n}\r\nexport default LegalEntities;\r\n","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport compareValues from \"./SortValue.js\";\r\nimport CryptoJS from \"crypto-js\";\r\nimport config from \"../../config/authConfig.js\";\r\n\r\nclass MRCPage extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n PayrollMRCItemData: [],\r\n sessionId: \"\",\r\n mrccode: \"\",\r\n mrcname: \"\",\r\n isMandatory: false,\r\n selectedvalue: \"\",\r\n isLoaded: false,\r\n };\r\n }\r\n async componentDidMount() {\r\n var lsWWID_dec = \"1461636\";\r\n if (process.env.REACT_APP_WORKDAY_LOCAL_DEBUG != \"Yes\") {\r\n // const secretKeyforEncryption = config.encryptionkey;\r\n // const aliasWWIDName = config.aliasWWIDName;\r\n // var lsWWID = sessionStorage.getItem(aliasWWIDName);\r\n // var lsWWID_dec_bytes = CryptoJS.AES.decrypt(lsWWID, secretKeyforEncryption);\r\n // lsWWID_dec = JSON.parse(lsWWID_dec_bytes.toString(CryptoJS.enc.Utf8));\r\n const secretKeyforEncryption = config.encryptionkey;\r\n var lsWWID = localStorage.getItem(\"wwid\");\r\n var lsWWID_dec_bytes = CryptoJS.AES.decrypt(\r\n lsWWID,\r\n secretKeyforEncryption\r\n );\r\n var lsWWID_dec = JSON.parse(lsWWID_dec_bytes.toString(CryptoJS.enc.Utf8)); //this will decrypt the encrypted value.\r\n }\r\n if (this.props.mrccode != \"\") {\r\n this.setState({\r\n mrccode: this.props.mrccode,\r\n mrcname: this.props.mrcName,\r\n selectedvalue: this.props.mrccode,\r\n });\r\n }\r\n if (this.props.mngwwid != \"\" && this.props.locationreferenceID != \"\") {\r\n await axios({\r\n method: \"POST\",\r\n url: process.env.REACT_APP_WORKDAY_API_URL + \"getLEAndPayrollMRC\",\r\n headers: {\r\n apiKey: process.env.REACT_APP_WORKDAY_API_KEY,\r\n clientKey: process.env.REACT_APP_WORKDAY_API_CLIENTKEY,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: {\r\n managerWWID: this.props.mngwwid,\r\n locationCode: this.props.locationreferenceID,\r\n sessionID: this.props.sessionID,\r\n //\"loggedInUserWWID\" : '1461636'\r\n loggedInUserWWID: lsWWID_dec,\r\n },\r\n })\r\n .then((res) => {\r\n this.setState({\r\n PayrollMRCItemData: res.data.legalEntityList,\r\n sessionId: res.data.sessionId,\r\n isLoaded: true,\r\n });\r\n })\r\n .catch((error) => {\r\n //on error\r\n // alert(\"There is an error in API call mngid.\");\r\n });\r\n } else {\r\n }\r\n }\r\n\r\n PayrollMRCData = (legalitemdata) => {\r\n if (legalitemdata.length > 0) {\r\n let payrollMRCData = legalitemdata\r\n .filter((it) => {\r\n return it.legalEntity.leCode == this.props.lecode;\r\n })\r\n .map((it) => {\r\n return it;\r\n });\r\n let payrollMRCDataSort = payrollMRCData[0].payrollMRCList.sort(\r\n compareValues(\"payrollMRCCode\")\r\n );\r\n return payrollMRCDataSort.map((item) => (\r\n {\r\n this.handleCheck(item.payrollMRCCode, item.payrollMRCName);\r\n }}\r\n >\r\n \r\n {\r\n this.handleCheck(item.payrollMRCCode, item.payrollMRCName);\r\n }}\r\n >\r\n \r\n \r\n {item.payrollMRCCode} - {item.payrollMRCName}\r\n \r\n \r\n ));\r\n }\r\n };\r\n\r\n handleCheck = (id, val) => {\r\n this.setState({ mrccode: id, mrcname: val, selectedvalue: id });\r\n };\r\n handlePayrollMRCData = () => {\r\n if (this.state.mrccode != \"\") {\r\n this.props.onclickPayrollMRCNext(\r\n this.state.mrccode,\r\n this.state.mrcname,\r\n this.state.sessionId\r\n );\r\n this.setState({ isMandatory: false, sessionId: this.props.sessionID });\r\n } else {\r\n this.setState({ isMandatory: true });\r\n }\r\n };\r\n handlePayrollMRCDataBack = () => {\r\n this.props.onclickpayrollMRCBack(this.state.sessionId);\r\n };\r\n render() {\r\n return (\r\n
\r\n {this.state.isLoaded ? (\r\n
\r\n

\r\n Please select a recommended{\" \"}\r\n Payroll MRC:\r\n

\r\n
    \r\n {this.PayrollMRCData(this.state.PayrollMRCItemData)}\r\n {\r\n this.handleCheck(\"noa\", \"noa\");\r\n }}\r\n >\r\n \r\n {\r\n this.handleCheck(\"noa\", \"noa\");\r\n }}\r\n >\r\n \r\n \r\n {\" \"}\r\n None of the above\r\n \r\n \r\n
\r\n
\r\n ) : (\r\n
Loading data please wait...
\r\n )}\r\n {this.state.isMandatory === true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isLoaded ? (\r\n
\r\n
\r\n {\" \"}\r\n \r\n
\r\n
\r\n {\" \"}\r\n \"\r\n onClick={this.handlePayrollMRCData}\r\n className=\"btncls\"\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 MRCPage;\r\n","import React, { Component } from \"react\";\r\nimport * as _ from \"lodash\";\r\nimport ReactTooltip from \"react-tooltip\";\r\nimport axios from \"axios\";\r\nimport compareValues from \"./SortValue.js\";\r\n\r\nfunction CustomComp(props) {\r\n return (\r\n
\r\n Employees in this Cost Center :\r\n
    \r\n {props.dataTip != null &&\r\n props.dataTip\r\n .slice(0, Math.ceil(props.dataTip.length / 2))\r\n .map((it) => {\r\n return
  • {it}
  • ;\r\n })}\r\n
\r\n
    \r\n {props.dataTip != null &&\r\n props.dataTip.slice(Math.ceil(props.dataTip.length / 2)).map((it) => {\r\n return
  • {it}
  • ;\r\n })}\r\n
\r\n
\r\n );\r\n}\r\n\r\nclass CostCenterPage extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n PayrollCCItemData: [],\r\n sessionId: \"\",\r\n payrollCCcode: \"\",\r\n payrollCCname: \"\",\r\n leveldown: false,\r\n isMandatory: false,\r\n selectedvalue: \"\",\r\n isLoaded: false,\r\n isDisplaylevelupdown: false,\r\n selectedlevel: \"\",\r\n openItem: 0,\r\n };\r\n }\r\n async componentDidMount() {\r\n window.addEventListener(\"resize\", this.SetWidth);\r\n if (this.props.payrollCCCode != \"\") {\r\n this.setState({\r\n payrollCCcode: this.props.payrollCCCode,\r\n payrollCCname: this.props.payrollCCName,\r\n selectedvalue: this.props.payrollCCCode,\r\n selectedlevel: this.props.selectedlevelCC,\r\n });\r\n }\r\n if (this.props.mngwwid != \"\" && this.props.locationreferenceID != \"\") {\r\n await axios({\r\n method: \"POST\",\r\n url: process.env.REACT_APP_WORKDAY_API_URL + \"getPayrollCC\",\r\n headers: {\r\n apiKey: process.env.REACT_APP_WORKDAY_API_KEY,\r\n clientKey: process.env.REACT_APP_WORKDAY_API_CLIENTKEY,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: {\r\n sessionId: this.props.sessionID,\r\n managerWWID: this.props.mngwwid,\r\n locationCode: this.props.locationreferenceID,\r\n leCode: this.props.lecode,\r\n payrollMRCCode: this.props.mrccode,\r\n },\r\n })\r\n .then((res) => {\r\n this.setState({\r\n PayrollCCItemData: res.data.payrollCostCenterList,\r\n isLoaded: true,\r\n });\r\n })\r\n .catch((error) => {\r\n //on error\r\n // alert(\"There is an error in API call mngid.\");\r\n });\r\n } else {\r\n }\r\n\r\n if (this.state.PayrollCCItemData.length > 0) {\r\n const checkleveldownarr = this.state.PayrollCCItemData.map((item) => {\r\n return item.level;\r\n })\r\n .filter((val, id, array) => array.indexOf(val) == id)\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n })\r\n .sort((a, b) => a - b);\r\n\r\n let checkthirdvalue = checkleveldownarr[2];\r\n\r\n if (checkthirdvalue != undefined) {\r\n if (checkthirdvalue == this.props.selectedlevelCC) {\r\n this.setState({ leveldown: true });\r\n } else {\r\n this.setState({ leveldown: false });\r\n }\r\n this.setState({ isDisplaylevelupdown: true });\r\n } else {\r\n this.setState({ isDisplaylevelupdown: false });\r\n }\r\n }\r\n // console.log(\"Selected Level:-\",this.props.selectedlevelCC)\r\n this.SetWidth();\r\n }\r\n SetWidth = () => {\r\n var header = document.querySelectorAll(\".accordionheader\");\r\n for (var i = 0; i < header.length; i++) {\r\n header[i].nextSibling.style.width =\r\n this.DimensionWidth(header[i].parentElement) -\r\n this.DimensionWidth(header[i].previousSibling) -\r\n this.DimensionWidth(header[i]) -\r\n 20 +\r\n \"px\";\r\n }\r\n };\r\n DimensionWidth = (elmID) => {\r\n var elmHeight,\r\n elmMargin,\r\n elm = elmID;\r\n if (document.all) {\r\n // IE\r\n elmHeight = elm.offsetWidth;\r\n elmMargin =\r\n parseInt(elm.currentStyle.marginLeft, 10) +\r\n parseInt(elm.currentStyle.marginRight, 10);\r\n } else {\r\n // Mozilla\r\n elmHeight = elm.offsetWidth;\r\n elmMargin =\r\n parseInt(\r\n document.defaultView\r\n .getComputedStyle(elm, \"\")\r\n .getPropertyValue(\"margin-left\")\r\n ) +\r\n parseInt(\r\n document.defaultView\r\n .getComputedStyle(elm, \"\")\r\n .getPropertyValue(\"margin-right\")\r\n );\r\n }\r\n return elmHeight + elmMargin;\r\n };\r\n payrollcostcenter = (payrollcostcenteritemdata) => {\r\n if (payrollcostcenteritemdata.length > 0) {\r\n let payrollcostcenteritemdataSort = payrollcostcenteritemdata.sort(\r\n compareValues(\"payrollCostCenterCode\")\r\n );\r\n // console.log(payrollcostcenteritemdataSort);\r\n const leveluparr = payrollcostcenteritemdataSort\r\n .map((item) => {\r\n return item.level;\r\n })\r\n .filter((val, id, array) => array.indexOf(val) == id)\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n })\r\n .sort((a, b) => a - b);\r\n let secondvalue = leveluparr[1];\r\n\r\n if (secondvalue != undefined) {\r\n return this.getMergedEmployees(\r\n payrollcostcenteritemdataSort.filter((it) => {\r\n return it.level <= secondvalue;\r\n })\r\n ).map((item) => (\r\n {\r\n this.handleCheck(\r\n item.payrollCostCenterCode,\r\n item.payrollCostCenterName,\r\n item.level\r\n );\r\n }}\r\n >\r\n
\r\n \r\n {\r\n this.handleCheck(\r\n item.payrollCostCenterCode,\r\n item.payrollCostCenterName,\r\n item.level\r\n );\r\n }}\r\n >\r\n \r\n \r\n {item.payrollCostCenterCode} - {item.payrollCostCenterName}\r\n \r\n {\r\n this.setState({\r\n openItem:\r\n this.state.openItem === item.payrollCostCenterCode\r\n ? 0\r\n : item.payrollCostCenterCode,\r\n });\r\n e.stopPropagation();\r\n }}\r\n >\r\n {this.sortemployee(item.employees)}{\" \"}\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n
\r\n
\r\n {this.state.openItem === item.payrollCostCenterCode ? (\r\n {\r\n return it.name;\r\n })}\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n \r\n ));\r\n } else {\r\n return payrollcostcenteritemdataSort.map((item) => (\r\n {\r\n this.handleCheck(\r\n item.payrollCostCenterCode,\r\n item.payrollCostCenterName,\r\n item.level\r\n );\r\n }}\r\n >\r\n
\r\n \r\n {\r\n this.handleCheck(\r\n item.payrollCostCenterCode,\r\n item.payrollCostCenterName,\r\n item.level\r\n );\r\n }}\r\n >\r\n \r\n \r\n {item.payrollCostCenterCode} - {item.payrollCostCenterName}\r\n \r\n {\r\n this.setState({\r\n openItem:\r\n this.state.openItem === item.payrollCostCenterCode\r\n ? 0\r\n : item.payrollCostCenterCode,\r\n });\r\n e.stopPropagation();\r\n }}\r\n >\r\n {this.sortemployee(item.employees)}{\" \"}\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n
\r\n
\r\n {this.state.openItem === item.payrollCostCenterCode ? (\r\n {\r\n return it.name;\r\n })}\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n \r\n ));\r\n }\r\n }\r\n };\r\n payrollcostcenterleveldown = (payrollcostcenteritemdata) => {\r\n this.SetWidth();\r\n if (payrollcostcenteritemdata.length > 0) {\r\n let payrollcostcenteritemdatadownSort = payrollcostcenteritemdata.sort(\r\n compareValues(\"payrollCostCenterCode\")\r\n );\r\n const leveldownarr = payrollcostcenteritemdatadownSort\r\n .map((item) => {\r\n return item.level;\r\n })\r\n .filter((val, id, array) => array.indexOf(val) == id)\r\n .filter(function (el) {\r\n return el != null && el != \"\";\r\n })\r\n .sort((a, b) => a - b);\r\n\r\n let thirdvalue = leveldownarr[2];\r\n\r\n if (thirdvalue != undefined) {\r\n // this.maplevel(thirdvalue);\r\n return this.getMergedEmployees(\r\n payrollcostcenteritemdatadownSort.filter((it) => {\r\n return it.level == thirdvalue;\r\n })\r\n ).map((item) => (\r\n {\r\n this.handleCheck(\r\n item.payrollCostCenterCode,\r\n item.payrollCostCenterName,\r\n item.level\r\n );\r\n }}\r\n >\r\n
\r\n \r\n {\r\n this.handleCheck(\r\n item.payrollCostCenterCode,\r\n item.payrollCostCenterName,\r\n item.level\r\n );\r\n }}\r\n >\r\n \r\n \r\n {item.payrollCostCenterCode} - {item.payrollCostCenterName}\r\n \r\n {\r\n this.setState({\r\n openItem:\r\n this.state.openItem === item.payrollCostCenterCode\r\n ? 0\r\n : item.payrollCostCenterCode,\r\n });\r\n e.stopPropagation();\r\n }}\r\n >\r\n {this.sortemployee(item.employees)}{\" \"}\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n
\r\n
\r\n {this.state.openItem === item.payrollCostCenterCode ? (\r\n {\r\n return it.name;\r\n })}\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n \r\n ));\r\n }\r\n }\r\n };\r\n getMergedEmployees = (inputArray) => {\r\n const groupedJson = inputArray.reduce((rv, x) => {\r\n (rv[x[\"payrollCostCenterCode\"]] =\r\n rv[x[\"payrollCostCenterCode\"]] || []).push(x);\r\n return rv;\r\n }, {});\r\n const groupedArray = Object.keys(groupedJson).map(\r\n (key) => groupedJson[key]\r\n );\r\n const toMerge = groupedArray.filter((d) => d.length > 1);\r\n const toRetain = groupedArray.filter((d) => d.length == 1);\r\n let finalArray = [];\r\n toMerge.map((arr) => {\r\n let newData = {\r\n payrollCostCenterCode: arr[0].payrollCostCenterCode,\r\n payrollCostCenterName: arr[0].payrollCostCenterName,\r\n level: arr[0].level,\r\n employees: [],\r\n };\r\n let emplArray = [];\r\n arr.map((d) => {\r\n emplArray = emplArray.concat(d.employees);\r\n });\r\n\r\n let uniqeEmployee = [];\r\n emplArray.filter(function (item) {\r\n var i = uniqeEmployee.findIndex((x) => x.name == item.name);\r\n if (i <= -1) {\r\n uniqeEmployee.push({ name: item.name });\r\n }\r\n return null;\r\n });\r\n newData.employees = uniqeEmployee;\r\n finalArray.push(newData);\r\n });\r\n toRetain.map((data) => {\r\n finalArray.push(data[0]);\r\n });\r\n finalArray = finalArray.sort(compareValues(\"payrollCostCenterCode\"));\r\n return finalArray;\r\n };\r\n sortemployee = (employee) => {\r\n const sortedemployee = employee.sort((a, b) =>\r\n a.name.localeCompare(b.name)\r\n );\r\n return sortedemployee.length === 0\r\n ? \"\"\r\n : sortedemployee.length === 1\r\n ? sortedemployee[0].name\r\n : sortedemployee.length === 2\r\n ? sortedemployee[0].name + \" & \" + sortedemployee[1].name\r\n : sortedemployee.length === 3\r\n ? sortedemployee[0].name +\r\n \" , \" +\r\n sortedemployee[1].name +\r\n \" & \" +\r\n \"1 other\"\r\n : sortedemployee.length > 3\r\n ? sortedemployee[0].name +\r\n \" , \" +\r\n sortedemployee[1].name +\r\n \" & \" +\r\n (sortedemployee.length - 2) +\r\n \" others\"\r\n : \"\";\r\n };\r\n handleCheck = (id, val, level) => {\r\n this.setState({\r\n payrollCCcode: id,\r\n payrollCCname: val,\r\n selectedvalue: id,\r\n selectedlevel: level,\r\n openItem: 0,\r\n });\r\n };\r\n\r\n handlePayrollCCData = () => {\r\n if (this.state.payrollCCcode != \"\") {\r\n this.props.onclickPayrollCCNext(\r\n this.state.payrollCCcode,\r\n this.state.payrollCCname,\r\n this.state.selectedlevel\r\n );\r\n this.setState({ isMandatory: false });\r\n } else {\r\n this.setState({ isMandatory: true });\r\n }\r\n };\r\n handlePayrollCCDataBack = () => {\r\n this.props.onclickpayrollCCBack();\r\n };\r\n showleveldown = () => {\r\n this.setState({ leveldown: !this.state.leveldown });\r\n };\r\n render() {\r\n return (\r\n
\r\n {this.state.isLoaded ? (\r\n
\r\n

\r\n Please select a recommended{\" \"}\r\n Payroll Cost Center (CC):\r\n

\r\n
    \r\n {this.state.leveldown === false\r\n ? this.payrollcostcenter(this.state.PayrollCCItemData)\r\n : \"\"}\r\n {this.state.leveldown === true\r\n ? this.payrollcostcenterleveldown(this.state.PayrollCCItemData)\r\n : \"\"}\r\n {this.state.isDisplaylevelupdown === true ? (\r\n \r\n \r\n {\" \"}\r\n {this.state.leveldown === true\r\n ? \"Show me one level up\"\r\n : \"Show me one level down\"}\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {\r\n this.handleCheck(\"noa\", \"noa\", \"noa\");\r\n }}\r\n >\r\n \r\n {\r\n this.handleCheck(\"noa\", \"noa\", \"noa\");\r\n }}\r\n >\r\n \r\n None of the above\r\n \r\n
\r\n
\r\n ) : (\r\n
Loading data please wait...
\r\n )}\r\n {this.state.isMandatory === true ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isLoaded ? (\r\n
\r\n
\r\n {\" \"}\r\n \r\n
\r\n
\r\n {\" \"}\r\n \"\r\n onClick={this.handlePayrollCCData}\r\n className=\"btncls\"\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 CostCenterPage;\r\n","import React, { Component } from 'react';\r\nimport axios from \"axios\";\r\nimport compareValues from './SortValue.js';\r\nclass HeadCountMRC extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n HeadCountMRCItemData: [],\r\n mrccode: '',\r\n hcmrcname: '',\r\n isMandatory: false,\r\n selectedvalue: '',\r\n isLoaded: false\r\n }\r\n }\r\n async componentDidMount() {\r\n if (this.props.headCountMRCCode != '') {\r\n this.setState({ mrccode: this.props.headCountMRCCode, hcmrcname: this.props.headCountMRCName, selectedvalue: this.props.headCountMRCCode })\r\n }\r\n if (this.props.mngwwid != '' && this.props.locationreferenceID != '') {\r\n await axios({\r\n method: 'POST',\r\n url: process.env.REACT_APP_WORKDAY_API_URL + 'getHeadCountMRC',\r\n headers: {\r\n 'apiKey': process.env.REACT_APP_WORKDAY_API_KEY,\r\n 'clientKey': process.env.REACT_APP_WORKDAY_API_CLIENTKEY,\r\n 'Content-Type': 'application/json'\r\n },\r\n data: { \"managerWWID\": this.props.mngwwid, \"locationCode\": this.props.locationreferenceID, \"sessionId\": this.props.sessionID, \"leCode\": this.props.lecode }\r\n }).then((res) => {\r\n this.setState({\r\n HeadCountMRCItemData: res.data.headCountMRCList,\r\n isLoaded: true\r\n });\r\n }).catch((error) => {\r\n //on error\r\n // alert(\"There is an error in API call mngid.\");\r\n });\r\n }\r\n else {\r\n\r\n }\r\n }\r\n HeadCountMRCData = (legalitemdata) => {\r\n if (legalitemdata.length > 0) {\r\n let headcountMRCDataSort = legalitemdata.sort(compareValues('headCountMRCCode'));\r\n return (\r\n headcountMRCDataSort.map((item) =>\r\n
  • { this.handleCheck(item.headCountMRCCode, item.headCountMRCName) }}> { this.handleCheck(item.headCountMRCCode, item.headCountMRCName) }}>\r\n {item.headCountMRCCode} - {item.headCountMRCName}\r\n
  • )\r\n )\r\n }\r\n }\r\n handleCheck = (id, val) => {\r\n this.setState({ mrccode: id, hcmrcname: val, selectedvalue: id })\r\n }\r\n handleHeadcountMRCData = () => {\r\n if (this.state.mrccode != '') {\r\n this.props.onclickHeadCountMRCNext(this.state.mrccode, this.state.hcmrcname);\r\n this.setState({ isMandatory: false })\r\n }\r\n else {\r\n this.setState({ isMandatory: true })\r\n }\r\n\r\n }\r\n handleHeadCountMRCDataBack = () => {\r\n this.props.onclickHeadCountMRCBack();\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n {this.state.isLoaded ?\r\n
    \r\n

    Please select a recommended Headcount MRC:

    \r\n
      \r\n {this.HeadCountMRCData(this.state.HeadCountMRCItemData)}\r\n
    • { this.handleCheck(\"noa\", \"noa\") }} >\r\n { this.handleCheck(\"noa\", \"noa\") }}>\r\n None of the above
    • \r\n
    \r\n :
    Loading data please wait...
    }\r\n {this.state.isMandatory === true ?\r\n : ''}\r\n {this.state.isLoaded ?\r\n
    \r\n
    \r\n
    \"\r\n onClick={this.handleHeadcountMRCData} className=\"btncls\" />
    \r\n
    : ''}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default HeadCountMRC;","import React, { Component } from 'react';\r\nimport * as _ from \"lodash\";\r\nimport ReactTooltip from 'react-tooltip';\r\nimport axios from \"axios\";\r\nimport compareValues from './SortValue.js';\r\n\r\n\r\nfunction CustomComp(props) {\r\n\r\n return
    \r\n Employees in this Cost Center :\r\n
      {props.dataTip != null && props.dataTip.slice(0, Math.ceil(props.dataTip.length / 2)).map(it => { return
    • {it}
    • })}
    \r\n
      {props.dataTip != null && props.dataTip.slice(Math.ceil(props.dataTip.length / 2)).map(it => { return
    • {it}
    • })}
    \r\n
    ;\r\n}\r\nclass HeadCountCostCenter extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n HeadCountCCItemData: [],\r\n sessionId: '',\r\n headCountCCcode: '',\r\n headCountCCname: '',\r\n leveldown: false,\r\n isMandatory: false,\r\n selectedvalue: '',\r\n isLoaded: false,\r\n isDisplaylevelupdown: false,\r\n selectedlevelhcc: '',\r\n openItem: 0,\r\n nonUsedKey: null\r\n }\r\n }\r\n async componentDidMount() {\r\n\r\n if (this.props.headcountCCcode != '') {\r\n this.setState({ headCountCCcode: this.props.headcountCCcode, headCountCCname: this.props.headCountCCName, selectedvalue: this.props.headcountCCcode, selectedlevelhcc: this.props.selectedlevelHCC })\r\n }\r\n\r\n if (this.props.mngwwid != '' && this.props.locationreferenceID != '') {\r\n await axios({\r\n method: 'POST',\r\n url: process.env.REACT_APP_WORKDAY_API_URL + 'getHeadCountCC',\r\n headers: {\r\n 'apiKey': process.env.REACT_APP_WORKDAY_API_KEY,\r\n 'clientKey': process.env.REACT_APP_WORKDAY_API_CLIENTKEY,\r\n 'Content-Type': 'application/json'\r\n },\r\n data: {\r\n \"sessionId\": this.props.sessionID,\r\n \"managerWWID\": this.props.mngwwid,\r\n \"locationCode\": this.props.locationreferenceID,\r\n \"leCode\": this.props.lecode,\r\n \"headCountMRCCode\": this.props.headCountMRCCode\r\n }\r\n }).then((res) => {\r\n this.setState({\r\n HeadCountCCItemData: res.data.headCountCostCenterList,\r\n isLoaded: true,\r\n });\r\n }).catch((error) => {\r\n //on error\r\n // alert(\"There is an error in API call mngid.\");\r\n });\r\n }\r\n else {\r\n\r\n }\r\n if (this.state.HeadCountCCItemData.length > 0) {\r\n const checkleveldownarr = this.state.HeadCountCCItemData.map((item) => { return (item.level) }).filter((val, id, array) =>\r\n array.indexOf(val) == id).filter(function (el) { return el != null && el != \"\" }).sort((a, b) => a - b)\r\n\r\n let checkthirdvalue = checkleveldownarr[2];\r\n\r\n if (checkthirdvalue != undefined) {\r\n if (checkthirdvalue == this.props.selectedlevelHCC) {\r\n this.setState({ leveldown: true })\r\n }\r\n else {\r\n this.setState({ leveldown: false })\r\n }\r\n this.setState({ isDisplaylevelupdown: true })\r\n }\r\n else {\r\n this.setState({ isDisplaylevelupdown: false })\r\n }\r\n }\r\n //console.log(\"Selected Level:-\", this.props.selectedlevelHCC)\r\n\r\n }\r\n SetWidth = () => {\r\n var header = document.querySelectorAll('.accordionheader');\r\n for (var i = 0; i < header.length; i++) {\r\n header[i].nextSibling.style.width = (this.DimensionWidth(header[i].parentElement) - this.DimensionWidth(header[i].previousSibling) - this.DimensionWidth(header[i]) - 20) + \"px\";\r\n }\r\n }\r\n\r\n\r\n\r\n DimensionWidth = (elmID) => {\r\n var elmHeight, elmMargin, elm = elmID;\r\n if (document.all) {// IE\r\n elmHeight = elm.offsetWidth;\r\n elmMargin = parseInt(elm.currentStyle.marginLeft, 10) + parseInt(elm.currentStyle.marginRight, 10);\r\n } else {// Mozilla\r\n elmHeight = elm.offsetWidth;\r\n elmMargin = parseInt(document.defaultView.getComputedStyle(elm, '').getPropertyValue('margin-left')) + parseInt(document.defaultView.getComputedStyle(elm, '').getPropertyValue('margin-right'));\r\n }\r\n return (elmHeight + elmMargin);\r\n }\r\n headcountcostcenter = (payrollcostcenteritemdata) => {\r\n if (payrollcostcenteritemdata.length > 0) {\r\n let headcountCCitemdataSort = payrollcostcenteritemdata.sort(compareValues('headCountCostCenterCode'));\r\n const leveluparr = headcountCCitemdataSort.map((item) => { return (item.level) }).filter((val, id, array) =>\r\n array.indexOf(val) == id).filter(function (el) { return el != null && el != \"\" }).sort((a, b) => a - b)\r\n\r\n let secondvalue = leveluparr[1];\r\n //console.log(\"leveluparr\",leveluparr) \r\n //console.log(\"secondvalue\",secondvalue) \r\n if (secondvalue != undefined) {\r\n return (\r\n this.getMergedEmployees(headcountCCitemdataSort.filter(it => { return it.level <= secondvalue }))\r\n .map((item) =>\r\n
  • { this.handleCheck(item.headCountCostCenterCode, item.headCountCostCenterName, item.level) }}>\r\n
    \r\n \r\n { this.handleCheck(item.headCountCostCenterCode, item.headCountCostCenterName, item.level) }}>\r\n \r\n \r\n {item.headCountCostCenterCode} - {item.headCountCostCenterName}\r\n { this.setState({ openItem: this.state.openItem === item.headCountCostCenterCode ? 0 : item.headCountCostCenterCode }); e.stopPropagation(); }}>\r\n {this.sortemployee(item.employees)} \r\n \r\n
    \r\n
    {this.state.openItem === item.headCountCostCenterCode ? { return it.name })} /> : ''}
    \r\n
  • \r\n )\r\n )\r\n }\r\n else {\r\n return (\r\n headcountCCitemdataSort.map((item) =>\r\n
  • { this.handleCheck(item.headCountCostCenterCode, item.headCountCostCenterName, item.level) }}>\r\n
    \r\n \r\n { this.handleCheck(item.headCountCostCenterCode, item.headCountCostCenterName, item.level) }}>\r\n \r\n \r\n {item.headCountCostCenterCode} - {item.headCountCostCenterName}\r\n { this.setState({ openItem: this.state.openItem === item.headCountCostCenterCode ? 0 : item.headCountCostCenterCode }); e.stopPropagation(); }}>\r\n {this.sortemployee(item.employees)} \r\n \r\n
    \r\n
    {this.state.openItem === item.headCountCostCenterCode ? { return it.name })} /> : ''}
    \r\n
  • \r\n )\r\n )\r\n }\r\n\r\n\r\n }\r\n }\r\n headcountcostcenterleveldown = (payrollcostcenteritemdata) => {\r\n\r\n\r\n if (payrollcostcenteritemdata.length > 0) {\r\n let headcountCCitemdatadownSort = payrollcostcenteritemdata.sort(compareValues('headCountCostCenterCode'));\r\n const leveldownarr = headcountCCitemdatadownSort.map((item) => { return (item.level) }).filter((val, id, array) =>\r\n array.indexOf(val) == id).filter(function (el) { return el != null && el != \"\" }).sort((a, b) => a - b)\r\n\r\n let thirdvalue = leveldownarr[2];\r\n //let thirdvalue=payrollcostcenteritemdata.sort((a, b) => { return parseFloat(a.level) - parseFloat(b.level)})[3];\r\n\r\n if (thirdvalue != undefined) {\r\n return (\r\n this.getMergedEmployees(headcountCCitemdatadownSort.filter(it => { return it.level == thirdvalue }))\r\n .map((item) =>\r\n
  • { this.handleCheck(item.headCountCostCenterCode, item.headCountCostCenterName, item.level) }}>\r\n
    \r\n \r\n { this.handleCheck(item.headCountCostCenterCode, item.headCountCostCenterName, item.level) }}>\r\n \r\n \r\n {item.headCountCostCenterCode} - {item.headCountCostCenterName}\r\n { this.setState({ openItem: this.state.openItem === item.headCountCostCenterCode ? 0 : item.headCountCostCenterCode }); e.stopPropagation(); }}>\r\n {this.sortemployee(item.employees)} \r\n \r\n
    \r\n
    {this.state.openItem === item.headCountCostCenterCode ? { return it.name })} /> : ''}
    \r\n
  • \r\n )\r\n )\r\n\r\n }\r\n\r\n }\r\n }\r\n getMergedEmployees = (inputArray) => {\r\n const groupedJson = inputArray.reduce((rv, x) => {\r\n (rv[x[\"headCountCostCenterCode\"]] = rv[x[\"headCountCostCenterCode\"]] || []).push(x);\r\n return rv;\r\n }, {});\r\n const groupedArray = Object.keys(groupedJson).map(key => groupedJson[key]);\r\n const toMerge = groupedArray.filter(d => d.length > 1)\r\n const toRetain = groupedArray.filter(d => d.length == 1)\r\n let finalArray = []\r\n toMerge.map(arr => {\r\n let newData = {\r\n headCountCostCenterCode: arr[0].headCountCostCenterCode,\r\n headCountCostCenterName: arr[0].headCountCostCenterName,\r\n level: arr[0].level,\r\n employees: []\r\n }\r\n let emplArray = []\r\n arr.map(d => {\r\n\r\n emplArray = emplArray.concat(d.employees)\r\n })\r\n\r\n let uniqeEmployee = []\r\n emplArray.filter(function (item) {\r\n var i = uniqeEmployee.findIndex(x => x.name == item.name);\r\n if (i <= -1) {\r\n uniqeEmployee.push({ name: item.name });\r\n }\r\n return null;\r\n });\r\n console.log('emplArray', uniqeEmployee)\r\n newData.employees = uniqeEmployee\r\n finalArray.push(newData)\r\n })\r\n toRetain.map(data => {\r\n finalArray.push(data[0])\r\n })\r\n finalArray = finalArray.sort(compareValues('headCountCostCenterCode'));\r\n return finalArray\r\n };\r\n sortemployee = (employee) => {\r\n const sortedemployee = employee.sort((a, b) => a.name.localeCompare(b.name))\r\n return sortedemployee.length === 0 ? '' :\r\n sortedemployee.length === 1 ? sortedemployee[0].name :\r\n sortedemployee.length === 2 ? sortedemployee[0].name + ' & ' + sortedemployee[1].name :\r\n sortedemployee.length === 3 ? sortedemployee[0].name + ' , ' + sortedemployee[1].name + ' & ' + '1 other' :\r\n sortedemployee.length > 3 ? sortedemployee[0].name + ' , ' + sortedemployee[1].name + ' & ' + (sortedemployee.length - 2) + ' others' :\r\n ''\r\n }\r\n\r\n handleCheck = (id, val, level) => {\r\n this.setState({ headCountCCcode: id, headCountCCname: val, selectedvalue: id, selectedlevelhcc: level, openItem: 0 })\r\n }\r\n handleHeadCountCCData = () => {\r\n if (this.state.headCountCCcode != '' && this.state.headCountCCcode != undefined) {\r\n // console.log(this.state.headCountCCcode)\r\n this.props.onclickheadCountCCNext(this.state.headCountCCcode, this.state.headCountCCname, this.state.selectedlevelhcc);\r\n this.setState({ isMandatory: false })\r\n }\r\n else {\r\n this.setState({ isMandatory: true })\r\n }\r\n\r\n }\r\n handleHeadCountCCDataBack = () => {\r\n this.props.onclickHeadCountCCBack();\r\n }\r\n showleveldown = () => {\r\n this.setState({ leveldown: !this.state.leveldown })\r\n //this.forceUpdate();\r\n this.setState({ nonUsedKey: Date.now() });\r\n }\r\n render() {\r\n window.addEventListener('resize', this.SetWidth);\r\n this.SetWidth();\r\n\r\n return (\r\n
    \r\n {this.state.isLoaded ?\r\n
    \r\n

    Please select a recommended Headcount Cost Center (CC):

    \r\n
      \r\n {this.state.leveldown === false ? this.headcountcostcenter(this.state.HeadCountCCItemData) : ''}\r\n {this.state.leveldown === true ? this.headcountcostcenterleveldown(this.state.HeadCountCCItemData) : ''}\r\n {this.state.isDisplaylevelupdown === true ?
    • {this.state.leveldown === true ? 'Show me one level up' : 'Show me one level down'}
    • : ''}\r\n
    • { this.handleCheck(\"noa\", \"noa\", \"noa\") }} >\r\n { this.handleCheck(\"noa\", \"noa\", \"noa\") }}>\r\n None of the above
    • \r\n
    \r\n
    \r\n :
    Loading data please wait...
    }\r\n {this.state.isMandatory === true ?\r\n : ''}\r\n {this.state.isLoaded ?\r\n
    \r\n
    \r\n
    \"\r\n onClick={this.handleHeadCountCCData}\r\n className=\"btncls\" />
    \r\n
    : ''}\r\n
    \r\n );\r\n\r\n\r\n }\r\n}\r\n\r\nexport default HeadCountCostCenter;","import React, { Component } from 'react';\r\nimport axios from \"axios\";\r\nimport HomePage from './HomePage';\r\nimport JNJSurvey from '../../assets/JNJSurvey.png';\r\nimport { withCookies, Cookies } from 'react-cookie';\r\nimport { instanceOf } from 'prop-types';\r\nimport Modal from 'react-modal';\r\nimport cancelbtn from \"../../assets/cancelbtn.png\";\r\n\r\nconst re=/^[\\W]*([\\w+\\-.%]+@[\\w\\-.]+\\.[A-Za-z]{2,4}[\\W]*;{1}[\\W]*)*([\\w+\\-.%]+@[\\w\\-.]+\\.[A-Za-z]{2,4})[\\W]*$/;\r\nclass EndPage extends Component { \r\n static propTypes = {\r\n cookies: instanceOf(Cookies).isRequired\r\n };\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n result: null,\r\n isHomePage: false,\r\n surveyURL: 'https://forms.office.com/Pages/ResponsePage.aspx?id=M0vJOjWRIUiVAur9plkqNW02wbzGQNZOgPu0aVMhDgJUOTNITkozTEg3NVc2NFkwMzVXOVRRMEg1Sy4u',\r\n issurveyFeedback: '',\r\n isEmailmodalOpen : false,\r\n emailSentSuccess: false,\r\n emailSentError:false,\r\n managerName:'',\r\n leCode: '',\r\n leName: '',\r\n payrollMRCCode: '',\r\n payrollMRCName: '',\r\n payrollCCCode: '',\r\n payrollCCName: '',\r\n headcountCCCode:'',\r\n headcountCCName:'',\r\n headCountMRCCode:'',\r\n headCountMRCName:'',\r\n mngName:'',\r\n managerlocation:'',\r\n email:'',\r\n emails:[],\r\n emailError:'',\r\n popupheight: 0\r\n }\r\n }\r\n componentWillMount() {\r\n const { cookies } = this.props;\r\n var isFeedbackSurvey = cookies.get('isFeedback');\r\n if (isFeedbackSurvey != undefined) {\r\n this.setState({ issurveyFeedback: 'true' })\r\n }\r\n else {\r\n this.setState({ issurveyFeedback: 'false' })\r\n\r\n }\r\n }\r\n async componentDidMount() {\r\n if (this.props.mngwwid != '' && this.props.locationreferenceID != '') {\r\n await axios({\r\n method: 'POST',\r\n url: process.env.REACT_APP_WORKDAY_API_URL + 'saveSummary',\r\n headers: {\r\n 'apiKey': process.env.REACT_APP_WORKDAY_API_KEY,\r\n 'clientKey': process.env.REACT_APP_WORKDAY_API_CLIENTKEY,\r\n 'Content-Type': 'application/json'\r\n },\r\n data: {\r\n \"sessionId\": this.props.sessionID,\r\n \"managerWWID\": this.props.mngwwid,\r\n \"locationCode\": this.props.locationreferenceID,\r\n \"leCode\": this.props.lecode,\r\n \"leName\": this.props.leName,\r\n \"payrollMRCCode\": this.props.payrollmrccode,\r\n \"payrollMRCName\": this.props.payrollMRCName,\r\n \"payrollCostCenterCode\": this.props.payrollCCCode,\r\n \"payrollCostCenterName\": this.props.payrollCCName,\r\n \"headCountMRCCode\": this.props.headCountMRCCode,\r\n \"headCountMRCName\": this.props.headCountMRCName,\r\n \"headCountCostCenterCode\": this.props.headcountCCcode,\r\n \"headCountCostCenterName\": this.props.headCountCCName,\r\n \"summaryTakenAtStage\": this.props.summaryTakenAtStage,\r\n \"noneOfTheAboveSelected\": this.props.noneOfTheAboveSelected\r\n }\r\n\r\n\r\n }).then((res) => {\r\n this.setState({\r\n result: res.data.summarySaved,\r\n });\r\n }).catch((error) => {\r\n //on error\r\n // alert(\"There is an error in API call mngid.\");\r\n });\r\n }\r\n else {\r\n\r\n }\r\n\r\n }\r\n handleEndPageDataBack = () => {\r\n this.props.onclickEndPageBack();\r\n }\r\n handleEndPagenext = () => {\r\n this.setState({ isHomePage: true })\r\n this.props.onclickEndPageNext();\r\n\r\n }\r\n handleEmailbtn =() =>{\r\n this.setState({\r\n isEmailmodalOpen : true ,\r\n managerName : this.props.mngwwid,\r\n mngName: this.props.mngName,\r\n managerlocation : this.props.managerlocation,\r\n leCode: this.props.lecode,\r\n leName: this.props.leName \r\n });\r\n if(this.props.summaryTakenAtStage == \"payrollCostCenter\"){\r\n this.setState({\r\n payrollMRCCode: this.props.payrollmrccode,\r\n payrollMRCName: this.props.payrollMRCName,\r\n payrollCCCode: this.props.payrollCCCode,\r\n payrollCCName: this.props.payrollCCName\r\n });\r\n } \r\n else if(this.props.summaryTakenAtStage == \"headcountCostCenter\"){\r\n this.setState({\r\n payrollMRCCode: this.props.payrollmrccode,\r\n payrollMRCName: this.props.payrollMRCName,\r\n payrollCCCode: this.props.payrollCCCode,\r\n payrollCCName: this.props.payrollCCName,\r\n headCountMRCCode: this.props.headCountMRCCode,\r\n headCountMRCName: this.props.headCountMRCName,\r\n headcountCCCode: this.props.headcountCCcode,\r\n headcountCCName: this.props.headCountCCName\r\n });\r\n } \r\n \r\n //this.props.onclickEmail();\r\n }\r\n handleEmailSuccess=()=>{\r\n document.getElementById(\"emailSubmitbtn\").disabled = true;\r\n this.setState({\r\n emailSentError : false\r\n });\r\n if (this.state.emails.length > 0) {\r\n axios({\r\n method: 'POST',\r\n url: process.env.REACT_APP_WORKDAY_API_URL + 'sendEmail',\r\n headers: {\r\n 'apiKey': process.env.REACT_APP_WORKDAY_API_KEY,\r\n 'clientKey': process.env.REACT_APP_WORKDAY_API_CLIENTKEY,\r\n 'Content-Type': 'application/json'\r\n },\r\n data: {\r\n \"to\" : this.state.emails,\r\n \"emailBody\" : this.refs.textarea.innerHTML,\r\n \"emailEditable\" : this.refs.textarea1.innerHTML\r\n }\r\n }).then((res) => {\r\n this.setState({\r\n emailSentSuccess:true,\r\n isEmailmodalOpen :false,\r\n emailSentError: false\r\n });\r\n }).catch((error) => {\r\n //on error\r\n console.log(error);\r\n //alert(\"Please verify the email address\")\r\n this.setState({\r\n emailSentError:true\r\n });\r\n });\r\n }\r\n else{\r\n //alert(\"Please verify the email address\")\r\n this.setState({\r\n emailSentError:true\r\n });\r\n }\r\n }\r\n handleEmailPopUp=() =>{\r\n this.setState({\r\n emailSentSuccess:false,\r\n emailError:'',\r\n emails:[]\r\n\r\n })\r\n }\r\n handleChange=(evt)=>{\r\n this.setState({\r\n email:evt.target.value,\r\n emailError: null\r\n });\r\n }\r\n handleKeyDown=(evt)=>{\r\n if (['Enter', 'Tab',' ', ',' , ';'].includes(evt.key)) {\r\n evt.preventDefault();\r\n \r\n var value = this.state.email.trim();\r\n \r\n if (value && this.validateEmail(value)) {\r\n this.setState({\r\n emails: [...this.state.emails, value],\r\n email: ''\r\n });\r\n }\r\n }\r\n }\r\n handleBlur =() =>{\r\n var value = this.state.email.trim();\r\n\r\n if(value && this.validateEmail(value)){\r\n this.setState({\r\n emails: [...this.state.emails, value],\r\n email:''\r\n });\r\n }\r\n }\r\n handleDelete=(toBeRemoved)=>{\r\n this.setState({\r\n emails: this.state.emails.filter(email => email !== toBeRemoved)\r\n });\r\n }\r\n handlePaste = (evt) => {\r\n evt.preventDefault();\r\n \r\n var paste = evt.clipboardData.getData('text');\r\n \r\n var emails = [];\r\n var emails= paste.split(/[\\s,;]+/);\r\n if (emails) {\r\n //var toBeAdded = emails.filter(email => !this.isInList(email));\r\n var toBeAdded = emails.filter(email => this.validateEmail(email.trim()));\r\n this.setState({\r\n emails: [...this.state.emails, ...toBeAdded]\r\n });\r\n }\r\n }\r\n validateEmail(email){\r\n var err = null;\r\n var isValidEmail = re.test(email);\r\n if (!isValidEmail) {\r\n err=`${email} is not a valid email address`;\r\n }\r\n if(!email.includes('its.jnj.com') && !email.includes('jnj.com') && isValidEmail){\r\n err=`${email} is outside domain`;\r\n } \r\n if (this.isInList(email)) {\r\n err=`${email} has already been added`;\r\n }\r\n if(err){\r\n this.setState({\r\n emailError: err\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n isInList(email) {\r\n return this.state.emails.includes(email);\r\n }\r\n close=()=>{\r\n this.setState({\r\n isEmailmodalOpen :false,\r\n emailError:'',\r\n email:'',\r\n emails:[]\r\n });\r\n } \r\n refreshPage = () => {\r\n window.location.reload(false);\r\n }\r\n handleErrorEmailPopUp=()=>{\r\n document.getElementById(\"emailSubmitbtn\").disabled = false;\r\n this.setState({\r\n emailSentError: false\r\n });\r\n }\r\n surveyPage = () => {\r\n\r\n let d = new Date();\r\n d.setTime(d.getTime() + (129600 * 60 * 1000));\r\n\r\n const { cookies } = this.props;\r\n cookies.set('isFeedback', 'true', { path: '/', expires: d });\r\n }\r\n render() {\r\n\r\n return (\r\n
    {this.state.isHomePage === true ? '' :\r\n
    \r\n {this.props.outputmsg == \"success\" ?\r\n
    \r\n

    SUCCESS!

    \r\n
    \r\n

    Your selected LE/MRC/CC values are shown at right.

    \r\n

    Please copy and paste these values into your job requistion in Workday or click on the email button to have the information sent to the emails you provide.

    \r\n
    \r\n
    : this.props.outputmsg == \"noa\" ?\r\n
    \r\n
    \r\n

    Please contact your Manager or local finance department for the fields you selected \"None of the above\".

    \r\n
    \r\n
    \r\n : this.props.outputmsg == \"nodata\" ?\r\n
    \r\n
    \r\n

    There is no organizational information for the location selected for this Hiring Manager,\r\n please contact your Manager or local finance department to help identify\r\n (Legal Entity, Payroll MRC, Payroll cost center, Headcount MRC and Headcount Cost Center)

    \r\n
    \r\n
    : ''\r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n {this.props.outputmsg == \"success\" && \r\n
    } \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n

    Send Email

    \r\n
    \r\n
    \r\n {this.state.emails.map(email => \r\n
    {email}\r\n this.handleDelete(email)}\r\n >\r\n × \r\n \r\n
    )}\r\n \r\n
    \r\n
    \r\n \r\n {this.state.emailError &&\r\n

    {this.state.emailError}

    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n LE-MRC-CC Predictor Tool - Your Selected Values:

    \r\n
    Hiring Manager
    \r\n {this.state.managerName} - {this.state.mngName}

    \r\n
    Requisition Location
    \r\n {this.state.managerlocation}

    \r\n {this.state.leCode != ''?\r\n
    \r\n
    Legal Entity
    \r\n {this.state.leCode} - {this.state.leName}

    \r\n
    :''\r\n }\r\n {this.state.payrollMRCCode != ''?\r\n
    \r\n
    Payroll MRC
    \r\n {this.state.payrollMRCCode} - {this.state.payrollMRCName}

    \r\n
    : ''\r\n }\r\n {this.state.payrollCCCode != ''?\r\n
    \r\n
    Payroll Cost Center
    \r\n {this.state.payrollCCCode} - {this.state.payrollCCName}

    \r\n
    :''\r\n }\r\n {this.state.headCountMRCCode != ''?\r\n
    \r\n
    Headcount MRC
    \r\n {this.state.headCountMRCCode} - {this.state.headCountMRCName}

    \r\n
    :''\r\n }\r\n {this.state.headcountCCCode != ''?\r\n
    \r\n
    Headcount Cost Center
    \r\n {this.state.headcountCCCode} - {this.state.headcountCCName}


    \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\n
    \r\n
    \r\n
    \r\n Your email has been sent successfully!\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    Error!

    \r\n Please verify the email address.\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.issurveyFeedback == 'false' ?\r\n
    \r\n
    \r\n \"Smiley\r\n
    \r\n
    \r\n

    How did we do?

    \r\n

    Answer 3 quick questions to let us know what you think of this tool. Thanks!

    \r\n
    \r\n\r\n
    : ''}\r\n
    \r\n }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withCookies(EndPage);","import React, { Component } from \"react\";\r\nimport Stepper from \"@material-ui/core/Stepper\";\r\nimport Step from \"@material-ui/core/Step\";\r\nimport StepLabel from \"@material-ui/core/StepLabel\";\r\nimport ManagerLocationPage from \"./ManagerLocationPage\";\r\nimport LegalEntities from \"./LegalEntities\";\r\nimport MRCPage from \"./MRCPage\";\r\nimport CostCenterPage from \"./CostCenterPage\";\r\nimport Modal from \"react-modal\";\r\nimport HeadCountMRC from \"./HeadCountMRC\";\r\nimport HeadCountCostCenter from \"./HeadCountCostCenter\";\r\nimport EndPage from \"./EndPage\";\r\n\r\nconst customStyles = {\r\n content: {\r\n top: \"50%\",\r\n left: \"50%\",\r\n right: \"auto\",\r\n bottom: \"auto\",\r\n marginRight: \"-50%\",\r\n transform: \"translate(-50%, -50%)\",\r\n },\r\n};\r\n\r\nclass HomePage extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n mngwwid: \"\",\r\n mngName: \"\",\r\n manageractualLocation: \"\",\r\n locationName: \"\",\r\n locationreferenceID: \"\",\r\n isManagerLocation: true,\r\n isLegalEntities: false,\r\n isPayrollMRC: false,\r\n leID: \"\",\r\n leName: \"\",\r\n isPayrollCC: false,\r\n payrollMRCCode: \"\",\r\n payrollMRCName: \"\",\r\n sessionID: \"\",\r\n payrollCCCode: \"\",\r\n payrollCCName: \"\",\r\n selectedlevelCC: \"\",\r\n selectedlevelHCC: \"\",\r\n DecisionmodalOpen: false,\r\n isEndPage: false,\r\n isHeadCountMRC: false,\r\n headCountMRCCode: \"\",\r\n headCountMRCName: \"\",\r\n isHeadCountCC: false,\r\n headCountCCName: \"\",\r\n headCountCCCode: \"\",\r\n outputmsg: \"\",\r\n summaryTakenAtStage: \"\",\r\n noneOfTheAboveSelected: false,\r\n stepNumber: 0,\r\n isLEDataPresent: true,\r\n regionName: \"\",\r\n countryName: \"\",\r\n stateName: \"\",\r\n /*-- Summary Card Diplay Switch --*/\r\n isDisplayheader: false,\r\n isDisplaymngwwid: false,\r\n isDisplaylocationname: false,\r\n isDisplaylename: false,\r\n isDisplaypmrcname: false,\r\n isDisplaypccname: false,\r\n isDisplayhmrcname: false,\r\n isDisplayhccname: false,\r\n windowheight: 0,\r\n };\r\n }\r\n componentDidMount() {\r\n this.updateWindowDimensions();\r\n window.addEventListener(\"resize\", this.updateWindowDimensions);\r\n }\r\n componentWillUnmount() {\r\n window.removeEventListener(\"resize\", this.updateWindowDimensions);\r\n }\r\n updateWindowDimensions = () => {\r\n this.setState({\r\n windowheight:\r\n window.innerHeight -\r\n this.Dimension(\"headercontent\") -\r\n this.Dimension(\"footercontent\"),\r\n });\r\n };\r\n Dimension = (elmID) => {\r\n var elmHeight,\r\n elmMargin,\r\n elm = document.getElementsByClassName(elmID)[0];\r\n if (document.all) {\r\n // IE\r\n elmHeight = elm.clientHeight;\r\n elmMargin =\r\n parseInt(elm.currentStyle.marginTop, 10) +\r\n parseInt(elm.currentStyle.marginBottom, 10);\r\n } else {\r\n // Mozilla\r\n elmHeight = elm.clientHeight;\r\n elmMargin =\r\n parseInt(\r\n document.defaultView\r\n .getComputedStyle(elm, \"\")\r\n .getPropertyValue(\"margin-top\")\r\n ) +\r\n parseInt(\r\n document.defaultView\r\n .getComputedStyle(elm, \"\")\r\n .getPropertyValue(\"margin-bottom\")\r\n );\r\n }\r\n return elmHeight + elmMargin + 6;\r\n };\r\n /*---Suggested Legal Entities when valid Manager's WWID and Location entered by User---*/\r\n handleUserInput = (\r\n mngID,\r\n locationId,\r\n mngname,\r\n locationname,\r\n regionname,\r\n countryname,\r\n statename,\r\n mngactuallocation\r\n ) => {\r\n this.setState({\r\n mngwwid: mngID,\r\n locationreferenceID: locationId,\r\n mngName: mngname,\r\n locationName: locationname,\r\n regionName: regionname,\r\n countryName: countryname,\r\n stateName: statename,\r\n manageractualLocation: mngactuallocation,\r\n sessionID: \"\",\r\n isManagerLocation: false,\r\n isLegalEntities: true,\r\n isDisplayheader: true,\r\n isDisplaymngwwid: true,\r\n isDisplaylocationname: true,\r\n stepNumber: 1,\r\n });\r\n };\r\n /*---Summary/Last Screen display if there is no Legal Entities when valid Manager's WWID and Location entered by User---*/\r\n noOrganisaion = (sessionid) => {\r\n this.setState({\r\n sessionID: sessionid,\r\n isManagerLocation: false,\r\n isLegalEntities: false,\r\n outputmsg: \"nodata\",\r\n noneOfTheAboveSelected: false,\r\n summaryTakenAtStage: \"nosuggestion\",\r\n isEndPage: true,\r\n stepNumber: 2,\r\n });\r\n };\r\n /*---Suggested Payroll MRC when valid Legal Entities entered by User---*/\r\n handleLEInput = (lecode, lename, sessionid) => {\r\n if (lecode != \"noa\") {\r\n this.setState({\r\n leID: lecode,\r\n leName: lename,\r\n sessionID: sessionid,\r\n isPayrollMRC: true,\r\n stepNumber: 1,\r\n isLegalEntities: false,\r\n isDisplaylename: true,\r\n summaryTakenAtStage: \"legalEntity\",\r\n });\r\n } else {\r\n this.setState({\r\n sessionID: sessionid,\r\n isPayrollMRC: false,\r\n isLegalEntities: false,\r\n outputmsg: \"noa\",\r\n noneOfTheAboveSelected: true,\r\n summaryTakenAtStage: \"legalEntity\",\r\n isEndPage: true,\r\n stepNumber: 2,\r\n });\r\n }\r\n };\r\n /*---Back to the user Input Screen when user click on back in Legal Entities Screen--- */\r\n handleLEBack = () => {\r\n this.setState({\r\n isLegalEntities: false,\r\n isManagerLocation: true,\r\n isDisplaymngwwid: false,\r\n isDisplayheader: false,\r\n isDisplaylocationname: false,\r\n stepNumber: 0,\r\n });\r\n };\r\n /*---Suggested Payroll CostCenter when valid payroll MRC entered by User---*/\r\n handlePayrollMRCInput = (mrccode, mrcname, sessionid) => {\r\n if (mrccode != \"noa\") {\r\n this.setState({\r\n payrollMRCCode: mrccode,\r\n payrollMRCName: mrcname,\r\n sessionID: sessionid,\r\n isPayrollMRC: false,\r\n isPayrollCC: true,\r\n isDisplaypmrcname: true,\r\n summaryTakenAtStage: \"payrollMRC\",\r\n stepNumber: 1,\r\n });\r\n } else {\r\n this.setState({\r\n payrollMRCCode: \"\",\r\n payrollMRCName: \"\",\r\n sessionID: sessionid,\r\n isPayrollMRC: false,\r\n isPayrollCC: false,\r\n isEndPage: true,\r\n outputmsg: \"noa\",\r\n noneOfTheAboveSelected: true,\r\n summaryTakenAtStage: \"payrollMRC\",\r\n stepNumber: 2,\r\n });\r\n }\r\n };\r\n /*---Back to the Legal Entities Screen when user click on back in Payroll MRC Screen--- */\r\n handlePayrollMRCBack = (sessionid) => {\r\n this.setState({\r\n sessionID: sessionid,\r\n isDisplaylename: false,\r\n isLegalEntities: true,\r\n stepNumber: 1,\r\n });\r\n };\r\n /*---Decision Modal Popup open with yes/no when valid payroll Costcenter entered by User---*/\r\n handlePayrollCCInput = (payrollCCcode, payrollName, levelselected) => {\r\n if (payrollCCcode != \"noa\") {\r\n this.setState({\r\n payrollCCCode: payrollCCcode,\r\n payrollCCName: payrollName,\r\n selectedlevelCC: levelselected,\r\n DecisionmodalOpen: true,\r\n isDisplaypccname: true,\r\n summaryTakenAtStage: \"payrollCostCenter\",\r\n });\r\n } else {\r\n this.setState({\r\n payrollCCCode: \"\",\r\n payrollCCName: \"\",\r\n isPayrollCC: false,\r\n isEndPage: true,\r\n outputmsg: \"noa\",\r\n noneOfTheAboveSelected: true,\r\n summaryTakenAtStage: \"payrollCostCenter\",\r\n stepNumber: 2,\r\n });\r\n }\r\n };\r\n /*---Back to the payroll MRC Screen when user click on back in Payroll Costcenter Screen--- */\r\n handlePayrollCCBack = () => {\r\n this.setState({\r\n isDisplaypmrcname: false,\r\n isPayrollMRC: true,\r\n stepNumber: 1,\r\n });\r\n };\r\n /*---Summary/Last Screen comes when no clicked by user in modal pop-up---*/\r\n noDecisionCard = () => {\r\n this.setState({\r\n DecisionmodalOpen: false,\r\n isPayrollCC: false,\r\n isEndPage: true,\r\n isDisplayhmrcname: false,\r\n isDisplayhccname: false,\r\n outputmsg: \"success\",\r\n noneOfTheAboveSelected: false,\r\n summaryTakenAtStage: \"payrollCostCenter\",\r\n stepNumber: 2,\r\n });\r\n };\r\n /*---Suggested HeadCount MRC when yes clicked by user in modal pop-up---*/\r\n yesDecisionCard = () => {\r\n this.setState({\r\n DecisionmodalOpen: false,\r\n isPayrollCC: false,\r\n isEndPage: false,\r\n isHeadCountMRC: true,\r\n stepNumber: 1,\r\n });\r\n };\r\n /*---Back to the payroll Costcenter Screen when user click on back in HeadCount MRC Screen--- */\r\n handleHeadCountMRCBack = () => {\r\n this.setState({\r\n isDisplaypccname: false,\r\n isPayrollCC: true,\r\n stepNumber: 1,\r\n });\r\n };\r\n /*---Suggested HeadCount CostCenter when valid Headcount MRC entered by User---*/\r\n handleHeadCountMRCInput = (mrccode, mrcname) => {\r\n if (mrccode != \"noa\") {\r\n this.setState({\r\n headCountMRCCode: mrccode,\r\n headCountMRCName: mrcname,\r\n isHeadCountMRC: false,\r\n isHeadCountCC: true,\r\n isDisplayhmrcname: true,\r\n summaryTakenAtStage: \"headcountMRC\",\r\n stepNumber: 1,\r\n });\r\n } else {\r\n this.setState({\r\n headCountMRCCode: \"\",\r\n headCountMRCName: \"\",\r\n isHeadCountMRC: false,\r\n isEndPage: true,\r\n outputmsg: \"noa\",\r\n noneOfTheAboveSelected: true,\r\n summaryTakenAtStage: \"headcountMRC\",\r\n stepNumber: 2,\r\n });\r\n }\r\n };\r\n /*---Back to the HeadCount MRC Screen when user click on back in HeadCount Costcenter Screen--- */\r\n handleHeadCountCCBack = () => {\r\n this.setState({\r\n isDisplayhmrcname: false,\r\n isHeadCountMRC: true,\r\n stepNumber: 1,\r\n });\r\n };\r\n /*---Summary/Last Screen comes when valid Headcount Costcenter entered by User---*/\r\n handleHeadCountCCInput = (hcccode, hccname, levelselectedhcc) => {\r\n if (hcccode != \"noa\") {\r\n this.setState({\r\n headCountCCCode: hcccode,\r\n headCountCCName: hccname,\r\n selectedlevelHCC: levelselectedhcc,\r\n isHeadCountCC: false,\r\n isEndPage: true,\r\n isDisplayhccname: true,\r\n outputmsg: \"success\",\r\n noneOfTheAboveSelected: false,\r\n summaryTakenAtStage: \"headcountCostCenter\",\r\n stepNumber: 2,\r\n });\r\n } else {\r\n this.setState({\r\n headCountCCCode: \"\",\r\n headCountCCName: \"\",\r\n isHeadCountCC: false,\r\n isEndPage: true,\r\n outputmsg: \"noa\",\r\n noneOfTheAboveSelected: true,\r\n summaryTakenAtStage: \"headcountCostCenter\",\r\n stepNumber: 2,\r\n });\r\n }\r\n };\r\n /*--- when user click on back in Summary/Last Screen it will Back to the Particular Screen where user clicked None of the above---*/\r\n handleEndPageBack = () => {\r\n if (this.state.summaryTakenAtStage == \"legalEntity\") {\r\n if (this.state.outputmsg == \"noa\") {\r\n this.setState({\r\n leID: \"noa\",\r\n leName: \"noa\",\r\n });\r\n }\r\n this.setState({\r\n isEndPage: false,\r\n isLegalEntities: true,\r\n stepNumber: 1,\r\n });\r\n } else if (this.state.summaryTakenAtStage == \"payrollMRC\") {\r\n if (this.state.outputmsg == \"noa\") {\r\n this.setState({\r\n payrollMRCCode: \"noa\",\r\n payrollMRCName: \"noa\",\r\n });\r\n }\r\n this.setState({\r\n isEndPage: false,\r\n isPayrollMRC: true,\r\n stepNumber: 1,\r\n });\r\n } else if (this.state.summaryTakenAtStage == \"payrollCostCenter\") {\r\n if (this.state.outputmsg == \"noa\") {\r\n this.setState({\r\n payrollCCCode: \"noa\",\r\n payrollCCName: \"noa\",\r\n });\r\n }\r\n this.setState({\r\n isEndPage: false,\r\n isPayrollCC: true,\r\n isDisplaypccname: false,\r\n stepNumber: 1,\r\n });\r\n } else if (this.state.summaryTakenAtStage == \"headcountMRC\") {\r\n if (this.state.outputmsg == \"noa\") {\r\n this.setState({\r\n headCountMRCCode: \"noa\",\r\n headCountMRCName: \"noa\",\r\n });\r\n }\r\n this.setState({\r\n isEndPage: false,\r\n isHeadCountMRC: true,\r\n stepNumber: 1,\r\n });\r\n } else if (this.state.summaryTakenAtStage == \"headcountCostCenter\") {\r\n if (this.state.outputmsg == \"noa\") {\r\n this.setState({\r\n headCountCCCode: \"noa\",\r\n headCountCCName: \"noa\",\r\n });\r\n }\r\n this.setState({\r\n isEndPage: false,\r\n isHeadCountCC: true,\r\n isDisplayhccname: false,\r\n stepNumber: 1,\r\n });\r\n } else if (this.state.summaryTakenAtStage == \"nosuggestion\") {\r\n this.setState({\r\n isLegalEntities: false,\r\n isManagerLocation: true,\r\n isDisplaymngwwid: false,\r\n isDisplayheader: false,\r\n isDisplaylocationname: false,\r\n stepNumber: 0,\r\n });\r\n }\r\n };\r\n /*---Navigate To user Input Screen when user clicked on startover in Summary/Last Screen---*/\r\n handleEndPageNext = () => {\r\n this.setState({\r\n stepNumber: 0,\r\n });\r\n window.location.reload(false);\r\n };\r\n\r\n render() {\r\n // console.log({ state: this.state });\r\n const steps = [\"Manager & Location\", \"Organization Codes\", \"Done\"];\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {steps.map((label) => (\r\n \r\n {label}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.state.isManagerLocation === true ? (\r\n \r\n ) : this.state.isLegalEntities === true ? (\r\n \r\n ) : this.state.isPayrollMRC === true ? (\r\n \r\n ) : this.state.isPayrollCC === true ? (\r\n \r\n ) : this.state.isEndPage === true ? (\r\n \r\n ) : this.state.isHeadCountMRC === true ? (\r\n \r\n ) : this.state.isHeadCountCC === true ? (\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\n
    \r\n \r\n Your Selected values:\r\n \r\n
    \r\n
    \r\n
    \r\n {this.state.isDisplaymngwwid === true ? (\r\n
    \r\n
    \r\n
    \r\n

    Hiring Manager

    \r\n

    \r\n {this.state.mngwwid} - {this.state.mngName}\r\n

    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isDisplaylocationname === true ? (\r\n
    \r\n
    \r\n
    \r\n

    Requistion Location

    \r\n

    {this.state.locationName}

    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isDisplaylename === true ? (\r\n
    \r\n
    \r\n
    \r\n

    Legal Entity

    \r\n

    \r\n {this.state.leID} - {this.state.leName}\r\n

    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isDisplaypmrcname === true ? (\r\n
    \r\n
    \r\n
    \r\n

    Payroll MRC

    \r\n

    \r\n {this.state.payrollMRCCode} -{\" \"}\r\n {this.state.payrollMRCName}\r\n

    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isDisplaypccname === true ? (\r\n
    \r\n
    \r\n
    \r\n

    Payroll Cost Center

    \r\n

    \r\n {this.state.payrollCCCode} -{\" \"}\r\n {this.state.payrollCCName}\r\n

    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isDisplayhmrcname === true ? (\r\n
    \r\n
    \r\n
    \r\n

    Headcount MRC

    \r\n

    \r\n {this.state.headCountMRCCode} -{\" \"}\r\n {this.state.headCountMRCName}\r\n

    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.isDisplayhccname === true ? (\r\n
    \r\n
    \r\n
    \r\n

    Headcount Cost Center

    \r\n

    \r\n {this.state.headCountCCCode} -{\" \"}\r\n {this.state.headCountCCName}\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\n
    \r\n
    \r\n

    \r\n

    \r\n {/* Will the costs for this Position need to be accounted for in a\r\n organization different from the Position’s location(i.e. cross\r\n charged between Consumer US and Corporate US?) */}\r\n Will the HC reporting organization/MRC for this position be\r\n different from the MRC/LE of the position’s location?\r\n (example: Janssen Belgium to Corporate US cross charge will be\r\n required)\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\n );\r\n }\r\n}\r\nexport default HomePage;\r\n","import React, { Component } from \"react\";\r\nimport axios from \"axios\";\r\nimport MetricsIcon from \"../../assets/MetricsIcon.png\";\r\nimport CryptoJS from \"crypto-js\";\r\nimport config from \"../../config/authConfig.js\";\r\n\r\nclass Metrics extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n WeeklyReportData: [],\r\n MonthlyReportData: [],\r\n result: null,\r\n filename: \"\",\r\n isAdmin: false,\r\n windowheight: 0,\r\n isLoaded: false,\r\n };\r\n }\r\n async componentDidMount() {\r\n var lsWWID_dec = \"1461636\";\r\n if (process.env.REACT_APP_WORKDAY_LOCAL_DEBUG != \"Yes\") {\r\n // const secretKeyforEncryption = config.encryptionkey;\r\n // const aliasWWIDName = config.aliasWWIDName;\r\n // var lsWWID = sessionStorage.getItem(aliasWWIDName);\r\n // var lsWWID_dec_bytes = CryptoJS.AES.decrypt(lsWWID, secretKeyforEncryption);\r\n // lsWWID_dec = JSON.parse(lsWWID_dec_bytes.toString(CryptoJS.enc.Utf8));\r\n const secretKeyforEncryption = config.encryptionkey;\r\n var lsWWID = localStorage.getItem(\"wwid\");\r\n var lsWWID_dec_bytes = CryptoJS.AES.decrypt(\r\n lsWWID,\r\n secretKeyforEncryption\r\n );\r\n var lsWWID_dec = JSON.parse(lsWWID_dec_bytes.toString(CryptoJS.enc.Utf8)); //this will decrypt the encrypted value.\r\n }\r\n this.updateWindowDimensions();\r\n window.addEventListener(\"resize\", this.updateWindowDimensions);\r\n await axios({\r\n method: \"GET\",\r\n url: process.env.REACT_APP_WORKDAY_API_URL + \"getMetricsReports\",\r\n headers: {\r\n apiKey: process.env.REACT_APP_WORKDAY_API_KEY,\r\n clientKey: process.env.REACT_APP_WORKDAY_API_CLIENTKEY,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n })\r\n .then((res) => {\r\n this.setState({\r\n WeeklyReportData: res.data.metricsReports[0].reportList,\r\n MonthlyReportData: res.data.metricsReports[1].reportList,\r\n });\r\n })\r\n .catch((error) => {\r\n //on error\r\n // alert(\"There is an error in API call.\");\r\n });\r\n await axios({\r\n method: \"POST\",\r\n url: process.env.REACT_APP_WORKDAY_API_URL + \"isAdmin\",\r\n headers: {\r\n apiKey: process.env.REACT_APP_WORKDAY_API_KEY,\r\n clientKey: process.env.REACT_APP_WORKDAY_API_CLIENTKEY,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: { userWWID: lsWWID_dec },\r\n //data: { \"userWWID\": \"643029835\" }\r\n })\r\n .then((res) => {\r\n this.setState({\r\n isLoaded: true,\r\n isAdmin: res.data.isAdmin,\r\n });\r\n })\r\n .catch((error) => {\r\n //on error\r\n // alert(\"There is an error in API call.\");\r\n });\r\n }\r\n componentWillUnmount() {\r\n window.removeEventListener(\"resize\", this.updateWindowDimensions);\r\n }\r\n\r\n updateWindowDimensions = () => {\r\n this.setState({\r\n windowheight:\r\n window.innerHeight -\r\n this.Dimension(\"headercontent\") -\r\n this.Dimension(\"footercontent\"),\r\n });\r\n };\r\n Dimension = (elmID) => {\r\n var elmHeight,\r\n elmMargin,\r\n elm = document.getElementsByClassName(elmID)[0];\r\n if (document.all) {\r\n // IE\r\n elmHeight = elm.clientHeight;\r\n elmMargin =\r\n parseInt(elm.currentStyle.marginTop, 10) +\r\n parseInt(elm.currentStyle.marginBottom, 10);\r\n } else {\r\n // Mozilla\r\n elmHeight = elm.clientHeight;\r\n elmMargin =\r\n parseInt(\r\n document.defaultView\r\n .getComputedStyle(elm, \"\")\r\n .getPropertyValue(\"margin-top\")\r\n ) +\r\n parseInt(\r\n document.defaultView\r\n .getComputedStyle(elm, \"\")\r\n .getPropertyValue(\"margin-bottom\")\r\n );\r\n }\r\n return elmHeight + elmMargin + 6;\r\n };\r\n getweeklyreport = (weeklyreport) => {\r\n if (weeklyreport.length > 0) {\r\n return weeklyreport.map((items) => (\r\n {\r\n this.DownloadReport(items.reportId, items.reportName);\r\n }}\r\n >\r\n \"Smiley\r\n

    {items.reportName}

    \r\n \r\n ));\r\n }\r\n };\r\n getmonthlyreport = (monthlyreport) => {\r\n if (monthlyreport.length > 0) {\r\n return monthlyreport.map((items) => (\r\n {\r\n this.DownloadReport(items.reportId, items.reportName);\r\n }}\r\n >\r\n \"Smiley\r\n

    {items.reportName}

    \r\n \r\n ));\r\n }\r\n };\r\n DownloadReport = (reportId, reportname) => {\r\n this.setState({ filename: reportname });\r\n axios({\r\n method: \"POST\",\r\n url: process.env.REACT_APP_WORKDAY_API_URL + \"downloadReport\",\r\n headers: {\r\n apiKey: process.env.REACT_APP_WORKDAY_API_KEY,\r\n clientKey: process.env.REACT_APP_WORKDAY_API_CLIENTKEY,\r\n \"Content-Type\": \"application/json\",\r\n },\r\n data: {\r\n reportId: reportId,\r\n reportName: reportname,\r\n },\r\n }).then((response) => {\r\n const type = response.headers[\"content-type\"];\r\n const blob = new Blob([response.data], { type: type, encoding: \"UTF-8\" });\r\n const link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = this.state.filename;\r\n link.click();\r\n });\r\n };\r\n render() {\r\n return (\r\n \r\n {this.state.isLoaded === true ? (\r\n
    \r\n {this.state.isAdmin === true ? (\r\n
    \r\n
    \r\n
    \r\n

    Weekly Report

    \r\n
    \r\n
    \r\n {this.getweeklyreport(this.state.WeeklyReportData)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Monthly Report

    \r\n
    \r\n
    \r\n {this.getmonthlyreport(this.state.MonthlyReportData)}\r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n

    You are not authorized to view this page

    \r\n
    \r\n
    \r\n )}\r\n
    \r\n ) : (\r\n
    Loading data please wait...
    \r\n )}\r\n \r\n );\r\n }\r\n}\r\nexport default Metrics;\r\n","import React, { Component } from 'react';\r\nimport home from '../../assets/home.png';\r\nimport { Link } from 'react-router-dom';\r\nclass PrivacyPolicy extends Component{\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state={\r\n windowheight: 0\r\n };\r\n } \r\n componentDidMount() {\r\n window.scrollTo(0, 0);\r\n this.updateWindowDimensions();\r\n window.addEventListener('resize', this.updateWindowDimensions);\r\n }\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.updateWindowDimensions);\r\n }\r\n updateWindowDimensions = () => {\r\n this.setState({ windowheight: window.innerHeight - this.Dimension(\"headercontent\") - this.Dimension(\"footercontent\") });\r\n }\r\n Dimension = (elmID) => {\r\n var elmHeight, elmMargin, elm = document.getElementsByClassName(elmID)[0];\r\n if (document.all) {// IE\r\n elmHeight = elm.clientHeight;\r\n elmMargin = parseInt(elm.currentStyle.marginTop, 10) + parseInt(elm.currentStyle.marginBottom, 10);\r\n } else {// Mozilla\r\n elmHeight = elm.clientHeight;\r\n elmMargin = parseInt(document.defaultView.getComputedStyle(elm, '').getPropertyValue('margin-top')) + parseInt(document.defaultView.getComputedStyle(elm, '').getPropertyValue('margin-bottom'));\r\n }\r\n return (elmHeight + elmMargin + 6);\r\n }\r\n render(){\r\n return(\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Privacy Policy

    \r\n \r\n

    Johnson & Johnson and its affiliated entities (collectively, “J&J”) are committed to protecting your personal information. J&J operates in many different countries. Some of these countries have laws related to the collection, use, transfer and disclosure of the personal information of individuals. The purpose of this Privacy Policy is to give you information about what personal information we collect through the website or application (hereinafter the “Service”), how we use, transfer and disclose it, and why.\r\n

    \r\n

    \r\n If you are a J&J employee, your employer has delivered to you a general notice that gives you information about what personal information we collect, use, transfer and disclose, and why. Such notice may be the ‘Global Employee Notice’ or a local version of such notice. If you are a non-employee worker assigned to J&J, your employing company has delivered to you a similar notice. Such notice may be the Global Non-Employee Worker Notice, or a local version of such notice. You can consult the Global Employee Privacy Notice or Non-Employee Worker Privacy Notice in the Summit training system(https://jnj.csod.com/), if you have access, by searching for “Privacy Notice” to find the document that is applicable to you. If your employer or company of assignment uses a local version, please consult your local HR or sponsor at J&J.\r\n

    \r\n
    Please consult such general notice for further information on: \r\n
      \r\n
    • Why we collect information about you
    • \r\n
    • How we may share your Personal Information
    • \r\n
    • How we protect your Personal Information
    • \r\n
    • How we ensure data integrity, and how we store your Personal Information
    • \r\n
    • How long we retain your Personal Information
    • \r\n
    • How to submit requests for access, correction, or erasure, questions and complaints
    • \r\n
    • What your obligations are with respect to the Personal Information
    • \r\n
    • Which types of Personal Information we collect,
    • \r\n
    • The purposes for which we may collect, use, transfer and disclose Personal Information
    • \r\n
    • The types of Third Parties with whom J&J may share Personal Information
    • \r\n
    • Additional provisions for specific jurisdictions.
    • \r\n
    \r\n
    \r\n

    ADDITIONAL INFORMATION APPLICABLE TO THIS SERVICE

    \r\n

    Why We Collect Information About You

    \r\n

    \r\n The personal data collected is intended for use by J&J employees and non-employee workers to recommend the position’s Legal Entity, Payroll MRC, Payroll Cost Center, Headcount MRC and Headcount Cost Center based on manager’s WWID and position’s J&J location. \r\n

    \r\n

    \r\n You will be informed what information is required and what information is optional. We may combine the information you submit with other information we have collected from you, whether on or offline. \r\n

    \r\n

    \r\n If you submit any personal information relating to another individual to us, you represent that you have the legal authority to do so and to permit us to use the information in accordance with this Privacy Policy.\r\n

    \r\n

    Data Retention

    \r\n

    \r\n The Company will retain Personal Information for the period necessary to fulfill the purposes outlined in this Notice. The criteria used to determine our retention periods may include one or more of the following: as long as we have an ongoing relationship with you; as required by a legal obligation to which we are subject; and as advisable in light of our legal position (such as in regard of applicable statutes of limitations, litigation, audits or regulatory investigations). The Johnson & Johnson Enterprise Retention Schedule, available in the Company’s internal Records Management site, ensures compliance with laws and regulations across the globe, while meeting local and country specific requirements.\r\n

    \r\n

    \r\n For more information about retention requirements applicable to your Personal Information, you may contact the records manager responsible for your Company.\r\n

    \r\n

    \r\n For example, if we collect your personal information for purpose mentioned above under Why We Collect Information About You, we will store it for a period of ACT+3.\r\n

    \r\n

    CHANGES TO THIS PRIVACY POLICY

    \r\n

    \r\n If this Privacy Policy changes, the revised statement will be posted on here. This Privacy Policy was last updated on May 8, 2020. We encourage you to regularly review the Privacy Policy\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nexport default PrivacyPolicy;","import React, {Component} from 'react';\r\nimport {Link} from 'react-router-dom';\r\nimport home from '../../assets/home.png';\r\nclass LegalNotice extends Component{\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state={\r\n windowheight: 0\r\n };\r\n } \r\n componentDidMount() {\r\n window.scrollTo(0, 0);\r\n this.updateWindowDimensions();\r\n window.addEventListener('resize', this.updateWindowDimensions);\r\n }\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.updateWindowDimensions);\r\n }\r\n updateWindowDimensions = () => {\r\n this.setState({ windowheight: window.innerHeight - this.Dimension(\"headercontent\") - this.Dimension(\"footercontent\") });\r\n }\r\n Dimension = (elmID) => {\r\n var elmHeight, elmMargin, elm = document.getElementsByClassName(elmID)[0];\r\n if (document.all) {// IE\r\n elmHeight = elm.clientHeight;\r\n elmMargin = parseInt(elm.currentStyle.marginTop, 10) + parseInt(elm.currentStyle.marginBottom, 10);\r\n } else {// Mozilla\r\n elmHeight = elm.clientHeight;\r\n elmMargin = parseInt(document.defaultView.getComputedStyle(elm, '').getPropertyValue('margin-top')) + parseInt(document.defaultView.getComputedStyle(elm, '').getPropertyValue('margin-bottom'));\r\n }\r\n return (elmHeight + elmMargin + 6);\r\n }\r\n render(){\r\n return(\r\n
    \r\n
    \r\n
    \r\n

    Legal Notice

    \r\n \r\n

    All content of this intranet site is owned or controlled by Johnson & Johnson Services, Inc. and is protected by worldwide copyright laws. You may download content only for your personal use for non-commercial purposes but no modification or further reproduction of the content is permitted. The content may otherwise not be copied or used in any way.

    \r\n

    \r\n The owners of this site will use reasonable efforts to include up-to-date and accurate information in this intranet site, but makes no representations, warranties, or assurances as to the accuracy, currency, or completeness of the information provided. The owners of this site shall not be liable for any damages or injury resulting from your access to, or inability to access, this intranet site, or from your reliance on any information provided at this intranet site.\r\n

    \r\n

    \r\n This intranet site may provide links or references to other sites but the owners of this site have no responsibility for the content of such other sites and shall not be liable for any damages or injury arising from that content. Any links to other sites are provided as merely a convenience to the users of this intranet site.\r\n

    \r\n

    \r\n The trademarks, service marks, trade names, trade dress and products in this intranet site are protected in the United States and internationally. No use of any of these may be made without the prior, written authorization of the owners of this site, except to identify the products or services of the company.\r\n

    \r\n

    \r\n Any personally identifiable information in electronic communications to this intranet site is governed by this site's Privacy Policy.The owners of this site shall be free to use or copy all other information in any such communications, including any ideas, inventions, concepts, techniques or know-how disclosed therein, for any purposes. Such purposes may include disclosure to third parties and/or developing, manufacturing and/or marketing goods or services.\r\n

    \r\n

    \r\n The sender of any communications to this intranet site or otherwise to the owners of this site shall be responsible for the content and information contained therein, including its truthfulness and accuracy.\r\n

    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nexport default LegalNotice;\r\n\r\n","import React, { Component } from 'react';\r\nimport axios from 'axios';\r\nimport { Link } from 'react-router-dom';\r\nimport home from '../../assets/home.png';\r\nimport PTLEHoverFeature from '../../assets/PTImages/PTLEHoverFeature.png';\r\nimport PTPayrollCCExpanded from '../../assets/PTImages/PTPayrollCCExpanded.png';\r\nimport PTManagerWWIDPopulated from '../../assets/PTImages/PTManagerWWIDPopulated.png';\r\nimport PTLocationSearch from '../../assets/PTImages/PTLocationSearch.png';\r\nimport PTLocationPopup from '../../assets/PTImages/PTLocationPopup.png';\r\nimport PTHeadcountPopup from '../../assets/PTImages/PTHeadcountPopup.png';\r\n\r\nconst months = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\r\nclass FrequentlyAsked extends Component{\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state={\r\n windowheight: 0,\r\n fwdLatestRefreshDate : '',\r\n locationLatestRefreshDate: '',\r\n r360LatestRefreshDate: ''\r\n };\r\n }\r\n componentDidMount() {\r\n window.scrollTo(0, 0);\r\n this.updateWindowDimensions();\r\n window.addEventListener('resize', this.updateWindowDimensions);\r\n axios({\r\n method: 'GET',\r\n url: process.env.REACT_APP_WORKDAY_API_URL +'getConfigDetails',\r\n headers: {\r\n 'apiKey': process.env.REACT_APP_WORKDAY_API_KEY,\r\n 'clientKey': process.env.REACT_APP_WORKDAY_API_CLIENTKEY,\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n }\r\n }).then((res)=>{\r\n //console.log(res.data.allConfig);\r\n var configData = res.data.allConfig;\r\n for(var i=0;i{\r\n //alert('Error with config calling API');\r\n });\r\n }\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.updateWindowDimensions);\r\n }\r\n updateWindowDimensions = () => {\r\n this.setState({ windowheight: window.innerHeight - this.Dimension(\"headercontent\") - this.Dimension(\"footercontent\") });\r\n }\r\n Dimension = (elmID) => {\r\n var elmHeight, elmMargin, elm = document.getElementsByClassName(elmID)[0];\r\n if (document.all) {// IE\r\n elmHeight = elm.clientHeight;\r\n elmMargin = parseInt(elm.currentStyle.marginTop, 10) + parseInt(elm.currentStyle.marginBottom, 10);\r\n } else {// Mozilla\r\n elmHeight = elm.clientHeight;\r\n elmMargin = parseInt(document.defaultView.getComputedStyle(elm, '').getPropertyValue('margin-top')) + parseInt(document.defaultView.getComputedStyle(elm, '').getPropertyValue('margin-bottom'));\r\n }\r\n return (elmHeight + elmMargin + 6);\r\n }\r\n render(){\r\n return(\r\n
    \r\n
    \r\n
    \r\n

    Frequently Asked Questions (FAQs)

    \r\n \r\n \r\n {/* Question1 */}\r\n What information do I need to use the tool?\r\n

    Required information:

    \r\n
      \r\n
    • Hiring Manager’s WWID
    • \r\n
    • J&J site location associated with position
    • \r\n
        \r\n
      • Once you input the Hiring Manager WWID the tool will provide you with the location on file in Workday for that manager.
      • \r\n
      \r\n
    • Optional: email addresses to which prediction will be sent.
    • \r\n
    \r\n\r\n {/* Question2 */}\r\n What browser do I need to access the tool?\r\n

    The recommended browser for using the tool is Google Chrome.
    \r\n Please note that if you are logged into the J&J network you will be able to access the link via Single Sign-On (SSO).

    \r\n\r\n {/* Question3 */}\r\n Why does the hiring manager’s location not match with their physical location?\r\n

    In some instances, the Hiring Manager’s physical location may not match with the location listed by the tool because the tool pulls the manager’s location from Workday. For example, a manager’s physical address could be 410 George Street in New Brunswick, but in Workday their location is listed as 1 J&J Plaza which is also in New Brunswick. This isn’t necessarily an error it’s simply the location on file.

    \r\n\r\n {/* Question4 */}\r\n

    Is the Hiring Manager’s Location the same as the J&J site location associated with position?

    \r\n

    They could be the same if the manager is trying to fill a position at their location. If this is the case the manager’s location would be listed as the J&J site location associated with the position. In some instances, these two locations may not match if the manager is hiring at a different location, e.g. a manger in the USA wanted to fill a position in Belgium.

    \r\n

    So it is important to understand that the J&J site location associated with the position may differ from the actual location/office the employee will sit at (i.e. sales employees do not sit at the J&J site location regularly, nevertheless the location associated with the position is the J&J site location of the selected Legal Entity).

    \r\n\r\n {/* Question5 */}\r\n

    When was the data used by the tool last refreshed?

    \r\n

    Location data was last refreshed on {this.state.locationLatestRefreshDate}.
    \r\n Prefix Cost Center mapping data was last refreshed on {this.state.r360LatestRefreshDate}.
    \r\n Financial Data Warehouse (FDW) data was last refreshed on {this.state.fwdLatestRefreshDate}.

    \r\n\r\n {/* Question6 */}\r\n

    How often is the data in the tool updated?

    \r\n\t\t\t\t\t\t

    Location data is updated once a week through Workday.\r\n\t\t\t\t\t\tPrefix cost center mapping is updated once a week through R360 LE-MRC-CC.\r\n\t\t\t\t\t\tFinance Data Warehouse (FDW) data used to generate the predictions is updated monthly.\r\n\t\t\t\t\t\t

    \r\n\r\n {/* Question7 */}\r\n

    Who can receive the Predictor Tool results via email?

    \r\n

    All J&J employees, contractor, interns or co-ops with a valid J&J email address can receive the Predictor Tool results via email.
    \r\n Note: A valid J&J email address is one with the domain “.jnj.com” e.g. jalexa43@its.jnj.com

    \r\n\r\n {/* Question8 */}\r\n

    What is the difference between Payroll and Headcount MRC and Cost Center?

    \r\n \r\n Payroll MRC & Cost Center
    \r\n Where an employee is paid:\r\n
      \r\n
    • When the employee receives a paycheck; the check is written from this MRC, and is recorded in this Cost Center.
    • \r\n
    \r\n
    \r\n Headcount MRC & Cost Center
    \r\n Where an employee’s headcount and expenses are reported:\r\n
      \r\n
    • This is the MRC and Cost Center who ultimately assumes the cost of the employee.
    • \r\n
    \r\n

    Unless the Headcount MRC and Cost Center is specific the employee is assumed to be reported in the same MRC and Cost Center that he/she is paid in.

    \r\n\r\n {/* Question9 */}\r\n

    Helpful hints and features for selecting legal entity (LE) and cost center (CC).

    \r\n

    Legal Entity Page : Users are able to hover over ‘Associated MRC’ to see the management reporting companies (MRC)s attached to that legal entity (LE).

    \r\n

    \"\"/

    \r\n

    Cost Center Page : When selecting both payroll or headcount cost centers, users have the ability to expand a cost center listing and see the employees that fall under that cost center (at a particular level).

    \r\n

    \"\"/

    \r\n

    Additionally, users have the ability to move one level up or down to see the employees within the organization that are also listed in that particular cost center.

    \r\n \r\n

    Home Page : After typing in the Hiring Manager’s WWID the tool will pull up the location for that manager from Workday.

    \r\n

    \"\"/

    \r\n

    This allows users to quickly input this information by typing directly into the location field.

    \r\n

    \"\"/

    \r\n\r\n {/* Question10 */}\r\n

    Predictor Tool pop-up descriptions.

    \r\n

    Popup #1

    \r\n

    \"\"/

    \r\n

    Pop-up text:

    \r\n

    “The Selected Requisition Location and Hiring Manager’s Location do not match. Do you wish to continue?”

    \r\n

    When does pop-up occur?

    \r\n

    If the hiring manager’s location does not match with the J&J site location associated with position selected by the user. This would occur if the manager is not hiring or filling a position at their location e.g. a manager in USA hiring for a position in Belgium.

    \r\n

    Pop-up user selection actions.

    \r\n

    If ‘Yes’ is selected:

    \r\n
      \r\n
    • User moves forward and is asked to select legal entity.
    • \r\n
    \r\n

    If ‘No’ is selected:

    \r\n
      \r\n
    • User will be sent back to the home page, where they can change the location before proceeding.
    • \r\n
    \r\n

    Popup #2

    \r\n

    \"\"/

    \r\n

    Pop-up text:

    \r\n

    “Will the costs for this Position need to be accounted for in an organization different from the Position’s location (i.e. cross charged between Consumer US and Corporate US?)”

    \r\n

    When does pop-up occur?

    \r\n

    Popup appears after you select the Payroll Cost Center to determine whether or not Headcount MRC and CC are needed – if the cost of the position need to be accounted for in an organization different from the position’s location.

    \r\n

    Pop-up user selection actions.

    \r\n

    If ‘Yes’ is selected:

    \r\n
      \r\n
    • User is prompted to select Headcount MRC followed by Headcount CC before being sent to the results page.
    • \r\n
    \r\n

    If ‘No’ is selected:

    \r\n
      \r\n
    • User will be sent straight to results page where they can copy and paste the information into their Workday Job Requisition or have the predictions emailed.
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nexport default FrequentlyAsked;\r\n\r\n\r\n","import React from 'react'\r\nimport { Route, Switch } from 'react-router-dom'\r\nimport App from './components/App'\r\nimport HomePage from './components/content/HomePage'\r\nimport Metrics from './components/content/Metrics'\r\nimport PrivacyPolicy from './components/content/PrivacyPolicy'\r\nimport LegalNotice from './components/content/LegalNotice'\r\nimport FrequentlyAsked from './components/content/FAQs'\r\nconst Routes = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\nexport default Routes","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport \"./index.css\";\r\nimport * as serviceWorker from \"./serviceWorker\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport Routes from \"./Route\";\r\nimport Auth from \"./components/auth/auth\";\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n// src/index.js\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAABMklEQVRIie2TMUvDQBTH/9fEIBZ0EPLqWCQgVEqv/QZOEbq4qpNfwKGDX8HVXRCcdRGKCFIcdbEUEaR3qJNQiA5OgiTPQQKmVHMmdGp/cMvx7v97j7sDJgrp6pZ0dWsM0SwkqX1Jir+XPgC4YHJSpBVUKveOEzhHADaHTp4uzNrbV8/lj8yCKvWKlpg7AcP/paTjfGLj5s17/7dg1X2kGRG2ATT+agLAHcLQ7wYrL8aCKj2ULVgXALyU8JinKCz4vWC5nyqoL+kGR9wGQIbhMa8CaN4OvOufm4mXUCe9xhF3MoQDwCIDl7Kk10cKaq7aYvA5gPkM4TFFMJ9JUjsJQY36u0LgGICTIzzGBnAoS2oPGHEHkhTnSe8OvESm0W/Mg21aONyZ6aRjn2AqmADBlFS+ALLdU1hNM+FgAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIsAAAAZCAYAAAABt923AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUZBQ0UyRjUxODAwMTFFQUI5RERENzRDOTgyNEE4MkQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUZBQ0UyRjYxODAwMTFFQUI5RERENzRDOTgyNEE4MkQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxRkFDRTJGMzE4MDAxMUVBQjlEREQ3NEM5ODI0QTgyRCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxRkFDRTJGNDE4MDAxMUVBQjlEREQ3NEM5ODI0QTgyRCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pn+2LmEAAAkQSURBVHja7Fp5lI5V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\"","module.exports = __webpack_public_path__ + \"static/media/JNJSurvey.bb59876d.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA6ElEQVQoU5VSS65EQBStlhAM2YpgASTszm9pEglLYGjie59zulW8pCd9kpJyPrfqXl5yQf0AA49xHFVd1+o8T5JPHMdBbZqmN4ETqqrCKRJFkSzLAorAPgxDaleIHANXFZohJEkiXddxYQ8ujmN6dABY11WyLBPLssRxHLFtW0zTlDzPqd3QAWAYBvF9n1WxPM+Tvu8/6hts+sa2bWqe58+b+joEfQIaTNOUlQ3DENd1eSVc8zkIBvZ9Z2Mwo9G2bdn0XQAaPDrQNA2FIAj+NfgcKzwAA9eHk6Io9OieAFeWJT3Aj7+GUn8EljO9ixuQpgAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/PTLEHoverFeature.330b1cb0.png\";","module.exports = __webpack_public_path__ + \"static/media/PTPayrollCCExpanded.7b4f5935.png\";","module.exports = __webpack_public_path__ + \"static/media/PTManagerWWIDPopulated.aac4d9b8.png\";","module.exports = __webpack_public_path__ + \"static/media/PTLocationSearch.8fb74ca0.png\";","module.exports = __webpack_public_path__ + \"static/media/PTLocationPopup.c15532c4.png\";","module.exports = __webpack_public_path__ + \"static/media/PTHeadcountPopup.269a346f.png\";"],"sourceRoot":""}