{"version":3,"sources":["components/constants.tsx","components/util.ts","Constants.ts","services/config.ts","services/auth/msal.ts","services/application-apis/axiosConfig.ts","services/application-apis/application-apis.ts","components/Timeline/Timeline.Styles.ts","services/telemetry/telemetry.ts","services/telemetry/telemetryWrapper.ts","services/telemetry/telemetryHeartWrapper.ts","components/Timeline/Timeline.tsx","components/reference-history/history-error.styles.ts","components/reference-history/reference-middle-layer.tsx","components/reference-history/history-error.tsx","components/reference-history/history-header.tsx","components/reference-history/index.tsx","components/upload-decline/UploadOrDecline.styles.ts","services/survey/campaigns.ts","services/survey/FloodgateService.ts","components/upload-decline/dialogs/decline.tsx","components/assets/decline-success.tsx","components/upload-decline/azure-storage-blob.ts","components/upload-decline/dialogs/upload.tsx","components/assets/upload-success.tsx","components/upload-decline/index.tsx","components/assets/note-edit.tsx","components/body/index.tsx","components/footerTop/FooterTopInbuiltStyle.tsx","components/staticLinks.ts","components/footerTop/FooterTop.tsx","components/assets/expiry-svg.tsx","components/errorBody/expiry-error.tsx","components/errorBody/page-error.tsx","components/errorBody/service-error.tsx","components/errorBody/index.tsx","components/header/index.tsx","components/navbar/NavbarInBuiltStyle.tsx","components/navbar/Navbar.tsx","components/uhf/footer.tsx","components/uhf/header.tsx","App.tsx","hooks/usePlannedDownTimeInfo.tsx","hooks/useReferenceMetaData.tsx","index.tsx"],"names":["ApplicationStatus","ApplicationErrorStatus","ErrorSeverity","CssIncludes","JavaScriptIncludes","UHFHeaderHTML","UHFFooterHTML","OpenInNewTab","ChevronRightMed","FooterItems","uploadFileSizeLimitInMB","parseInt","process","TelemetryLogs","TelemetryErrorPageLogs","TelemetrySubFeature","ReferenceHistoryTexts","TelemetryHistoryLogs","uploadFileFormats","getQueryText","queryText","sessionStorage","getItem","useWindowWidth","React","useState","window","innerWidth","width","setWidth","useEffect","handleWindowResize","addEventListener","removeEventListener","getURLParams","urlParams","URLSearchParams","location","search","candidateId","atob","get","referenceId","base64ToArrayBuffer","base64","binaryString","Uint8Array","length","map","byte","i","charCodeAt","Activity","config","careersPortalLink","monitoringEndPointURL","msalConfig","auth","clientId","authority","redirectUri","origin","knownAuthorities","cache","storeAuthStateInCookie","loginRequestScope","scopes","api","retryCount","baseUrl","getBlobAccessToken","statusUpdate","blobEndPoint","getReferenceMetaData","referenceHistory","referenceHistoryBlob","ocv","appId","area","production","telemetry","enableHeartMetrics","Boolean","instrumentationKey","serviceOffering","serviceLine","service","REACT_APP_TELEMETRY_SERVICE","componentName","subComponentName","componentId","application","sessionId","uuidv4","environmentName","defaultCandidateId","msalInstance","PublicClientApplication","getAccountDetails","currentAccounts","getAllAccounts","signOut","logoutRequest","logout","getToken","account","silentProfileRequest","loginHint","username","acquireTokenSilent","resp","accessToken","getTokenClaimsFromAccountDetails","idTokenClaims","axiosInstance","Axios","create","baseURL","axiosRetry","retries","retryDelay","exponentialDelay","interceptors","request","use","axiosConfig","Promise","resolve","reject","headers","Authorization","error","applicationApi","params","status","DECLINED","patch","url","historyParams","referenceProviderEmail","email","referenceHistoryEndPoint","replace","referenceHistoryBlobEndPoint","toString","plannedDownTimeEndpoint","axios","timeLineStyle","root","flex","paddingLeft","marginRight","paraGraphText","fontSize","marginTop","divContainer","maxHeight","overflowY","ulContainer","listStyleType","position","content","background","display","left","height","zIndex","liContainer","margin","lineHeight","liContent","marginLeft","textContainer","statusText","downloadText","cursor","downloadSubText","downloadLink","textDecoration","declineStatusText","greenIcon","color","boxShadow","redIcon","downloadIcon","spinnerContainer","justifyContent","pendingText","fontWeight","spinnerStyle","flexDirection","label","marginBottom","getAIKeyIfDebugEnable","appInsights","browserHistory","createBrowserHistory","basename","reactPlugin","ReactPlugin","aplicationInsights","ApplicationInsights","extensions","extensionConfig","identifier","history","loadAppInsights","createTelemetryService","heartTelemetryLogger","heartLogger","AppInsights","InitializeTelemetry","correlation","Correlator","AddMsitTelemetryInitializers","undefined","ConfigureHeartTelemetry","commonLogProperties","correlationId","language","logTelemetry","featureName","subfeatureName","actionType","actionName","eventName","properties","FeatureUsageEventV2","ComponentType","Web","SubFeatureName","setAuthenticatedUserContext","StartDateTime","Date","TrackFeatureUsageEventV2","logHeartFeatureEvent","logException","exception","severityLevel","errorSeverity","errorLogProperties","Low","errorMessage","message","EnvironmentName","trackException","SeverityLevel","Error","getClassNames","classNamesFunction","Timeline","props","isDownloadProgress","setIsDownloadProgress","styles","theme","classNameFromStyles","_fetchReferenceLetter","key","response","blob","Blob","data","operationResult","result","fileContent","type","anchor","document","createElement","download","fileName","href","webkitURL","URL","createObjectURL","dataset","downloadurl","join","click","ActionType","User","EventName","LinkClicked","className","PENDING","historyItems","keyIndex","localDate","moment","statusDate","local","format","Icon","iconName","tabIndex","successText","onClick","onKeyDown","Spinner","size","SpinnerSize","xSmall","declinedText","noResultText","ErrorHeaderStyle","paddingTop","paddingBottom","errorStateHeading","errorStateDescription","errorStateCtaButtonStyle","borderColor","backgroundColor","selectors","triggerReferenceHistory","eventFrom","historyRenderEvent","CustomEvent","detail","ButtonClick","setTimeout","dispatchEvent","HistoryErrorBody","setIsRefreshTrue","payload","headingText","descriptionText","iconType","ErrorStateIconType","InternetIssue","callToActionButton","ctaText","ctaHandler","ctaAriaLabel","ErrorStateComponent","ReferenceHistoryHeader","candidateFirstName","candidateLastName","ReferenceHistoryWrapper","setData","isProgress","setIsProgress","isErrorOccured","setIsErrorOccured","isRefresh","setIsRefresh","getHistoryData","then","sortedData","sort","a","b","diff","catch","e","firstName","lastName","large","uploadDeclineDialogStyle","minWidth","uploadedFileButtonStyle","flexContainer","messageBarStyle","text","campaigns","CampaignId","StartTimeUtc","EndTimeUtc","GovernedChannelType","Scope","Type","Languages","Value","NominationScheme","PercentageNumerator","Number","PercentageDenominator","NominationPeriod","IntervalSeconds","CooldownPeriod","SurveyTemplate","ActivationEvent","Count","IsAggregate","Content","Prompt","Title","Question","YesLabel","NoLabel","Rating","IsZeroBased","RatingValuesAscending","FloodgateService","anyWindow","OfficeBrowserFeedback","floodgate","initialize","start","getEngine","getActivityListener","logActivity","str","initOptions","locale","stylesUrl","intlUrl","intlFilename","environment","userEmail","userEmailConsentDefault","telemetryGroup","featureArea","onError","err","logProperties","autoDismiss","campaignDefinitions","onDismiss","campaignId","submitted","onfocus","onblur","stop","onunload","floodgateService","declineDialogContent","DialogType","normal","title","closeButtonAriaLabel","subText","modalProps","isBlocking","main","DeclineDialog","hideDeclineDialog","toggleDeclineDialog","setStatus","isProcessing","setIsProcessing","isDeclineFailed","setIsDeclineFailed","handleUploadRejection","startEngine","triggerRequestCompletedActivity","onDismissingDeclineDialog","Dialog","hidden","dialogContentProps","DialogFooter","medium","PrimaryButton","disabled","DefaultButton","MessageBar","messageBarType","MessageBarType","isMultiline","dismissButtonAriaLabel","truncated","Link","target","underline","DeclineSuccessSVG","viewBox","fill","xmlns","d","cx","cy","r","clipPath","fillRule","clipRule","id","gradientUnits","gradientTransform","offset","stopColor","transform","createBlobInContainer","containerClient","file","blobClient","getBlockBlobClient","name","options","blobHTTPHeaders","blobContentType","metadata","CandidateId","ReferenceId","tags","Status","Timestamp","toUTCString","toJSON","uploadData","uploadFileToBlob","sasToken","blobService","BlobServiceClient","getContainerClient","uploadDialogContent","UploadDialog","hideUploadDialog","toggleUploadDialog","hiddenFileInput","useRef","fileSelected","setFileSelected","setFileName","Math","random","inputKey","setInputKey","isFileUploading","setIsFileUploading","isFileSizeExceeds","setIsFileSizeExceeds","isSupportedFileFormat","setIsSupportedFileFormat","isUploadFailed","setIsUploadFailed","isFileAlreadyPresent","setIsFileAlreadyPresent","handleFileRemoval","current","value","onFileChange","event","currentTarget","files","fileExtension","split","includes","toLowerCase","triggerTelemetry","APPROVED","onFileUpload","fileDate","getUTCMonth","getUTCDate","getUTCFullYear","getUTCHours","getUTCMinutes","getUTCSeconds","blobAccessToken","newFile","File","pop","iconProps","allowDisabledFocus","IconButton","ariaLabel","ref","onChange","style","accept","componentRef","self","focus","warning","UploadSuccessSVG","UploadOrDecline","updatedDate","setAppStatus","useBoolean","toggle","REQUESTED","PageLoad","init","NoteEditSVG","Body","advisorName","containerStackStyles","inner","iconStylesForStacksParent","verticalAlign","pointerEvents","iconStylesForStacks","firstStackStyles","padding","maxWidth","firstStackItemStyles","alignItems","fontFamily","stackStyles","itemStyleLeft","border","marginImgs","marginLinkedIn","languageStyles","borderRight","envLink","getNavBarLinks","siteLangPath","professionalsPath","studentsAndGrads","signOutPageLink","host","getExternalLinks","getFooterLinks","completeSitePath","FAQ","InterviewTips","AccessibilityRequest","Comment","LegalPolicies","DPN","Labor","LinkedInMSAccount","LinkedInLogo","TwitterMSAccount","TwitterLogo","FacebookMSAccount","FacebookLogo","InstaMSAccount","InstaLogo","FrenchFlag","contructFooterLinks","sectionStackTokens","childrenGap","firstStackTokens","BrandingFooter","_hrefs","Stack","horizontal","wrap","FooterTopStyles","tokens","role","src","alt","BrandingFooterWrapper","Fabric","ExpiryIcon","viewWidth","viewHeight","iconSize","setIconSize","view","ExpiryErrorBody","descriptionLinkText","descriptionLinkUrl","OrangeCapAndCat","PageErrorBody","DataIssue","go","ServiceErrorBody","ErrorBody","errorStatus","DOWN","INVALID","EXPIRED","Header","displayName","candidateName","firstNavStyles","float","minHeight","group","transition","transitionProperty","transitionDuration","transitionTimingFunction","transitionDelay","chevronButton","paddingRight","borderBottom","chevronIcon","right","isExpanded","groupContent","navItem","compositeLink","link","linkText","secondNavStyles","navItems","borderRadius","_window","getWindow","eventAdded","NavbarCareersComponent","canExpand","setCanExpand","groupExpanded","setGroupExpanded","getElementsByClassName","classList","onHeaderClick","ev","newGroupExpanded","Object","keys","eventTargetElem","keyName","childNodes","textContent","stopPropagation","onRenderGroupHeader","defaultRenderer","links","firstNavLinkGroups","collapseAriaLabel","collapseByDefault","open","expandAriaLabel","Nav","groups","NavbarCareersComponentWrapper","UHFBottomFooter","body","footerHTML","__html","universalFooterEvent","sender","preventDefault","anchorLink","getAttribute","innerText","localePicker","getElementById","footerAnchorElements","dangerouslySetInnerHTML","UHFTopHeader","headerHTML","universalHeaderEvent","allMs","querySelectorAll","headerAnchorElements","skipTOMain","moveTOAppaction","blur","scrollIntoView","notificationButton","querySelector","setAttribute","initializeIcons","uhfAPI","App","date","UHFHeader","setUHFHeader","UHFFooter","setUHFFooter","cssIncludes","setCssIncludes","scriptsLoaded","setScriptsLoaded","countCss","setCountCss","appStatus","setErrorStatus","isPageReady","setIsPageReady","setadvisorName","isAuthenticated","useIsAuthenticated","useMsal","instance","inProgress","serviceName","setResult","loaded","setLoaded","responsePlannedDownTimeInfo","fetchPlannedDownTimeInfo","plannedDownTimeInfo","plannedDownTimeLoaded","usePlannedDownTimeInfo","candidatePreferredFirstName","referenceFirstName","referenceLastName","referenceMetaData","setReferenceMetaData","referenceMetaDataError","setReferenceMetaDataError","referenceLoaded","setReferenceLoaded","ERROR","errorInfo","errorCode","statusCode","fetchReferenceMetaData","referenceMetaLoaded","useReferenceMetaData","toLocaleString","year","month","day","loadJSDependencies","jsIncludes","dummyElement","innerHTML","scriptArr","getElementsByTagName","script","scriptTag","appendChild","InteractionStatus","None","loginRedirect","handleLogin","loadStyle","rel","onload","prevState","headScript","parentNode","insertBefore","linkArr","cssLocal","jsLocal","headerLocal","footerLocal","uhfuri","shell","xmlDoc","DOMParser","parseFromString","headerHtml","footerHtml","setItem","exact","path","Fragment","ReactDOM","render","StrictMode"],"mappings":"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","file":"static/js/main.b2b634b9.chunk.js","sourcesContent":["/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\nexport const CssIncludes = \"CssIncludes\";\r\nexport const JavaScriptIncludes = \"JavaScriptIncludes\";\r\nexport const UHFHeaderHTML = \"UHFHeader_en_US\";\r\nexport const UHFFooterHTML = \"UHFFooter_en_US\";\r\nexport const FooterLangSelector = \"locale-picker-link\";\r\nexport const OpenInNewTab = \"_blank\";\r\nexport const OpenInSameTab = \"_self\";\r\nexport const UHFFooterLinksClassName = \"c-uhff-link\";\r\nexport const RequestQueryString = \"MSGTAActionCenterQueryString\";\r\nexport const ChevronRightMed = \"ChevronRightMed\";\r\n\r\nexport const FooterItems = {\r\n FAQ: \"FAQ\",\r\n Interview_tips: \"Interview tips\",\r\n Accessibility_request: \"Accessibility request\",\r\n Support: \"Support\",\r\n Legal_policies: \"Legal policies\",\r\n \"Microsoft_Data_Privacy_Notice_(DPN)\": \"Microsoft Data Privacy Notice (DPN)\",\r\n Labor_Condition_Application_Postings: \"Labor Condition Application Postings\",\r\n Follow_Microsoft_Careers: \"Follow Microsoft Careers\",\r\n Follow_us_on_social_media: \"Follow us on social_media\",\r\n Additional_support: \"Additional support\",\r\n};\r\n\r\nexport const Footer = {\r\n FooterTop: \"FooterTop\",\r\n FooterBottom: \"FooterBottom\",\r\n};\r\n\r\nexport enum ApplicationStatus {\r\n REQUESTED = \"Requested\",\r\n APPROVED = \"Complete\",\r\n DECLINED = \"Reference Declined\",\r\n ERROR = \"Reference Error\",\r\n PENDING = \"Pending\",\r\n}\r\n\r\nexport enum ApplicationErrorStatus {\r\n NO_ERROR = \"No reference error\",\r\n EXPIRED = \"Request expired\",\r\n INVALID = \"Invalid URL Given\",\r\n DOWN = \"Page Down\",\r\n}\r\n\r\nexport enum ErrorSeverity {\r\n Critical = 0,\r\n High = 1,\r\n Medium = 2,\r\n Low = 3,\r\n}\r\nexport const uploadFileSizeLimitInMB = parseInt(\r\n process.env.REACT_APP_MAX_FILE_UPLOAD_SIZE || \"10\"\r\n);\r\n\r\nexport const TelemetryLogs = {\r\n DelineRequest: \"Reference - decline a request\",\r\n PageViews: \"Reference - Provider page views\",\r\n PostOTPVerification: \"Post OTP-Verification - Landing Page\",\r\n};\r\n\r\nexport const TelemetryErrorPageLogs = {\r\n ServerErrorPage: \"References - Down Page\",\r\n PageErrorPage: \"Reference - Invalid URL\",\r\n};\r\n\r\nexport const TelemetrySubFeature = {\r\n HistorySection: \"History section activity\",\r\n LetterDownload: \"Reference provider - Letter download\",\r\n};\r\n\r\nexport const ReferenceHistoryTexts = {\r\n headingText: \"Your reference history for\",\r\n successText: \"Provided on\",\r\n declinedText: \"Declined on\",\r\n noResultText: \"No previous reference letter provided or declined\",\r\n downloadText: \"Reference letter\",\r\n};\r\n\r\nexport const TelemetryHistoryLogs = {\r\n DeclineReference: \"DeclineReference\",\r\n UploadReference: \"UploadReference\",\r\n ServerErrorReference: \"ServerErrorReference\",\r\n ReferenceHistoryError: \"ReferenceHistoryError\",\r\n};\r\n\r\nexport const uploadFileFormats = [\"pdf\", \"doc\", \"docx\", \"txt\", \"pptx\"];\r\nexport const DefaultFileUploadName = \"ReferenceLetter\";\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n\r\nimport React from \"react\";\r\nimport { RequestQueryString } from \"./constants\";\r\n\r\nexport const getQueryText = (): string => {\r\n const queryText = sessionStorage.getItem(RequestQueryString);\r\n return queryText ? queryText : \"\";\r\n};\r\n\r\n// eslint-disable-next-line\r\nexport const useWindowWidth = () => {\r\n const [width, setWidth] = React.useState(window.innerWidth);\r\n React.useEffect(() => {\r\n const handleWindowResize = () => setWidth(window.innerWidth);\r\n window.addEventListener(\"resize\", handleWindowResize);\r\n return () => window.removeEventListener(\"resize\", handleWindowResize);\r\n }, []);\r\n return { width };\r\n};\r\n\r\ninterface URLParams {\r\n candidateId: string;\r\n referenceId: string;\r\n}\r\n\r\nexport interface IPlannedDownTimeInfo {\r\n status: string;\r\n serviceName: string;\r\n message: string;\r\n}\r\n\r\nexport interface IReferenceMetaData {\r\n status: string;\r\n statusDate: string;\r\n candidatePreferredFirstName: string;\r\n candidateLastName: string;\r\n referenceFirstName: string;\r\n referenceLastName: string;\r\n}\r\n\r\nexport interface IReferenceMetaError {\r\n status: number;\r\n statusCode?: number;\r\n}\r\n\r\nexport const getURLParams = (): URLParams => {\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const urlData: URLParams = {\r\n candidateId: `${atob(urlParams.get(\"id\") || \"\")}`,\r\n referenceId: `${urlParams.get(\"referenceid\") || \"\"}`,\r\n };\r\n return urlData;\r\n};\r\n\r\nexport function base64ToArrayBuffer(base64: string): Uint8Array {\r\n if (base64) {\r\n const binaryString = window.atob(base64); // Comment this if not using base64\r\n const bytes = new Uint8Array(binaryString.length);\r\n return bytes.map((byte, i) => binaryString.charCodeAt(i));\r\n }\r\n return new Uint8Array(0);\r\n}\r\n\r\nexport function getAppUpdatedDate(date?: Date): string {\r\n if (!date) date = new Date();\r\n const options = { year: \"numeric\", month: \"long\", day: \"2-digit\" } as const;\r\n return date.toLocaleString(\"en-US\", options);\r\n}\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n\r\nexport const Production = \"Production\";\r\n\r\nexport const Activity = {\r\n RequestCompleted: \"RequestCompleted\",\r\n };\r\n\r\nexport const SurveyTaken = \"Survey submitted\";\r\n\r\nexport const SurveyLaunchFailed = \"Survey failed to launch\";","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { Production } from \"../Constants\";\r\ninterface MSALAuthConfig {\r\n clientId: string;\r\n authority: string;\r\n redirectUri: string;\r\n knownAuthorities: string[];\r\n}\r\n\r\ninterface MSALCacheConfig {\r\n storeAuthStateInCookie: boolean;\r\n}\r\ninterface MsalConfig {\r\n auth: MSALAuthConfig;\r\n cache: MSALCacheConfig;\r\n}\r\n\r\ninterface APIConfig {\r\n retryCount: number;\r\n baseUrl: string;\r\n getBlobAccessToken: string;\r\n blobEndPoint: string;\r\n statusUpdate: string;\r\n getReferenceMetaData: string;\r\n referenceHistory: string;\r\n referenceHistoryBlob: string;\r\n}\r\ninterface telemetryConfig {\r\n enableHeartMetrics: boolean;\r\n instrumentationKey: string;\r\n service: string;\r\n serviceLine: string;\r\n serviceOffering: string;\r\n componentName: string;\r\n subComponentName: string;\r\n componentId: string;\r\n application: string;\r\n sessionId: string;\r\n environmentName: string;\r\n defaultCandidateId: string;\r\n}\r\n\r\ninterface OcvConfig{\r\n appId: string,\r\n area: string\r\n}\r\n\r\ninterface ApplicationConfig {\r\n careersPortalLink: string;\r\n msalConfig: MsalConfig;\r\n monitoringEndPointURL: string;\r\n loginRequestScope: {\r\n scopes: string[];\r\n };\r\n api: APIConfig;\r\n telemetry: telemetryConfig;\r\n ocv: OcvConfig;\r\n production: boolean;\r\n}\r\n\r\nexport const config: ApplicationConfig = {\r\n careersPortalLink: `${process.env.REACT_APP_CAREERS_PORTAL_URI}`,\r\n monitoringEndPointURL: process.env.REACT_APP_MONITORING_SERVICE || \"\",\r\n msalConfig: {\r\n auth: {\r\n clientId: `${process.env.REACT_APP_MSAL_CLIENT_ID}`,\r\n authority: `${process.env.REACT_APP_MSAL_AUTHORITY}`,\r\n redirectUri: `${window.location.origin}`,\r\n knownAuthorities: [`${process.env.REACT_APP_MSAL_KNOWN_AUTHORITY_1}`],\r\n },\r\n cache: {\r\n storeAuthStateInCookie: false,\r\n },\r\n },\r\n loginRequestScope: {\r\n scopes: [`${process.env.REACT_APP_MSAL_LOGIN_REQUEST_SCOPE_1}`],\r\n },\r\n api: {\r\n retryCount: 3,\r\n baseUrl: `${process.env.REACT_APP_API_BASE_URL}`,\r\n getBlobAccessToken: \"/v1/Reference/blob\",\r\n statusUpdate: \"/v1/Reference/status\",\r\n blobEndPoint: `https://${process.env.REACT_APP_BLOB_ACCOUNT_STORAGE}.blob.core.windows.net`,\r\n getReferenceMetaData: \"/v1/Reference\",\r\n referenceHistory:\r\n \"/v1/Reference/{candidateId}/referencehistory?referenceProviderEmail={referenceProviderEmail}\",\r\n referenceHistoryBlob: \"v1/Reference/{candidateId}/document/{referenceId}\",\r\n },\r\n ocv: {\r\n appId: process.env.REACT_APP_OCV_APPID || \"\",\r\n area: process.env.REACT_APP_OCV_AREA || \"Global Careers Site\",\r\n },\r\n production:\r\n process.env.REACT_APP_ENVIRONMENT_NAME &&\r\n process.env.REACT_APP_ENVIRONMENT_NAME === Production\r\n ? true\r\n : false,\r\n telemetry: {\r\n enableHeartMetrics:\r\n Boolean(typeof process.env.REACT_APP_ENABLEHEARTMETRICS) || false,\r\n instrumentationKey:\r\n process.env.REACT_APP_APPINSIGHTS_INSTRUMENTATIONKEY || \"\",\r\n\r\n serviceOffering: process.env.REACT_APP_TELEMETRY_SERVICEOFFERING || \"\",\r\n serviceLine: process.env.REACT_APP_TELEMETRY_SERVICELINE || \"\",\r\n service: process.env.REACT_APP_TELEMETRY_SERVICE || \"\",\r\n componentName: process.env.REACT_APP_TELEMETRY_COMPONENTNAME || \"\",\r\n subComponentName: process.env.REACT_APP_TELEMETRY_SUBCOMPONENTNAME || \"\",\r\n componentId: process.env.REACT_APP_TELEMETRY_COMPONENTID || \"\",\r\n application: process.env.REACT_APP_TELEMETRY_COMPONENTNAME || \"\",\r\n sessionId: uuidv4(),\r\n environmentName: process.env.REACT_APP_ENVIRONMENT_NAME || \"\",\r\n defaultCandidateId: \"-1\",\r\n }\r\n};\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n\r\nimport { AccountInfo, EndSessionRequest } from \"@azure/msal-browser\";\r\n\r\nimport { PublicClientApplication } from \"@azure/msal-browser\";\r\nimport { config } from \"../config\";\r\n\r\nexport const msalInstance = new PublicClientApplication(config.msalConfig);\r\n\r\nexport function getAccountDetails(): AccountInfo | null {\r\n const currentAccounts = msalInstance.getAllAccounts();\r\n if (currentAccounts == null) {\r\n return null;\r\n }\r\n return currentAccounts[0];\r\n}\r\n\r\nexport function signOut(logoutRequest?: EndSessionRequest | undefined): void {\r\n msalInstance.logout(logoutRequest);\r\n}\r\n\r\nexport async function getToken(): Promise {\r\n const account = getAccountDetails();\r\n if (account) {\r\n const silentProfileRequest = {\r\n scopes: config.loginRequestScope.scopes,\r\n account: account,\r\n loginHint: account.username,\r\n };\r\n try {\r\n const resp = await msalInstance.acquireTokenSilent(silentProfileRequest);\r\n return resp.accessToken;\r\n } catch (e) {\r\n signOut();\r\n }\r\n }\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport function getTokenClaimsFromAccountDetails(): any | null {\r\n const currentAccounts = msalInstance.getAllAccounts();\r\n if (currentAccounts == null) {\r\n return null;\r\n }\r\n return currentAccounts[0]?.idTokenClaims;\r\n}\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n\r\nimport Axios from \"axios\";\r\n\r\nimport { config } from \"../config\";\r\nimport { getToken } from \"../auth/msal\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport axiosRetry from \"axios-retry\";\r\n\r\nconst axiosInstance = Axios.create({\r\n baseURL: config.api.baseUrl,\r\n});\r\n\r\naxiosRetry(axiosInstance, {\r\n retries: config.api.retryCount,\r\n retryDelay: axiosRetry.exponentialDelay,\r\n});\r\n\r\naxiosInstance.interceptors.request.use(\r\n (axiosConfig) => {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n if (axiosConfig.headers) {\r\n axiosConfig.headers.Authorization = \"Bearer \" + (await getToken());\r\n axiosConfig.headers[\"X-SubCorrelationId\"] = uuidv4();\r\n }\r\n resolve(axiosConfig);\r\n } catch (error) {\r\n reject(axiosConfig);\r\n }\r\n });\r\n },\r\n function (error) {\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nexport default axiosInstance;\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n\r\nimport axios, { AxiosResponse } from \"axios\";\r\n\r\nimport { ApplicationStatus } from \"../../components/constants\";\r\nimport { ReferenceStatusUpdate } from \"./applications-api.types\";\r\nimport axiosInstance from \"./axiosConfig\";\r\nimport { config } from \"../config\";\r\nimport { getTokenClaimsFromAccountDetails } from \"../auth/msal\";\r\nimport { getURLParams } from \"../../components/util\";\r\n\r\nexport const applicationApi = {\r\n //eslint-disable-next-line\r\n getBlobAccessToken: (): Promise> => {\r\n return axiosInstance.get(config.api.getBlobAccessToken);\r\n },\r\n\r\n //eslint-disable-next-line\r\n declineRequest: (): Promise> => {\r\n const params: ReferenceStatusUpdate = {\r\n candidateId: parseInt(getURLParams().candidateId),\r\n referenceId: parseInt(getURLParams().referenceId),\r\n status: ApplicationStatus.DECLINED,\r\n };\r\n return axiosInstance.patch(config.api.statusUpdate, params);\r\n },\r\n\r\n //eslint-disable-next-line\r\n getReFerenceMetadata: (): Promise> => {\r\n const url = `${config.api.getReferenceMetaData}?candidateId=${parseInt(\r\n getURLParams().candidateId\r\n )}&referenceId=${parseInt(getURLParams().referenceId)}`;\r\n return axiosInstance.get(url);\r\n },\r\n\r\n //Reference History Data\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n getReferenceHistory: (): Promise> => {\r\n const historyParams = {\r\n candidateId: getURLParams().candidateId,\r\n referenceProviderEmail: getTokenClaimsFromAccountDetails().email,\r\n };\r\n const referenceHistoryEndPoint = config.api.referenceHistory\r\n .replace(\"{candidateId}\", historyParams.candidateId)\r\n .replace(\r\n \"{referenceProviderEmail}\",\r\n historyParams.referenceProviderEmail\r\n );\r\n return axiosInstance.get(referenceHistoryEndPoint);\r\n },\r\n\r\n //Reference History File\r\n getReferenceHistoryFile: (\r\n referenceId: number\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n ): Promise> => {\r\n const historyParams = {\r\n candidateId: getURLParams().candidateId,\r\n referenceId: referenceId,\r\n };\r\n const referenceHistoryBlobEndPoint = config.api.referenceHistoryBlob\r\n .replace(\"{candidateId}\", historyParams.candidateId)\r\n .replace(\"{referenceId}\", historyParams.referenceId.toString());\r\n return axiosInstance.get(referenceHistoryBlobEndPoint);\r\n },\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n getPlannedDowntime: (): Promise> => {\r\n const plannedDownTimeEndpoint =\r\n config.monitoringEndPointURL + \"&category=planned\";\r\n\r\n return axios.get(plannedDownTimeEndpoint);\r\n },\r\n};\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\nimport {\r\n ISpinnerStyleProps,\r\n ISpinnerStyles,\r\n IStyleFunctionOrObject,\r\n} from \"@fluentui/react\";\r\nimport { ITimelineStyles } from \"./Timeline.types\";\r\n\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nexport const timeLineStyle: IStyleFunctionOrObject<{}, ITimelineStyles> = {\r\n root: {\r\n flex: 1,\r\n paddingLeft: 24,\r\n \"@media screen and (min-width: 320px) and (max-width: 1023px)\": {\r\n paddingLeft: 0,\r\n marginRight: 0,\r\n },\r\n },\r\n paraGraphText: {\r\n fontSize: 14,\r\n marginTop: 34,\r\n paddingLeft: 25,\r\n },\r\n divContainer: {\r\n \"@media screen and (min-width: 1024px)\": {\r\n maxHeight: 248,\r\n overflowY: \"auto\",\r\n },\r\n },\r\n ulContainer: {\r\n listStyleType: \"none\",\r\n position: \"relative\",\r\n \"> :not(:first-child)\": {\r\n marginTop: 40,\r\n },\r\n \"::before\": {\r\n content: \"''\",\r\n background: \"#d4d9df\",\r\n display: \"inline-block\",\r\n position: \"absolute\",\r\n left: 30,\r\n width: 2,\r\n height: \"100%\",\r\n zIndex: 400,\r\n },\r\n },\r\n liContainer: {\r\n margin: \"20px 0\",\r\n paddingLeft: 20,\r\n lineHeight: \"1\",\r\n },\r\n liContent: {\r\n marginLeft: -37,\r\n },\r\n textContainer: {\r\n marginLeft: 48,\r\n display: \"flex\",\r\n },\r\n statusText: {\r\n marginRight: 24,\r\n fontSize: 14,\r\n },\r\n downloadText: {\r\n fontSize: 14,\r\n display: \"flex\",\r\n cursor: \"pointer\",\r\n },\r\n downloadSubText: {\r\n marginLeft: 8,\r\n marginRight: 8,\r\n },\r\n downloadLink: {\r\n textDecoration: \"none\",\r\n fontSize: 14,\r\n },\r\n declineStatusText: {\r\n marginLeft: 48,\r\n fontSize: 14,\r\n display: \"flex\",\r\n },\r\n greenIcon: {\r\n color: \"#107C10\",\r\n zIndex: 400,\r\n position: \"absolute\",\r\n boxShadow:\r\n \"0 0 0 4px white, inset 0 2px 0 rgba(0, 0, 0, 0.00), 0 3px 0 4px rgba(0, 0, 0, 0.00)\",\r\n },\r\n redIcon: {\r\n color: \"#A80000\",\r\n zIndex: 400,\r\n position: \"absolute\",\r\n boxShadow:\r\n \"0 0 0 4px white, inset 0 2px 0 rgba(0, 0, 0, 0.00), 0 3px 0 4px rgba(0, 0, 0, 0.00)\",\r\n },\r\n downloadIcon: {\r\n color: \"#0078d4\",\r\n },\r\n spinnerContainer: {\r\n display: \"flex\",\r\n marginTop: \"unset\",\r\n justifyContent: \"center\",\r\n },\r\n pendingText: {\r\n margin: \"0px\",\r\n fontSize: \"12px\",\r\n color: \"#646464\",\r\n fontWeight: 400,\r\n marginTop: \"10px\",\r\n paddingLeft: 25,\r\n \"@media screen and (min-width: 320px) and (max-width: 1023px)\": {\r\n paddingLeft: 0,\r\n },\r\n },\r\n};\r\n\r\nexport const spinnerStyle: IStyleFunctionOrObject<\r\n ISpinnerStyleProps,\r\n ISpinnerStyles\r\n> = {\r\n root: {\r\n flexDirection: \"row-reverse\",\r\n },\r\n label: {\r\n marginTop: \"unset\",\r\n marginBottom: \"unset\",\r\n marginRight: 8,\r\n flex: \"2 1 0\",\r\n },\r\n};\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n\r\nimport { AppInsights, Correlator } from \"@microsoftit/telemetry-extensions-npm\";\r\n\r\nimport { ApplicationInsights } from \"@microsoft/applicationinsights-web\";\r\nimport { ReactPlugin } from \"@microsoft/applicationinsights-react-js\";\r\nimport { config } from \"../config\";\r\nimport { createBrowserHistory } from \"history\";\r\n\r\nexport const telemetryProperties = {\r\n application: config.telemetry.application,\r\n serviceEndpoint: config.api.baseUrl,\r\n sessionId: config.telemetry.sessionId,\r\n environmentName: config.telemetry.environmentName,\r\n};\r\n\r\ninterface AppInsightWrapper {\r\n appInsights: AppInsights,\r\n candidateId: string\r\n}\r\n\r\nconst ConfigureHeartTelemetry = (): AppInsightWrapper => {\r\n const heartLogger: AppInsightWrapper ={\r\n appInsights : new AppInsights(),\r\n candidateId : config.telemetry.defaultCandidateId\r\n }\r\n heartLogger.appInsights.InitializeTelemetry(\r\n config.telemetry.environmentName,\r\n getAIKeyIfDebugEnable(),\r\n config.telemetry.serviceOffering,\r\n config.telemetry.serviceLine,\r\n config.telemetry.service,\r\n config.telemetry.componentName,\r\n config.telemetry.componentId,\r\n \"\"\r\n );\r\n\r\n const correlation = new Correlator();\r\n heartLogger.appInsights.AddMsitTelemetryInitializers(correlation, undefined);\r\n return heartLogger;\r\n};\r\n\r\nconst getAIKeyIfDebugEnable = () => {\r\n return config.telemetry.enableHeartMetrics\r\n ? config.telemetry.instrumentationKey\r\n : \"\";\r\n};\r\n\r\nconst createTelemetryService = () => {\r\n const browserHistory = createBrowserHistory({ basename: \"\" });\r\n const reactPlugin = new ReactPlugin();\r\n const aplicationInsights = new ApplicationInsights({\r\n config: {\r\n instrumentationKey: config.telemetry.instrumentationKey || \"\",\r\n extensions: [reactPlugin],\r\n extensionConfig: {\r\n [reactPlugin.identifier]: { history: browserHistory },\r\n },\r\n },\r\n });\r\n\r\n aplicationInsights.loadAppInsights();\r\n return aplicationInsights.appInsights;\r\n};\r\n\r\n\r\nexport const appInsights = createTelemetryService();\r\nexport const heartTelemetryLogger = ConfigureHeartTelemetry();\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\r\n\r\nimport { ActionType, EventName } from \"@microsoftit/telemetry-extensions-npm\";\r\n\r\nimport { ErrorSeverity } from \"../../components/constants\";\r\nimport { SeverityLevel } from \"@microsoft/applicationinsights-web\";\r\nimport { appInsights } from \"./telemetry\";\r\nimport { config } from \"../config\";\r\nimport { getURLParams } from \"../../components/util\";\r\nimport { logHeartFeatureEvent } from \"./telemetryHeartWrapper\";\r\n\r\nconst commonLogProperties = {\r\n environmentName: config.telemetry.environmentName,\r\n serviceOffering: config.telemetry.serviceOffering,\r\n serviceLine: config.telemetry.serviceLine,\r\n service: config.telemetry.service,\r\n componentName: config.telemetry.componentName,\r\n subComponentName: config.telemetry.subComponentName,\r\n componentId: config.telemetry.componentId,\r\n candidateId: getURLParams().candidateId,\r\n correlationId: config.telemetry.sessionId,\r\n language: \"\",\r\n};\r\n\r\n//Logging to Heart Metrics --> Business Events\r\nexport const logTelemetry = (\r\n featureName: string,\r\n subfeatureName: string,\r\n actionType: ActionType,\r\n actionName: string,\r\n eventName: EventName,\r\n properties?: any\r\n): void => {\r\n\r\n //This is done so that once the application gets candidate id, it gives the correct id\r\n commonLogProperties.candidateId = getURLParams().candidateId;\r\n const logProperties = {\r\n ...commonLogProperties, ...properties\r\n };\r\n\r\n logHeartFeatureEvent(\r\n featureName,\r\n subfeatureName,\r\n actionType,\r\n actionName,\r\n eventName,\r\n logProperties\r\n );\r\n};\r\n\r\n//Logging to App Insights --> Engineering Events\r\nexport const logToAppInsights = (\r\n featureName: string,\r\n properties?: any\r\n): void => {\r\n //This is done so that once the application gets candidate id, it gives the correct id\r\n commonLogProperties.candidateId = getURLParams().candidateId;\r\n const logProperties = commonLogProperties;\r\n if (properties) {\r\n Object.assign(logProperties, properties);\r\n }\r\n appInsights.trackEvent({\r\n name: featureName,\r\n properties: logProperties,\r\n });\r\n};\r\n\r\n//Logging Exceptions to App Insights\r\nexport const logException = (\r\n exception: Error,\r\n severityLevel?: SeverityLevel,\r\n errorSeverity?: ErrorSeverity,\r\n correlationId?: string\r\n) => {\r\n const errorLogProperties = {\r\n serviceOffering: config.telemetry.serviceOffering,\r\n serviceLine: config.telemetry.serviceLine,\r\n service: config.telemetry.service,\r\n componentName: config.telemetry.componentName,\r\n subComponentName: config.telemetry.subComponentName,\r\n componentId: config.telemetry.componentId,\r\n errorSeverity: errorSeverity?.toString() ?? ErrorSeverity.Low.toString(),\r\n correlationId: correlationId ?? config.telemetry.sessionId,\r\n errorMessage: exception?.message,\r\n EnvironmentName: config.telemetry.environmentName,\r\n };\r\n appInsights.trackException(\r\n {\r\n exception: exception,\r\n severityLevel: severityLevel ?? SeverityLevel.Error,\r\n },\r\n errorLogProperties\r\n );\r\n};","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\r\n\r\nimport {\r\n ActionType,\r\n ComponentType,\r\n EventName,\r\n FeatureUsageEventV2,\r\n} from \"@microsoftit/telemetry-extensions-npm\";\r\n\r\nimport { config } from \"../config\";\r\nimport { getURLParams } from \"../../components/util\";\r\nimport { heartTelemetryLogger } from \"./telemetry\";\r\n\r\nexport const logHeartFeatureEvent = (\r\n featureName: string,\r\n subfeatureName: string,\r\n actionType: ActionType,\r\n actionName: string,\r\n eventName: EventName, \r\n properties?: any\r\n): void => {\r\n const telemetry = new FeatureUsageEventV2(\r\n featureName,\r\n actionType,\r\n actionName,\r\n eventName,\r\n ComponentType.Web, \r\n );\r\n if (subfeatureName !== \"\") {\r\n telemetry.SubFeatureName = subfeatureName;\r\n }\r\n if (heartTelemetryLogger.candidateId === config.telemetry.defaultCandidateId) {\r\n const candidateId = getURLParams().candidateId;\r\n heartTelemetryLogger.candidateId = candidateId;\r\n heartTelemetryLogger.appInsights.appInsights.setAuthenticatedUserContext(candidateId);\r\n }\r\n telemetry.StartDateTime = new Date();\r\n heartTelemetryLogger.appInsights.TrackFeatureUsageEventV2(telemetry, properties);\r\n};\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\nimport * as React from \"react\";\r\nimport { Icon } from \"@fluentui/react/lib/Icon\";\r\nimport {\r\n ITimelineProps,\r\n ITimelineStyles,\r\n ITimelineStylesProps,\r\n} from \"./Timeline.types\";\r\nimport { classNamesFunction, Spinner, SpinnerSize } from \"@fluentui/react\";\r\nimport { useState } from \"react\";\r\nimport moment from \"moment\";\r\nimport { applicationApi } from \"../../services/application-apis/application-apis\";\r\nimport { spinnerStyle } from \"./Timeline.Styles\";\r\nimport { base64ToArrayBuffer } from \"../util\";\r\nimport { logTelemetry } from \"../../services/telemetry/telemetryWrapper\";\r\nimport {\r\n ApplicationStatus,\r\n TelemetryLogs,\r\n TelemetrySubFeature,\r\n} from \"../constants\";\r\nimport { ActionType, EventName } from \"@microsoftit/telemetry-extensions-npm\";\r\n\r\nconst getClassNames = classNamesFunction<\r\n ITimelineStylesProps,\r\n ITimelineStyles\r\n>();\r\n\r\nexport const Timeline: React.FC = (props: ITimelineProps) => {\r\n const [isDownloadProgress, setIsDownloadProgress] = useState([]);\r\n const { statusText, history, styles, theme, status } = props;\r\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n const classNameFromStyles = getClassNames(styles, { theme: theme! });\r\n\r\n //Fetching file from server\r\n const _fetchReferenceLetter = async (referenceId: number, key: number) => {\r\n try {\r\n isDownloadProgress[key] = true;\r\n setIsDownloadProgress([...isDownloadProgress]);\r\n const response = await applicationApi.getReferenceHistoryFile(\r\n referenceId\r\n );\r\n if (response.status === 200) {\r\n const blob = new Blob(\r\n [\r\n base64ToArrayBuffer(\r\n response.data.operationResult.result.fileContent\r\n ),\r\n ],\r\n {\r\n type: \"application/octet-stream\",\r\n }\r\n );\r\n const anchor = document.createElement(\"a\");\r\n anchor.download =\r\n response.data.operationResult?.result?.fileName ?? \"reference_letter\";\r\n anchor.href = (window.webkitURL || window.URL).createObjectURL(blob);\r\n anchor.dataset.downloadurl = [\r\n \"text/plain\",\r\n anchor.download,\r\n anchor.href,\r\n ].join(\":\");\r\n anchor.click();\r\n logTelemetry(\r\n TelemetryLogs.PageViews,\r\n TelemetrySubFeature.LetterDownload,\r\n ActionType.User,\r\n \"File downloaded for referenceId: \" + referenceId,\r\n EventName.LinkClicked\r\n );\r\n isDownloadProgress[key] = false;\r\n setIsDownloadProgress([...isDownloadProgress]);\r\n } else {\r\n isDownloadProgress[key] = false;\r\n setIsDownloadProgress([...isDownloadProgress]);\r\n }\r\n } catch (e) {\r\n isDownloadProgress[key] = false;\r\n setIsDownloadProgress([...isDownloadProgress]);\r\n } finally {\r\n isDownloadProgress[key] = false;\r\n setIsDownloadProgress([...isDownloadProgress]);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n

\r\n {status === ApplicationStatus.PENDING && (\r\n

\r\n It may take a few minutes for the latest status and uploaded file to\r\n reflect here.\r\n

\r\n )}\r\n

\r\n {history && history.length > 0 ? (\r\n
\r\n
    \r\n {history.map((historyItems, keyIndex) => {\r\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n const localDate = moment(new Date(historyItems.statusDate!))\r\n .local()\r\n .format(\"DD MMM YYYY\");\r\n return (\r\n
  • \r\n {historyItems.status === \"Complete\" ? (\r\n
    \r\n \r\n
    \r\n \r\n {statusText?.successText} {localDate}\r\n \r\n {isDownloadProgress[keyIndex] === false ||\r\n isDownloadProgress[keyIndex] === undefined ? (\r\n \r\n _fetchReferenceLetter(\r\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n historyItems.referenceId!,\r\n keyIndex\r\n )\r\n }\r\n onKeyDown={() =>\r\n _fetchReferenceLetter(\r\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\r\n historyItems.referenceId!,\r\n keyIndex\r\n )\r\n }\r\n >\r\n \r\n \r\n {statusText?.downloadText}\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 {statusText?.declinedText} {localDate}\r\n \r\n
    \r\n )}\r\n
  • \r\n );\r\n })}\r\n
\r\n
\r\n ) : (\r\n \r\n {statusText?.noResultText}\r\n

\r\n )}\r\n
\r\n );\r\n};\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\nimport { IStyleFunctionOrObject } from \"office-ui-fabric-react\";\r\nimport {\r\n IErrorStateComponentStyleProps,\r\n IErrorStateComponentStyles,\r\n} from \"@cseo/controls\";\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nexport const ErrorHeaderStyle: IStyleFunctionOrObject<\r\n IErrorStateComponentStyleProps,\r\n IErrorStateComponentStyles\r\n> = {\r\n root: {\r\n paddingTop: 5,\r\n paddingBottom: 10,\r\n },\r\n errorStateHeading: {\r\n fontSize: 18,\r\n \"@media screen and (min-width: 320px) and (max-width: 800px)\": {\r\n fontSize: 15,\r\n paddingTop: 23,\r\n },\r\n \"@media screen and (min-width: 801px) and (max-width: 1023px)\": {\r\n fontSize: 16,\r\n paddingTop: 23,\r\n },\r\n \"@media screen and (min-width: 1366px) and (max-width: 1919px)\": {\r\n fontSize: 18,\r\n },\r\n \"@media screen and (min-width: 1024px) and (max-width: 1365px)\": {\r\n fontSize: 16,\r\n paddingTop: 23,\r\n },\r\n },\r\n errorStateDescription: {\r\n \"@media screen and (min-width: 320px) and (max-width: 539px)\": {\r\n fontSize: 12,\r\n paddingTop: 8,\r\n },\r\n \"@media screen and (min-width: 540px) and (max-width: 800px)\": {\r\n fontSize: 11,\r\n paddingTop: 12,\r\n },\r\n \"@media screen and (min-width: 801px) and (max-width: 1023px)\": {\r\n fontSize: 12,\r\n paddingTop: 12,\r\n },\r\n \"@media screen and (min-width: 1024px) and (max-width: 1500px)\": {\r\n paddingLeft: 40,\r\n paddingTop: 12,\r\n fontSize: 12,\r\n },\r\n },\r\n errorStateCtaButtonStyle: {\r\n borderColor: \"#b1b1b1 !important\",\r\n backgroundColor: \"#ffffff\",\r\n color: \"#171717 !important\",\r\n selectors: {\r\n \":hover\": {\r\n backgroundColor: \"#F2F2F2\",\r\n },\r\n \":active\": {\r\n backgroundColor: \"#F2F2F2\",\r\n },\r\n },\r\n },\r\n};\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n\r\nimport { logTelemetry } from \"../../services/telemetry/telemetryWrapper\";\r\nimport { ActionType, EventName } from \"@microsoftit/telemetry-extensions-npm\";\r\nimport {\r\n TelemetryHistoryLogs,\r\n TelemetryLogs,\r\n TelemetrySubFeature,\r\n} from \"../constants\";\r\n\r\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\nexport const triggerReferenceHistory = (eventFrom: string) => {\r\n const historyRenderEvent = new CustomEvent(eventFrom, {\r\n detail: true,\r\n });\r\n\r\n switch (eventFrom) {\r\n case TelemetryHistoryLogs.DeclineReference:\r\n logTelemetry(\r\n TelemetryLogs.PageViews,\r\n TelemetrySubFeature.HistorySection,\r\n ActionType.User,\r\n TelemetryHistoryLogs.DeclineReference + \": using decline button\",\r\n EventName.ButtonClick\r\n );\r\n break;\r\n case TelemetryHistoryLogs.UploadReference:\r\n logTelemetry(\r\n TelemetryLogs.PageViews,\r\n TelemetrySubFeature.HistorySection,\r\n ActionType.User,\r\n TelemetryHistoryLogs.UploadReference + \": using upload button\",\r\n EventName.ButtonClick\r\n );\r\n break;\r\n case TelemetryHistoryLogs.ServerErrorReference:\r\n logTelemetry(\r\n TelemetryLogs.PageViews,\r\n TelemetrySubFeature.HistorySection,\r\n ActionType.User,\r\n TelemetryHistoryLogs.ServerErrorReference + \": using try again button\",\r\n EventName.ButtonClick\r\n );\r\n break;\r\n case TelemetryHistoryLogs.ReferenceHistoryError:\r\n logTelemetry(\r\n TelemetryLogs.PageViews,\r\n TelemetrySubFeature.HistorySection,\r\n ActionType.User,\r\n TelemetryHistoryLogs.ReferenceHistoryError + \": using refresh button\",\r\n EventName.ButtonClick\r\n );\r\n break;\r\n }\r\n setTimeout(() => {\r\n window.dispatchEvent(historyRenderEvent);\r\n }, 500);\r\n};\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n\r\nimport React from \"react\";\r\nimport {\r\n ErrorStateComponent,\r\n ErrorStateIconType,\r\n IErrorStateComponentProps,\r\n} from \"@cseo/controls\";\r\nimport { ErrorHeaderStyle } from \"./history-error.styles\";\r\nimport { triggerReferenceHistory } from \"./reference-middle-layer\";\r\nimport { TelemetryHistoryLogs } from \"../constants\";\r\ninterface candidateProps {\r\n setIsRefreshTrue: () => void;\r\n}\r\nexport const HistoryErrorBody: React.FC = ({\r\n setIsRefreshTrue,\r\n}) => {\r\n const payload: IErrorStateComponentProps = {\r\n headingText: \"Something went wrong!\",\r\n descriptionText:\r\n \"We are unable to load the reference history currently. Please try refreshing the reference history.\",\r\n iconType: ErrorStateIconType.InternetIssue,\r\n styles: ErrorHeaderStyle,\r\n callToActionButton: {\r\n ctaText: \"Refresh\",\r\n ctaHandler: setIsRefreshTrue,\r\n ctaAriaLabel: \"Refresh reference history\",\r\n },\r\n };\r\n triggerReferenceHistory(TelemetryHistoryLogs.ReferenceHistoryError);\r\n return ;\r\n};\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n\r\nimport React from \"react\";\r\n\r\ninterface candidateProps {\r\n candidateFirstName: string;\r\n candidateLastName: string;\r\n headingText?: string;\r\n}\r\n\r\nexport const ReferenceHistoryHeader: React.FC = (\r\n props: candidateProps\r\n) => {\r\n const { candidateFirstName, candidateLastName, headingText } = props;\r\n return (\r\n
\r\n \r\n {headingText}\r\n {candidateFirstName}\r\n {candidateLastName}\r\n \r\n
\r\n );\r\n};\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\nimport { Spinner, SpinnerSize } from \"@fluentui/react\";\r\nimport React, { useState } from \"react\";\r\nimport \"./ReferenceHistory.scss\";\r\nimport { Timeline } from \"../Timeline/Timeline\";\r\nimport { timeLineStyle } from \"../Timeline/Timeline.Styles\";\r\nimport { IStatusText } from \"../Timeline/Timeline.types\";\r\nimport {\r\n ApplicationStatus,\r\n ReferenceHistoryTexts,\r\n TelemetryHistoryLogs,\r\n} from \"../constants\";\r\nimport { applicationApi } from \"../../services/application-apis/application-apis\";\r\nimport moment from \"moment\";\r\nimport { HistoryErrorBody } from \"./history-error\";\r\nimport { ReferenceHistoryHeader } from \"./history-header\";\r\n\r\ninterface candidateProps {\r\n candidateFirstName: string;\r\n candidateLastName: string;\r\n status: ApplicationStatus;\r\n}\r\n\r\nexport const ReferenceHistoryWrapper: React.FC = ({\r\n candidateFirstName,\r\n candidateLastName,\r\n status,\r\n}) => {\r\n const [data, setData] = useState([undefined || {}]);\r\n const [isProgress, setIsProgress] = useState(true);\r\n const [isErrorOccured, setIsErrorOccured] = useState(false);\r\n const [isRefresh, setIsRefresh] = useState(true);\r\n const setIsRefreshTrue = () => setIsRefresh(true);\r\n const statusText: IStatusText = {\r\n headingText: ReferenceHistoryTexts.headingText,\r\n successText: ReferenceHistoryTexts.successText,\r\n declinedText: ReferenceHistoryTexts.declinedText,\r\n noResultText: ReferenceHistoryTexts.noResultText,\r\n downloadText: ReferenceHistoryTexts.downloadText,\r\n };\r\n\r\n React.useEffect(() => {\r\n const getHistoryData = () => {\r\n setIsProgress(true);\r\n setIsErrorOccured(false);\r\n applicationApi\r\n .getReferenceHistory()\r\n .then((data) => {\r\n const response = data;\r\n if (response.status === 200 && response.data.operationResult.result) {\r\n const sortedData = response.data.operationResult.result;\r\n //Sorting the history as it's coming as is from services\r\n sortedData.history &&\r\n sortedData.history.length &&\r\n sortedData.history.sort((a: any, b: any) => {\r\n return moment(new Date(b.statusDate))\r\n .local()\r\n .diff(moment(new Date(a.statusDate)).local());\r\n });\r\n\r\n setData(sortedData.history);\r\n setIsProgress(false);\r\n }\r\n })\r\n .catch((e) => {\r\n setIsProgress(false);\r\n setIsErrorOccured(true);\r\n });\r\n setIsRefresh(false);\r\n };\r\n\r\n window.addEventListener(\r\n TelemetryHistoryLogs.UploadReference,\r\n getHistoryData\r\n );\r\n window.addEventListener(\r\n TelemetryHistoryLogs.DeclineReference,\r\n getHistoryData\r\n );\r\n window.addEventListener(\r\n TelemetryHistoryLogs.ServerErrorReference,\r\n getHistoryData\r\n );\r\n window.addEventListener(\r\n TelemetryHistoryLogs.ReferenceHistoryError,\r\n getHistoryData\r\n );\r\n\r\n if (isRefresh === true) {\r\n getHistoryData(); //This is added to fetch the records for the firstime without any external inputs\r\n }\r\n return () => {\r\n window.removeEventListener(\r\n TelemetryHistoryLogs.UploadReference,\r\n getHistoryData\r\n );\r\n window.removeEventListener(\r\n TelemetryHistoryLogs.DeclineReference,\r\n getHistoryData\r\n );\r\n window.removeEventListener(\r\n TelemetryHistoryLogs.ServerErrorReference,\r\n getHistoryData\r\n );\r\n window.removeEventListener(\r\n TelemetryHistoryLogs.ReferenceHistoryError,\r\n getHistoryData\r\n );\r\n };\r\n }, [isRefresh]);\r\n return (\r\n
\r\n \r\n {isProgress === false ? (\r\n isErrorOccured === 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 * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n\r\nimport {\r\n IButtonStyles,\r\n IMessageBarStyleProps,\r\n IMessageBarStyles,\r\n IStyleFunctionOrObject,\r\n} from \"@fluentui/react\";\r\n\r\nexport const uploadDeclineDialogStyle = {\r\n minWidth: \"450px !important\",\r\n \"@media screen and (min-width: 320px) and (max-width: 766px)\": {\r\n minWidth: \"200px !important\",\r\n },\r\n};\r\n\r\nexport const uploadedFileButtonStyle: IButtonStyles = {\r\n flexContainer: {\r\n marginLeft: -10,\r\n },\r\n};\r\n\r\nexport const messageBarStyle: IStyleFunctionOrObject<\r\n IMessageBarStyleProps,\r\n IMessageBarStyles\r\n> = {\r\n content: {\r\n fontSize: 14,\r\n },\r\n text: {\r\n fontSize: 14,\r\n },\r\n};\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n\r\nimport { Activity } from \"../../Constants\";\r\nimport { config } from \"../config\";\r\n\r\nconst campaigns: any[] = [\r\n {\r\n CampaignId: process.env.REACT_APP_OCV_SURVEY_CAMPAIGNID, \r\n StartTimeUtc: process.env.REACT_APP_OCV_SURVEY_CAMPAIGN_STARTDATE, // If null, the campaign is inactive\r\n EndTimeUtc: null, // Please uncomment and set date to disable survey.\r\n GovernedChannelType: config.production ? 0 : 1, // 1: Urgent Channel(No channel cooldown and NOT recommended for Production use as user can be bombarded with surveys each time); 0 - Recommended for Production as it has channel cooldown\r\n Scope: {\r\n Type: 1,\r\n Languages: [\r\n {\r\n Type: 0,\r\n Value: \"en-US\"\r\n }\r\n ]\r\n },\r\n NominationScheme:\r\n {\r\n Type: 0, // Default\r\n PercentageNumerator: Number(process.env.REACT_APP_OCV_SURVEY_CAMPAIGN_NOMINATIONPERCENTAGE), // Ratio of users to be nominated to be a candidate numerator...After demo, please change to 25.\r\n PercentageDenominator: 100, // Ratio of users to be nominated to be a candidate denominator\r\n NominationPeriod:\r\n {\r\n Type: 0, // Default\r\n IntervalSeconds: process.env.REACT_APP_OCV_SURVEY_CAMPAIGN_NOMINATIONPERIODSECONDS // Not used when ratio is 100%. Please change to 2592000 after demo.\r\n },\r\n CooldownPeriod:\r\n {\r\n Type: 0, // Default\r\n IntervalSeconds: process.env.REACT_APP_OCV_SURVEY_CAMPAIGN_COOLDOWNSECONDS // Time between two consecutive surveys shown to the same user once the survey has been completed once\r\n },\r\n // FallbackSurveyDurationSeconds: 5 // This will be used only if nomination period is non-time based. e.g. build based\r\n },\r\n SurveyTemplate:\r\n {\r\n Type: 2, // NPS Template, can be NPS 5pts (0), NPS 11pts (1), FPS (2), NLQs (3), NPS (4), or GenericMessaging Survey (22)\r\n ActivationEvent:\r\n {\r\n Type: 0, // 0 For one event, 1 for multiple events (array of events)\r\n Activity: Activity.RequestCompleted,\r\n Count: 1, \r\n IsAggregate: true\r\n },\r\n Content: {\r\n Prompt: {\r\n Title: \"We'd love your feedback!\",\r\n Question: 'We just have two questions for you',\r\n YesLabel: 'Yes',\r\n NoLabel: 'No'\r\n },\r\n Rating: {\r\n IsZeroBased: false,\r\n Question: \"How would you rate your experience today?\", // No asterisk (*) supported for marking required input.\r\n RatingValuesAscending: [\r\n '5 - Highly dissatisfied',\r\n '4 - Dissatisfied',\r\n '3 - Neither satisfied nor dissatisfied',\r\n '2 - Satisfied',\r\n '1 - Highly satisfied'\r\n ]\r\n },\r\n Question: { Question: 'We’d like to understand more. Please tell us why you gave this satisfaction rating.' }\r\n }\r\n }\r\n }\r\n];\r\n\r\nexport default campaigns;\r\n\r\n\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n\r\n// \r\n\r\nimport { ActionType, EventName } from \"@microsoftit/telemetry-extensions-npm\";\r\nimport { Activity, SurveyLaunchFailed, SurveyTaken } from \"../../Constants\";\r\n\r\nimport campaigns from \"./campaigns\";\r\nimport { config } from \"../config\";\r\nimport { logTelemetry } from \"../telemetry/telemetryWrapper\";\r\n\r\nclass FloodgateService {\r\n public async init(): Promise {\r\n const anyWindow = window as any;\r\n anyWindow.OfficeBrowserFeedback = anyWindow.OfficeBrowserFeedback || {};\r\n anyWindow.OfficeBrowserFeedback.floodgate = anyWindow.OfficeBrowserFeedback\r\n .floodgate || {\r\n initialize: () => {}, // eslint-disable-line @typescript-eslint/no-empty-function\r\n start: () => {}, // eslint-disable-line @typescript-eslint/no-empty-function\r\n getEngine: () => {\r\n return {\r\n getActivityListener: () => {\r\n return { logActivity: (str: string) => {} }; // eslint-disable-line\r\n },\r\n };\r\n },\r\n };\r\n anyWindow.OfficeBrowserFeedback.initOptions = {\r\n locale: \"en-US\",\r\n appId: Number(config.ocv.appId), \r\n stylesUrl: `/static/styles/survey.css`,\r\n intlUrl: `/static/intl/`,\r\n intlFilename: \"officebrowserfeedbackstrings.js\",\r\n environment: config.production ? 0 : 1,\r\n userEmail: \"\",\r\n userEmailConsentDefault: false,\r\n sessionId: \"\",\r\n telemetryGroup: {\r\n featureArea: process.env.REACT_APP_OCV_SURVEY_CAMPAIGN_FEATUREAREA,\r\n },\r\n onError: (err: any) => {\r\n const logProperties = {\r\n error: err,\r\n };\r\n logTelemetry(\r\n \"SubmitSurvey\",\r\n \"\",\r\n ActionType.User,\r\n SurveyLaunchFailed,\r\n EventName.ButtonClick,\r\n logProperties\r\n );\r\n },\r\n };\r\n anyWindow.OfficeBrowserFeedback.floodgate.initOptions = {\r\n autoDismiss: 2, \r\n campaignDefinitions: campaigns,\r\n onDismiss: (campaignId: string, submitted: boolean) => {\r\n if (submitted) {\r\n\r\n const logProperties = {\r\n submitted: submitted,\r\n campaignId: campaignId,\r\n };\r\n logTelemetry(\r\n \"SubmitSurvey\",\r\n \"\",\r\n ActionType.User,\r\n SurveyTaken,\r\n EventName.ButtonClick,\r\n logProperties\r\n );\r\n }\r\n },\r\n };\r\n\r\n await anyWindow.OfficeBrowserFeedback.floodgate.initialize();\r\n\r\n anyWindow.onfocus = () => {\r\n if ((window as any).OfficeBrowserFeedback.floodgate) {\r\n anyWindow.OfficeBrowserFeedback.floodgate.start();\r\n }\r\n };\r\n\r\n anyWindow.onblur = () => {\r\n if ((window as any).OfficeBrowserFeedback.floodgate) {\r\n anyWindow.OfficeBrowserFeedback.floodgate.stop();\r\n }\r\n };\r\n\r\n anyWindow.onunload = () => {\r\n if ((window as any).OfficeBrowserFeedback.floodgate) {\r\n anyWindow.OfficeBrowserFeedback.floodgate.stop();\r\n }\r\n };\r\n }\r\n\r\n public async startEngine() {\r\n await (window as any).OfficeBrowserFeedback.floodgate.start();\r\n }\r\n\r\n public async stopEngine() {\r\n await (window as any).OfficeBrowserFeedback.floodgate.stop();\r\n }\r\n \r\n public triggerRequestCompletedActivity() {\r\n (window as any).OfficeBrowserFeedback.floodgate\r\n .getEngine()\r\n .getActivityListener()\r\n .logActivity(Activity.RequestCompleted);\r\n }\r\n}\r\n\r\nexport const floodgateService = new FloodgateService();\r\nexport default floodgateService;\r\n","/* -----------------------------------------------------------------------\r\n * \r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * \r\n * ----------------------------------------------------------------------- */\r\n\r\nimport \"../UploadOrDecline.scss\";\r\n\r\nimport { ActionType, EventName } from \"@microsoftit/telemetry-extensions-npm\";\r\nimport {\r\n ApplicationStatus,\r\n TelemetryHistoryLogs,\r\n TelemetryLogs,\r\n} from \"../../constants\";\r\nimport {\r\n DefaultButton,\r\n Dialog,\r\n DialogFooter,\r\n DialogType,\r\n Link,\r\n MessageBar,\r\n MessageBarType,\r\n PrimaryButton,\r\n Spinner,\r\n SpinnerSize,\r\n} from \"@fluentui/react\";\r\nimport React, { useState } from \"react\";\r\n\r\nimport { applicationApi } from \"../../../services/application-apis/application-apis\";\r\nimport { logTelemetry } from \"../../../services/telemetry/telemetryWrapper\";\r\nimport { uploadDeclineDialogStyle } from \"../UploadOrDecline.styles\";\r\nimport { triggerReferenceHistory } from \"../../reference-history/reference-middle-layer\";\r\nimport floodgateService from \"../../../services/survey/FloodgateService\";\r\n\r\ninterface Props {\r\n hideDeclineDialog: boolean;\r\n toggleDeclineDialog: () => void;\r\n setStatus: (status: ApplicationStatus) => void;\r\n candidateFirstName: string;\r\n}\r\n\r\nconst declineDialogContent = {\r\n type: DialogType.normal,\r\n title: \"Are you sure you want to decline?\",\r\n closeButtonAriaLabel: \"Close\",\r\n subText: \"\",\r\n};\r\n\r\nconst dialogStyles = { main: uploadDeclineDialogStyle };\r\nconst modalProps = {\r\n isBlocking: true,\r\n styles: dialogStyles,\r\n};\r\n\r\nexport const DeclineDialog: React.FC = ({\r\n hideDeclineDialog,\r\n toggleDeclineDialog,\r\n setStatus,\r\n candidateFirstName,\r\n}) => {\r\n const [isProcessing, setIsProcessing] = useState(false);\r\n const [isDeclineFailed, setIsDeclineFailed] = useState(false);\r\n\r\n declineDialogContent.subText = `We’ll let ${candidateFirstName} know that you have declined.`;\r\n\r\n const handleUploadRejection = async () => {\r\n setIsProcessing(true);\r\n try {\r\n await applicationApi.declineRequest();\r\n logTelemetry(\r\n TelemetryLogs.DelineRequest,\r\n TelemetryLogs.DelineRequest,\r\n ActionType.User,\r\n TelemetryLogs.DelineRequest,\r\n EventName.ButtonClick\r\n );\r\n setStatus(ApplicationStatus.DECLINED);\r\n toggleDeclineDialog();\r\n triggerReferenceHistory(TelemetryHistoryLogs.DeclineReference);\r\n await floodgateService.startEngine();\r\n floodgateService.triggerRequestCompletedActivity();\r\n } catch (e) {\r\n setIsDeclineFailed(true);\r\n } finally {\r\n setIsProcessing(false);\r\n }\r\n };\r\n\r\n const onDismissingDeclineDialog = () => {\r\n setIsProcessing(false);\r\n setIsDeclineFailed(false);\r\n toggleDeclineDialog();\r\n };\r\n return (\r\n