{"version":3,"sources":["img/large-cog@2x.png","img/small-cog@2x.png","Components/NewReturn/NewRequestContainer.js","api-config.js","Store/Type.js","auth.js","Store/Actions.js","Store/ActionMessage.js","Validation/PRValidation.js","Store/CliamListAction.js","dataLayer.js","Components/Cookie/cookieHandler.js","Components/NewReturn/SubmitRequest.js","Components/ProductReturn/ProductReturnSearch.js","Components/ProductReturn/PRPagination.js","Components/ProductReturn/ProductReturnGrid.js","Components/OrderSearch/OrderSearchHeader.js","Components/OrderSearch/OrderReturnList.js","Components/OrderSearch/OrderSearchGrid.js","Components/OrderSearch/OrderPagination.js","Components/OrderSearch/OrderPTSModel.js","Components/OrderSearch/OrderSearchMain.js","Components/ProductReturn/ViewReturnPopup.js","Components/ProductReturn/ProductHeader.js","Components/ProductReturn/ProductReturns.js","varification.js","Components/Authentication/Login.js","Components/Authentication/LoginLanding.js","Components/Exception/Error_404.js","ErrorBoundary.js","OktaConfig.js","Components/HeaderFooter/MainHeader.js","Components/HeaderFooter/MainFooter.js","mlv.js","Services/getDefaultLang.js","Components/Authentication/OktaLogin.js","Components/Authentication/Logout.js","customLogicCallBack.js","routeWrapper.js","App.js","serviceWorker.js","Store/Reducer/RGAMlvReducer.js","Store/Reducer/NewReturnRequestReducer.js","Store/Reducer/OrderListReducer.js","Store/Reducer/LoginReducer.js","Store/Reducer/RGAHFDataReducer.js","index.js"],"names":["module","exports","NewRequestContainer","props","header","isEdit","MLV_EDITRETURNREQUEST","cliamNum","MLV_NEWRETURNREQUEST","tFlag","scrollValidate","e","window","scrollTo","top","target","offsetTop","Fragment","className","aria-label","aria-current","href","sessionStorage","getItem","MLV_PRODUCTRETURNREQUEST","htmlFor","MLV_CUSTOMERS","isOrderSearch","disabled","style","maxHeight","overflow","required","name","value","customerNumber","onChange","OnChangeCustomer","onFocus","onInvalid","setCustomValidity","MLV_CUSTOMERNUMBER_REQUIRED","id","CustomerDetails","map","result","key","customerName","MLV_DIVISION","Division","OnChangeDivision","MLV_DIVISION_REQUIRED","DivisionData","DivisionId","DivisionName","orderNumber","MLV_ORDERNUMBER","isOrderReachedMaxLen","MLV_ORDERNUMBER_REQUIRED","type","OnChangeHandler","MLV_PONUMBER","PONumber","MLV_PONUMBER_REQUIRED","MLV_PARTNUMBER","PartNo","MLV_PARTNUMBER_REQUIRED","MLV_SERIALNUMBER","serialnumber","MLV_QUANTITY","min","pattern","MLV_QUANTITY_REQUIRED","Quantity","MLV_CLAIMTYPE","defaultValue","ReturnType","OnChangeHandlerCliamsDD","MLV_CLAIMTYPE_REQUIRED","MLV_WARRANTYFAILURE","display","isRepair","ref","setfieldfailureRef","MLV_WARRANTYFAILURE_REQUIRED","checked","WarrantyFailure","MLV_FIELDFAILURE","MLV_LINESIDE","MLV_ASDELIVERED","MLV_PREFERREDRESOLUTION","setcredittoaccountRef","MLV_PREFERREDRESOLUTION_REQUIRED","PreferrredResolution","MLV_CREDITTOACCOUNT","MLV_PRODUCTLIEUOFPAYMENT","MLV_REPAIRANDRETURN","MLV_PROBLEMDESCRIPTION","wrap","MLV_DESCRIPTION_REQUIRED","ProblemDiscription","MLV_ATTACHMENTS","multiple","OnFileUpload","fontSize","MLV_MULIPLEATTACHMENTS","tmp","i","files","push","j","toString","onClick","onRemove","FileUpload","Attachments","Editfiles","length","fileName","AttachmentDescription","ActivityFileName","onFileDownload","FileEditUpload","MLV_EXISTINGATTACHMENTS","MLV_CANCEL","OnCancelRequest","MLV_SUBMIT","onFinalSubmit","REACT_APP_APIURL","PARKERAPI_ORDERSTATUS_URL","ocpapim_subscription_key","ocpapim_subscription_key_orgList","ORGLIST_URL","MYPARKER_URL","WCTokenURL","getUserDetails","domain","oktaSessionURL","hostname","location","test","APIBASEURL","Loaded","PARKER_API_ORDERSTATUS_URL","ocp_apim_subscription_key","OKTAGETSessionURL","ORG_LIST_URL","ocp_apim_subscription_key_orgList","MY_PARKER_URL","this","authenticated","isDateAuthenticate","sessionData","cb","loginData","newDate","Date","cipherToken","AES","encrypt","token","cipherTicket","ticket","localStorage","setItem","JSON","stringify","isLoginPage","parse","DecryptTicketandToken","logout","loggedDate","isAuthen","setMinutes","getMinutes","removeItem","decryptticket","decrypt","enc","decrypttoken","pausecomp","millis","date","curDate","GetConfigDivisions","axios","defaults","headers","common","url","getTime","get","auth","GetFileInfo","responseType","GetSSOOkta","a","withCredentials","LoginSSO","idpId","emailAddress","lang","post","successHandle","req","data","division","srNumber","DataLoaded","res","setPrResponseData","setCANCEL","close","Authentication","DateFormate","dateValue","isFromOrder","dateFormat","userDateFormate","dateTime","split","dateOrder","OrderGetList","orderListParam","params","searchParams","SValue","replace","SearchByParameter","SortByField","SortByAscDescFlag","CustNo","SPageKey","take","OrderListUrl","dispatch","userName","OrderDetailsGetList","orderDetails","paramDate","OrderDate","reverse","join","OrderNo","CustPo","OnGetPTSNoDetails","ptsNumber","accountNumber","GetOrgList","langCode","undefined","eMailAddress","trim","getUserIP","dataLayer","getCookie","cookies","document","cookie","then","ip_address","catch","err","console","log","getUserIp","userId","company","index","findIndex","item","event","splice","previousURL","decodeURIComponent","encodeURIComponent","toUpperCase","checkGenericProfileCookie","cookieData","atob","values","extractedCustomerNumber","extractedCustomerName","extractedCid","cid","SubmitRequest","GetDivisions","obj","sort","b","divisionName","divisionResult","divisionID","state","divson","some","m","setState","concat","selectedFileName","boolFile","idxDot","lastIndexOf","substr","toLowerCase","fileAll","Array","from","fileArray","errors","childfieldfailureRef","childcredittoaccountRef","Math","sign","options","selectedIndex","innerHTML","history","pathname","search","CustomerNo","customerNumbersList","submitValidation","Validator","isEmpty","invalid","validateInput","preventDefault","stateData","logindata","today","getFullYear","getMonth","getDate","getHours","getMilliseconds","discription","ShipToDetails","IntegrationID","CustomerNumber","DivisionID","PartNumber","PartTraceability","SerialNumber","PreferredResolution","ProblemDescription","EMailAddress","FirstName","firstName","LastName","lastName","WorkPhone","RGAClaimAttachment","OrderNumber","CustomerName","AssignData","OnSubmitRequest","preferredResolutionDiv","getElementsByName","WarrantyFailureDiv","preferredResolution","forEach","ele","parentNode","innerText","getElementById","selectedOptions","text","errorHandle","tVal","Object","keys","behavior","ex","stopPropagation","remainingFiles","filter","file","response","Uint8Array","blob","Blob","navigator","msSaveBlob","imageUrl","URL","webkitURL","createObjectURL","link","createElementNS","download","click","queryParam","bind","newreturn","RGANo","isLoading","CustmersData","Customer_Name","input","cidParam","RGAClaimAttachments","orgList","find","org","isDefault","orgName","onload","c","includes","prevState","isStatus","mlvText","MLV_SUBMITERROR","Component","connect","nrp","mlv","formData","form_data","FormData","append","GetFormData","searchRef","useRef","SelectedCustomerNum","MLV_SEARCHBYCLAIMNO","zIndex","RgaNumber","placeholder","onKeyDown","onCliamsSearch","handleKeyDown","onCliamSearchTxt","position","class","cursor","marginTop","marginLeft","color","handleSearchClear","current","focus","MLV_SEARCH","paddingTop","MLV_RETURNS","MLV_STATUS","srStatus","OnClaimStatsChange","mlvOptions","NextclassName","isLastPage","PrevclassName","skip","FirstclassName","currentpage","OnPaginationPrevious","MLV_PREVIOUS","OnPaginationFirst","MLV_FIRST","OnPaginationNext","MLV_NEXT","MLV_RESULTSPERPAGE","onPerPageChange","MLV_CLAIMSTATUS","CliamsData","MLV_NORECORDFOUND","statusClsName","status","isViewDetails","subStatus","returnStatus","GetMLVStatus","MLV_CLAIM","OnViewReturn","MLV_PART","partNumber","MLV_SUBMITTED","incidentDate","whiteSpace","description","MLV_VIEWDETAILS","minWidth","onCliamListPage","MLV_LISTOFCLAIMSCREEN","MLV_ALL","width","SParameter","Searchedvalue","fontFamily","OnOrderSearch","OnSearchedvalue","MLV_PTSCANTFINDYOURPART","onNewReturn","MLV_RETURNFORM","data-toggle","onPTSPopup","MLV_CLICKPTSSEARCH","maxWidth","MLV_SORTBY","SrotingValue","OnChangeSort","MLVAZ","MLVZA","useState","fontState","fontSetState","useEffect","userAgent","indexOf","documentMode","MLV_DATE","OrderList","ShowDetailsGrid","CustomerPONo","isDivision","show","paddingLeft","MLV_CONTACT","INTLDivision","MLV_FORCLAIMINSTRACTION","CustPO","scope","MLV_LINEITEMNUMBER","MLV_ORDERQUANTITY","OrderDetailsList","n","shipToDetailsobj","shipments","shipTo","shipToDetails","shipToName","shipToAddr1","shipToAddr2","shipToAddr3","shipToAddr4","shipToCity","shipToCountrySubdivName","shipToPostalCode","shipToCountryName","onEnableProceed","subKey","line","Item","ItemID","OrderStatuses","OrderedQty","isProceed","OnProceed","MLV_PROCEED","SubOrderListBody","textAlign","colSpan","SubOrderListEmptyBody","BindGrids","BuyerOrganizationCode","OnOrderPrevious","OnOrderFirst","OnOrderNext","onOrderPerPageChange","body","aria-labelledby","role","margin","float","MLV_SEARCHPTSNUMBER","OnNewReturnClose","PTSMessage","MLV_PTSNUMBERNOTFOUND","PTSCustomerNumber","OnChangePTSCustomer","PTSNumber","OntxtPTSChange","MLV_SearchbyPTS","OnFindOrder","MLV_FIND","isPTSResult","MLV_RESULTFOUND","MLV_PTSID","PTSDetails","PTSID","MLV_ACCOUNT","Account","Part","MLV_MODEL","Model","MLV_SERIAL","Serial","MLV_MESSAGE","Message","MLV_DIVISIONLIST","DivisionList","data-dismiss","OnPtsSearchProceed","OrderSearchMain","orderParams","Start","SOpenClose","OrderByField","OrderByAscDescFlag","total","customerDetail","GetOrderList","dataItem","prevKey","divisionId","SellerOrganizationCode","GetOrderDetails","palceHolerText","MLV_SEARCHBYPARTNUMBER","MLV_SEARCHBYORDER","MLV_SEARCHBYPONUMBER","orderparams","SOperator","clearRxOrderList","fieldArray","field","dir","orderDivisionID","shippingTo","Details","substring","newSkip","parseInt","onpagination","orderPagingCustomFilter","recordCount","RxOrderList","takeValue","EnteredDate","changePageTake","PageKey","MainDivisionId","isPTSPopup","OnPTSProceed","ptsDetails","queryOrderStateParam","OrderState","SOrderValue","validDivisions","WebId","SOrderPara","DParameter","isConfigDivision","configDivisions","AddOrderList","actionType","param","lengthOfOrders","message","Page","Output","constructor","Order","searchCategory","IsLastPage","skipvalue","odData","OrderDetails","LineItems","GetDivisionName","item1","item2","str","pagingData","slice","Ptsid","Acctno","PartNbr","ModelNbr","SerialNbr","prototype","call","s","error","olr","locationId","aria-hidden","MLV_DETAILSOFCLAIM","ViewData","OnCloseViewReturn","Status","SubmittedDate","MLV_DIVISIONNAME","MLV_COMPANY","Company","MLV_ADDRESS","CustomerADDR1","CustomerADDR2","CustomerADDR3","CustomerCity","CustomerState","CustomerCountry","CustomerPost_Code","MLV_CONTACTNAME","Contact","MLV_EMAIL","Email","MLV_PHONE","CustomerPhone","MLV_FULLDESCRIPTION","wordBreak","rgaClaimAttachments","onFileViewDownload","OnEditViewReturn","isViewEdit","MLV_EDIT","MLV_CLOSE","hfdata","paddingRight","topHeaderNav","topRightLinks","visibility","aria-controls","aria-selected","onChangeTabStatus","MLV_NEWRETURN","ProductReturns","stateParam","cliamsRequestData","startRowNum","pageSize","OnClimasRequest","lastPage","isHeaderLoading","searchedStats","selectedCustNo","customerNumbers","listParam","totalPages","searchText","getElementsByClassName","isPopup","rgaNumber","isButton","OnGetViewReturnData","newReturnRgaNumber","legalIdVal","getOrgList","customerCall","getUserId","customersIds","customerIds","currentCustomer","legalVal","orgArray","legalId","MLV_SUCCESSMESSAGE3","messageCh","message3","MLV_DDSTATUS","padding","MLV_SUCCESSMESSAGE1","x-ms-format-detection","MLV_SUBMIT_ERROR","SelectedDivision","HeaderSubscriptionKey","getVarificationUrl","getHeaderFooterURL","varification","method","login","asyncvarification","oktasessmeId","clear","agent","https","Agent","rejectUnauthorized","timeout","httpsAgent","Login","onChangeLogin","OnLogin","username","password","credent","user","isUserType","isResource","CustomerResult","customerData","queryDetails","ParseParams","dateFormatMask","CustomersIds","Defaultlanguage","MlvLanguages","rGALanguages","isLogged","loginStatus","MLV_Securityissue","MLV_LoginCustomerNotAvailable","MLV_LoginFail","rawParams","extractedParams","isAuthenticated","autoComplete","LoginLanding","WindowLoad","windowLocation","origin","windowURL","open","GetLoginData","loginResponse","isMultipleWebId","MLV_LOGINFAILMULTIPLEWEBID","MLV_SECURITYISSUE","MLV_LOGINCUSTOMERNOTAVAILABLE","MLV_LOGINFAIL","loginAfterReferesh","Error_404","React","redirectURI","messageURL","CLIENT_ID","ISSUER","authorizeURL","oidc","clientId","issuer","redirectUri","scopes","pkce","disableHttpsCheck","onAuthRequired","resourceServer","messagesUrl","urlParams","URLSearchParams","code","domainName","callHeaderFooter","$","temp","cloneArray","createPageViewTag","footerState","isMobile","footerOneClass","footerTwoClass","iscollapseOne","iscollapseTwo","spanOne","spanTwo","collapseOneClass","collapseTwoClass","handleResize","cssClass","innerWidth","addEventListener","removeEventListener","mlvlabel","headerFooterData","getDefaultLanguage","getWCToken","getDefaultLang","defaultLang","email","oktaId","requestBody","Axios","WCToken","WCTrustedToken","fetch","json","language","langID","languages","initialData","useOktaAuth","authState","authService","sessionMeID","accessToken","getAccessToken","temp_check","isPending","asyncRes","GetFirstNameLastNameFromOKTA","getDefaultCid","headerData","request","langId","oktaUserResponse","fName","lName","resp","hasCid","has","hasLang","delete","urlObj","assign","DeleteSSOOkta","idToken","CustomLoginCallback","useHistory","handleLogin","handleAuthentication","RouteWrapper","component","rest","langForHeader","isLang","to","initialState","UserName","SelectedLanguage","Languages","UserId","isLog","isAuthenticate","GetRgaMLV","LoadMLV","LoadHFData","AuthService","OktaConfig","isUserAuthenticated","_oktaAuth","session","exists","existsData","getTokenManager","getWithoutPrompt","tokenManager","add","tokens","onLogout","urlLogout","sessionOkta","selectedLang","GetMlvData","querySelector","Event","createEvent","initEvent","dispatchEvent","clickDesktop1Handler","onChangeMLV","selectedLanguage","isOnchangeMlv","hfreturnData","categoryList","onChangeMLVEvent","useCallback","mainHeader","useMemo","MainHeader","minHeight","data-initial-state","src","require","exact","path","OktaLogin","render","Logout","classList","rv","toArray","endsWith","isCurrentState","setTimeout","transitionEvent","transitionDesktopkeyframe1tokeyframe2EndedHandler","removeAllClassesButFirst","addClass","array","object","skipClass","componentClass","toRemove","beforeComponent","remove","String","suffix","startsWith","searchString","callback","T","k","TypeError","O","len","arguments","kValue","t","el","createElement","transitions","whichTransitionEvent","eventTarget","lastTransitionDesktopEndedHandler","Boolean","match","RGAMlvReducer","action","newState","stateKeys","mlvKey","newAll","prstate","prdata","NewReturnRequestReducer","newLoginState","newSubmitState","newCancelState","newDefaultState","orderstate","Rxtotal","Rxskip","Rxtake","OrderListReducer","StateInitial","StateNext","concodinateArray","firstname","LoginReducer","StateInitialout","RGAHFDataReducer","reducers","combineReducers","store","createStore","compose","applyMiddleware","thunk","ReactDOM","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.82d6b4bc.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","import React from 'react';\r\n\r\nconst NewRequestContainer = (props) => {\r\n\r\n    const header = props.isEdit ? props.MLV_EDITRETURNREQUEST + \"# \" + props.cliamNum : props.MLV_NEWRETURNREQUEST;\r\n    //const isRepair = props.ReurnType === \"Repair\" ? \"disabled\" : \"\";\r\n    let tFlag = false;\r\n    function scrollValidate(e) {\r\n        if (tFlag) {\r\n            window.scrollTo({ top: e.target.offsetTop });\r\n            tFlag = false;\r\n        }\r\n    }\r\n    return (\r\n        <React.Fragment>\r\n            <div className=\"container HeaderContainer\">\r\n                <div className=\"ph-header-main__title row px-md-2 px-lg-5\">\r\n                    <div className=\"div__contentpadding\">\r\n                        <div className=\"col\">\r\n                            <h1 className=\"p-title\"> {header}</h1>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n                <div className=\"div__contentpadding\">\r\n                    <div className=\"ph-header-main__breadcrumbs row px-md-2 px-lg-5 py-2 hide-mobile\">\r\n                        <div className=\"col\">\r\n                            <nav aria-label=\"breadcrumb\">\r\n                                <ol className=\"breadcrumb\">\r\n                                    <li className=\"breadcrumb-item\" aria-current=\"page\"><a href={`/list?cid=${window.sessionStorage.getItem('cid')}&lang=${window.sessionStorage.getItem('lang')}`}>Home</a></li>\r\n                                    <li className=\"breadcrumb-item active p-title\" aria-current=\"page\">{props.MLV_PRODUCTRETURNREQUEST}</li>\r\n                                </ol>\r\n                            </nav>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n            <div className=\"div__contentpadding\">\r\n                <div className=\"container px-5 rganewrequestcontainer\">\r\n                    <div className=\"row justify-content-center\">\r\n                        <div className=\"col-12\">\r\n                            <div className=\"row\">\r\n                                <div className=\"col-12 col-md-7\">\r\n                                    <div className=\"content-section\">\r\n                                        <form>\r\n\r\n                                            <div className=\"ph-form-row\">\r\n                                                <label className=\"ph-form-row__label\" htmlFor=\"division\">{props.MLV_CUSTOMERS}:<span className=\"required\">*</span></label>\r\n                                                {props.isOrderSearch ? (\r\n                                                    <select disabled={props.isOrderSearch} style={{ maxHeight: \"50px\", overflow: \"auto !important\" }} required name=\"CustomerDetails\" value={props.customerNumber} onChange={props.OnChangeCustomer} onFocus={(e) => scrollValidate(e)} onInvalid={e => { e.target.setCustomValidity(props.MLV_CUSTOMERNUMBER_REQUIRED); tFlag = true; }} className=\"ph-form-row__input\" id=\"ddCustomer\">\r\n                                                        {props.CustomerDetails.map((result) => <option key={result.customerNumber} value={result.customerNumber}> {result.customerName} </option>)}\r\n                                                    </select>) :\r\n                                                    (\r\n                                                        <select style={{ maxHeight: \"50px\", overflow: \"auto !important\" }} required name=\"CustomerDetails\" value={props.customerNumber} onChange={props.OnChangeCustomer} onFocus={(e) => scrollValidate(e)} onInvalid={e => { e.target.setCustomValidity(props.MLV_CUSTOMERNUMBER_REQUIRED); tFlag = true; }} className=\"ph-form-row__input\" id=\"ddCustomer\">\r\n                                                            {props.CustomerDetails.map((result) => <option key={result.customerNumber} value={result.customerNumber}> {result.customerName} </option>)}\r\n                                                        </select>\r\n                                                    )}\r\n                                            </div>\r\n\r\n                                            <div className=\"ph-form-row\">\r\n                                                <label className=\"ph-form-row__label\" htmlFor=\"division\">{props.MLV_DIVISION}:<span className=\"required\">*</span></label>\r\n                                                {props.isOrderSearch ? (\r\n                                                    <select disabled={props.isOrderSearch} style={{ maxHeight: \"50px\", overflow: \"auto !important\" }} required name=\"Division\" value={props.Division} onChange={props.OnChangeDivision} onFocus={(e) => scrollValidate(e)} onInvalid={e => { e.target.setCustomValidity(props.MLV_DIVISION_REQUIRED); tFlag = true }} className=\"ph-form-row__input\" id=\"division\">\r\n                                                        {props.DivisionData.map((result) => <option key={result.DivisionId} value={result.DivisionId}> {result.DivisionName} </option>)}\r\n                                                    </select>) :\r\n                                                    (\r\n                                                        <select style={{ maxHeight: \"50px\", overflow: \"auto !important\" }} required name=\"Division\" value={props.Division} onChange={props.OnChangeDivision} onFocus={(e) => scrollValidate(e)} onInvalid={e => { e.target.setCustomValidity(props.MLV_DIVISION_REQUIRED); tFlag = true }} className=\"ph-form-row__input\" id=\"division\">\r\n                                                            {props.DivisionData.map((result) => <option key={result.DivisionId} value={result.DivisionId}> {result.DivisionName} </option>)}\r\n                                                        </select>\r\n                                                    )}\r\n                                            </div>\r\n                                            {props.isOrderSearch && props.orderNumber !== \"\" ? (\r\n                                                <div className=\"ph-form-row\">\r\n                                                    <label className=\"ph-form-row__label\" htmlFor=\"order-number\">{props.MLV_ORDERNUMBER}:<span className=\"required\">* {props.isOrderReachedMaxLen ? props.MLV_ORDERNUMBER_REQUIRED : \"\"}</span></label>\r\n                                                    <input name=\"orderNumber\" disabled className=\"ph-form-row__input\" type=\"text\" value={props.orderNumber} id=\"order-number\" required onFocus={(e) => scrollValidate(e)} onInvalid={e => { e.target.setCustomValidity(props.MLV_ORDERNUMBER_REQUIRED); tFlag = true; }} onChange={props.OnChangeHandler} />\r\n                                                </div>) :\r\n                                                (\r\n                                                    <div className=\"ph-form-row\">\r\n                                                        <label className=\"ph-form-row__label\" htmlFor=\"order-number\">{props.MLV_ORDERNUMBER}:</label>\r\n                                                        <input name=\"orderNumber\" disabled className=\"ph-form-row__input\" type=\"text\" id=\"order-number\" onFocus={(e) => scrollValidate(e)} />\r\n                                                    </div>\r\n                                                )}\r\n                                            <div className=\"ph-form-row\">\r\n                                                <label className=\"ph-form-row__label\" htmlFor=\"po-number\">{props.MLV_PONUMBER}:<span className=\"required\">*</span></label>\r\n                                                <input name=\"PONumber\" className=\"ph-form-row__input\" type=\"text\" value={props.PONumber} id=\"po-number\" required onFocus={(e) => scrollValidate(e)} onInvalid={e => { e.target.setCustomValidity(props.MLV_PONUMBER_REQUIRED); tFlag = true; }} onChange={props.OnChangeHandler} />\r\n                                            </div>\r\n                                            <div className=\"ph-form-row\">\r\n                                                <label className=\"ph-form-row__label\" htmlFor=\"part-number\">{props.MLV_PARTNUMBER}:<span className=\"required\">*</span></label>\r\n                                                <input name=\"PartNo\" className=\"ph-form-row__input\" type=\"text\" value={props.PartNo} id=\"part-number\" required onFocus={(e) => scrollValidate(e)} onInvalid={e => { e.target.setCustomValidity(props.MLV_PARTNUMBER_REQUIRED); tFlag = true; }} onChange={props.OnChangeHandler} disabled={props.isEdit ? \"disabled\" : \"\"} />\r\n                                            </div>\r\n                                            <div className=\"ph-form-row\">\r\n                                                <label className=\"ph-form-row__label\" htmlFor=\"serial-number\">{props.MLV_SERIALNUMBER}:</label>\r\n                                                <input className=\"ph-form-row__input\" type=\"text\" name=\"serialnumber\" id=\"serial-number\" onChange={props.OnChangeHandler} value={props.serialnumber} />\r\n                                            </div>\r\n                                            <div className=\"ph-form-row\">\r\n                                                <label className=\"ph-form-row__label\" htmlFor=\"quantity\">{props.MLV_QUANTITY}:<span className=\"required\">*</span></label>\r\n                                                <input className=\"ph-form-row__input\" type=\"Number\" min=\"0\" pattern=\"[0-9]\" id=\"quantity\" name=\"Quantity\" required onFocus={(e) => scrollValidate(e)} onChange={props.OnChangeHandler} onInvalid={e => { e.target.setCustomValidity(props.MLV_QUANTITY_REQUIRED); tFlag = true; }} value={props.Quantity} />\r\n                                            </div>\r\n                                            <div className=\"ph-form-row\">\r\n                                                <label className=\"ph-form-row__label\" htmlFor=\"return-type\">{props.MLV_CLAIMTYPE}:<span className=\"required\">*</span></label>\r\n                                                <select name=\"ReturnType\" className=\"ph-form-row__input\" id=\"return-type\" required defaultValue={props.ReturnType} onFocus={(e) => scrollValidate(e)} onChange={props.OnChangeHandlerCliamsDD} onInvalid={e => { e.target.setCustomValidity(props.MLV_CLAIMTYPE_REQUIRED); tFlag = true; }}>\r\n                                                    <option value=\"\">Select</option>\r\n                                                    <option value=\"Warranty\">Warranty</option>\r\n                                                    <option value=\"Non-Warranty Evaluation and Repair\">Non-Warranty Evaluation and Repair</option>\r\n                                                    {/* <option value=\"Stock Return / Evaluation\">Stock Return / Evaluation</option> */}\r\n                                                    <option value=\"Shipping Error\">Shipping Error</option>\r\n                                                </select>\r\n                                            </div>\r\n                                            <div className=\"ph-form-row\">\r\n                                                <label className=\"ph-form-row__label\" htmlFor=\"return-type\">{props.MLV_WARRANTYFAILURE}:<span style={{ display: props.isRepair === \"disabled\" ? \"none\" : \"inline-block\" }} className=\"required\">*</span></label>\r\n                                                <div className=\"ph-form-row__group--inline\">\r\n                                                    <div className=\"ph-input__inline\">\r\n                                                        <label className=\"ph-input__label--inline\"><input ref={props.setfieldfailureRef} className=\"ph-input__radio\" type=\"radio\" name=\"WarrantyFailure\" id=\"field-failure\" onFocus={(e) => scrollValidate(e)} onInvalid={e => { e.target.setCustomValidity(props.MLV_WARRANTYFAILURE_REQUIRED); tFlag = true; }} required={props.isRepair === \"disabled\" ? false : true} value=\"Field\" onChange={props.OnChangeHandler} checked={\"Field\" === props.WarrantyFailure ? true : false} disabled={props.isRepair} /> {props.MLV_FIELDFAILURE}</label>\r\n                                                    </div>\r\n                                                    <div className=\"ph-input__inline\">\r\n                                                        <label className=\"ph-input__label--inline\"><input className=\"ph-input__radio\" type=\"radio\" name=\"WarrantyFailure\" id=\"line-side\" value=\"Line\" onChange={props.OnChangeHandler} checked={\"Line\" === props.WarrantyFailure ? true : false} disabled={props.isRepair} /> {props.MLV_LINESIDE}</label>\r\n                                                    </div>\r\n                                                    <div className=\"ph-input__inline\">\r\n                                                        <label className=\"ph-input__label--inline\"><input className=\"ph-input__radio\" type=\"radio\" name=\"WarrantyFailure\" id=\"as-delivered\" value=\"As Delivered\" onChange={props.OnChangeHandler} checked={\"As Delivered\" === props.WarrantyFailure ? true : false} disabled={props.isRepair} /> {props.MLV_ASDELIVERED}</label>\r\n                                                    </div>\r\n                                                </div>\r\n                                            </div>\r\n                                            <div className=\"ph-form-row\">\r\n                                                <label className=\"ph-form-row__label\" htmlFor=\"return-type\">{props.MLV_PREFERREDRESOLUTION}:<span style={{ display: props.isRepair === \"disabled\" ? \"none\" : \"inline-block\" }} className=\"required\">*</span></label>\r\n                                                <div className=\"ph-form-row__group--inline\">\r\n                                                    <div className=\"ph-input__inline\">\r\n                                                        <label className=\"ph-input__label--inline\"><input ref={props.setcredittoaccountRef} className=\"ph-input__radio\" type=\"radio\" name=\"PreferrredResolution\" id=\"credit-to-account\" onFocus={(e) => scrollValidate(e)} onInvalid={e => { e.target.setCustomValidity(props.MLV_PREFERREDRESOLUTION_REQUIRED); tFlag = true; }} required={props.isRepair === \"disabled\" ? false : true} value=\"Credit Note\" checked={\"Credit Note\" === props.PreferrredResolution ? true : false} onChange={props.OnChangeHandler} disabled={props.isRepair} /> {props.MLV_CREDITTOACCOUNT}</label>\r\n                                                    </div>\r\n                                                    <div className=\"ph-input__inline\">\r\n                                                        <label className=\"ph-input__label--inline\"><input className=\"ph-input__radio\" type=\"radio\" name=\"PreferrredResolution\" id=\"product-for-payment\" value=\"Replacement\" checked={\"Replacement\" === props.PreferrredResolution ? true : false} onChange={props.OnChangeHandler} disabled={props.isRepair} /> {props.MLV_PRODUCTLIEUOFPAYMENT}</label>\r\n                                                    </div>\r\n                                                    <div className=\"ph-input__inline\">\r\n                                                        <label className=\"ph-input__label--inline\"><input className=\"ph-input__radio\" type=\"radio\" name=\"PreferrredResolution\" id=\"repair\" value=\"Rework\" checked={\"Rework\" === props.PreferrredResolution ? true : false} onChange={props.OnChangeHandler} disabled={props.isRepair} /> {props.MLV_REPAIRANDRETURN}</label>\r\n                                                    </div>\r\n                                                </div>\r\n                                            </div>\r\n                                            <div className=\"ph-form-row\">\r\n                                                <label className=\"ph-form-row__label\" htmlFor=\"problem-description\">{props.MLV_PROBLEMDESCRIPTION}:<span className=\"required\">*</span></label>\r\n                                                <textarea wrap=\"hard\" className=\"ph-form-row__textarea\" name=\"ProblemDiscription\" id=\"problem-description\" required onChange={props.OnChangeHandler} onFocus={(e) => scrollValidate(e)} onInvalid={e => { e.target.setCustomValidity(props.MLV_DESCRIPTION_REQUIRED); tFlag = true; }} value={props.ProblemDiscription}></textarea>\r\n                                            </div>\r\n                                            <div className=\"ph-form-row\">\r\n                                                <label className=\"ph-form-row__label\" htmlFor=\"attachments\">{props.MLV_ATTACHMENTS}:</label>\r\n                                                <div className=\"ph-form-row__group--inline\">\r\n                                                    <div className=\"ph-input__inline\">\r\n                                                        <label>\r\n                                                            <div className=\"ph-form-row__input ph-input__fileUpload button customfileinput\">Choose Files</div>\r\n                                                            <input className=\"ph-form-row__input ph-input__fileUpload\" type=\"file\" multiple onChange={props.OnFileUpload} style={{ fontSize: \"0\", display: \"none\" }} />\r\n                                                        </label>\r\n                                                        <label className=\"ph-input\" htmlFor=\"file-upload\">{props.MLV_MULIPLEATTACHMENTS}</label>\r\n                                                    </div>\r\n                                                    <div className=\"ph-input__inline\">\r\n                                                        {FileUpload(props)}\r\n                                                    </div>\r\n                                                    <br />\r\n\r\n                                                    <div className=\"ph-input__inline\">\r\n                                                        {FileEditUpload(props, props.MLV_EXISTINGATTACHMENTS)}\r\n                                                    </div>\r\n                                                </div>\r\n                                            </div>\r\n                                            <div className=\"mt-3\">\r\n                                                <input className=\"button accent-button round-button mr-3\" type=\"button\" value={props.MLV_CANCEL} onClick={props.OnCancelRequest} onChange={props.OnCancelRequest} />\r\n                                                <input className=\"button round-button\" type=\"Submit\" value={props.MLV_SUBMIT} onClick={props.onFinalSubmit} onChange={props.onFinalSubmit} />\r\n                                            </div>\r\n                                        </form>\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </React.Fragment>\r\n    );\r\n}\r\n\r\nexport default NewRequestContainer;\r\n\r\n\r\n\r\n\r\nfunction FileUpload(props) {\r\n    var tmp = [];\r\n    for (var i = 1; i <= props.files; i++) {\r\n        tmp.push(i);\r\n    }\r\n\r\n    return (\r\n\r\n        <React.Fragment>\r\n            {\r\n\r\n                props.files.map((i, j) => {\r\n                    return (\r\n                        <p key={j}> {i.name.toString()} <button value={i.name} onClick={props.onRemove} href=\"#\" className=\"clsDelete\">X</button> </p>\r\n                    )\r\n\r\n                })\r\n            }\r\n\r\n\r\n        </React.Fragment>\r\n    )\r\n\r\n}\r\n\r\nfunction FileEditUpload(props, Attachments) {\r\n    if (props.isEdit) {\r\n        return (\r\n            <React.Fragment>\r\n                <p>{props.Editfiles.length > 0 ? Attachments : \"\"}</p>\r\n                <ul>\r\n                    {\r\n                        props.Editfiles.map((i, j) => {\r\n\r\n                            const fileName = i.AttachmentDescription.length > 0 ? i.AttachmentDescription : i.ActivityFileName;\r\n                            return (\r\n                                <li key={j}> <p > <a target=\"_blank\" className=\"a_edit_image\" onClick={(e) => props.onFileDownload(e, i.ActivityFileName)} > {fileName} </a> <br /> </p></li>\r\n\r\n                            )\r\n\r\n                        })\r\n                    }\r\n                </ul>\r\n\r\n\r\n            </React.Fragment>\r\n        )\r\n    } else {\r\n        return (\r\n            <React.Fragment>\r\n            </React.Fragment>\r\n        )\r\n    }\r\n}","let REACT_APP_APIURL;\r\n\r\nexport let PARKERAPI_ORDERSTATUS_URL;\r\nexport let ocpapim_subscription_key;\r\nexport let ocpapim_subscription_key_orgList;\r\nexport let ORGLIST_URL;\r\nexport const encryptKey = \"RGA96E45BD2FBCC\";\r\nexport let oktaSessionURL = 'https://loginqa.parker.com/api/v1/sessions/me';\r\nexport let MYPARKER_URL;\r\nexport let WCTokenURL;\r\nexport let getUserDetails;\r\nexport let domain;\r\nconst hostname = window && window.location && window.location.hostname;\r\nif (hostname === 'localhost') {\r\n//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<AUTO GENERATED BY CONFLICT EXTENSION<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Release_Sprint62\r\n   // REACT_APP_APIURL = 'https://phconnect.parker.com/RGAApi';\r\n//====================================AUTO GENERATED BY CONFLICT EXTENSION====================================\r\n    //REACT_APP_APIURL = 'https://phconnect.parker.com/RGAApi';\r\n    //REACT_APP_APIURL = 'https://phctest.parker.com/RGAapitest';\r\n//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>AUTO GENERATED BY CONFLICT EXTENSION>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Release_Sprint75\r\nREACT_APP_APIURL = 'https://apidev.parker.com/test/claims';\r\n//REACT_APP_APIURL = 'https://phconnect.parker.com/RGAApi';\r\noktaSessionURL = \"https://loginqa.parker.com/api/v1/sessions/me\";\r\n    PARKERAPI_ORDERSTATUS_URL = 'https://apidev.parker.com/dev/orderstatus';\r\n    ocpapim_subscription_key ='9a7b6552198d41fb9b000548826f59fb';\r\n    ORGLIST_URL = 'https://apidev.parker.com/test/delegatedadmin/store/20951/headerfooter/only/orglist/v1';\r\n    ocpapim_subscription_key_orgList='9a7b6552198d41fb9b000548826f59fb';\r\n    MYPARKER_URL = 'https://testmy.parker.com';\r\n    WCTokenURL = 'https://apidev.parker.com/test/delegatedadmin/store/20951/loginidentity/oktaSession';\r\n    // getUserDetails = 'https://apidev.parker.com/test/users/store/20951/person/@self';\r\n    getUserDetails ='https://apidev.parker.com/test/myparker/adminapi/getUserDefaultLocationAndLang'\r\n    domain= 'test';\r\n} else if (/^rgatest/.test(hostname)) {\r\n    REACT_APP_APIURL = 'https://apidev.parker.com/test/claims';\r\n    //REACT_APP_APIURL = 'https://phconnect.parker.com/RGAApi';\r\n    oktaSessionURL = \"https://loginqa.parker.com/api/v1/sessions/me\";\r\n    PARKERAPI_ORDERSTATUS_URL = 'https://apidev.parker.com/dev/orderstatus';\r\n    ocpapim_subscription_key ='9a7b6552198d41fb9b000548826f59fb';\r\n    ORGLIST_URL = 'https://apidev.parker.com/test/delegatedadmin/store/20951/headerfooter/only/orglist/v1';\r\n    ocpapim_subscription_key_orgList='9a7b6552198d41fb9b000548826f59fb';\r\n    MYPARKER_URL = 'https://testmy.parker.com';\r\n    WCTokenURL = 'https://apidev.parker.com/test/delegatedadmin/store/20951/loginidentity/oktaSession';\r\n    // getUserDetails = 'https://apidev.parker.com/test/users/store/20951/person/@self';\r\n    getUserDetails ='https://apidev.parker.com/test/myparker/adminapi/getUserDefaultLocationAndLang'\r\n    domain= 'test';\r\n}\r\nelse if (/^claimstest/.test(hostname)) {\r\n\r\n     REACT_APP_APIURL = 'https://apidev.parker.com/test/claims';\r\n   // REACT_APP_APIURL = 'https://phctest.parker.com/rgaapitest';\r\n    oktaSessionURL = \"https://loginqa.parker.com/api/v1/sessions/me\";\r\n    PARKERAPI_ORDERSTATUS_URL = 'https://apidev.parker.com/test/orderstatus';\r\n    ocpapim_subscription_key ='9a7b6552198d41fb9b000548826f59fb';\r\n    ORGLIST_URL = 'https://apidev.parker.com/test/delegatedadmin/store/20951/headerfooter/only/orglist/v1';\r\n    ocpapim_subscription_key_orgList='9a7b6552198d41fb9b000548826f59fb';\r\n    MYPARKER_URL = 'https://testmy.parker.com';\r\n    WCTokenURL = 'https://apidev.parker.com/test/delegatedadmin/store/20951/loginidentity/oktaSession';\r\n    // getUserDetails = 'https://apidev.parker.com/test/users/store/20951/person/@self';\r\n    getUserDetails ='https://apidev.parker.com/test/myparker/adminapi/getUserDefaultLocationAndLang'\r\n    domain= 'test';\r\n\r\n} else if (/^rgadev/.test(hostname)) {\r\n    REACT_APP_APIURL = 'https://apidev.parker.com/dev/claims';\r\n    // REACT_APP_APIURL = 'https://phcdev.parker.corp/RGAapitest';\r\n    //REACT_APP_APIURL = 'https://phctest.parker.com/rgaapitest';\r\n    oktaSessionURL = \"https://loginqa.parker.com/api/v1/sessions/me\";\r\n    PARKERAPI_ORDERSTATUS_URL = 'https://apidev.parker.com/test/orderstatus';\r\n    ocpapim_subscription_key ='9a7b6552198d41fb9b000548826f59fb';\r\n    ORGLIST_URL = 'https://apidev.parker.com/test/delegatedadmin/store/20951/headerfooter/only/orglist/v1';\r\n    ocpapim_subscription_key_orgList='9a7b6552198d41fb9b000548826f59fb';\r\n    MYPARKER_URL = 'https://testmy.parker.com';\r\n    WCTokenURL = 'https://apidev.parker.com/test/delegatedadmin/store/20951/loginidentity/oktaSession';\r\n    // getUserDetails = 'https://apidev.parker.com/test/users/store/20951/person/@self';\r\n    getUserDetails ='https://apidev.parker.com/test/myparker/adminapi/getUserDefaultLocationAndLang'\r\n    domain= 'test';\r\n} else {\r\n\r\n    REACT_APP_APIURL = 'https://api.parker.com/claims';\r\n    oktaSessionURL = \"https://login.parker.com/api/v1/sessions/me\";\r\n    PARKERAPI_ORDERSTATUS_URL = 'https://api.parker.com/prod/orderstatus';\r\n    ocpapim_subscription_key ='86792e9e7d40460bb5486475340181be';\r\n    ORGLIST_URL = 'https://api.parker.com/prod/delegatedadmin/store/20951/headerfooter/only/orglist/v1';\r\n    ocpapim_subscription_key_orgList='b21ca5a56a8a470bb23bb8efa5c70abf';\r\n    MYPARKER_URL = 'https://my.parker.com';\r\n    WCTokenURL = 'https://api.parker.com/prod/delegatedadmin/store/20951/loginidentity/oktaSession';\r\n    // getUserDetails = 'https://api.parker.com/prod/users/store/20951/person/@self';\r\n    getUserDetails ='https://api.parker.com/myparker/adminapi/getUserDefaultLocationAndLang'\r\n    domain= 'prod';\r\n}\r\n\r\nexport default REACT_APP_APIURL;","import  REACT_APP_APIURL, {oktaSessionURL,PARKERAPI_ORDERSTATUS_URL,ocpapim_subscription_key,ORGLIST_URL,ocpapim_subscription_key_orgList, MYPARKER_URL} from './../api-config';\r\n\r\nexport const ADD_PRSUBMIT = \"ADDPRSUBMIT\";\r\nexport const ADD_SUCCESS  = \"SUCCESS\";\r\nexport const ADD_FAILIURE = \"FAILIURE\";\r\nexport const ADD_SUBMITCLAIM_FAILIURE = \"SUBMITFAILIURE\";\r\nexport const CANCEL = \"CANCEL\"; \r\nexport const APIBASEURL = REACT_APP_APIURL;\r\nexport const Loaded  = \"Loaded\";\r\nexport const PREVIOUS = \"PREVIOUS\"; \r\nexport const NEXT = \"NEXT\"; \r\nexport const FIRST = \"FIRST\"; \r\nexport const PARKER_API_ORDERSTATUS_URL = PARKERAPI_ORDERSTATUS_URL;\r\nexport const ocp_apim_subscription_key = ocpapim_subscription_key;\r\nexport const GetOrderByCustomer = '/api/v2/administrators/all/getorderbycustomer?';\r\nexport const GetOrderDetails = '/api/v2/administrators/all/orders?';\r\nexport const OrderParam = 'customer=xxxxxx&pageNo=xxPagexx&pageSize=xxPerPagexx&sortBy=paramOBF&sortValue=paramAB';\r\nexport const OrderSearchParams = '&searchbyterm=paramSP&searchkeyword=paramSV';\r\n// export const OrderDetailsParam = 'customer=xxxxxx&searchbyterm=OrderNo&searchkeyword=paramOrderNo&customerPO=paramCustomerPO&fromdate=paramFromDate&enddate=paramEndDate';\r\nexport const OrderDetailsParam = 'customer=xxxxxx&searchbyterm=OrderNo&searchkeyword=paramOrderNo&customerPO=paramCustomerPO';\r\nexport const LOGIN=\"LOGIN\";\r\nexport const LOGOUT=\"LOGOUT\";\r\nexport const INITIAL = \"INITIAL\";\r\nexport const CLEARORDERLIST = \"CLEAR_ORDER_LIST\";\r\nexport const ADD_SUBMITLOGIN =\"ADD_SUBMITLOGIN\";\r\nexport const CLICKACTION =\"CLICKACTION\";\r\nexport const OKTAGETSessionURL = oktaSessionURL;\r\nexport const MLVRGA = \"MLVRGA\";\r\nexport const MLVRGAHF = \"MLVRGAHF\";\r\nexport const ORG_LIST_URL = ORGLIST_URL;\r\nexport const ocp_apim_subscription_key_orgList = ocpapim_subscription_key_orgList;\r\nexport const MY_PARKER_URL = MYPARKER_URL;","import { encryptKey } from './api-config.js'\r\nimport AES from 'crypto-js/aes';\r\nimport enc from 'crypto-js/enc-utf8';\r\n\r\n\r\nclass Auth {\r\n  constructor() {\r\n    this.authenticated = this.isDateAuthenticate();\r\n    this.sessionData = {};\r\n  }\r\n\r\n  login(cb, loginData) {\r\n    this.authenticated = true;\r\n    let newDate = new Date();\r\n    var cipherToken = (AES.encrypt(loginData.token, encryptKey)).toString();\r\n    var cipherTicket = (AES.encrypt(loginData.ticket, encryptKey)).toString();\r\n    loginData.ticket = cipherTicket;\r\n    loginData.token = cipherToken;\r\n    localStorage.setItem(\"loginRGAData\", JSON.stringify(loginData));\r\n    sessionStorage.setItem(\"sessionRGADate\", JSON.stringify(newDate));\r\n    cb();\r\n  }\r\n\r\n  loginAfterReferesh(cb, loginData) {\r\n    this.authenticated = true;\r\n    let newDate = new Date();     \r\n    localStorage.setItem(\"loginRGAData\", JSON.stringify(loginData));\r\n    sessionStorage.setItem(\"sessionRGADate\", JSON.stringify(newDate));\r\n    cb();\r\n  }\r\n\r\n  logout() {\r\n    this.authenticated = false;\r\n    //localStorage.removeItem(\"loginRGAData\");\r\n    //localStorage.removeItem(\"sessionRGADate\");\r\n    //localStorage.removeItem(\"okta-token-storage\")\r\n  }\r\n\r\n  isAuthenticated() {\r\n    this.authenticated = this.isDateAuthenticate();\r\n    return this.authenticated;\r\n  }\r\n\r\n  loginData(isLoginPage = false) {\r\n    this.sessionData = JSON.parse(localStorage.getItem(\"loginRGAData\"));\r\n    if (!isLoginPage) {\r\n      if (this.sessionData === \"null\" || this.sessionData === null) {\r\n        this.logout();\r\n        // window.location.reload();\r\n        localStorage.setItem('originalUrl', window.location.href);\r\n        window.location.href= '/';\r\n      } else {\r\n        this.DecryptTicketandToken();\r\n        return this.sessionData;\r\n      }\r\n    } else {\r\n      this.DecryptTicketandToken();\r\n      return this.sessionData;\r\n    }\r\n  }\r\n\r\n  isDateAuthenticate() {\r\n    var sessionData = JSON.parse(sessionStorage.getItem(\"sessionRGADate\"));\r\n    var loggedDate = (sessionData === null || sessionData === \"null\") ? \"\" : sessionData;\r\n    var isAuthen = false;\r\n    if (loggedDate != \"\") {\r\n      let newDate = new Date(loggedDate);\r\n      newDate.setMinutes(newDate.getMinutes() + 60);\r\n      let sessionDate = new Date();\r\n      isAuthen = sessionDate <= newDate ? true : false;\r\n      if (!isAuthen) {\r\n        localStorage.removeItem(\"loginRGAData\");\r\n        sessionStorage.removeItem(\"sessionRGADate\");\r\n      }\r\n    }\r\n    return isAuthen;\r\n  }\r\n\r\n\r\n  DecryptTicketandToken(){\r\n    var ticketbytes = AES.decrypt(this.sessionData.ticket.toString(), encryptKey);\r\n    var decryptticket = ticketbytes.toString(enc);\r\n    var tokenbytes = AES.decrypt(this.sessionData.token.toString(), encryptKey);\r\n    var decrypttoken = tokenbytes.toString(enc);\r\n    this.sessionData.ticket = decryptticket;\r\n    this.sessionData.token = decrypttoken;\r\n  }\r\n\r\n}\r\n\r\nexport default new Auth();","import axios from 'axios'\r\nimport { APIBASEURL, OKTAGETSessionURL, MLVTEXT, ocp_apim_subscription_key} from '../Store/Type'\r\nimport auth from '../auth'\r\nimport https from 'https';\r\n\r\n\r\nexport function pausecomp(millis) {\r\n    var date = new Date();\r\n    var curDate = null;\r\n    do { curDate = new Date(); }\r\n    while (curDate - date < millis);\r\n}\r\n\r\nexport function GetDivisions(userId) {\r\n    // const oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n    // axios.defaults.headers.common['oktaSessionId'] = oktasessmeId;\r\n    axios.defaults.headers.common['Ocp-Apim-Subscription-Key'] = ocp_apim_subscription_key;\r\n    const UserIDData = userId\r\n    const url = APIBASEURL + \"/api/DivisionData?UserIDData=\" + UserIDData + \"&timestamp=\" + new Date().getTime();\r\n    return axios.get(url, {\r\n        headers: {\r\n            'Access-Control-Allow-Origin': '*',\r\n            \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n            'content-type': 'multipart/form-data',\r\n            'ticket': auth.loginData().ticket,\r\n            'token': auth.loginData().token,\r\n        }\r\n    });\r\n}\r\n\r\nexport function GetConfigDivisions() {\r\n    // const oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n    // axios.defaults.headers.common['oktaSessionId'] = oktasessmeId;\r\n    axios.defaults.headers.common['Ocp-Apim-Subscription-Key'] = ocp_apim_subscription_key;\r\n    const url = APIBASEURL + \"/api/GetConfigDivisions?timestamp=\" + new Date().getTime();\r\n    return axios.get(url, {\r\n        headers: {\r\n            'Access-Control-Allow-Origin': '*',\r\n            \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n            'content-type': 'multipart/form-data',\r\n            'ticket': auth.loginData().ticket,\r\n            'token': auth.loginData().token,\r\n        }\r\n    });\r\n}\r\n\r\n\r\n\r\n\r\nexport function OnSubmitRequest(data, files) {\r\n    // const oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n    // axios.defaults.headers.common['oktaSessionId'] = oktasessmeId;\r\n    // Ensure the oktaSessionId header is not set\r\n    delete axios.defaults.headers.common['oktaSessionId'];\r\n    axios.defaults.headers.common['Ocp-Apim-Subscription-Key'] = ocp_apim_subscription_key;\r\n    const formData = GetFormData(data, files);\r\n    let url = APIBASEURL + '/api/SubmitRGAClaimRequest';\r\n\r\n    return (dispatch) => {\r\n        return axios.post(url, formData, {\r\n            headers: {\r\n                'Access-Control-Allow-Origin': '*',\r\n                \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n                'content-type': 'multipart/form-data',\r\n                'ticket': auth.loginData().ticket,\r\n                'token': auth.loginData().token,\r\n                'AccountNumber': auth.loginData().customerNumber,\r\n                'WebId': auth.loginData().userName\r\n            }\r\n        });\r\n    }\r\n}\r\n\r\nfunction GetFormData(data, files) {\r\n    let form_data = new FormData();\r\n    if (files.length > 0) {\r\n        files.map((result, i) => {\r\n            form_data.append(i, result);\r\n        });\r\n    }\r\n    form_data.append('rgaRequest', JSON.stringify(data));\r\n    return form_data;\r\n}\r\n\r\n\r\nexport function OnLogin(data) {\r\n    // const oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n    // axios.defaults.headers.common['oktaSessionId'] = oktasessmeId;\r\n    axios.defaults.headers.common['Ocp-Apim-Subscription-Key'] = ocp_apim_subscription_key;\r\n    let url = APIBASEURL + '/api/login';\r\n    return axios.post(url, data, {\r\n        headers: {\r\n            'Content-Type': 'application/json'\r\n        }\r\n    });\r\n\r\n}\r\n\r\nexport function GetFirstNameLastNameFromOKTA(email) {\r\n    // const oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n    // axios.defaults.headers.common['oktaSessionId'] = oktasessmeId;\r\n    axios.defaults.headers.common['Ocp-Apim-Subscription-Key'] = ocp_apim_subscription_key;\r\n    let url = APIBASEURL + '/api/GetFirstNameLastNameFromOKTA?emailID='+ email;\r\n    return axios.get(url, {\r\n        headers: {\r\n            'Access-Control-Allow-Origin': '*',\r\n            \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n            'Content-Type': 'application/json'\r\n        }\r\n    });\r\n\r\n}\r\n\r\nexport function GetFileInfo(fileName) {\r\n    // const oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n    // axios.defaults.headers.common['oktaSessionId'] = oktasessmeId;\r\n    axios.defaults.headers.common['Ocp-Apim-Subscription-Key'] = ocp_apim_subscription_key;\r\n    const url = APIBASEURL + \"/api/FileInfo?id=\" + fileName;\r\n    return axios.get(url, {\r\n        headers: {\r\n            'ticket': auth.loginData().ticket,\r\n            'token': auth.loginData().token\r\n        },\r\n        responseType: 'blob',\r\n    });\r\n\r\n}\r\n\r\n\r\nexport function GetCustomers(userId) {\r\n    // const oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n    // axios.defaults.headers.common['oktaSessionId'] = oktasessmeId;\r\n    axios.defaults.headers.common['Ocp-Apim-Subscription-Key'] = ocp_apim_subscription_key;\r\n    const url = APIBASEURL + \"/api/GetUsersAccountData?UserId=\" + userId + \"&timestamp=\" + new Date().getTime();\r\n    return axios.get(url, {\r\n        headers: {\r\n            'Access-Control-Allow-Origin': '*',\r\n            \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n            'Content-Type': 'application/json',\r\n            'ticket': auth.loginData().ticket,\r\n            'token': auth.loginData().token\r\n        }\r\n    });\r\n}\r\n\r\nexport async function GetSSOOkta() {\r\n    let url = OKTAGETSessionURL+ \"?timestamp=\" + new Date().getTime();  \r\n    return axios.get(url, {\r\n        withCredentials: true\r\n    });\r\n}\r\n\r\nexport async function GetUserOkta() {\r\n    let url = OKTAGETSessionURL.replace('sessions','users') + \"?timestamp=\" + new Date().getTime();  \r\n    return axios.get(url, {\r\n        withCredentials: true\r\n    });\r\n}\r\n\r\nexport function DeleteSSOOkta() {\r\n    let url = OKTAGETSessionURL + \"?timestamp=\" + new Date().getTime();\r\n    return axios.delete(url, {\r\n        withCredentials: true\r\n    })\r\n}\r\n\r\nexport function LoginSSO(idpId, emailAddress, lang) {\r\n    // const oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n    // axios.defaults.headers.common['oktaSessionId'] = oktasessmeId;\r\n    axios.defaults.headers.common['Ocp-Apim-Subscription-Key'] = ocp_apim_subscription_key;\r\n\r\n    const url = APIBASEURL + \"/api/SSOLogin\";\r\n    return axios.post(url, {\r\n        idpId: idpId,\r\n        emailAddress: emailAddress,\r\n        lang: lang\r\n    }, {\r\n        'Access-Control-Allow-Origin': '*',\r\n        \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n        'Content-Type': 'application/json',\r\n        'Accept': 'application/json'\r\n    })\r\n}\r\n\r\n\r\nexport function GetRgaMLV(lang, userId) {\r\n    // const oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n    // axios.defaults.headers.common['oktaSessionId'] = oktasessmeId;\r\n    axios.defaults.headers.common['Ocp-Apim-Subscription-Key'] = ocp_apim_subscription_key;\r\n    const url = APIBASEURL + \"/api/MlvChange?lang=\" + lang + \"&userId=\" + userId + \"&timestamp=\" + new Date().getTime();\r\n\r\n    return (dispatch) => {\r\n        return axios.get(url, {\r\n            'Access-Control-Allow-Origin': '*',\r\n            \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n            'Content-Type': 'application/json',\r\n            'Accept': 'application/json'\r\n        });\r\n    }\r\n}\r\n\r\n","\r\nimport { ADD_PRSUBMIT, ADD_SUCCESS, ADD_FAILIURE, CANCEL } from '../Store/Type'\r\n\r\nexport function successHandle(req) {\r\n    return {\r\n        type: req.type,\r\n        data: req.data,\r\n        division: req.division,\r\n        srNumber:req.srNumber\r\n    };\r\n}\r\n\r\n\r\nexport function errorHandle(err) {\r\n    return {\r\n        type: err.type\r\n    };\r\n}\r\nexport function DataLoaded(res) {\r\n    return {\r\n        type: res.type\r\n    };\r\n}\r\nexport function setPrResponseData(res) {\r\n    return {\r\n        type: res.type,\r\n        data: res.data\r\n    };\r\n}\r\n\r\nexport function setCANCEL(res) {\r\n    return {\r\n        type: CANCEL\r\n    };\r\n}\r\n\r\n \r\nexport function close() {    \r\n    return (setCANCEL([]));\r\n}\r\n\r\nexport function AddOrderList(req) {\r\n    \r\n    return {\r\n        type: req.type,\r\n        data: req.data         \r\n    };\r\n}\r\n\r\nexport function Authentication(req) {    \r\n    return {\r\n        type: req.type,\r\n        data: req.data         \r\n    };\r\n}\r\n \r\nexport function LoadMLV(req) {    \r\n    return {\r\n        type: req.type,\r\n        data: req.data         \r\n    };\r\n}\r\nexport function LoadHFData(req) {    \r\n    return {\r\n        type: req.type,\r\n        data: req.data         \r\n    };\r\n}","\r\nimport Validator from 'validator';\r\nimport isEmpty from 'lodash/isEmpty';\r\nimport auth from '../auth'\r\n\r\nexport default function validateInput(data) {\r\n  let errors = {};\r\n\r\n  if (Validator.isEmpty(data.customerNumber)) {\r\n    errors.customerNumber = 'This field is required';\r\n  }\r\n\r\n  // if (Validator.isEmpty(data.orderNumber) || data.orderNumber.length > 8) {\r\n  //   errors.orderNumber = 'This field is required';\r\n  // }\r\n\r\n  if (Validator.isEmpty(data.PONumber)) {\r\n    errors.PONumber = 'This field is required';\r\n  }\r\n\r\n  if (Validator.isEmpty(data.Division)) {\r\n    errors.Division = 'This field is required';\r\n  }\r\n  if (Validator.isEmpty(data.PartNo)) {\r\n    errors.PartNo = 'This field is required';\r\n  }\r\n\r\n  if (Validator.isEmpty(data.Quantity)) {\r\n    errors.Quantity = 'Quantity field is required';\r\n  }\r\n  if (Validator.isEmpty(data.ReturnType)) {\r\n    errors.ReturnType = 'Return Type field is required';\r\n  }\r\n  if (data.isRepair != \"disabled\") {\r\n    if (Validator.isEmpty(data.WarrantyFailure)) {\r\n      errors.WarrantyFailure = 'Warranty Failure field is required';\r\n    }\r\n  }\r\n  if (Validator.isEmpty(data.PreferrredResolution)) {\r\n    errors.PreferrredResolution = 'Preferrred Resolution must match';\r\n  }\r\n  if (Validator.isEmpty(data.ProblemDiscription)) {\r\n    errors.ProblemDiscription = 'Problem Discription field is required';\r\n  }\r\n  return {\r\n    errors,\r\n    invalid: isEmpty(errors)\r\n  }\r\n}\r\n\r\n\r\nexport const DateFormate = (dateValue, isFromOrder = false) => {\r\n\r\n  const dateFormat = auth.loginData().userDateFormate;\r\n  let returnDate = \"\";\r\n  let dateTime = dateValue.split('/');\r\n\r\n\r\n  if (isFromOrder) {\r\n    let dateOrder = dateValue.split('/');\r\n    dateTime = (`${dateOrder[1]}/${dateOrder[0]}/${dateOrder[2]}`).split('/');\r\n\r\n  }\r\n\r\n  switch (dateFormat) {\r\n    case 'DD.MM.YYYY':\r\n      returnDate = `${dateTime[1]}.${dateTime[0]}.${dateTime[2]}`;\r\n      return returnDate;\r\n      break;\r\n    case 'DD/MM/YYYY':\r\n      returnDate = `${dateTime[1]}/${dateTime[0]}/${dateTime[2]}`;\r\n      return returnDate;\r\n      break;\r\n    case 'MM.DD.YYYY':\r\n      returnDate = `${dateTime[0]}.${dateTime[1]}.${dateTime[2]}`;\r\n      return returnDate;\r\n      break;\r\n    case 'MM/DD/YYYY':\r\n      returnDate = `${dateTime[0]}/${dateTime[1]}/${dateTime[2]}`;\r\n      return returnDate;\r\n      break;\r\n    case 'YYYY/MM/DD':\r\n      returnDate = `${dateTime[2]}/${dateTime[0]}/${dateTime[1]}`;\r\n      return returnDate;\r\n      break;\r\n    case 'YYYY.MM.DD':\r\n      returnDate = `${dateTime[2]}.${dateTime[0]}.${dateTime[1]}`;\r\n      return returnDate;\r\n      break;\r\n\r\n    default:\r\n      returnDate = `${dateTime[0]}/${dateTime[1]}/${dateTime[2]}`;\r\n      return returnDate;\r\n      break;\r\n  }\r\n}","import axios from 'axios'\r\nimport { APIBASEURL, OrderParam, OrderSearchParams, OrderDetailsParam,PARKER_API_ORDERSTATUS_URL,ocp_apim_subscription_key,GetOrderByCustomer,GetOrderDetails,ORG_LIST_URL, ocp_apim_subscription_key_orgList, MY_PARKER_URL } from '../Store/Type'\r\nimport auth from '../auth'\r\n \r\n\r\nexport function OnClimasRequest(data) {\r\n    // const oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n    // axios.defaults.headers.common['oktaSessionId'] = oktasessmeId;\r\n     // Ensure the oktaSessionId header is not set\r\n     delete axios.defaults.headers.common['oktaSessionId'];\r\n\r\n    axios.defaults.headers.common['Ocp-Apim-Subscription-Key'] = ocp_apim_subscription_key;\r\n    let url = APIBASEURL + '/api/LoadRGAClaimRequest';\r\n    return (dispatch) => {\r\n        return axios.post(url, data, {\r\n            headers: {\r\n                'Access-Control-Allow-Origin': '*',\r\n                \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n                'Content-Type': 'application/json',\r\n                'ticket': auth.loginData().ticket,\r\n                'token': auth.loginData().token,\r\n                'AccountNumber': auth.loginData().customerNumber,\r\n                'WebId': auth.loginData().userName\r\n            }\r\n        });\r\n    }\r\n}\r\n\r\nexport function OrderGetList(orderListParam) {\r\n    const url = OrderListUrl(orderListParam);\r\n    //sessionStorage.setItem('orderStatusApiDetails',JSON.stringify({url: url, useremail: auth.loginData().userName }))\r\n    // let url = 'https://api.parker.com/stage/orderstatus/api/v2/administrators/all/getorderbycustomer?customer=018082&pageNo=1&pageSize=25';\r\n    //let url = 'https://api.parker.com/stage/orderstatus' + '/api/v2/administrators/all/getorderbycustomer?customer=' + '018082' + '&pageNo=1&pageSize=25';\r\n    return (dispatch) => {\r\n        return axios.get(url, {\r\n            headers: {\r\n                 'Access-Control-Allow-Origin': '*',\r\n                 \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n                'Content-Type': 'application/json',\r\n                //  'ticket': auth.loginData().ticket,\r\n                //  'token': auth.loginData().token,\r\n                'ocp-apim-subscription-key': ocp_apim_subscription_key,\r\n                'sessionid':localStorage.getItem(\"oktaSessionID\"),\r\n                'useremail': auth.loginData().userName\r\n            }\r\n        })\r\n    }\r\n}\r\n\r\nexport function OrderDetailsGetList(orderDetails) {\r\n    var paramDate = orderDetails.OrderDate.split(\"/\").reverse();\r\n    var tmp = paramDate[2];\r\n    paramDate[2] = paramDate[1];\r\n    paramDate[1] = tmp;\r\n    paramDate = paramDate.join(\"\");\r\n    let params = OrderDetailsParam.replace(\"paramOrderNo\", orderDetails.OrderNo)\r\n                .replace(\"paramCustomerPO\", orderDetails.CustPo)\r\n                // .replace(\"paramFromDate\", paramDate)\r\n                // .replace(\"paramEndDate\", paramDate)\r\n                .replace('xxxxxx', orderDetails.CustNo);\r\n    // let url = 'https://api.parker.com/stage/orderstatus' +\r\n    //          '/api/v2/administrators/all/orders?' + params;\r\n    let url = PARKER_API_ORDERSTATUS_URL + GetOrderDetails + params;\r\n    return (dispatch) => {\r\n        return axios.get(url, {\r\n            headers: {\r\n                'Access-Control-Allow-Origin': '*',\r\n                \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n                'Content-Type': 'application/json',\r\n                // 'ticket': auth.loginData().ticket,\r\n                // 'token': auth.loginData().token,\r\n                'ocp-apim-subscription-key': ocp_apim_subscription_key,\r\n                'sessionid':localStorage.getItem(\"oktaSessionID\")                \r\n            }\r\n        })\r\n    }\r\n}\r\n\r\nexport function OnGetViewReturnData(rgaNumber, accountNumber) {\r\n    let url = APIBASEURL + \"/api/GetRgaDetails?accountNo=\" + accountNumber + \"&SRNumber=\" + rgaNumber + \"&timestamp=\" + new Date().getTime();\r\n    // const oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n    // axios.defaults.headers.common['oktaSessionId'] = oktasessmeId;\r\n    axios.defaults.headers.common['Ocp-Apim-Subscription-Key'] = ocp_apim_subscription_key;\r\n    return (dispatch) => {\r\n        return axios.get(url, {\r\n            headers: {\r\n                'Access-Control-Allow-Origin': '*',\r\n                \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n                'Content-Type': 'application/json',\r\n                'ticket': auth.loginData().ticket,\r\n                'token': auth.loginData().token,\r\n                'AccountNumber': auth.loginData().customerNumber,\r\n                'WebId': auth.loginData().userName\r\n            }\r\n        })\r\n    }\r\n}\r\n\r\nexport function OnGetPTSNoDetails(ptsNumber, accountNumber) {\r\n    let url = APIBASEURL + \"/api/GetPTSValue?acctCode=\" + accountNumber + \"&ptsid=\" + ptsNumber + \"&timestamp=\" + new Date().getTime();;\r\n    // const oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n    // axios.defaults.headers.common['oktaSessionId'] = oktasessmeId;\r\n    axios.defaults.headers.common['Ocp-Apim-Subscription-Key'] = ocp_apim_subscription_key;\r\n    return (dispatch) => {\r\n        return axios.get(url, {\r\n            headers: {\r\n                'Access-Control-Allow-Origin': '*',\r\n                \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n                'Content-Type': 'application/json',\r\n                'ticket': auth.loginData().ticket,\r\n                'token': auth.loginData().token,\r\n            }\r\n        })\r\n    }\r\n}\r\n\r\nfunction OrderListUrl(orderListParam) {\r\n    let params = \"\";\r\n    let searchParams =\"\";\r\n    if(orderListParam.SValue.length !== 0) {\r\n        searchParams = OrderSearchParams.replace(\"paramSP\", orderListParam.SearchByParameter)\r\n                       .replace(\"paramSV\", orderListParam.SValue);\r\n        \r\n    } \r\n    // console.log(OrderParam);\r\n    params = OrderParam.replace(\"paramOBF\", orderListParam.SortByField)\r\n                .replace(\"paramAB\", orderListParam.SortByAscDescFlag)\r\n                .replace('xxxxxx', orderListParam.CustNo)    \r\n                .replace('xxPagexx', orderListParam.SPageKey)\r\n                .replace('xxPerPagexx', orderListParam.take);  \r\n    // let URL = 'https://api.parker.com/stage/orderstatus' +\r\n    //          '/api/v2/administrators/all/getorderbycustomer?' + params + searchParams;\r\n    let URL = PARKER_API_ORDERSTATUS_URL + GetOrderByCustomer + params + searchParams;\r\n    return URL;\r\n}\r\n\r\nexport function GetDivisionName(locationId) {\r\n    const url = APIBASEURL + \"/api/GetINTLDivisionName?DivisionID=\" + locationId;\r\n    // const oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n    // axios.defaults.headers.common['oktaSessionId'] = oktasessmeId;\r\n    axios.defaults.headers.common['Ocp-Apim-Subscription-Key'] = ocp_apim_subscription_key;\r\n    return (dispatch) => {\r\n        return axios.get(url, {\r\n            headers: {\r\n                'Access-Control-Allow-Origin': '*',\r\n                \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n                'content-type': 'application/json',\r\n                'ticket': auth.loginData().ticket,\r\n                'token': auth.loginData().token\r\n            }\r\n        })\r\n    }\r\n}\r\nexport function GetOrgList() {\r\n    let langCode = window.sessionStorage.getItem('lang');\r\n    if (langCode == null || langCode == undefined) langCode = \"EN\";\r\n    let url = ORG_LIST_URL + '?langCode=' + langCode + '&logonId='+ auth.loginData()?.eMailAddress.trim();\r\n    //const url = \"https://phtest.parker.com/wcs/resources/store/20951/headerfooter/with/orglist/v1?langCode=EN&logonId=\" + auth.loginData().userName;\r\n    return (dispatch) => {\r\n        return axios.get(url, {\r\n            headers: {\r\n                'Access-Control-Allow-Origin': '*',\r\n                \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n                'Content-Type': 'application/json',\r\n                'ocp-apim-subscription-key': ocp_apim_subscription_key_orgList,\r\n            }\r\n        })\r\n    }   \r\n    \r\n}\r\n\r\nexport function getUserIP(){\r\n    let url = MY_PARKER_URL+'/api/user-ip-address';\r\n    return axios.get(url, {\r\n        headers: {\r\n            'Access-Control-Allow-Origin': '*',\r\n            \"Access-Control-Allow-Headers\": \"X-Requested-With\",\r\n            'Content-Type': 'application/json',\r\n            'ocp-apim-subscription-key': ocp_apim_subscription_key_orgList,\r\n        }\r\n    });\r\n}\r\n","import { GetOrgList, getUserIP } from \"./Store/CliamListAction\";\r\nconst dataLayer = async() => {\r\n    // let pageReferrer = getCookie(\"previousURL\");\r\n    // pageReferrer = pageReferrer != null ? pageReferrer : \"N/A\";\r\n    //sessionStorage.setItem(\"previousURL\", pageReferrer);\r\n    \r\n    let getUserIp = await getUserIP().then((res) => res?.data?.ip_address).catch((err) => console.log(err));\r\n    const langCode = sessionStorage.getItem('lang');\r\n    const userId= sessionStorage.getItem('userId');\r\n    let contentOwner = '687PDC';\r\n    let company = sessionStorage.getItem('userCompanyName');\r\n    var index = window.dataLayer?.findIndex(function(item) {\r\n        return item.event === 'page_view';\r\n      });\r\n      \r\n      // If the event was found, remove it\r\n      if (index !== -1) {\r\n        window.dataLayer.splice(index, 1);\r\n      }\r\n\r\n      var previousURL = getCookie('previousURL');\r\n    function getCookie(name) {\r\n      var cookies = document.cookie.split('; ');\r\n \r\n      for (var i = 0; i < cookies.length; i++) {\r\n        var cookie = cookies[i].split('=');\r\n \r\n        if (cookie[0] === name) {\r\n          return cookie[1];\r\n        }\r\n      }\r\n      return 'N/A';\r\n    }\r\n    if (decodeURIComponent(previousURL) == window.location.href) {\r\n      previousURL = getCookie('previousURL1');\r\n    }\r\n    document.cookie =\r\n      'previousURL=' +\r\n      encodeURIComponent(window.location.href)+\r\n      '; domain=parker.com; path=/';\r\n\r\n    window.dataLayer.push({\r\n        \"event\": \"page_view\",\r\n        \"page_name\": \"Claims\",\r\n        \"page_referrer\": decodeURIComponent(previousURL),\r\n        \"content_group\": \"myparker: claims\",\r\n        \"country\": 'N/A',\r\n        \"language\": langCode?.toUpperCase() || 'EN',\r\n        \"content_owner\": contentOwner,\r\n        \"nav_owner\": contentOwner,\r\n        \"product_category_name\": \"N/A\",\r\n        \"product_series_name\": \"N/A\",\r\n        \"product_series_id\":\"N/A\",\r\n        \"product_id\": \"N/A\",\r\n        \"part_name\": \"N/A\",\r\n        \"part_number\": \"N/A\",\r\n        \"is_category_page\": \"No\",\r\n        \"is_series_page\": \"No\",\r\n        \"is_pdp\": \"No\",\r\n        \"is_req_quote\": \"N/A\",\r\n        \"is_wtb\": \"N/A\",\r\n        \"is_buyable_online\": \"N/A\",\r\n        \"is_configurable\": \"N/A\",\r\n        \"user_id\":userId,\r\n        \"user_ip\":  getUserIp || \"N/A\",\r\n        \"user_authenticated\":'authenticated user - MyParker',\r\n        \"user_company_name\":company == 'All Locations (all)' ?(company?.split('(')[0])?.trim() : company,\r\n        \"user_company_id\": (company?.split('(')[1])?.replace(')','')\r\n    })\r\n    decodeURIComponent(previousURL) != window.location.href && (document.cookie = \"previousURL1=\" + previousURL +\"; domain=parker.com; path=/\")\r\n}\r\n\r\n// function getCookie(name) {\r\n//     var cookies = document.cookie.split(\"; \");\r\n//     for (var i = 0; i < cookies.length; i++) {\r\n//         var cookie = cookies[i].split(\"=\");\r\n//         if (cookie[0] === name) {\r\n//             let value = cookies[i].replace(name + '=', '');\r\n\r\n//             // Set the current page's URL as the new previous URL in the cookie\r\n//             let url = encodeURIComponent(window.location.href).toString();\r\n//             if (url != value) {\r\n//                 document.cookie = \"previousURL=\" + url+ \";domain=parker.com; path=/\";\r\n//                 return decodeURIComponent(value);\r\n//             }\r\n//             else {\r\n//                 if (sessionStorage.getItem(\"previousURL\") == 'N/A') {\r\n//                     return null;\r\n//                 }\r\n//                 else {\r\n//                     return sessionStorage.getItem(\"previousURL\");\r\n//                 }\r\n//             }\r\n\r\n//         }\r\n//     }\r\n//     // Set the current page's URL as the new previous URL in the cookie\r\n//     let url = encodeURIComponent(window.location.href).toString();\r\n//     document.cookie = \"previousURL=\" + url+ \";domain=parker.com; path=/\";\r\n//     return null;\r\n// }\r\n\r\n\r\n\r\nexport default dataLayer;","import { domain } from '../../api-config';\r\n\r\nexport async function getCookie(name) {\r\n  var cookies = document.cookie.split('; ');\r\n\r\n  for (var i = 0; i < cookies.length; i++) {\r\n    var cookie = cookies[i].split('=');\r\n\r\n    if (cookie[0] === name) {\r\n      return cookie[1];\r\n    }\r\n  }\r\n  return 'N/A';\r\n}\r\n\r\nexport async function checkGenericProfileCookie() {\r\n  let cookieData = await getCookie(domain + \"_parkeradmin_customer\");\r\n  if (cookieData !== \"N/A\") {\r\n    cookieData = atob(cookieData);\r\n    const values = cookieData.split(\",\");\r\n    if (values.length > 0) {\r\n      let extractedCustomerNumber = values[0];\r\n      let extractedCustomerName = values[1];\r\n      let extractedCid = values[2];\r\n      return {\r\n        customerNumber: extractedCustomerNumber,\r\n        customerName: extractedCustomerName,\r\n        cid: extractedCid,\r\n      };\r\n    }\r\n  }\r\n  else {\r\n    return null;\r\n  }\r\n}\r\n\r\n","import React, { Component } from 'react';\r\nimport NewRequestContainer from './NewRequestContainer';\r\nimport { connect } from 'react-redux';\r\nimport queryString from 'query-string';\r\n\r\nimport { ADD_PRSUBMIT, ADD_SUCCESS, ADD_FAILIURE, APIBASEURL, ADD_SUBMITCLAIM_FAILIURE, CANCEL, Loaded } from '../../Store/Type'\r\nimport { OnSubmitRequest, GetDivisions, GetFileInfo } from '../../Store/Actions'\r\nimport { successHandle, errorHandle, setPrResponseData, setCANCEL, DataLoaded, close } from '../../Store/ActionMessage'\r\nimport validateInput from '../../Validation/PRValidation'\r\nimport auth from '../../auth'\r\nimport { GetOrgList } from '../../Store/CliamListAction';\r\nimport dataLayer from '../../dataLayer';\r\nimport { checkGenericProfileCookie } from '../Cookie/cookieHandler';\r\nclass SubmitRequest extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n        const queryParam = this.props.location.state;\r\n        let actualDiscription = \"\";\r\n        this.setfieldfailureRef = this.setfieldfailureRef.bind(this);\r\n        this.setcredittoaccountRef = this.setcredittoaccountRef.bind(this);\r\n\r\n        this.state = {\r\n            cliamNum: queryParam !== undefined ? queryParam.newreturn.RGANo : \"\",\r\n            files: [],\r\n            Editfiles: [],\r\n            file: null,\r\n            isEdit: queryParam !== undefined ? queryParam.newreturn.isEdit : false,\r\n            Division: queryParam !== undefined ? queryParam.newreturn.DivisionID : \"\",\r\n            IntegrationID: queryParam !== undefined ? queryParam.newreturn.IntegrationID : \"\",\r\n            DivisionName: '',\r\n            PartNo: queryParam !== undefined ? queryParam.newreturn.PartNo : \"\",\r\n            serialnumber: queryParam !== undefined ? queryParam.newreturn.SerialNumber : \"\",\r\n            Quantity: queryParam !== undefined ? queryParam.newreturn.Quantity : \"1\",\r\n            ReturnType: queryParam !== undefined ? queryParam.newreturn.ReturnType : \"\",\r\n            WarrantyFailure: queryParam !== undefined ? queryParam.newreturn.WarrantyFailure : \"\",\r\n            PreferrredResolution: queryParam !== undefined ? queryParam.newreturn.PreferredResolution : \"\",\r\n            ProblemDiscription: queryParam !== undefined ? queryParam.newreturn.ProblemDescription : \"\",\r\n            errors: {},\r\n            isLoading: false,\r\n            invalid: true,\r\n            DivisionData: [],\r\n            response: {},\r\n            isRepair: \"\",\r\n            orderNumber: queryParam !== undefined ? queryParam.newreturn.OrderNumber !== undefined ? queryParam.newreturn.OrderNumber : \"\" : \"\",\r\n            PONumber: queryParam !== undefined ? queryParam.newreturn.PONumber !== undefined ? queryParam.newreturn.PONumber : \"\" : \"\",\r\n            CustomerDetails: auth.loginData().CustmersData,\r\n            customerNumber: (queryParam !== undefined) ? (queryParam.newreturn.CustomerNumber !== undefined ? queryParam.newreturn.CustomerNumber : \"\") : \"\",\r\n            customerName: (queryParam !== undefined) ? (queryParam.newreturn.Customer_Name !== undefined ? queryParam.newreturn.Customer_Name : \"\") : \"\",\r\n            ShipToDetails: (queryParam !== undefined) ? (queryParam.newreturn.ShipToDetails !== undefined ? queryParam.newreturn.ShipToDetails : \"\") : \"\",\r\n            isOrderReachedMaxLen: false,\r\n            isOrderSearch: queryParam !== undefined ? queryParam.newreturn.isOrderSearch : false\r\n        }\r\n\r\n    }\r\n\r\n    setfieldfailureRef(input) {\r\n        this.childfieldfailureRef = input;\r\n    }\r\n\r\n    setcredittoaccountRef(input) {\r\n        this.childcredittoaccountRef = input;\r\n    }\r\n\r\n    // static getDerivedStateFromProps(props, state) {\r\n    //     var customerDetail = state.CustomerDetails.filter(m => m.customerNumber === state.customerNumber);\r\n    //     if (customerDetail.length > 0 ) {\r\n    //         state.customerName = customerDetail[0].customerName;          \r\n    //         return state;\r\n    //     }else{\r\n    //         return null;\r\n    //     }\r\n    // }\r\n\r\n    async componentDidMount() {\r\n        window.localStorage.removeItem('originalUrl')\r\n        const queryParam = this.props.location.state;\r\n        let cidParam = window.sessionStorage.getItem('cid');\r\n        this.GetDivisions(\"XX\");\r\n        if (this.state.ReturnType === \"Non-Warranty Evaluation and Repair\") {\r\n            this.setState({ isRepair: \"disabled\", PreferrredResolution: \"Non-Warranty Repair\", WarrantyFailure: \"\" });\r\n        } else {\r\n            if (this.state.PreferrredResolution === \"Non-Warranty Repair\") {\r\n                this.setState({ PreferrredResolution: \"\" });\r\n            }\r\n            this.setState({ isRepair: \"\" });\r\n        }\r\n\r\n        if (queryParam != undefined) {\r\n            const fileLength = queryParam.newreturn.RGAClaimAttachments.length;\r\n            if (queryParam.newreturn.RGAClaimAttachments.length > 0) {\r\n                this.setState({ Editfiles: queryParam.newreturn.RGAClaimAttachments })\r\n            }\r\n        }\r\n\r\n        //if(sessionStorage.getItem('userId') == undefined){\r\n        await this.props.GetOrgList()\r\n            .then(\r\n                (obj) => {\r\n                    this.props.DataLoaded({\r\n                        type: Loaded\r\n                    });\r\n                    sessionStorage.setItem('userId', obj?.data.userId);\r\n                    if (cidParam == null || cidParam == undefined){\r\n                        sessionStorage.setItem('userCompanyName',obj?.data?.header?.orgList?.find(org => org?.isDefault === true)?.orgName)\r\n                    }else{\r\n                        if(cidParam != 'all'){\r\n                            sessionStorage.setItem('userCompanyName',obj?.data?.header?.orgList?.find(org => org?.cid === cidParam)?.orgName)\r\n                        }\r\n                        else{\r\n                            sessionStorage.setItem('userCompanyName', 'All Locations (all)');\r\n                        }\r\n                    }\r\n\r\n                },\r\n                (err) => {\r\n                    console.log('err found!!!!!');\r\n                    return err;\r\n                })\r\n        //}\r\n        this.props.setPrResponseData({\r\n            type: ADD_PRSUBMIT,\r\n            data: []\r\n        });\r\n\r\n        this.setState({ CustomerDetails: [{ customerNumber: \"\", customerName: \"Select\" }].concat(this.state.CustomerDetails)});\r\n        //This MutationObserver will wait until header comes and window.onload is for entire page complete loading\r\n        //if satisfies call dataLayer() function\r\n        // var observer = new MutationObserver(function(mutations) {\r\n        //     var element1 = document.getElementById('locale-business');\r\n\r\n        //     if (element1) {\r\n        window.onload(dataLayer());\r\n        const cookieData = await checkGenericProfileCookie();\r\n        if (cookieData !== null) {\r\n            const customerIds = this.state.CustomerDetails.map(c => c.customerNumber);\r\n            if (!customerIds.includes(cookieData.customerNumber)) {\r\n                this.setState((prevState) => ({\r\n                    CustomerDetails: [\r\n                        ...prevState.CustomerDetails,\r\n                        { customerNumber: cookieData.customerNumber, customerName: cookieData.customerName, cid: cookieData.cid }\r\n                    ],\r\n                    // customerNumber: extractedCustomerNumber,\r\n                })\r\n                );\r\n            }\r\n            window.sessionStorage.setItem('cid', cookieData.cid);\r\n            window.sessionStorage.setItem('attribute17', cookieData.customerName);\r\n            window.sessionStorage.setItem('userCompanyName', cookieData.customerName);\r\n        }\r\n        // Once the elements are found, there's no need to keep observing\r\n        //         observer.disconnect();\r\n        //     }\r\n        // });\r\n\r\n        // //Start observing the document with the configured parameters\r\n        // observer.observe(document, { childList: true, subtree: true });\r\n    }\r\n\r\n\r\n    GetDivisions = (customerNumber) => {\r\n\r\n        const customer_Id = customerNumber;\r\n        GetDivisions(customer_Id).then(\r\n            (obj) => {\r\n\r\n                obj.data.sort(function (a, b) {\r\n                    var divisionNameA = a.divisionName.toUpperCase(); // ignore upper and lowercase\r\n                    var divisionNameB = b.divisionName.toUpperCase(); // ignore upper and lowercase\r\n                    if (divisionNameA > divisionNameB) {\r\n                        return 1;\r\n                    } else {\r\n                        return -1\r\n                    }\r\n                });\r\n\r\n                const divisionResult = obj.data.map((result) => {\r\n                    return { DivisionId: result.divisionID, DivisionName: result.divisionName }\r\n                })\r\n                // if (this.state.Division.length != 0) {\r\n                //     //var selectedValue = obj.data.find(m => m.isPrimary === true);\r\n                //     var Selecteddivision = (selectedValue != null || selectedValue != undefined) ? selectedValue.divisionID : \"\";\r\n                //     this.setState({ Division: Selecteddivision })\r\n                // } \r\n                if (this.state.Division.length != 0) {\r\n                    let divson = this.state.Division;\r\n                    const isDivision = divisionResult.some(m => m.DivisionId === divson);\r\n                    if (!isDivision) {\r\n                        this.setState({ Division: \"\" })\r\n                    }\r\n                }\r\n                this.setState({ DivisionData: [{ DivisionId: \"\", DivisionName: \"Select\" }].concat(divisionResult) })\r\n\r\n                this.props.DataLoaded({\r\n                    type: Loaded\r\n                });\r\n\r\n            },\r\n            (err) => {\r\n                this.props.successHandle({\r\n                    type: ADD_FAILIURE,\r\n                    data: []\r\n                });\r\n            }\r\n        );\r\n    }\r\n\r\n    OnFileUpload = (e) => {\r\n        const selectedFileName = e.target.files[0].name;\r\n        var boolFile = this.state.files.some((item) => item.name == selectedFileName);\r\n        var idxDot = selectedFileName.lastIndexOf(\".\") + 1;\r\n        var extFile = selectedFileName.substr(idxDot, selectedFileName.length).toLowerCase();\r\n\r\n        if (!boolFile) {\r\n            const fileAll = Array.from(e.target.files);\r\n            const fileArray = [];\r\n            fileAll.map((result) => {\r\n                fileArray.push(result);\r\n            })\r\n            this.setState({ files: [...this.state.files, ...fileArray] });\r\n        }\r\n    }\r\n    OnChangeHandlerCliamsDD = (e) => {\r\n        if (e.target.value.length > 0) { e.target.setCustomValidity(\"\") }\r\n        this.setState({ [e.target.name]: e.target.value }, function () {\r\n            if (this.state.ReturnType === \"Non-Warranty Evaluation and Repair\") {\r\n                this.setState({ isRepair: \"disabled\", PreferrredResolution: \"Non-Warranty Repair\", WarrantyFailure: \"\" });\r\n            } else {\r\n                if (this.state.PreferrredResolution === \"Non-Warranty Repair\") {\r\n                    this.setState({ PreferrredResolution: \"\" });\r\n                }\r\n                this.setState({ isRepair: \"\" });\r\n            }\r\n        });\r\n        this.setState({ errors: [] })\r\n    }\r\n\r\n    OnChangeHandler = (e) => {\r\n\r\n        if (e.target.name == \"orderNumber\" && e.target.value.length < 9) {\r\n            this.setState({ isOrderReachedMaxLen: false })\r\n        }\r\n        if (e.target.name==\"WarrantyFailure\") {this.childfieldfailureRef.setCustomValidity(\"\")}\r\n        if (e.target.name==\"PreferrredResolution\") {this.childcredittoaccountRef.setCustomValidity(\"\")}\r\n        if (e.target.value.length > 0) { e.target.setCustomValidity(\"\") }\r\n        if (e.target.name != \"Quantity\") {\r\n            this.setState({ [e.target.name]: e.target.value });\r\n            this.setState({ errors: [] })\r\n        } else {\r\n            if (Math.sign(e.target.value) == 0 || Math.sign(e.target.value) > 0) {\r\n                this.setState({ [e.target.name]: e.target.value });\r\n                this.setState({ errors: [] })\r\n            } else {\r\n                this.setState({ [e.target.name]: \"\" });\r\n            }\r\n        }\r\n    }\r\n\r\n    OnChangeDivision = (e) => {\r\n        if (e.target.value.length > 0) { e.target.setCustomValidity(\"\") }\r\n        const { options, selectedIndex } = e.target;\r\n        this.setState({ [e.target.name]: e.target.value });\r\n        this.setState({ DivisionName: options[selectedIndex].innerHTML });\r\n    }\r\n\r\n    OnChangeCustomer = (e) => {\r\n        if (e.target.value.length > 0) { e.target.setCustomValidity(\"\") }\r\n        const { options, selectedIndex } = e.target;\r\n        this.setState({ customerName: options[selectedIndex].innerHTML });\r\n        this.setState({ customerNumber: e.target.value });\r\n    }\r\n\r\n    OnCancelRequest = (e) => {\r\n        this.props.setCANCEL({\r\n            type: CANCEL\r\n        });\r\n\r\n        if (this.state.isEdit) {\r\n            this.props.history.push({\r\n                pathname: \"/list\",\r\n                search: `?cid=${window.sessionStorage.getItem('cid')}&lang=${window.sessionStorage.getItem('lang')}`,\r\n                state: { CustomerNo: this.state.customerNumber }\r\n            });\r\n        } else {\r\n            var customerNumbersList = \"\";\r\n            if (this.state.customerNumber === \"1\" || this.state.customerNumber === \"\") {\r\n                // const customersIds = this.state.CustomerDetails.map((result) => {\r\n                //     return result.customerNumber;\r\n                // });\r\n                // customersIds.shift();\r\n                // customerNumbersList = customersIds.join(\",\"); \r\n                customerNumbersList = \"all\";\r\n            }\r\n\r\n            this.props.history.push({\r\n                pathname: \"/OrderSearch\",\r\n                search: `?cid=${window.sessionStorage.getItem('cid')}&lang=${window.sessionStorage.getItem('lang')}`,\r\n                state: { customerNumber: this.state.customerNumber,customerNumbersList: customerNumbersList }\r\n            });\r\n        }\r\n    }\r\n\r\n    onFinalSubmit = (e) => {\r\n        try {\r\n            const submitValidation = validateInput(this.state);\r\n            if (submitValidation.invalid) {\r\n                e.preventDefault();\r\n                const stateData = AssignData(this.state);\r\n\r\n                this.props.setPrResponseData({\r\n                    type: ADD_PRSUBMIT,\r\n                    data: stateData\r\n                });\r\n\r\n                this.props.OnSubmitRequest(stateData, this.state.files).then(\r\n                    (res) => {\r\n\r\n                        if (res.data.srNumber !== null) {\r\n                            this.props.successHandle({\r\n                                type: ADD_SUCCESS,\r\n                                data: [],\r\n                                division: this.state.DivisionName,\r\n                                srNumber: res.data.srNumber\r\n                            });\r\n                            let preferredResolutionDiv = document.getElementsByName('PreferrredResolution');\r\n                            let WarrantyFailureDiv = document.getElementsByName('WarrantyFailure');\r\n                            let preferredResolution = 'N/A', WarrantyFailure = 'N/A';\r\n                            Array.from(preferredResolutionDiv).forEach((ele, i) => {\r\n                                if(ele?.checked){\r\n                                    preferredResolution = preferredResolutionDiv[i]?.parentNode?.innerText;\r\n                                }\r\n                            })\r\n                            Array.from(WarrantyFailureDiv).forEach((ele, i) => {\r\n                                if(ele?.checked){\r\n                                    WarrantyFailure = WarrantyFailureDiv[i]?.parentNode?.innerText;\r\n                                }\r\n                            })\r\n                            window.dataLayer.push({\r\n                                'event': 'claim_submit',\r\n                                'account_name': stateData?.CustomerName?.trim() || 'N/A',\r\n                                'parker_division':document.getElementById('division')?.selectedOptions[0]?.text.trim() || 'N/A',\r\n                                'order_number': stateData?.OrderNumber?.trim() || 'N/A',\r\n                                'part_number': stateData?.PartNumber?.trim() || 'N/A',\r\n                                'po_number': stateData?.PONumber?.trim() || 'N/A',\r\n                                'serial_number': stateData?.SerialNumber?.trim() || 'N/A',\r\n                                'claim_type': stateData?.ReturnType?.trim() || 'N/A',\r\n                                'warranty_failure_type': WarrantyFailure?.trim() || 'N/A',\r\n                                'preferred_resolution': preferredResolution.trim() || 'N/A',\r\n                                'attachment_exists': this.state.files.length > 0 ? 'Yes':'No', \r\n\r\n                            })\r\n                            this.props.history.push({\r\n                                pathname: \"/list\",\r\n                                search: `?cid=${window.sessionStorage.getItem('cid')}&lang=${window.sessionStorage.getItem('lang')}`,\r\n                                state: { CustomerNo: this.state.customerNumber }\r\n                            });\r\n                        }\r\n                        else {\r\n                            this.props.errorHandle({\r\n                                type: ADD_SUBMITCLAIM_FAILIURE,\r\n                                data: [],\r\n                                division: this.state.DivisionName\r\n                            });\r\n                            this.props.history.push({\r\n                                pathname: \"/list\",\r\n                                search: `?cid=${window.sessionStorage.getItem('cid')}&lang=${window.sessionStorage.getItem('lang')}`,\r\n                                state: { CustomerNo: this.state.customerNumber }\r\n                            });\r\n                        }\r\n                    },\r\n                    (err) => {\r\n                        console.log(\"err\")\r\n                        this.props.errorHandle({\r\n                            type: ADD_SUBMITCLAIM_FAILIURE,\r\n                            data: [],\r\n                            division: this.state.DivisionName\r\n                        });\r\n                        this.props.history.push({\r\n                            pathname: \"/list\",\r\n                            search: `?cid=${window.sessionStorage.getItem('cid')}&lang=${window.sessionStorage.getItem('lang')}`,\r\n                            state: { CustomerNo: this.state.customerNumber }\r\n                        });\r\n                    }\r\n                );\r\n\r\n            }\r\n            else {\r\n                var tVal = Object.keys(submitValidation.errors)\r\n                var isOrderState =tVal.length == 1 && tVal.some(obj => obj == \"orderNumber\") && this.state.orderNumber.length>8\r\n                if (isOrderState) {\r\n                    e.preventDefault();\r\n                    this.setState({ isOrderReachedMaxLen: true })\r\n                    window.scrollTo({\r\n                        top: 0,\r\n                        behavior: \"smooth\"\r\n                    });\r\n                }\r\n            }\r\n        } catch (ex) {\r\n            console.log(ex)\r\n            this.props.errorHandle({\r\n                type: ADD_SUBMITCLAIM_FAILIURE,\r\n                data: [],\r\n                division: this.state.DivisionName\r\n            });\r\n            this.props.history.push({\r\n                pathname: \"/list\",\r\n                search: `?cid=${window.sessionStorage.getItem('cid')}&lang=${window.sessionStorage.getItem('lang')}`,\r\n                state: { CustomerNo: this.state.customerNumber }\r\n            });\r\n        }\r\n    }\r\n\r\n    onRemove = (event) => {\r\n        event.preventDefault();\r\n        event.stopPropagation();\r\n        const name = event.target.value;\r\n        var remainingFiles = this.state.files.filter(function (file) {\r\n            return file.name != name;\r\n        });\r\n\r\n        this.setState({\r\n            files: remainingFiles\r\n        });\r\n\r\n\r\n    }\r\n\r\n    onFileDownload = (event, fileName) => {\r\n        event.preventDefault();\r\n        this.props.setPrResponseData({\r\n            type: ADD_PRSUBMIT,\r\n            data: []\r\n        });\r\n        GetFileInfo(fileName).then(\r\n            (response) => {\r\n                var arrayBufferView = new Uint8Array(response.data);\r\n                var blob = new Blob([response.data]);\r\n                if (window.navigator && window.navigator.msSaveBlob) {\r\n                    window.navigator.msSaveBlob(blob, fileName);\r\n                } else {\r\n                    var urlCreator = window.URL || window.webkitURL;\r\n                    var imageUrl = urlCreator.createObjectURL(blob);\r\n                    var link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');\r\n                    link.href = imageUrl;\r\n                    link.download = fileName;\r\n                    link.click();\r\n                }\r\n                this.props.DataLoaded({\r\n                    type: Loaded\r\n                });\r\n            },\r\n            (err) => {\r\n                this.props.DataLoaded({\r\n                    type: Loaded\r\n                });\r\n            }\r\n        )\r\n    }\r\n\r\n    render() {\r\n\r\n\r\n        return (\r\n            <React.Fragment>\r\n                <div className={this.props.isStatus === 2 ? \"Message ph-alert ph-alert__warning\" : \"divdisable\"} >\r\n                    <a className=\"close\" onClick={this.props.close}>&times;</a>\r\n                    <p> {this.props.mlvText.MLV_SUBMITERROR}</p>\r\n                </div>\r\n                <NewRequestContainer\r\n                    setfieldfailureRef={this.setfieldfailureRef}\r\n                    setcredittoaccountRef={this.setcredittoaccountRef}\r\n                    onFinalSubmit={this.onFinalSubmit}\r\n                    OnChangeHandler={this.OnChangeHandler}\r\n                    OnChangeHandlerCliamsDD={this.OnChangeHandlerCliamsDD}\r\n                    OnFileUpload={this.OnFileUpload}\r\n                    OnCancelRequest={this.OnCancelRequest}\r\n                    OnChangeDivision={this.OnChangeDivision}\r\n                    onRemove={this.onRemove}\r\n                    onFileDownload={this.onFileDownload}\r\n                    OnChangeCustomer={this.OnChangeCustomer}\r\n                    {...this.state}\r\n                    {...this.props.mlvText}\r\n                />\r\n\r\n            </React.Fragment>\r\n        );\r\n    }\r\n}\r\n\r\nconst OnMapState = (state) => {\r\n    return {\r\n        isStatus: state.nrp.isStatus,\r\n        mlvText: state.mlv\r\n    }\r\n}\r\n\r\nexport default connect(OnMapState, { OnSubmitRequest, successHandle, errorHandle, setPrResponseData, setCANCEL, DataLoaded, close , GetOrgList})(SubmitRequest);\r\n\r\nfunction AssignData(stateData) {\r\n    const logindata = auth.loginData()\r\n    let newDate = new Date();\r\n    var today = new Date(),\r\n        date = (today.getFullYear() + \"\" + (today.getMonth() + 1) + \"\" + today.getDate() + \"\" + today.getHours() + \"\" + today.getMinutes() + \"\" + today.getMilliseconds()).trim();\r\n\r\n    let discription = !stateData.isEdit ? stateData.ProblemDiscription + \"\\n\\n\\n\" + stateData.ShipToDetails : stateData.ProblemDiscription;\r\n\r\n    const params = {\r\n        IntegrationID: stateData.IntegrationID.length > 0 ? stateData.IntegrationID : \"RGA_\" + date,\r\n        CustomerNumber: stateData.customerNumber,\r\n        DivisionID: stateData.Division,\r\n        PartNumber: stateData.PartNo,\r\n        PartTraceability: \"\",\r\n        SerialNumber: stateData.serialnumber,\r\n        Quantity: stateData.Quantity,\r\n        ReturnType: stateData.ReturnType,\r\n        WarrantyFailure: stateData.WarrantyFailure,\r\n        PreferredResolution: stateData.PreferrredResolution,\r\n        ProblemDescription: discription,\r\n        EMailAddress: logindata.eMailAddress.trim(),\r\n        FirstName: logindata.firstName.trim(),\r\n        LastName: logindata.lastName.trim(),\r\n        WorkPhone: \"\",\r\n        RGAClaimAttachment: [],\r\n        OrderNumber: stateData.orderNumber,\r\n        PONumber: stateData.PONumber,\r\n        CustomerName: stateData.customerName\r\n    }\r\n\r\n    return params;\r\n}\r\n","import React,{useEffect,useState,useRef} from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nconst ProductReturnSearch = (props) => {\r\n\r\n    const searchRef = useRef();\r\n   // const mlvOptions = (props.mlvText.MLV_DDSTATUS).split(\"~\").length > 1 ? (props.mlvText.MLV_DDSTATUS).split(\"~\") : (props.mlvText.MLV_DDSTATUS).split(\"〜\");\r\n\r\n    const handleKeyDown = (e) => {\r\n        if (e.key === 'Enter') {\r\n            props.onCliamsSearch();\r\n        }\r\n    }\r\n \r\n    \r\n    return (\r\n        <React.Fragment>\r\n            <div className=\"row\">\r\n                <div className=\"col-lg-4\">\r\n                    <label className=\"ph-form-row__label\" htmlFor=\"Customer\">{props.mlvText.MLV_CUSTOMERS}</label>\r\n                    <select style={{ maxHeight: \"50px\", overflow: \"auto !important\" }} name=\"Division\" value={props.SelectedCustomerNum} onChange={props.OnChangeCustomer} className=\"ph-form-row__input\" id=\"ddCustomer\">\r\n                        {/* <option key={1} value=\"1\">{props.mlvText.MLV_ALL}</option> */}\r\n                        {props?.CustomerDetails?.map((result) => <option key={result.customerNumber} value={result.customerNumber}> {result.customerName} </option>)}\r\n                    </select>\r\n                </div>\r\n                <div className=\"col-lg-1\">\r\n                </div>\r\n                <div className=\"col-lg-7\">\r\n                    <label className=\"ph-form-row__label\" htmlFor=\"Search\"> {props.mlvText.MLV_SEARCHBYCLAIMNO}</label>\r\n                    <div className=\"search\"> \r\n                        <span className=\"fa fa-search form-control-feedback\" style={{zIndex  : \"0\"}}></span>\r\n                        \r\n                        <input type=\"text\" ref={searchRef} value={props.RgaNumber} className=\"searchTerm\" placeholder={props.mlvText.MLV_SEARCHBYCLAIMNO} onKeyDown={(e)=>handleKeyDown(e)} onChange={(e)=>{props.onCliamSearchTxt(e);}} />\r\n                        <div style={{position:\"relative\"}}>\r\n                        {\r\n                         props.RgaNumber.length > 0 ?\r\n                        <span class=\"fa fa-times\" style={{cursor:\"pointer\",position:\"absolute\",marginTop: \"15px\",marginLeft: \"-35px\",color: \"#654c4c\"}} onClick={(e)=>{props.handleSearchClear(e);searchRef.current.focus();}}></span>:\"\"\r\n                        }\r\n                        </div>\r\n                        <a className=\"searchButton\" onClick={props.onCliamsSearch}  >\r\n                        \r\n                            {props.mlvText.MLV_SEARCH}\r\n                        </a>\r\n                    </div>\r\n                </div>\r\n                <div className=\"col-lg-12\" style={{ display:\"flex\" }}>\r\n                    <div className=\"p-0 col-lg-9 col-sm-3\" style={{marginTop:\"30px\"}}>\r\n                        <h2 className=\"m-0\" style={{ paddingTop: \"12px\" }}>{props.mlvText.MLV_RETURNS}</h2>\r\n                    </div>\r\n\r\n                     <div className=\"p-0 d-flex align-items-center col-lg-3 col-sm-6\" style={{marginTop:\"30px\"}}>                         \r\n                            <label className=\"m-0 p-2\" htmlFor=\"rga-status-filter\">{props.mlvText.MLV_STATUS}:</label>\r\n                            <select defaultValue={props.srStatus} onChange={props.OnClaimStatsChange} className=\"ph-sort-dropdown mr-3 mt-2\" id=\"rga-status-filter\">\r\n                                <option defaultValue value=\"All\">{props.mlvOptions[0]}</option>    \r\n                                <option defaultValue value=\"Open\">{props.mlvOptions[1]}</option>                            \r\n                                <option value=\"Submitted for approval\">{props.mlvOptions[2]}</option>\r\n                                <option value=\"Approved\">{props.mlvOptions[3]}</option>     \r\n                                <option value=\"Closed\">{props.mlvOptions[4]}</option>                              \r\n                                <option value=\"Cancelled\">{props.mlvOptions[5]}</option>\r\n                                <option value=\"ClosedCA Open\">{props.mlvOptions[6]}</option>\r\n                            </select>                        \r\n                    </div>  \r\n\r\n                </div>\r\n            </div>\r\n            <hr></hr>\r\n        </React.Fragment>\r\n    );\r\n}\r\n\r\n\r\n\r\n\r\nconst mapMLV = (state) => {\r\n    return {\r\n        mlvText: state.mlv\r\n    }\r\n}\r\n\r\n\r\nexport default connect(mapMLV, null)(ProductReturnSearch);","import React from 'react'; \r\nimport { connect } from 'react-redux';\r\n\r\nconst PRPagination = (props) => {    \r\n    var NextclassName = props.isLastPage == true? \"prevdisable ph-pagination__page-link\": \"ph-pagination__page-link\";\r\n    var PrevclassName = props.skip == 0 ?  \"prevdisable ph-pagination__page-link\" :\"ph-pagination__page-link\" ;\r\n    var FirstclassName = \"ph-pagination__page-link\";\r\n     \r\n    switch (props.currentpage) {\r\n        case \"NEXT\":\r\n            NextclassName = NextclassName + \"  active-page\";\r\n            break;\r\n        case \"PREVIOUS\":\r\n        \r\n            PrevclassName =   PrevclassName + \"  active-page\";\r\n            break;\r\n        default:\r\n            FirstclassName = FirstclassName + \" active-page\";\r\n            break;\r\n    }\r\n\r\n    return (\r\n        <React.Fragment>\r\n            <div className=\"row\">\r\n                <div className=\"ph-pagination col-12\">\r\n                    <div className=\"ph-pagination__container\">\r\n                        <div className=\"pb-0\">\r\n                            <nav>\r\n                                <ul className=\"ph-pagination__page-list\">\r\n                                    <li className=\"ph-pagination__page-item\"><a   onClick={props.OnPaginationPrevious} className={PrevclassName} disabled>{ props.mlvText.MLV_PREVIOUS}</a></li>\r\n                                    <li className=\"ph-pagination__page-item\"><a onClick={props.OnPaginationFirst} className={FirstclassName}>{ props.mlvText.MLV_FIRST}</a></li>\r\n                                    <li className=\"ph-pagination__page-item\"><a   onClick={props.OnPaginationNext} className={NextclassName}>{ props.mlvText.MLV_NEXT}</a></li>\r\n                                     \r\n                                </ul>\r\n                            </nav>\r\n                        </div>\r\n                    </div>\r\n                    <div className=\"ph-pagination__results-dropdown-container mr-3\">\r\n                        <label style={{ \"textAlign\": \"right\" }} className=\"ph-pagination__results-dropdown-label\" htmlFor=\"browse-sort\">{ props.mlvText.MLV_RESULTSPERPAGE}:</label>\r\n                        <select style={{ \"width\": \"75px\" }} className=\"ph-pagination__results-dropdown-select\" id=\"browse-sort\" onChange={props.onPerPageChange}>\r\n                            <option defaultValue=\"25\" >25</option>\r\n                            <option value=\"20\">50</option>\r\n                            <option value=\"30\">100</option>\r\n                        </select>\r\n                    </div>\r\n                    <hr />\r\n                </div>\r\n            </div>\r\n        </React.Fragment>\r\n    );\r\n}\r\n\r\n \r\nconst mapMLV = (state) => {\r\n    return {\r\n        mlvText: state.mlv\r\n    }\r\n}\r\n\r\n\r\nexport default connect(mapMLV,null) (PRPagination);\r\n\r\n\r\n\r\n\r\n// function PagingButton(props) {\r\n//     var tmp = [];\r\n//     for (var i = 1; i <= props.totalPages; i++) {\r\n//         tmp.push(i);\r\n//     }\r\n\r\n//     return (\r\n\r\n//         <React.Fragment>\r\n//             {\r\n//                 tmp.map((i) => {\r\n\r\n//                     var liclassName = i == props.currentpage ? \"ph-pagination__page-link active-page\" : \"ph-pagination__page-link\";\r\n//                     if (i <= 3) {\r\n//                         return (\r\n//                             <li key={i} className=\"ph-pagination__page-item\"><a className={liclassName} href=\"#\">{i}</a></li>\r\n//                         )\r\n//                     }\r\n//                     else if (i == 4 && props.totalPages == 4) {\r\n//                         return (\r\n//                             <li key={i} className=\"ph-pagination__page-item\"><a className={liclassName} href=\"#\">{i}</a></li>\r\n//                         )\r\n//                     } else if (i == props.totalPages) {\r\n//                         return (\r\n//                             <React.Fragment>\r\n//                                 <li key={i} className=\"ph-pagination__page-item\"><a className={liclassName} href=\"#\">...</a></li>\r\n//                                 <li className=\"ph-pagination__page-item\"><a className={liclassName} href=\"#\">{props.totalPages}</a></li>\r\n//                             </React.Fragment>\r\n//                         )\r\n//                     }\r\n//                 })\r\n//             }\r\n\r\n\r\n//         </React.Fragment>\r\n//     )\r\n\r\n// }","\r\nimport React from 'react';\r\nimport { DateFormate } from '../../Validation/PRValidation'\r\nimport PRPagination from \"./PRPagination\"\r\nimport { connect } from 'react-redux';\r\n\r\nconst ProductReturnGrid = (props) => {    \r\n    const mlvOptions = props.mlvText.MLV_CLAIMSTATUS;\r\n    return (\r\n        <div className=\"tab-content\">\r\n            <div className={(props.CliamsData.length === 0 && !props.isLoading) ? \"GridEmpty\" : \"divdisableNone\"}>\r\n                <p>{props.mlvText.MLV_NORECORDFOUND}</p>\r\n            </div>\r\n            {props.CliamsData.map((result) => {\r\n                let statusClsName = result.status === \"Active\" ? \"ph-flag ph-flag__status--active\" : result.status === \"Denied\" ? \"ph-flag ph-flag__status--denied\" : \"ph-flag ph-flag__status--submitted\";\r\n                const isViewDetails = result.subStatus === \"Header Completion\" ? \"\" : \"disabled\"\r\n                return (\r\n                    <div key={result.srNumber} className=\"tab-pane show active p-3\">\r\n                        <article className=\"rga-item\">\r\n                            <div className=\"row\">\r\n                                <div className=\"col-12 col-md-4\">\r\n                                    <ul className=\"ph-list\">\r\n                                        <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_STATUS}:</strong><span className={statusClsName}>{GetMLVStatus(result.status, mlvOptions)}</span></li>\r\n                                        <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_CLAIM} #:</strong> <a className=\"ph-blue-link\" onClick={() => props.OnViewReturn(result.srNumber, isViewDetails)} >{result.srNumber}</a></li>\r\n                                        <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_PART} #:</strong> {result.partNumber}</li>\r\n                                    </ul>\r\n                                </div>\r\n                                <div className=\"col-12 col-md-6\">\r\n                                    <ul className=\"ph-list\">\r\n                                        <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_SUBMITTED}:</strong> {DateFormate(result.incidentDate)}</li>\r\n\r\n                                    </ul>\r\n                                    {/* <p className=\"js-rga__truncate\">{result.description}</p> */}\r\n                                    <p style={{ whiteSpace: 'pre-wrap' }} className=\"js-rga__truncate\">{result.description}</p>\r\n                                </div>\r\n\r\n\r\n                                <div className=\"col-12 col-md-2\">\r\n                                    <div className=\"d-flex flex-sm-column flex-row\" >\r\n                                        <button value={result.subStatus} onClick={() => props.OnViewReturn(result.srNumber, isViewDetails)} className=\"button round-button medium-button m-2\">{props.mlvText.MLV_VIEWDETAILS}</button>\r\n                                        {/* <button className=\"button accent-button round-button small-button m-2\">Shipping Instructions</button> */}\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n\r\n                            <hr />\r\n                        </article>\r\n                    </div >\r\n                )\r\n            })}\r\n\r\n            <PRPagination {...props} ></PRPagination>\r\n\r\n        </div >\r\n\r\n    );\r\n\r\n}\r\n\r\n\r\n\r\nconst mapMLV = (state) => {\r\n    return {\r\n        mlvText: state.mlv\r\n    }\r\n}\r\n\r\nexport default connect(mapMLV, null)(ProductReturnGrid); \r\n\r\nfunction GetMLVStatus(returnStatus, mlvOptions) {\r\n    var status = returnStatus.toUpperCase()\r\n    switch (status) {\r\n        case \"OPEN\":\r\n            return mlvOptions[1];\r\n            break;\r\n        case \"SUBMITTED FOR APPROVAL\":\r\n            return mlvOptions[2];\r\n            break;\r\n        case \"APPROVED\":\r\n            return mlvOptions[3];\r\n            break;\r\n        case \"CLOSED\":\r\n            return mlvOptions[4];\r\n            break;\r\n        case \"CANCELLED\":\r\n            return mlvOptions[5];\r\n            break;\r\n        case \"CLOSEDCA OPEN\":\r\n            return mlvOptions[6];\r\n            break;\r\n        default:\r\n            return returnStatus;\r\n            break;\r\n    }\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\n \r\nconst OrderSearchHeader = (props) => {\r\n     \r\n\r\n    const handleKeyDown = (e) => {\r\n        if (e.key === 'Enter') {\r\n            props.OnOrderSearch();\r\n        }\r\n    }\r\n\r\n\r\n    return (\r\n        <React.Fragment>\r\n            <div className=\"content-section p-0\">\r\n                <div className=\"OrderClaimListNav\">\r\n                    <div>\r\n                        <button style={{ marginTop: \"5px\", minWidth: \"5%\" }} className=\"button round-button medium-button\" onClick={props.onCliamListPage}>{props.mlvText.MLV_LISTOFCLAIMSCREEN}</button>\r\n                    </div>\r\n                </div>\r\n                <br></br>\r\n                <div className=\"orderFilters\">\r\n                    <div className=\"orderFilter1\">\r\n                        <label className=\"ph-form-row__label\" htmlFor=\"Customer\">{props.mlvText.MLV_CUSTOMERS}:</label>\r\n                        <select style={{ maxHeight: \"50px\", overflow: \"auto !important\" }} name=\"Division\" value={props.CustomerNumber} onChange={props.OnChangeCustomer} className=\"ph-form-row__input\" id=\"ddCustomer\">\r\n                            <option key={1} value=\"1\">{props.mlvText.MLV_ALL}</option>\r\n                            {props.CustomerDetails.map((result) => <option key={result.customerNumber} value={result.customerNumber}> {result.customerName} </option>)}\r\n                        </select>\r\n                        <div className=\"orderEmptyCustDiv\"></div>\r\n                    </div>\r\n                    <div className=\"orderFilter2\">\r\n                        <div className=\"orderEmptyDiv\"></div>\r\n                        <div className=\"SubOrderFilter\">\r\n                            <div className=\"SubOrderFilterChild1\">\r\n                                <select name=\"OrgaSearchOption\" className=\"ph-form-row__input borderSelection\" id=\"ddOrgaSearchOption\" style={{display:\"block\", width:200}} defaultValue={props.orderListParam.SParameter} onChange={props.OnChangeHandler}>\r\n                                    <option value=\"2\">{props.mlvText.MLV_PARTNUMBER}</option>\r\n                                    <option value=\"4\">{props.mlvText.MLV_ORDERNUMBER}</option>\r\n                                    <option value=\"3\">{props.mlvText.MLV_PONUMBER}</option>\r\n                                </select>\r\n                            </div>\r\n                            <div className=\"SubOrderFilterChild2\">\r\n                                <div className=\"search\">\r\n                                    <span className=\"fa fa-search form-control-feedback\" style={{zIndex  : \"0\"}}></span>\r\n                                    <input type=\"text\" value={props.Searchedvalue} className=\"searchTerm\" style={{ fontFamily: \"Roboto,FontAwesome\" }} placeholder={props.placeholder } onKeyDown={(e) => handleKeyDown(e)} onChange={(e) => props.OnSearchedvalue(e)} />\r\n                                    <a className=\"searchButton\" onClick={props.OnOrderSearch}>  {props.mlvText.MLV_SEARCH}</a>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                        <p className=\"text-left\">{props.mlvText.MLV_PTSCANTFINDYOURPART} <a className=\"ph-blue-link\" onClick={props.onNewReturn} >{props.mlvText.MLV_RETURNFORM}</a>.</p>\r\n                    </div>\r\n                    <div className=\"orderFilter4\">\r\n                        <div className=\"orderEmptyDiv\"></div>\r\n                        <a className=\"ph-blue-link\" data-toggle=\"modal\" onClick={props.onPTSPopup}>{props.mlvText.MLV_CLICKPTSSEARCH}</a>\r\n                        <div className=\"orderEmptyDiv\"></div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n            <br></br>\r\n            <hr></hr>\r\n        </React.Fragment>\r\n    );\r\n}\r\n\r\n\r\n\r\nconst mapMLV = (state) => {\r\n\r\n    return {\r\n        mlvText: state.mlv\r\n\r\n    }\r\n}\r\n\r\n\r\nexport default connect(mapMLV, null)(OrderSearchHeader);","import React from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nconst OrderReturnList = (props) => {\r\n \r\n    return (\r\n        <React.Fragment>\r\n\r\n            <div className=\"d-flex justify-content-between align-items-center flex-row\">\r\n                <div className=\"p-3\">\r\n                    <h2 className=\"m-0\">{props.mlvText.MLV_RETURNS}</h2>\r\n                </div>\r\n                <div className=\"p-3 d-flex align-items-center\">\r\n                    <label style={{minWidth: \"75px\",maxWidth:\"75px\" }} className=\"m-0 p-2\" htmlFor=\"rga-status-filter\">{props.mlvText.MLV_SORTBY}:</label>\r\n                    <select className=\"ph-sort-dropdown mr-3 mt-2\" id=\"rga-status-filter\" value={props.SrotingValue} defaultValue={props.SrotingValue} onChange={props.OnChangeSort} >\r\n                        <option value=\"1-A\">{`${props.mlvText.MLV_ORDERNUMBER} (${props.mlvText.MLVAZ})`}</option>\r\n                        <option value=\"1-D\">{`${props.mlvText.MLV_ORDERNUMBER} (${props.mlvText.MLVZA})`} </option>\r\n                        <option value=\"3-D\">{props.mlvText[\"MLV_DATE-LATEST\"]}</option>\r\n                        <option value=\"3-A\">{props.mlvText[\"MLV_DATE-EARLIEST\"]}</option>\r\n                    </select>\r\n                </div>\r\n            </div>\r\n\r\n            {/* <OrderSearchGrid {...props} /> */}\r\n\r\n\r\n        </React.Fragment>\r\n    );\r\n}\r\n\r\n\r\n\r\nconst mapMLV = (state) => {\r\n    return {\r\n        mlvText: state.mlv\r\n    }\r\n}\r\n\r\n\r\nexport default connect(mapMLV, null)(OrderReturnList);","import React, { useEffect, useState } from 'react';\r\nimport { DateFormate } from '../../Validation/PRValidation'\r\nimport { connect } from 'react-redux';\r\n\r\nconst OrderSearchGrid = (props) => {\r\n\r\n    const [fontState, fontSetState] = useState(\"\")\r\n\r\n    useEffect(() => {\r\n        if ((navigator.userAgent.indexOf(\"MSIE\") != -1) || (!!document.documentMode == true)) //IF IE > 10\r\n        {\r\n            fontSetState(\"arrow\");\r\n\r\n        } else {\r\n            fontSetState(\"fas fa-chevron-down\");\r\n        }\r\n    }, [])\r\n\r\n\r\n    return (\r\n        <React.Fragment>\r\n\r\n            <div className=\"ph-flex-table__header d-flex flex-custom-direction  flex-sm-row justify-content-around\">\r\n                <div className=\"bd-highlight ph-flex-table__item\"><p> {props.mlvText.MLV_DATE}</p></div>\r\n                <div className=\"bd-highlight ph-flex-table__item\"><p>{props.mlvText.MLV_ORDERNUMBER}</p></div>\r\n                <div className=\"bd-highlight ph-flex-table__item\"><p>{props.mlvText.MLV_PONUMBER}</p></div>\r\n                <div className=\"bd-highlight ph-flex-table__item\">&nbsp;</div>\r\n            </div>\r\n            <div className={(props.OrderList.length === 0 && !props.isLoading) ? \"GridEmpty\" : \"divdisableNone\"}>\r\n                <p>{props.mlvText.MLV_NORECORDFOUND}</p>\r\n            </div>\r\n            {\r\n                props.OrderList.map((i, j) => {\r\n                    return (\r\n                        <div className=\"ph-browse-list-view__product\" key={j} >\r\n                            <div className=\"ph-browse-list-view__content\">\r\n                                <div className=\"ph-flex-table__row d-flex flex-custom-direction  flex-sm-row justify-content-around divSelectionbox\" onClick={(e) => props.ShowDetailsGrid(e, j, i)} >\r\n                                    <div className=\"bd-highlight ph-flex-table__item\"><p>{i.OrderDate}</p></div>\r\n                                    <div className=\"bd-highlight ph-flex-table__item\"><p>{i.OrderNo}</p></div>\r\n                                    <div className=\"bd-highlight ph-flex-table__item\"><p>{i.CustomerPONo}</p></div>\r\n                                    <div className=\"bd-highlight ph-flex-table__item divSelectionbox\" onClick={(e) => props.ShowDetailsGrid(e, j, i)}>\r\n                                        <p className=\"ph-flex-table__item--icon-end\">\r\n                                            <i className={fontState}></i>\r\n                                        </p>\r\n                                    </div>\r\n                                </div>\r\n\r\n                            </div>\r\n                            <div className={(!props.isDivision && props.show == j) ? \" \" : \"divdisableNone\"} >\r\n                                <p style={{ color: \"red\", paddingLeft: \"20px\" }} >{props.mlvText.MLV_CONTACT + \" \" + props.INTLDivision.DivisionName + \" \" + props.mlvText.MLV_FORCLAIMINSTRACTION} </p>\r\n                            </div>\r\n                            {(props.show == j) ? BindGrids(props, i.OrderNo, i.BuyerOrganizationCode,i.CustomerPONo) : \"\"}\r\n                        </div>\r\n                    )\r\n\r\n                })\r\n            }\r\n            {/* <OrderPagination {...props} /> */}\r\n\r\n        </React.Fragment>\r\n    );\r\n}\r\n\r\n\r\nconst mapMLV = (state) => {\r\n    return {\r\n        mlvText: state.mlv\r\n    }\r\n}\r\n\r\n\r\nexport default connect(mapMLV, null)(OrderSearchGrid);\r\n\r\nfunction BindGrids(props, orderNumber, CustNo,CustPO) {\r\n    return (\r\n        <React.Fragment>\r\n\r\n            <div className=\"ph-browse-list-view__details\" id=\"collapseDetail1\">\r\n\r\n                <div className=\"contain-table\">\r\n                    <table className=\"ph-table\" id=\"js-ph-datatable\" width=\"100%\">\r\n                        <thead className=\"ph-table__header--browse\">\r\n                            <tr className=\"ph-table__row\">\r\n                                <th className=\"ph-table__title\"> </th>\r\n                                <th className=\"ph-table__title noVis\" scope=\"col\">{props.mlvText.MLV_LINEITEMNUMBER}</th>\r\n                                <th className=\"ph-table__title\" scope=\"col\">{props.mlvText.MLV_PARTNUMBER}</th>\r\n                                <th className=\"ph-table__title\" scope=\"col\">{props.mlvText.MLV_ORDERQUANTITY}</th>\r\n                                <th className=\"ph-table__title\"> </th>\r\n\r\n                            </tr>\r\n                        </thead>\r\n                        <tbody className=\"ph-table__body\">\r\n                            {\r\n\r\n                                props.OrderDetailsList.length > 0 ? SubOrderListBody(props, orderNumber, CustNo,CustPO) : SubOrderListEmptyBody(props)\r\n                            }\r\n                        </tbody>\r\n                    </table>\r\n                </div>\r\n            </div>\r\n\r\n        </React.Fragment >\r\n    )\r\n}\r\n\r\nfunction SubOrderListBody(props, orderNumber, CustNo,CustPO) {\r\n\r\n    // const shipToDetails = props.OrderDetailsList.OrderDetailsHeader.ShipTo;\r\n    //const shipToDetails ='';\r\n\r\n    return (\r\n        <React.Fragment>\r\n            {\r\n                props.OrderDetailsList.map((m, n) => {\r\n                const shipToDetailsobj = (m.shipments != undefined && m.shipments[0] !=undefined  && m.shipments.length > 0) ? m.shipments[m.shipments.length-1].shipTo : undefined ;\r\n                    let shipToDetails ='';\r\n                    if (shipToDetailsobj != undefined && shipToDetailsobj != null)\r\n                    {\r\n                        shipToDetails = \"Ship To:\\n\\n\";\r\n                        shipToDetails = shipToDetails + shipToDetailsobj.shipToName \r\n\r\n                        if (shipToDetailsobj.shipToAddr1 != \"-\" && shipToDetailsobj.shipToAddr1 != \"\")\r\n                            shipToDetails = shipToDetails + '\\r\\n'  + shipToDetailsobj.shipToAddr1;\r\n                        if (shipToDetailsobj.shipToAddr2 != \"-\" && shipToDetailsobj.shipToAddr2 != \"\")\r\n                            shipToDetails = shipToDetails + '\\r\\n'  + shipToDetailsobj.shipToAddr2;\r\n                        if (shipToDetailsobj.shipToAddr3 != \"-\" && shipToDetailsobj.shipToAddr3 != \"\")\r\n                            shipToDetails = shipToDetails + '\\r\\n'  + shipToDetailsobj.shipToAddr3;\r\n                        if (shipToDetailsobj.shipToAddr4 != \"-\" && shipToDetailsobj.shipToAddr4 != \"\")\r\n                            shipToDetails = shipToDetails + '\\r\\n'  + shipToDetailsobj.shipToAddr4;\r\n                            \r\n                            shipToDetails = shipToDetails + '\\r\\n' + shipToDetailsobj.shipToCity  + ' ' + shipToDetailsobj.shipToCountrySubdivName  + ' ' + shipToDetailsobj.shipToPostalCode + ' ' +  shipToDetailsobj.shipToCountryName\r\n                        \r\n                      \r\n                    }\r\n                    else\r\n                    {\r\n                        shipToDetails = '';\r\n                    }\r\n                    return (\r\n                        <tr className=\"ph-table__row\" id=\"js-clickable-row\" key={n}>\r\n                            <td className=\"ph-table__cell pt-2 pb-2\">\r\n                                <input type=\"radio\" name=\"select\" className={props.isDivision ? \"\" : \"divdisableNone\"} value={n} onChange={() => props.onEnableProceed(n)} checked={(props.subKey == n && props.isDivision) ? true : false} /></td>\r\n                            <td className=\"ph-table__cell pt-2 pb-2\">{m.line}</td>\r\n                            <td className=\"ph-table__cell pt-2 pb-2\">{m.Item.ItemID}</td>\r\n                            <td className=\"ph-table__cell pt-2 pb-2\">{m.OrderStatuses.OrderedQty}</td>\r\n                            <td className=\"ph-table__cell pt-2 pb-2 text-right\">\r\n                                <button className={(props.isProceed && props.subKey == n && props.isDivision) ? \"button round-button accent-button small-button\" : \"showproceed\"} onClick={() => props.OnProceed(m, props.INTLDivision.DivisionId, orderNumber, CustNo, shipToDetails,CustPO)}>{props.mlvText.MLV_PROCEED}</button>\r\n                            </td>\r\n                        </tr>\r\n                    )\r\n                })\r\n            }\r\n\r\n        </React.Fragment>\r\n    )\r\n}\r\n\r\nfunction SubOrderListEmptyBody(props) {\r\n    return (\r\n        <React.Fragment>\r\n\r\n            <tr className=\"ph-table__row\" id=\"js-clickable-row\" key=\"1\">\r\n                <td style={{ textAlign: \"center\" }} className=\"ph-table__cell pt-2 pb-2\" colSpan=\"5\">\r\n                    {props.mlvText.MLV_NORECORDFOUND}\r\n                </td>\r\n            </tr>\r\n\r\n        </React.Fragment>\r\n    )\r\n}","import React from 'react'; \r\nimport { connect } from 'react-redux';\r\nconst OrderPagination = (props) => {\r\n\r\n    var NextclassName = props.isLastPage == true ? \"prevdisable ph-pagination__page-link\" : \"ph-pagination__page-link\";\r\n    var PrevclassName = props.skip == 0 ? \"prevdisable ph-pagination__page-link\" : \"ph-pagination__page-link\";\r\n    var FirstclassName = \"ph-pagination__page-link\";\r\n\r\n    switch (props.currentpage) {\r\n\r\n        case \"NEXT\":\r\n            NextclassName = NextclassName + \"  active-page\";\r\n            break;\r\n        case \"PREVIOUS\":\r\n\r\n            PrevclassName = PrevclassName + \"  active-page\";\r\n            break;\r\n        default:\r\n            FirstclassName = FirstclassName + \" active-page\";\r\n            break;\r\n    }\r\n\r\n\r\n    return (\r\n        <React.Fragment>\r\n            <div className=\"row\">\r\n                <div className=\"ph-pagination\">\r\n                    <div className=\"ph-pagination__container\">\r\n                        <div className=\"pb-0\">\r\n                            <nav>\r\n                                <ul className=\"ph-pagination__page-list\">\r\n                                    <li className=\"ph-pagination__page-item\"><a onClick={props.OnOrderPrevious} className={PrevclassName}>{ props.mlvText.MLV_PREVIOUS}</a></li>\r\n                                    <li className=\"ph-pagination__page-item\"><a onClick={props.OnOrderFirst} className={FirstclassName} >{ props.mlvText.MLV_FIRST}</a></li>\r\n                                    <li className=\"ph-pagination__page-item\"><a onClick={props.OnOrderNext} className={NextclassName} >{ props.mlvText.MLV_NEXT}</a></li>\r\n                                </ul>\r\n                            </nav>\r\n                        </div>\r\n                    </div>\r\n                    <div className=\"ph-pagination__results-dropdown-container mr-3\">\r\n                        <label style={{ \"textAlign\": \"right\"}} className=\"ph-pagination__results-dropdown-label\" htmlFor=\"browse-sort\">{ props.mlvText.MLV_RESULTSPERPAGE}:</label>\r\n                        <select style={{ \"width\": \"75px\" }} className=\"ph-pagination__results-dropdown-select\" id=\"browse-sort\" onChange={props.onOrderPerPageChange}>\r\n                            <option defaultValue=\"5\" >5</option>\r\n                            <option value=\"10\">10</option>\r\n                            <option value=\"25\">25</option>\r\n                        </select>\r\n                    </div>\r\n                    <hr />\r\n                </div>\r\n            </div>\r\n        </React.Fragment>\r\n    );\r\n}\r\n\r\nconst mapMLV = (state) => {\r\n    return {\r\n        mlvText: state.mlv\r\n    }\r\n}\r\n\r\n\r\nexport default connect(mapMLV,null) (OrderPagination);","import React, { useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\n\r\nconst OrderPTSModel = (props) => {\r\n\r\n    useEffect(() => {\r\n        document.body.style.overflow = 'hidden';\r\n        return () => {\r\n            document.body.style.overflow = 'auto';\r\n        }\r\n    }, [])\r\n\r\n    return (\r\n        <div className=\"ph-modal  show \" id=\"new-return\" style={{ display: \"block\" }} aria-labelledby=\"New Return\">\r\n            <div className=\"modal-dialog row\" role=\"document\" style={{width:\"100%\" ,margin:\"0px\"}}>\r\n                <div className=\"col-11 col-lg-5 ph-modal__content\" style={{float:\"none\"}}>\r\n                    <div className=\"ph-modal__header\">\r\n                        <h2 className=\"ph-modal__title\" id=\"emailModalLabel\">{ props.mlvText.MLV_SEARCHPTSNUMBER}</h2>\r\n                        <a className=\"ph-modal__header--close\" onClick={props.OnNewReturnClose} >&times;</a>\r\n                    </div>\r\n                    <div className=\"ph-modal__body\">\r\n                        <div className=\"row justify-content-center\">\r\n                            {props.PTSMessage === \"\" ? \"\" : <div className=\"col-12 col-md-10\"><p style={{ color: \"red\" }}>{ props.mlvText.MLV_PTSNUMBERNOTFOUND} </p> <br /> </div>}\r\n                            <div className=\"col-12 col-lg-8 pt-2\">\r\n                                <div>\r\n                                    <select style={{ maxHeight: \"50px\", overflow: \"auto !important\" }} required name=\"Division\" value={props.PTSCustomerNumber} onChange={props.OnChangePTSCustomer} className=\"ph-form-row__input\" id=\"ddPTSCustomer\">\r\n                                        {props.CustomerDetails.map((result) => <option key={result.customerNumber} value={result.customerNumber}> {result.customerName} </option>)}\r\n                                    </select>\r\n                                </div>\r\n                                <div className=\"search\">\r\n                                    <input type=\"text\" name=\"PTSNumber\" value={props.PTSNumber} onChange={props.OntxtPTSChange} className=\"searchTerm\" placeholder={ props.mlvText.MLV_SearchbyPTS} />\r\n                                    <button className=\"searchButton\" onClick={props.OnFindOrder}>{ props.mlvText.MLV_FIND}</button>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n\r\n                        {\r\n                            props.isPTSResult === true ?\r\n                                <div>\r\n                                    <hr />\r\n                                    <div className=\"row justify-content-center\">\r\n                                        <div className=\"col-12 col-lg-8\">\r\n                                            <h3><strong>{ props.mlvText.MLV_RESULTFOUND}:</strong></h3>\r\n                                        </div>\r\n                                    </div>\r\n\r\n                                    <div className=\"row justify-content-center\">\r\n                                        <div className=\"col-12 col-lg-4\">\r\n                                            <ul className=\"ph-list\">\r\n                                                <li className=\"ph-list__item\"><strong>{ props.mlvText.MLV_PTSID}:</strong> {props.PTSDetails.PTSID}</li>\r\n                                                <li className=\"ph-list__item\"><strong>{ props.mlvText.MLV_ACCOUNT} #:</strong> {props.PTSDetails.Account}</li>\r\n                                                <li className=\"ph-list__item\"><strong>{ props.mlvText.MLV_PART} #:</strong> {props.PTSDetails.Part}</li>\r\n                                                <li className=\"ph-list__item\"><strong>{ props.mlvText.MLV_MODEL} #:</strong> {props.PTSDetails.Model}</li>\r\n                                            </ul>\r\n                                        </div>\r\n                                        <div className=\"col-12 col-lg-4\">\r\n                                            <ul className=\"ph-list\">\r\n                                                <li className=\"ph-list__item\"><strong>{ props.mlvText.MLV_SERIAL} #:</strong> {props.PTSDetails.Serial}</li>\r\n                                                <li className=\"ph-list__item\"><strong>{ props.mlvText.MLV_MESSAGE} #:</strong> {props.PTSDetails.Message}</li>\r\n                                                <li className=\"ph-list__item\"><strong>{ props.mlvText.MLV_DIVISIONLIST}:</strong> {props.PTSDetails.DivisionList}</li>\r\n                                            </ul>\r\n                                        </div>\r\n                                    </div>\r\n                                </div>\r\n                                : \"\"\r\n                        }\r\n                    </div>\r\n                    {\r\n                        props.isPTSResult === true ?\r\n                            <div className=\"ph-modal__footer d-flex justify-content-end\">\r\n\r\n                                <button type=\"button\" className=\"button accent-button round-button medium-button\" data-dismiss=\"modal\" onClick={props.OnNewReturnClose} >Cancel</button>\r\n                                <button type=\"button\" className=\"button primary-button round-button medium-button ml-1\" onClick={props.OnPtsSearchProceed}>Proceed</button>\r\n                            </div> : \"\"\r\n                    }\r\n\r\n                </div>\r\n            </div>\r\n        </div>\r\n    );\r\n}\r\n\r\n\r\n\r\nconst mapMLV = (state) => {\r\n    return {\r\n        mlvText: state.mlv\r\n    }\r\n}\r\n\r\n\r\nexport default connect(mapMLV,null) (OrderPTSModel);","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux'\r\n\r\nimport OrderSearchHeader from './OrderSearchHeader'\r\nimport OrderReturnList from './OrderReturnList'\r\nimport { ADD_PRSUBMIT, Loaded, INITIAL, PREVIOUS, NEXT, FIRST } from '../../Store/Type'\r\nimport { setPrResponseData, DataLoaded, AddOrderList } from '../../Store/ActionMessage'\r\nimport { OrderGetList, OrderDetailsGetList, OnGetPTSNoDetails, GetDivisionName, GetOrgList } from '../../Store/CliamListAction'\r\nimport { GetConfigDivisions } from '../../Store/Actions'\r\nimport OrderSearchGrid from './OrderSearchGrid'\r\nimport OrderPagination from './OrderPagination'\r\nimport OrderPTSModel from './OrderPTSModel'\r\nimport auth from '../../auth'\r\nimport dataLayer from '../../dataLayer';\r\nimport { checkGenericProfileCookie } from '../Cookie/cookieHandler';\r\nclass OrderSearchMain extends Component {\r\n\r\n    constructor(props) {\r\n        super(props);\r\n        const queryParam = this.props.location.state;\r\n        const queryOrderStateParam = queryParam === undefined ? undefined : queryParam.OrderState;\r\n        this.state = {\r\n            currentpage: FIRST,\r\n            Searchedvalue: queryOrderStateParam !== undefined ? queryOrderStateParam.SOrderValue : \"\",\r\n            SrotingValue: \"3-D\",\r\n            OrderList: [],\r\n            OrderDetailsList: {},\r\n            validDivisions: [],\r\n            isDivision: true,\r\n            show: -1,\r\n            subKey: -1,\r\n            isProceed: false,\r\n            total: 0,\r\n            skip: 0,\r\n            take: 5,\r\n            isLastPage: false,\r\n            isPTSResult: false,\r\n            PTSNumber: \"\",\r\n            PTSMessage: \"\",\r\n            CustomerNumber: (queryParam !== undefined && queryParam.customerNumber !== \"\") ? queryParam.customerNumber : \"1\",\r\n            CustomerDetails: auth.loginData().CustmersData,\r\n            PTSCustomerNumber: auth.loginData().customerNumber.trim(),\r\n            CustomerName: \"\",\r\n            placeholder: \"\",\r\n            INTLDivision: {\r\n                DivisionId: \"\",\r\n                DivisionName:\"\"\r\n            },\r\n            PTSDetails: {\r\n                PTSID: \"\",\r\n                Account: \"\",\r\n                Part: \"\",\r\n                Model: \"\",\r\n                Serial: \"\",\r\n                Message: \"\",\r\n                DivisionList: \"\",\r\n                MainDivisionId: \"\"\r\n            },\r\n            isPTSPopup: false,\r\n            orderListParam: {\r\n                CustNo: (queryParam !== undefined && queryParam.customerNumber !== \"1\" && queryParam.customerNumber !== \"\") ? queryParam.customerNumber : (queryParam !== undefined && queryParam.customerNumbersList != undefined) ? queryParam.customerNumbersList : \"\", //\"687492\",//\"617142\",\r\n                WebId: auth.loginData().userName.trim(),\r\n                SParameter: queryOrderStateParam !== undefined ? queryOrderStateParam.SOrderPara : \"2\",\r\n                SOperator: \"\",\r\n                SValue: queryOrderStateParam !== undefined ? queryOrderStateParam.SOrderValue : \"\",\r\n                DParameter: \"\",\r\n                SPageKey: 1,\r\n                PageKey: 1,\r\n                Start: 25,\r\n                SOpenClose: \"\",\r\n                take:5,\r\n                OrderByField: \"3\",\r\n                OrderByAscDescFlag: \"D\",\r\n                //isCustomerFilter: (queryParam === undefined || queryParam.customerNumber == undefined || queryParam.customerNumber == \"1\")? false:true,\r\n                SortByField: \"OrderDate\",\r\n                SortByAscDescFlag: \"desc\",\r\n                SearchByParameter: queryOrderStateParam === undefined ? \"ItemNumber\" : queryOrderStateParam.SOrderPara == \"3\" ? \"CustomerPONo\" : queryOrderStateParam.SOrderPara == \"4\" ? \"OrderNo\" : \"ItemNumber\"\r\n            }\r\n        }\r\n    }\r\n\r\n    componentWillUnmount() {\r\n        this.clearRxOrderList();\r\n    }\r\n\r\n    async componentDidMount() {\r\n        window.localStorage.removeItem('originalUrl')\r\n        let palceHolerText = this.state.orderListParam.SParameter == 2 ? this.props.mlvText.MLV_SEARCHBYPARTNUMBER : this.state.orderListParam.SParameter == 4 ? this.props.mlvText.MLV_SEARCHBYORDER : this.state.orderListParam.SParameter == 3 ? this.props.mlvText.MLV_SEARCHBYPONUMBER : this.props.mlvText.MLV_SEARCHBYORDER\r\n        this.setState({ placeholder: palceHolerText });\r\n        let cidParam = window.sessionStorage.getItem('cid');\r\n        GetConfigDivisions().then(\r\n            (obj) => {\r\n                if (obj.data.isConfigDivision === \"1\") {\r\n                    this.setState({ validDivisions: obj.data.configDivisions.split(',') }, function () {\r\n                    });\r\n\r\n                }\r\n            },\r\n            (err) => {\r\n                console.log(\"console.log(this.state.validDivisions)\")\r\n            }\r\n\r\n        );\r\n\r\n        this.GetOrderList(INITIAL);\r\n\r\n        // if(sessionStorage.getItem('userId') == undefined){\r\n          await  this.props.GetOrgList()\r\n            .then(\r\n                (obj) => {\r\n                    //    this.props.DataLoaded({\r\n                    //        type: Loaded\r\n                    //    });\r\n                    sessionStorage.setItem('userId', obj?.data.userId);\r\n                   if (cidParam == null || cidParam == undefined){\r\n                    sessionStorage.setItem('userCompanyName',obj?.data?.header?.orgList?.find(org => org?.isDefault === true)?.orgName)\r\n                    }else{\r\n                        if(cidParam != 'all'){\r\n                            sessionStorage.setItem('userCompanyName',obj?.data?.header?.orgList?.find(org => org?.cid === cidParam)?.orgName)\r\n                        }\r\n                        else{\r\n                            sessionStorage.setItem('userCompanyName', 'All Locations (all)');\r\n                        }\r\n                    }\r\n                },\r\n                (err) => {\r\n                    console.log('err found!!!!!');\r\n                    return err;\r\n                })\r\n        //}\r\n\r\n        //This MutationObserver will wait until header comes and window.onload is for entire page complete loading\r\n        //if satisfies call dataLayer() function\r\n        // var observer = new MutationObserver(function(mutations) {\r\n        //     var element1 = document.getElementById('locale-business');\r\n\r\n        //     if (element1) {\r\n        window.onload(dataLayer());\r\n        const cookieData = await checkGenericProfileCookie();\r\n        if (cookieData !== null) {\r\n            const customerIds = this.state.CustomerDetails.map(c => c.customerNumber);\r\n            if (!customerIds.includes(cookieData.customerNumber)) {\r\n                this.setState((prevState) => ({\r\n                    CustomerDetails: [\r\n                        ...prevState.CustomerDetails,\r\n                        { customerNumber: cookieData.customerNumber, customerName: cookieData.customerName, cid: cookieData.cid }\r\n                    ],\r\n                    CustomerNumber: cookieData.customerNumber,\r\n                    orderListParam: { ...prevState.orderListParam, CustNo: cookieData.customerNumber }\r\n                }),\r\n                    () => {\r\n                        this.onpagination();\r\n                    }\r\n                );\r\n            }\r\n            window.sessionStorage.setItem('cid', cookieData.cid);\r\n            window.sessionStorage.setItem('attribute17', cookieData.customerName);\r\n            window.sessionStorage.setItem('userCompanyName', cookieData.customerName);\r\n        }\r\n        \r\n        // else \r\n        // {\r\n        //     const previousCustomer = this.state.CustomerDetails.length > 0 ? this.state.CustomerDetails[0] : null;\r\n        //     if (previousCustomer) {\r\n        //         console.log('customerdetails',this.state.CustomerDetails)\r\n        //         console.log(\"Restoring session with:\", previousCustomer);\r\n        //         // window.sessionStorage.setItem(\"cid\", previousCustomer.cid);\r\n        //         window.sessionStorage.setItem(\"attribute17\", previousCustomer.customerName);\r\n        //         window.sessionStorage.setItem(\"userCompanyName\", previousCustomer.customerName);\r\n        //     } \r\n        // }\r\n        \r\n\r\n        // Once the elements are found, there's no need to keep observing\r\n        //         observer.disconnect();\r\n        //     }\r\n        // });\r\n\r\n        // // Start observing the document with the configured parameters\r\n        // observer.observe(document, { childList: true, subtree: true });\r\n    }\r\n\r\n\r\n    OnChangePTSCustomer = (e) => {\r\n\r\n        this.setState({ PTSCustomerNumber: e.target.value });\r\n    }\r\n\r\n    OnChangeCustomer = (e) => {\r\n\r\n        //let isCustomerFilter = e.target.value === \"1\" ? false : true;\r\n        var orderParams = { ...this.state.orderListParam };\r\n        //orderParams.isCustomerFilter = isCustomerFilter;\r\n\r\n        orderParams.CustNo = e.target.value;\r\n        orderParams.Start = 25;\r\n        orderParams.SOpenClose = \"\";\r\n        orderParams.OrderByField = \"3\";\r\n        orderParams.OrderByAscDescFlag = \"D\";\r\n        orderParams.SortByField = \"OrderDate\";\r\n        orderParams.SortByAscDescFlag = \"desc\";\r\n        orderParams.SPageKey = 1;\r\n        if (e.target.value === \"1\") {\r\n            // const customersIds = this.state.CustomerDetails.map((result) => {\r\n            //     return result.customerNumber;\r\n            // });\r\n            // orderParams.CustNo = customersIds.join(\",\");\r\n            orderParams.CustNo = \"all\";\r\n        }\r\n        this.setState({ Searchedvalue :\"\", SrotingValue: \"3-D\",total: 0, skip: 0,  CustomerNumber: e.target.value, orderListParam: orderParams, show: -1 }, function () {\r\n\r\n            var customerDetail = this.state.CustomerDetails.filter(m => m.customerNumber === this.state.PTSCustomerNumber);\r\n            this.setState({ CustomerName: customerDetail.customerName });\r\n            this.GetOrderList(INITIAL);\r\n        });\r\n        this.setState({ SrotingValue: \"3-D\" });\r\n    }\r\n\r\n    clearRxOrderList() {\r\n        this.props.AddOrderList({\r\n            type: INITIAL,\r\n            data: []\r\n        });\r\n    }\r\n\r\n    GetOrderList(actionType) {\r\n        this.props.setPrResponseData({\r\n            type: ADD_PRSUBMIT,\r\n            data: []\r\n        });\r\n        const param = this.state.orderListParam;\r\n        let lengthOfOrders = 0;\r\n        param.take=this.state.take;\r\n        this.props.OrderGetList(param).then(\r\n            (res) => {\r\n                // let apiDetails = JSON.parse(sessionStorage.getItem('orderStatusApiDetails'));\r\n                // window.appInsights.trackEvent({\r\n                //     name: 'headers',\r\n                //     properties: { // accepts any type\r\n                //       Url: apiDetails.url,  \r\n                //       sessionId: localStorage.getItem(\"oktaSessionID\"),\r\n                //         useremail: apiDetails.useremail,\r\n                //         statusCode: res.status\r\n                //     }\r\n                //   });\r\n                //   window.appInsights.trackPageView({\r\n                //     name: 'headers',\r\n                //     properties: { // accepts any type\r\n                //       Url: apiDetails.url,  \r\n                //       sessionId: localStorage.getItem(\"oktaSessionID\"),\r\n                //         useremail: apiDetails.useremail,\r\n                //         statusCode: res.status\r\n                //     }\r\n                //   });\r\n                //   window.appInsights.trackPageViewPerformance({name : 'url', url: window.location.href});\r\n                //   sessionStorage.removeItem('orderStatusApiDetails');\r\n\r\n                if (Object.keys(res.data.message.Page.Output.OrderList).length === 0 && res.data.message.Page.Output.OrderList.constructor === Object) {\r\n                    lengthOfOrders = 0;\r\n                } else {\r\n                    lengthOfOrders = res.data.message.Page.Output.OrderList.Order.length;\r\n                }\r\n                let searchCategory = document.getElementById('ddOrgaSearchOption');\r\n                window.dataLayer.push({\r\n                    'event': 'claims_search',\r\n                    'search_category': searchCategory?.options[searchCategory?.selectedIndex]?.innerText,\r\n                    'search_term': param?.SValue.trim(),\r\n                    'search_tab': 'new claims',\r\n                    'no_of_search_results': lengthOfOrders\r\n                })\r\n                // let lengthOfOrders = res.data.message.Page.Output.OrderList.Order.length;    \r\n                param.SPageKey=param.SPageKey+1;\r\n                param.PageKey=param.PageKey+1;\r\n                let isLastPage = res.data.message.Page.IsLastPage == \"N\" ? false : true;//(lengthOfOrders < 1 || lengthOfOrders < this.state.take) ? true : false;\r\n                // res.data.map((dataItem) => {\r\n                //     if (dataItem.EnteredDate.length === 8) {\r\n                //         let dateTime = this.insert(this.insert(dataItem.EnteredDate, 4, '/'), 7, '/')\r\n                //         dataItem.EnteredDate = dateTime.split(\"/\").reverse().join('/');\r\n                //     }\r\n                // });\r\n\r\n                this.setState({ isLastPage: isLastPage })\r\n                this.props.AddOrderList({\r\n                    type: actionType,\r\n                    data: lengthOfOrders == 0 ? [] : res.data.message.Page.Output.OrderList.Order\r\n                });\r\n\r\n                if (isLastPage == false || parseInt(this.state.skip) == 0) {\r\n                    this.onpagination();\r\n                } else {\r\n                    const skipvalue = parseInt(this.state.skip) > 0 ? (parseInt(this.state.skip) - parseInt(this.state.take)) : 0;\r\n                    this.setState({ skip: skipvalue });\r\n                }\r\n                this.props.DataLoaded({\r\n                    type: Loaded\r\n                });\r\n                //param.PageKey = 1;\r\n                this.setState({ orderListParam: param })\r\n            },\r\n            (err) => {\r\n                // let apiDetails = JSON.parse(sessionStorage.getItem('orderStatusApiDetails'));\r\n                // window.appInsights.trackEvent({\r\n                //     name: 'headers',\r\n                //     properties: { // accepts any type\r\n                //       Url: apiDetails.url,  \r\n                //       sessionId: localStorage.getItem(\"oktaSessionID\"),\r\n                //         useremail: apiDetails.useremail,\r\n                //         statusCode: err.response.status\r\n                //     }\r\n                //   });\r\n                //   window.appInsights.trackPageView({\r\n                //     name: 'headers',\r\n                //     properties: { // accepts any type\r\n                //       Url: apiDetails.url,  \r\n                //       sessionId: localStorage.getItem(\"oktaSessionID\"),\r\n                //         useremail: apiDetails.useremail,\r\n                //         statusCode: err.response.status\r\n                //     }\r\n                //   });\r\n                //   window.appInsights.trackPageViewPerformance({name : 'url', url: window.location.href});\r\n                //   sessionStorage.removeItem('orderStatusApiDetails');\r\n                this.props.DataLoaded({\r\n                    type: Loaded\r\n                });\r\n                param.PageKey = 1;\r\n                this.setState({ orderListParam: param })\r\n                this.setState({ OrderList: [] })\r\n                return err;\r\n            }\r\n        )\r\n    }\r\n\r\n    GetOrderDetails(orderDetails, key) {\r\n\r\n        this.props.setPrResponseData({\r\n            type: ADD_PRSUBMIT,\r\n            data: []\r\n        });\r\n\r\n        this.props.OrderDetailsGetList(orderDetails).then(\r\n            (res) => {\r\n\r\n                this.props.DataLoaded({\r\n                    type: Loaded\r\n                });\r\n\r\n                let odData = res.data;\r\n                let LineItems = [];\r\n                if (odData != null || odData != undefined) {\r\n                    // Object.keys(odData).forEach(function (key) {\r\n                    //        //(odData[key])[\"LineItem\"] = keyValue.length > 1 ? keyValue[1] : {};\r\n                    //         LineItems.push(odData[key]);\r\n                    //     // if (key.indexOf(\"LineItem_\") !== -1) {\r\n                    //     //     let keyValue = key.split('_');\r\n                    //     //     (odData[key])[\"LineItem\"] = keyValue.length > 1 ? keyValue[1] : {};\r\n                    //     //     LineItems.push(odData[key]);\r\n                    //     // }\r\n                    // });\r\n                    // res.data[\"LineItems\"] = LineItems\r\n\r\n                    this.setState({ OrderDetailsList: res.data });\r\n                } else {\r\n                    var empObj = {\r\n                        OrderDetails: {\r\n                            LineItems: []\r\n                        }\r\n                    }\r\n                    this.setState({ OrderDetailsList: empObj });\r\n                    this.setState({ show: key });\r\n                }\r\n            },\r\n            (err) => {\r\n                return err;\r\n            }\r\n        )\r\n\r\n            .then(\r\n                (response) => {\r\n                    if (this.state.validDivisions.length > 0) {\r\n                        this.props.GetDivisionName(orderDetails.DivisionID).then(\r\n                            (obj) => {\r\n                                this.props.DataLoaded({\r\n                                    type: Loaded\r\n                                });\r\n                                let INTLDivision = {\r\n                                    DivisionId: obj.data.item1,\r\n                                    DivisionName: obj.data.item2\r\n                                }\r\n                                this.setState({ INTLDivision: INTLDivision });\r\n                                var isDivision = this.state.validDivisions.some(m => m == this.state.INTLDivision.DivisionId);\r\n                                this.setState({ isDivision: isDivision });\r\n                                this.setState({ show: key });\r\n                            },\r\n                            (err) => {\r\n                                console.log('err found!!!!!');\r\n                                return err;\r\n                            }\r\n                        )\r\n                    }\r\n                })\r\n    }\r\n\r\n    insert(str, index, value) {\r\n        return str.substr(0, index) + value + str.substr(index);\r\n    }\r\n\r\n\r\n    ShowDetailsGrid = (event, key, dataItem) => {\r\n        event.stopPropagation();\r\n        this.setState({ show: -1 });\r\n        this.setState({ isProceed: false })\r\n        this.setState({ subKey: -1 })\r\n        const prevKey = this.state.show;\r\n\r\n        if (dataItem !== undefined) {\r\n            if (prevKey != key) {\r\n                let divisionId = dataItem.SellerOrganizationCode.split('-');\r\n                var orderDetails = {\r\n                    OrderNo: dataItem.OrderNo,\r\n                    CustNo: dataItem.BuyerOrganizationCode,\r\n                    CustPo: dataItem.CustomerPONo,\r\n                    OrderDate: dataItem.OrderDate,\r\n                    DivisionID: divisionId[0]\r\n                    // Extended: dataItem.Extended_Cap\r\n                }\r\n                this.GetOrderDetails(orderDetails, key);\r\n\r\n            } else {\r\n\r\n                this.setState({ show: -1 });\r\n            }\r\n        }\r\n\r\n    }\r\n\r\n    OnChangeHandler = (e) => {\r\n        //  this.setState({ show: -1 });\r\n        //this.setState({ isProceed: false })\r\n        // this.setState({ [e.target.name]: e.target.value });\r\n        // this.clearRxOrderList();\r\n        let palceHolerText = e.target.value == 2 ? this.props.mlvText.MLV_SEARCHBYPARTNUMBER : e.target.value == 4 ? this.props.mlvText.MLV_SEARCHBYORDER : e.target.value == 3 ? this.props.mlvText.MLV_SEARCHBYPONUMBER : this.props.mlvText.MLV_SEARCHBYORDER\r\n\r\n\r\n        let orderparams = this.state.orderListParam;\r\n        orderparams.SParameter = e.target.value;\r\n        orderparams.SOperator = \"\";\r\n        //orderparams.SPageKey = 1;\r\n        if (orderparams.SParameter === \"4\") {\r\n            orderparams.SearchByParameter = \"OrderNo\";\r\n        } else if (orderparams.SParameter === \"3\") {\r\n            orderparams.SearchByParameter = \"CustomerPONo\";\r\n        } else {\r\n            orderparams.SearchByParameter = \"ItemNumber\";\r\n        }\r\n        this.setState({ orderListParam: orderparams, placeholder: palceHolerText }, function () {\r\n            this.setState({ skip: 0 })\r\n            //this.GetOrderList(INITIAL);\r\n        });\r\n    }\r\n\r\n    OnOrderSearch = (e) => {\r\n        this.clearRxOrderList();\r\n        this.setState({ isLastPage: false })\r\n        this.setState({ show: -1 });\r\n        this.setState({ isProceed: false })\r\n        this.setState({ skip: 0 })\r\n        let orderparams = this.state.orderListParam;\r\n        orderparams.SOperator = 1;\r\n        orderparams.SValue = this.state.Searchedvalue;\r\n        orderparams.SPageKey = 1;\r\n        this.setState({ orderListParam: orderparams }, function () {\r\n            this.GetOrderList(INITIAL);\r\n        });\r\n    }\r\n    OnSearchedvalue = (e) => {\r\n\r\n        this.setState({ Searchedvalue: e.target.value }, function () {\r\n            let orderListParam = { ...this.state.orderListParam }\r\n            orderListParam.SValue = this.state.Searchedvalue;\r\n            this.setState({ orderListParam: orderListParam });\r\n        })\r\n    }\r\n\r\n    OnChangeSort = (e) => {\r\n        this.clearRxOrderList();\r\n        this.setState({ isLastPage: false })\r\n        this.setState({ show: -1 });\r\n        this.setState({ isProceed: false })\r\n        this.setState({ skip: 0 })\r\n        this.setState({ SrotingValue: e.target.value })\r\n        const fieldArray = (e.target.value).split('-');\r\n        const field = fieldArray[0];\r\n        const dir = fieldArray[1];\r\n        let orderparams = this.state.orderListParam;\r\n        orderparams.OrderByField = field;\r\n        orderparams.SOperator = 1;\r\n        orderparams.OrderByAscDescFlag = dir;\r\n        orderparams.SPageKey = 1;\r\n        if (orderparams.OrderByField == \"3\") {\r\n            orderparams.SortByField = \"OrderDate\";\r\n        } else {\r\n            orderparams.SortByField = \"OrderNo\";\r\n        }\r\n        if (orderparams.OrderByAscDescFlag == \"D\") {\r\n            orderparams.SortByAscDescFlag = \"desc\";\r\n        } else {\r\n            orderparams.SortByAscDescFlag = \"asc\";\r\n        }\r\n        //orderParams.SortByField = (field ===\"3\") ? \"OrderDate\" : \"OrderNo\";\r\n        //orderParams.SortByAscDescFlag = (dir ===\"D\") ? \"desc\" : \"asc\";\r\n        this.setState({ orderListParam: orderparams }, function () {\r\n            this.GetOrderList(INITIAL);\r\n        });\r\n    }\r\n\r\n\r\n    onEnableProceed = (n) => {\r\n        this.setState({ isProceed: true, subKey: n });\r\n    }\r\n\r\n    OnProceed = (dataItem, orderDivisionID, orderNumber, CustNo, shipTo, PONumber) => {\r\n\r\n        var customerDetail = this.state.CustomerDetails.filter(m => m.customerNumber === CustNo);\r\n        this.setState({ CustomerName: customerDetail.length > 0 && customerDetail[0].customerName });\r\n        const CustomerName = customerDetail.length > 0 ? customerDetail[0].customerName : auth.loginData().customerNumber.trim();\r\n        var shipToKeys = Object.keys(shipTo);\r\n        var shipToValues = (Object.values(shipTo)).filter(m => m.length > 0);\r\n\r\n        var shippingTo = shipTo;\r\n        /* var shiptoAddress = \"\";\r\n         shipToKeys.forEach((m) => {\r\n             if (m.indexOf(\"Address\") < 0) {\r\n                 // shippingTo = shippingTo +\"\\r\\n\"+ m + \" :\" + shipTo[m];\r\n             } else {\r\n                 shiptoAddress = shipTo[m].length > 0 ? shiptoAddress + shipTo[m] + \"\\r\\n\" : shiptoAddress;\r\n             }\r\n \r\n         });*/\r\n\r\n        //shippingTo = shippingTo + shiptoAddress;\r\n        console.log(shippingTo)\r\n        // var descirption = \"Shipping Address:\" + \"\\n\\n\" + ((shipToValues.filter(m => m.trim().length > 0)).join(\",\\n\"));\r\n        let divisionId = orderDivisionID.split('-');\r\n        let Details = {\r\n            PartNo: dataItem.Item.ItemID,\r\n            Quantity: dataItem.OrderStatuses.OrderedQty.toString(),\r\n            ReturnType: \"\",\r\n            DivisionID: divisionId[0],\r\n            IntegrationID: \"\",\r\n            SerialNumber: \"\",\r\n            WarrantyFailure: \"\",\r\n            PreferredResolution: \"\",\r\n            ProblemDescription: \"\",\r\n            RGAClaimAttachments: [],\r\n            isEdit: false,\r\n            OrderNumber: orderNumber.substring(0, 8),\r\n            PONumber: PONumber,\r\n            CustomerNumber: CustNo,\r\n            Customer_Name: CustomerName,\r\n            ShipToDetails: shippingTo,\r\n            isOrderSearch: true\r\n\r\n        };\r\n\r\n        this.props.history.push({\r\n            pathname: '/newreturn',\r\n            search: `?cid=${window.sessionStorage.getItem('cid')}&lang=${window.sessionStorage.getItem('lang')}`,\r\n            state: { newreturn: Details }\r\n        })\r\n    }\r\n\r\n    onNewReturn = (e) => {\r\n        this.props.history.push(`/newreturn?cid=${window.sessionStorage.getItem('cid')}&lang=${window.sessionStorage.getItem('lang')}`);\r\n    }\r\n\r\n    onCliamListPage = (e) => {\r\n        this.props.history.push({\r\n            pathname: \"/list\",\r\n            search: `?cid=${window.sessionStorage.getItem('cid')}&lang=${window.sessionStorage.getItem('lang')}`,\r\n            state: { CustomerNo: this.state.CustomerNumber }\r\n        });\r\n    }\r\n\r\n    OnOrderPrevious = (e) => {\r\n        this.setState({ show: -1 });\r\n        this.setState({ isProceed: false })\r\n        if (this.state.skip !== 0) {\r\n            this.setState({ isLastPage: false })\r\n            this.setState({ currentpage: PREVIOUS });\r\n            let newSkip = parseInt(this.state.skip) - parseInt(this.state.take);\r\n            this.setState({ skip: newSkip }, function () {\r\n                this.onpagination();\r\n            })\r\n        }\r\n    }\r\n\r\n    OnOrderNext = (e) => {\r\n        if (this.state.orderListParam) {\r\n            this.orderPagingCustomFilter();\r\n        } else {\r\n\r\n            this.setState({ show: -1 });\r\n            this.setState({ isProceed: false })\r\n            const isLastpage = this.state.isLastPage;\r\n            if (isLastpage === false) {\r\n                this.setState({ currentpage: NEXT });\r\n                let recordCount = this.props.RxOrderList.length;\r\n                let takeValue = parseInt(this.state.skip) + parseInt(this.state.take);\r\n                if (takeValue < recordCount && parseInt(this.state.take) <= (recordCount - takeValue)) {\r\n                    let newSkip = parseInt(this.state.take) + parseInt(this.state.skip)\r\n                    this.setState({ skip: newSkip }, function () {\r\n                        this.onpagination();\r\n                    })\r\n                } else {\r\n\r\n                    let enterDate = this.props.RxOrderList[recordCount - 1].EnteredDate;\r\n                    let orderNumber = this.props.RxOrderList[recordCount - 1].OrderNo;\r\n\r\n                    let CustPO = this.props.RxOrderList[recordCount - 1].CustPO;\r\n                    var sParam = (this.state.orderListParam.SParameter == 2 && this.state.orderListParam.SValue.length == 0) ? \"4\" : this.state.orderListParam.SParameter;\r\n\r\n\r\n                    let pageKeyValue = 1;\r\n                    if (this.state.orderListParam.OrderByField == \"1\") {\r\n                        //pageKeyValue = sParam == \"4\" ? orderNumber.trim() :\r\n                        //   orderNumber.trim() + \"+\" + (enterDate.split(\"/\").reverse().join('-')) + \"++++++++++++++++\" + CustPO.trim();\r\n\r\n                    } else {\r\n                        //pageKeyValue = sParam == \"4\" ? (enterDate.split(\"/\").reverse().join('-')) + \"+\" + orderNumber.trim() :\r\n                        //    orderNumber.trim() + \"+\" + (enterDate.split(\"/\").reverse().join('-')) + \"++++++++++++++++\" + CustPO.trim();\r\n                    }\r\n\r\n                    let orderparams = this.state.orderListParam;\r\n                    orderparams.SOperator = 1\r\n                    //orderparams.SPageKey = pageKeyValue;\r\n\r\n                    let newSkip = parseInt(this.state.take) + parseInt(this.state.skip)\r\n                    this.setState({ skip: newSkip });\r\n                    this.setState({ orderListParam: orderparams }, function () {\r\n\r\n                        this.GetOrderList(NEXT);\r\n                    });\r\n\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n\r\n\r\n    OnOrderFirst = (e) => {\r\n        this.setState({ show: -1 });\r\n        this.setState({ isProceed: false })\r\n        this.setState({ currentpage: FIRST });\r\n        this.setState({ isLastPage: false })\r\n        this.setState({ skip: 0 }, function () {\r\n            this.onpagination();\r\n        });\r\n    }\r\n    onOrderPerPageChange = (e) => {\r\n        e.preventDefault();\r\n        this.setState({ isLastPage: false })\r\n        const changePageTake = parseInt(e.target.value);\r\n        let orderListParam = { ...this.state.orderListParam }\r\n        orderListParam.SPageKey = 1;\r\n        orderListParam.PageKey = 1;\r\n        this.setState({ orderListParam: orderListParam });\r\n        this.setState({ take: changePageTake, skip: 0 }, function () {\r\n            //this.onpagination();\r\n            this.GetOrderList(INITIAL);\r\n        });\r\n    }\r\n\r\n    onpagination() {\r\n        let recordCount = this.props.RxOrderList.length;\r\n        const pagingData = this.props.RxOrderList.slice(this.state.skip, (this.state.skip + parseInt(this.state.take)));\r\n        this.setState({ OrderList: pagingData });\r\n    }\r\n\r\n    OntxtPTSChange = (e) => {\r\n        this.setState({ PTSMessage: \"\" })\r\n        this.setState({ [e.target.name]: e.target.value });\r\n    }\r\n\r\n    OnNewReturnClose = (e) => {\r\n        let PTSDetails = {\r\n            PTSID: \"\",\r\n            Account: \"\",\r\n            Part: \"\",\r\n            Model: \"\",\r\n            Serial: \"\",\r\n            Message: \"\",\r\n            DivisionList: \"\",\r\n            MainDivisionId: \"\"\r\n        }\r\n        this.setState({ PTSDetails: PTSDetails });\r\n        this.setState({ isPTSPopup: false, isPTSResult: false, PTSNumber: \"\", PTSMessage: \"\" })\r\n\r\n    }\r\n\r\n    onPTSPopup = (e) => {\r\n\r\n        this.setState({ isPTSPopup: true, isPTSResult: false })\r\n    }\r\n\r\n\r\n    OnFindOrder = (e) => {\r\n        this.setState({ PTSMessage: \"\" })\r\n        this.OnPTSProceed();\r\n    }\r\n\r\n    OnPtsSearchProceed = (e) => {\r\n        var ptsDetails = this.state.PTSDetails\r\n        let Details = {\r\n            PartNo: ptsDetails.Part,\r\n            Quantity: \"1\",\r\n            DivisionID: ptsDetails.MainDivisionId,\r\n            IntegrationID: \"\",\r\n            SerialNumber: ptsDetails.Serial,\r\n            WarrantyFailure: \"\",\r\n            PreferredResolution: \"\",\r\n            ProblemDescription: \"\",\r\n            RGAClaimAttachments: [],\r\n            isEdit: false,\r\n            CustomerNumber: this.state.PTSCustomerNumber,\r\n            Customer_Name: this.state.CustomerName\r\n        };\r\n\r\n        this.props.history.push({\r\n            pathname: '/newreturn',\r\n            search: `?cid=${window.sessionStorage.getItem('cid')}&lang=${window.sessionStorage.getItem('lang')}`,\r\n            state: { newreturn: Details }\r\n        })\r\n    }\r\n\r\n    OnPTSProceed() {\r\n        const ptsNumber = this.state.PTSNumber;\r\n        const CustNo = this.state.PTSCustomerNumber;\r\n        this.setState({ PTSMessage: \"\" });\r\n\r\n        if (ptsNumber.length > 0) {\r\n            this.props.setPrResponseData({\r\n                type: ADD_PRSUBMIT,\r\n                data: []\r\n            });\r\n            //\"575555\"\r\n            this.props.OnGetPTSNoDetails(ptsNumber, CustNo).then(\r\n                (res) => {\r\n                    if (res.data.Message === null) {\r\n\r\n                        let PTSDetails = {\r\n                            PTSID: res.data.Ptsid,\r\n                            Account: res.data.Acctno === null ? \"\" : res.data.Acctno,\r\n                            Part: res.data.PartNbr === null ? \"\" : res.data.PartNbr,\r\n                            Model: res.data.ModelNbr === null ? \"\" : res.data.ModelNbr,\r\n                            Serial: res.data.SerialNbr === null ? \"\" : res.data.SerialNbr,\r\n                            Message: res.data.Message === null ? \"\" : res.data.Message,\r\n                            DivisionList: res.data.DivisionList.length > 0 ? Array.prototype.map.call(res.data.DivisionList, s => s.Division).toString() : \"\",\r\n                            MainDivisionId: res.data.DivisionList.length > 0 ? res.data.DivisionList[0].Division : \"\"\r\n                        }\r\n                        this.setState({ PTSDetails: PTSDetails, isPTSResult: true });\r\n                        this.props.DataLoaded({\r\n                            type: Loaded\r\n                        });\r\n\r\n                    } else {\r\n                        this.props.DataLoaded({\r\n                            type: Loaded\r\n                        });\r\n                        this.setState({ PTSMessage: res.Message })\r\n                    }\r\n\r\n                },\r\n                (error) => {\r\n                    this.props.DataLoaded({\r\n                        type: Loaded\r\n                    });\r\n                    throw error;\r\n                }\r\n            )\r\n        }\r\n    }\r\n\r\n    orderPagingCustomFilter = () => {\r\n        this.setState({ show: -1 });\r\n        this.setState({ isProceed: false })\r\n        const isLastpage = this.state.isLastPage;\r\n        if (isLastpage === false) {\r\n            this.setState({ currentpage: NEXT });\r\n            let recordCount = this.props.RxOrderList.length;\r\n            let takeValue = parseInt(this.state.skip) + parseInt(this.state.take);\r\n            if (takeValue < recordCount && parseInt(this.state.take) <= (recordCount - takeValue)) {\r\n                let newSkip = parseInt(this.state.take) + parseInt(this.state.skip)\r\n                this.setState({ skip: newSkip }, function () {\r\n                    this.onpagination();\r\n                })\r\n            } else {\r\n\r\n                let enterDate = this.props.RxOrderList[recordCount - 1].OrderDate;\r\n                let orderNumber = this.props.RxOrderList[recordCount - 1].OrderNo;\r\n\r\n                let CustPO = this.props.RxOrderList[recordCount - 1].CustomerPONo;\r\n                var sParam = (this.state.orderListParam.SParameter == 2 && this.state.orderListParam.SValue.length == 0) ? \"4\" : this.state.orderListParam.SParameter;\r\n                let pageKeyValue = 1;\r\n                if (this.state.orderListParam.OrderByField == \"1\") {\r\n                    // pageKeyValue = sParam == \"4\" ? orderNumber.trim() + \"+++++\" + this.state.orderListParam.CustNo :\r\n                    //    orderNumber.trim() + \"+++++\" + this.state.orderListParam.CustNo + \"+\" + (enterDate.split(\"/\").reverse().join('-')) + \"++++++++++++++++\" + CustPO.trim();\r\n\r\n                } else {\r\n                    // pageKeyValue = sParam == \"4\" ? (enterDate.split(\"/\").reverse().join('-')) + \"+\" + orderNumber.trim() + \"+++++\" + this.state.orderListParam.CustNo :\r\n                    //    orderNumber.trim() + \"+++++\" + this.state.orderListParam.CustNo + \"+\" + (enterDate.split(\"/\").reverse().join('-')) + \"++++++++++++++++\" + CustPO.trim();\r\n                }\r\n\r\n                let orderparams = this.state.orderListParam;\r\n                orderparams.SOperator = 1\r\n                //orderparams.SPageKey = pageKeyValue;\r\n\r\n                let newSkip = parseInt(this.state.take) + parseInt(this.state.skip)\r\n                this.setState({ skip: newSkip });\r\n                this.setState({ orderListParam: orderparams }, function () {\r\n\r\n                    this.GetOrderList(NEXT);\r\n                });\r\n\r\n            }\r\n        }\r\n    }\r\n\r\n    render() {\r\n        return (\r\n            <React.Fragment>\r\n                <div className=\"container HeaderContainer\">\r\n                    <div className=\"ph-header-main__title row px-md-2 px-lg-5\">\r\n                        <div className=\"div__contentpadding\">\r\n                            <div className=\"col\">\r\n                                <h1 className=\"p-title\"> {this.props.mlvText.MLV_PRODUCTRETURNREQUEST}</h1>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                    <div className=\"div__contentpadding\">\r\n                        <div className=\"ph-header-main__breadcrumbs row px-md-2 px-lg-5 py-2 hide-mobile\">\r\n                            <div className=\"col\">\r\n                                <nav aria-label=\"breadcrumb\">\r\n                                    <ol className=\"breadcrumb\">\r\n                                        <li className=\"breadcrumb-item\" aria-current=\"page\"><a href={`/list?cid=${window.sessionStorage.getItem('cid')}&lang=${window.sessionStorage.getItem('lang')}`}>Home</a></li>\r\n                                        <li className=\"breadcrumb-item active p-title\" aria-current=\"page\">{this.props.mlvText.MLV_PRODUCTRETURNREQUEST}</li>\r\n                                    </ol>\r\n                                </nav>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n\r\n                <div className=\"divOrder__contentpadding\">\r\n                    <div className=\"container px-4\">\r\n\r\n                        <div className=\"row justify-content-center\">\r\n                            <div className=\"col-lg-12\">\r\n                                <OrderSearchHeader\r\n                                    {...this.state}\r\n                                    OnChangeHandler={this.OnChangeHandler}\r\n                                    OnSearchedvalue={this.OnSearchedvalue}\r\n                                    OnOrderSearch={this.OnOrderSearch}\r\n                                    onNewReturn={this.onNewReturn}\r\n                                    onPTSPopup={this.onPTSPopup}\r\n                                    onCliamListPage={this.onCliamListPage}\r\n                                    OnChangeCustomer={this.OnChangeCustomer}\r\n\r\n                                />\r\n                                <div className=\"content-section p-0\">\r\n\r\n                                    <OrderReturnList\r\n                                        {...this.state}\r\n                                        {...this.props}\r\n                                        OnChangeSort={this.OnChangeSort}\r\n                                    />\r\n                                    <div className=\"ph-flex-table\">\r\n                                        <OrderSearchGrid\r\n                                            {...this.state}\r\n                                            {...this.props}\r\n                                            ShowDetailsGrid={this.ShowDetailsGrid}\r\n                                            onEnableProceed={this.onEnableProceed}\r\n                                            OnProceed={this.OnProceed}\r\n                                        />\r\n                                    </div>\r\n                                </div>\r\n                                <OrderPagination\r\n                                    {...this.state}\r\n                                    {...this.props}\r\n                                    OnOrderPrevious={this.OnOrderPrevious}\r\n                                    OnOrderFirst={this.OnOrderFirst}\r\n                                    OnOrderNext={this.OnOrderNext}\r\n                                    onOrderPerPageChange={this.onOrderPerPageChange}\r\n                                />\r\n\r\n                                {this.state.isPTSPopup == true ?\r\n                                    <OrderPTSModel\r\n                                        {...this.state}\r\n                                        {...this.props}\r\n                                        OnNewReturnClose={this.OnNewReturnClose}\r\n                                        OnFindOrder={this.OnFindOrder}\r\n                                        OntxtPTSChange={this.OntxtPTSChange}\r\n                                        OnPtsSearchProceed={this.OnPtsSearchProceed}\r\n                                        OnChangePTSCustomer={this.OnChangePTSCustomer}\r\n                                    /> : \"\"\r\n                                }\r\n                                <br />\r\n                                <br />\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </React.Fragment>\r\n\r\n        );\r\n    }\r\n}\r\n\r\nconst mapOrderState = (state) => {\r\n    return {\r\n        isLoading: state.nrp.isLoading,\r\n        RxOrderList: state.olr.RxOrderList,\r\n        mlvText: state.mlv\r\n    }\r\n}\r\n\r\nexport default connect(mapOrderState, { setPrResponseData, DataLoaded, OrderGetList, OrderDetailsGetList, AddOrderList, OnGetPTSNoDetails, GetDivisionName, GetOrgList })(OrderSearchMain);\r\n\r\n","\r\nimport React, { useEffect, useState } from 'react';\r\nimport { DateFormate } from '../../Validation/PRValidation'\r\nimport { connect } from 'react-redux';\r\n\r\n\r\nconst ViewReturnPopup = (props) => {\r\n    \r\n    useEffect(() => {\r\n\r\n        document.body.style.overflow = 'hidden';\r\n        return () => {\r\n            document.body.style.overflow = 'auto';\r\n        }\r\n    }, [])\r\n\r\n    return (\r\n        <React.Fragment>\r\n            <div className=\"ph-modal  show\" style={{ display: \"block\" }} id=\"returnDetails1\" role=\"dialog\" aria-labelledby=\"Return Details\"\r\n                aria-hidden=\"true\">\r\n                <div className=\"modal-dialog\" role=\"document\" style={{width:\"100%\" ,margin:\"0px\"}}>\r\n                    <div className=\"ph-modal__content col-12 col-md-6\" style={{float:\"none\"}}>\r\n                        <div className=\"ph-modal__header\">\r\n                            <h2 className=\"ph-modal__title\" id=\"emailModalLabel\">{props.mlvText.MLV_DETAILSOFCLAIM}# {props.ViewData.RGANo}</h2>\r\n                            <span onClick={props.OnCloseViewReturn} data-dismiss=\"modal\" aria-label=\"Close\" className=\"ph-modal__header--close\" aria-hidden=\"true\">&times;</span>\r\n                        </div>\r\n                        <div className=\"ph-modal__body\">\r\n                            <div>\r\n                                <div className=\"row\">\r\n                                    <div className=\"col-12 col-md-6\">\r\n                                        <ul className=\"ph-list\">\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_STATUS}:</strong><span className=\"ph-flag ph-flag__status--submitted\">{GetMLVStatus(props.ViewData.Status, props.mlvText.MLV_CLAIMSTATUS)}</span></li>\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_SUBMITTED}:</strong> {DateFormate(props.ViewData.SubmittedDate)} </li>\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_CLAIM} #:</strong> <a className=\"ph-blue-link\">{props.ViewData.RGANo}</a></li>\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_PART} #:</strong> {props.ViewData.PartNo} </li>\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_ORDERNUMBER}:</strong> {props.ViewData.OrderNumber} </li>\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_PONUMBER}:</strong> {props.ViewData.PONumber} </li>\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_DIVISIONNAME}:</strong> {props.ViewData.DivisionName} </li>\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_PREFERREDRESOLUTION}:</strong> {props.ViewData.PreferredResolution}</li>\r\n                                        </ul>\r\n                                    </div>\r\n                                    <div className=\"col-12 col-md-6\">\r\n                                        <ul className=\"ph-list\">\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_COMPANY}:</strong> {props.ViewData.Company.length == 0 ? props.ViewData.Customer_Name : props.ViewData.Company}</li>\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_ADDRESS}:</strong>\r\n                                                <p>{props.ViewData.CustomerADDR1 === null ? \"\" : props.ViewData.CustomerADDR1}</p>\r\n                                                <p> {props.ViewData.CustomerADDR2 === null ? \"\" : props.ViewData.CustomerADDR2}</p>\r\n                                                <p> {props.ViewData.CustomerADDR3 === null ? \"\" : props.ViewData.CustomerADDR3}</p>\r\n                                                <p> {props.ViewData.CustomerCity === null ? \"\" : props.ViewData.CustomerCity}</p>\r\n                                                <p> {props.ViewData.CustomerState === null ? \"\" : props.ViewData.CustomerState}</p>\r\n                                                <p> {props.ViewData.CustomerCountry === null ? \"\" : props.ViewData.CustomerCountry} {props.ViewData.CustomerPost_Code === null ? \"\" : \":\" + props.ViewData.CustomerPost_Code}</p>\r\n                                            </li>\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_CONTACTNAME}:</strong> {props.ViewData.Contact}</li>\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_EMAIL}:</strong><a className=\"ph-blue-link\"> {props.ViewData.Email}</a></li>\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_PHONE}:</strong> {props.ViewData.CustomerPhone}</li>\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_QUANTITY}:</strong> {props.ViewData.Quantity}</li>\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_CLAIMTYPE}:</strong> {props.ViewData.ReturnType}</li>\r\n                                            <li className=\"ph-list__item\"><strong>{props.mlvText.MLV_WARRANTYFAILURE}:</strong> {props.ViewData.WarrantyFailure}</li>\r\n                                            {/* <li className=\"ph-list__item\"><strong>{ props.mlvText.MLV_EnteredBy}:</strong> {props.ViewData.enteredBy}</li> */}\r\n                                        </ul>\r\n                                    </div>\r\n                                    <div className=\"col-12 col-12\">\r\n                                        <h3>{props.mlvText.MLV_FULLDESCRIPTION}</h3>\r\n                                        <p style={{ whiteSpace: 'pre-wrap' }} >{props.ViewData.ProblemDescription}</p>\r\n                                    </div>\r\n                                    <div className=\"col-12 col-12\" style={{ wordBreak: \"break-word\" }}>\r\n\r\n                                        {FileEditViewUpload(props.ViewData.RGAClaimAttachments, props.onFileViewDownload, props.mlvText.MLV_ATTACHMENTS)}\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                        <div className=\"ph-modal__footer d-flex\">\r\n                            <button type=\"button\" onClick={(e) => props.OnEditViewReturn(e, props.ViewData.isViewEdit)} className=\"mr-auto button accent-button round-button medium-button\" disabled={props.ViewData.isViewEdit}  >{props.mlvText.MLV_EDIT}</button>\r\n                            <button type=\"button\" onClick={props.OnCloseViewReturn} className=\"button accent-button round-button medium-button\" data-dismiss=\"modal\">{props.mlvText.MLV_CLOSE}</button>\r\n                            {/* <button type=\"button\" className=\"button primary-button round-button medium-button ml-1\">Shipping Instructions</button> */}\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </React.Fragment>\r\n    );\r\n}\r\n\r\n\r\nconst mapMLV = (state) => {\r\n    return {\r\n        mlvText: state.mlv\r\n    }\r\n}\r\n\r\n\r\nexport default connect(mapMLV, null)(ViewReturnPopup);\r\n\r\n\r\nfunction FileEditViewUpload(rgaClaimAttachments, onFileViewDownload, Attachments) {\r\n\r\n    return (\r\n        <React.Fragment>\r\n            <h3>{Attachments}</h3>\r\n            <ul>\r\n\r\n                {\r\n                    rgaClaimAttachments.map((i, j) => {\r\n\r\n                        const fileName = i.AttachmentDescription.length > 0 ? i.AttachmentDescription : i.ActivityFileName;\r\n                        return (\r\n                            <li key={j}> <p > <a target=\"_blank\" className=\"a_edit_image\" onClick={(e) => onFileViewDownload(e, i.ActivityFileName)} > {fileName} </a> <br /> </p></li>\r\n\r\n                        )\r\n\r\n                    })\r\n                }\r\n            </ul>\r\n\r\n\r\n        </React.Fragment>\r\n    )\r\n}\r\n\r\n\r\nfunction GetMLVStatus(returnStatus, mlvOptions) {\r\n    var status = returnStatus.toUpperCase()\r\n    switch (status) {\r\n        case \"OPEN\":\r\n            return mlvOptions[1];\r\n            break;\r\n        case \"SUBMITTED FOR APPROVAL\":\r\n            return mlvOptions[2];\r\n            break;\r\n        case \"APPROVED\":\r\n            return mlvOptions[3];\r\n            break;\r\n        case \"CLOSED\":\r\n            return mlvOptions[4];\r\n            break;\r\n        case \"CANCELLED\":\r\n            return mlvOptions[5];\r\n            break;\r\n        case \"CLOSEDCA OPEN\":\r\n            return mlvOptions[6];\r\n            break;\r\n        default:\r\n            return returnStatus;\r\n            break;\r\n    }\r\n}","import React from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nconst ProductHeader = (props) => {\r\n\r\n    return (\r\n        <div className=\"container HeaderContainer\">\r\n\r\n            <div className=\"ph-header-main__title row px-md-2 px-lg-5\" style={{ paddingLeft: \"98px!important\", paddingRight: \"98px!important\" }}>\r\n                <div className=\"div__contentpadding\">\r\n                    <div className=\"col\">\r\n                        <h1 className=\"p-title\"> {props.mlvText.MLV_PRODUCTRETURNREQUEST}</h1>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n            <div className=\"div__contentpadding\">\r\n                <div className=\"ph-header-main__breadcrumbs row px-md-2 px-lg-5 py-2 hide-mobile\" style={{ paddingLeft: \"98px !important\", paddingRight: \"98px !important\" }}>\r\n                    <div className=\"col\">\r\n                        <nav aria-label=\"breadcrumb\">\r\n                            <ol className=\"breadcrumb\">\r\n                                <li className=\"breadcrumb-item\" aria-current=\"page\"><a href={props.hfdata.header.result.topHeaderNav.topRightLinks[0].url}>Home</a></li>\r\n                                <li className=\"breadcrumb-item active p-title\" aria-current=\"page\">{props.mlvText.MLV_PRODUCTRETURNREQUEST}</li>\r\n                            </ol>\r\n                        </nav>\r\n                    </div>\r\n                </div>\r\n                <div className=\"navTap\" style={{ paddingLeft: \"108px!important\", paddingRight: \"98px!important\" }}>\r\n                    <nav className=\"bodynavTap\" style={{visibility:\"hidden\"}}>\r\n                        <div className=\"nav nav-tabs ph-tab-group-underlined\" id=\"rga-tabs\" role=\"tablist\">\r\n                            <a className=\"nav-item nav-link ph-tab-group-underlined__item active\" id=\"rga-all-tab\" data-toggle=\"tab\" href=\"#rga-all\" role=\"tab\" aria-controls=\"view-all\" aria-selected=\"true\" onClick={(e) => props.onChangeTabStatus(e, \"All\")}>All</a>\r\n                            <a className=\"nav-item nav-link ph-tab-group-underlined__item\" id=\"rga-open-tab\" data-toggle=\"tab\" href=\"#rga-open\" role=\"tab\" aria-controls=\"view-open\" aria-selected=\"false\" onClick={(e) => props.onChangeTabStatus(e, \"Open\")}>Open</a>\r\n                            <a className=\"nav-item nav-link ph-tab-group-underlined__item\" id=\"rga-closed-tab\" data-toggle=\"tab\" href=\"#rga-closed\" role=\"tab\" aria-controls=\"view-closed\" aria-selected=\"false\" onClick={(e) => props.onChangeTabStatus(e, \"Closed\")} >Closed</a>\r\n                        </div>\r\n                    </nav>\r\n                    <div className=\"navbuttonTap\" >\r\n                        <button className=\"mr-auto button accent-button round-button medium-button\" onClick={props.onNewReturn} ><i className=\"fas fa-plus\"></i> {props.mlvText.MLV_NEWRETURN}</button>\r\n                    </div>\r\n                </div>\r\n\r\n                <div className=\"navTapBorder\">\r\n                </div>\r\n            </div>\r\n        </div>\r\n\r\n    );\r\n}\r\n\r\n\r\n\r\nconst mapMLV = (state) => {\r\n    return {\r\n        mlvText: state.mlv,\r\n        hfdata: state.hfdata\r\n    }\r\n}\r\n\r\n\r\nexport default connect(mapMLV, null)(ProductHeader);\r\n\r\n","\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux'\r\n\r\nimport { ADD_PRSUBMIT, ADD_SUCCESS, NEXT, PREVIOUS, FIRST, Loaded, CLICKACTION, LOGIN } from '../../Store/Type'\r\nimport { setPrResponseData, DataLoaded, close, Authentication } from '../../Store/ActionMessage'\r\nimport { OnClimasRequest, OrderGetList, OrderDetailsGetList, OnGetViewReturnData, OnGetPTSNoDetails, GetOrgList } from '../../Store/CliamListAction'\r\nimport { GetFileInfo,pausecomp } from '../../Store/Actions'\r\nimport ProductReturnSearch from './ProductReturnSearch';\r\nimport ProductReturnGrid from './ProductReturnGrid'\r\nimport OrderSearchMain from '../OrderSearch/OrderSearchMain'\r\nimport ViewReturnPopup from './ViewReturnPopup'\r\nimport ProductHeader from './ProductHeader'\r\nimport auth from '../../auth'\r\nimport dataLayer from '../../dataLayer';\r\nimport { checkGenericProfileCookie } from '../Cookie/cookieHandler';\r\nclass ProductReturns extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n        const queryParam = this.props.location.state;\r\n        this.state = {\r\n            SelectedCustomerNum:queryParam !== undefined ? queryParam.CustomerNo === undefined ? \"1\": queryParam.CustomerNo   : \"1\",\r\n            currentpage: FIRST,\r\n            total: 0,\r\n            skip: 0,\r\n            take: 10,\r\n            CliamsData: [],\r\n            totalPages: 0,\r\n            RgaNumber: \"\",\r\n            isLastPage: false,\r\n            srStatus: \"\",\r\n            newReturnRgaNumber: \"\",\r\n            isPopup: false,\r\n            ViewData: {},\r\n            CustomerDetails: auth.loginData()?.CustmersData,\r\n            legalIdVal:0,\r\n            orderListParam: {\r\n                CustNo: queryParam !== undefined ? queryParam.CustomerNo === undefined ? \"1\": queryParam.CustomerNo   : \"1\",\r\n                SParameter: \"\",\r\n                SOperator: \"\",\r\n                SValue: \"\",\r\n                DParameter: \"\",\r\n                PageKey: \"\",\r\n                Start: 25,\r\n                SOpenClose: \"\",\r\n                OrderByField: \"\",\r\n                OrderByAscDescFlag: \"A\"\r\n            }\r\n        }\r\n    }\r\n\r\n    async componentDidMount() {\r\n        window.localStorage.removeItem('originalUrl')\r\n        let cidParam = window.sessionStorage.getItem('cid');\r\n        console.log(cidParam);\r\n        if (cidParam == null || cidParam == undefined) cidParam = \"null\";\r\n        if(cidParam != \"null\"){\r\n            await this.getOrgList();\r\n            //console.log('legal', this.state.legalIdVal);\r\n            await this.customerCall();\r\n        } else {\r\n            await this.getUserId();\r\n            await this.customerCall();\r\n        }\r\n\r\n        //This MutationObserver will wait until header comes and window.onload is for entire page complete loading\r\n        //if satisfies call dataLayer() function\r\n        //  var observer = new MutationObserver(function(mutations) {\r\n        //     var element1 = document.getElementById('locale-business');\r\n\r\n        //     if (element1) {\r\n        window.onload(dataLayer());\r\n        //Once the elements are found, there's no need to keep observing\r\n        //         observer.disconnect();\r\n        //     }\r\n        // });\r\n\r\n        // // Start observing the document with the configured parameters\r\n        // observer.observe(document, { childList: true, subtree: true });\r\n    }\r\n\r\n    async customerCall(){\r\n        console.log('2.calling customerCall');\r\n        let selectedCustNo = this.state.orderListParam.CustNo;\r\n        if (selectedCustNo === \"1\") {\r\n            const customersIds = this.state.CustomerDetails?.map((result) => {\r\n                return result.customerNumber;\r\n            });\r\n            const customerNumbers = this.state.legalIdVal !== 0 ? this.state.legalIdVal : customersIds[0];\r\n            const cookieData = await checkGenericProfileCookie();\r\n            if (cookieData !== null) {\r\n                const customerIds = this.state.CustomerDetails.map(c => c.customerNumber);\r\n                if (!customerIds.includes(cookieData.customerNumber)) {\r\n                    this.setState({\r\n                        CustomerDetails: [...this.state.CustomerDetails, cookieData],\r\n                        SelectedCustomerNum: cookieData?.customerNumber,\r\n                        orderListParam: { ...this.state.orderListParam, CustNo: cookieData?.customerNumber }\r\n                    }, function () {\r\n                        this.onpagination();\r\n                    });\r\n                    window.sessionStorage.setItem('cid', cookieData.cid);\r\n                    window.sessionStorage.setItem('attribute17', cookieData.customerName);\r\n                    window.sessionStorage.setItem('userCompanyName', cookieData.customerName);\r\n                }\r\n            }\r\n            else {\r\n                this.setState({ SelectedCustomerNum: customerNumbers });\r\n                this.setState({ orderListParam: { ...this.state.orderListParam, CustNo: customerNumbers } }, function () {\r\n                    this.onpagination()\r\n                });\r\n            }\r\n        }\r\n        else{\r\n            const cookieData = await checkGenericProfileCookie();\r\n            if (cookieData !== null && !this.state.CustomerDetails.find(c=>c.customerNumber === cookieData.customerNumber) ) {\r\n                const customerIds = this.state.CustomerDetails.map(c => c.customerNumber);\r\n                if (!customerIds.includes(cookieData.customerNumber)) {\r\n                    this.setState({\r\n                        CustomerDetails: [...this.state.CustomerDetails, cookieData],\r\n                        SelectedCustomerNum: cookieData?.customerNumber,\r\n                        orderListParam: { ...this.state.orderListParam, CustNo: cookieData?.customerNumber }\r\n                    }, function () {\r\n                        this.onpagination();\r\n                    });\r\n                    window.sessionStorage.setItem('cid', cookieData.cid);\r\n                    window.sessionStorage.setItem('attribute17', cookieData.customerName);\r\n                    window.sessionStorage.setItem('userCompanyName', cookieData.customerName);\r\n                }\r\n            }\r\n            else{\r\n                let customerIds = this.state.CustomerDetails.map(c => c.customerNumber);\r\n                const customerNumbers = this.state.legalIdVal !== 0 ? this.state.legalIdVal : customerIds[0];\r\n                this.setState({customerNumber:customerNumbers})\r\n                this.setState({SelectedCustomerNum:customerNumbers})\r\n                this.setState({orderListParam: { ...this.state.orderListParam, CustNo: customerNumbers }})\r\n                let currentCustomer =this.state.CustomerDetails.filter(e=>e.customerNumber == customerNumbers)\r\n                // window.sessionStorage.setItem('cid', currentCustomer.cid);\r\n                window.sessionStorage.setItem('attribute17', currentCustomer[0].customerName);\r\n                window.sessionStorage.setItem('userCompanyName', currentCustomer[0].customerName);\r\n                this.onpagination();\r\n            }  \r\n        }\r\n    }\r\n  \r\n    async getUserId(){\r\n        await this.props.GetOrgList()\r\n            .then(\r\n                (obj) => {\r\n                    this.props.DataLoaded({\r\n                        type: Loaded\r\n                    });\r\n                    sessionStorage.setItem('userId', obj?.data?.userId);\r\n                sessionStorage.setItem('userCompanyName',obj?.data?.header?.orgList?.find(org => org?.isDefault === true)?.orgName)\r\n                    return '';\r\n                },\r\n                (err) => {\r\n                    console.log('err found!!!!!');\r\n                    return err;\r\n                })\r\n    }\r\n    async getOrgList(){        \r\n        let cid = window.sessionStorage.getItem('cid');\r\n        await this.props.GetOrgList()\r\n            .then(\r\n                (obj) => {\r\n                    this.props.DataLoaded({\r\n                        type: Loaded\r\n                    });\r\n                    sessionStorage.setItem('userId', obj?.data.userId);\r\n                    let legalVal = 0;\r\n                    console.log('1.calling getOrglist');\r\n                if(obj.data.header != undefined){\r\n                        console.log(obj.data.header.orgList);\r\n                    var orgArray = obj.data.header.orgList.filter(m=>m.cid==cid);\r\n                        console.log(orgArray);\r\n                    if(cid != 'all'){\r\n                        sessionStorage.setItem('userCompanyName',obj?.data?.header?.orgList?.find(org => org?.cid === cid)?.orgName)\r\n                        }\r\n                    else{\r\n                            sessionStorage.setItem('userCompanyName', 'All Locations (all)');\r\n                        }\r\n                    if(orgArray.length!=0){\r\n                            const legalIds = orgArray.map((result) => {\r\n                                return result.legalId;\r\n                            });\r\n                            legalVal = legalIds[0];\r\n                    } else{\r\n                            legalVal = 0;\r\n                        }\r\n                    }\r\n                    this.setState({ legalIdVal: legalVal });\r\n                    //console.log(this.state.legalIdVal);\r\n                },\r\n                (err) => {\r\n                    console.log('err found!!!!!');\r\n                    return err;\r\n                }\r\n            )\r\n    }\r\n\r\n\r\n    onPerPageChange = (e) => {\r\n        e.preventDefault();\r\n        const changePageTake = e.target.value;\r\n        this.setState({ take: changePageTake, skip: 0 }, function () {\r\n            this.onpagination();\r\n        });\r\n    }\r\n\r\n    onpagination = () => {\r\n\r\n        this.props.setPrResponseData({\r\n            type: ADD_PRSUBMIT,\r\n            data: []\r\n        });\r\n\r\n        const cliamsRequestData = MapCliamsRequest(this.state);\r\n        this.props.OnClimasRequest(cliamsRequestData).then(\r\n            (res) => {\r\n                if(res.data != 'Failed to retrive data'){\r\n                    window.dataLayer.push({\r\n                        'event': 'claims_search',\r\n                        'search_category': 'Search by claim number',\r\n                        'search_term': cliamsRequestData?.srNumber,\r\n                        'search_tab': 'claims list', //doubt\r\n                        'no_of_search_results': res?.data.length\r\n                    })\r\n                    const lastPage = res.data.length > 0 ? res.data[0].lastPage : true;\r\n                    this.setState({ isLastPage: lastPage });\r\n                    if (window.isHeaderLoading != undefined && window.isHeaderLoading == true) {\r\n                        pausecomp(4000);\r\n                    }\r\n                    this.props.DataLoaded({\r\n                        type: Loaded\r\n                    });\r\n                    this.setState({ CliamsData: res.data });\r\n            }else{\r\n                    console.log(\"RGA LoadError\");\r\n                    this.props.DataLoaded({\r\n                        type: Loaded\r\n                    });\r\n                }\r\n            },\r\n            (err) => {\r\n                if (window.isHeaderLoading != undefined && window.isHeaderLoading == true) {\r\n                    pausecomp(4000);\r\n                }\r\n                this.props.DataLoaded({\r\n                    type: Loaded\r\n                });\r\n                // console.log(err);\r\n                // throw err;\r\n            }\r\n        )\r\n    }\r\n\r\n    handleSearchClear=(e)=>{\r\n        this.setState({RgaNumber:\"\"});    \r\n    }\r\n\r\n    onCliamsSearch = (e) => {\r\n        this.setState({ skip: 0 }, function () {\r\n            this.onpagination();\r\n        });\r\n    }\r\n\r\n    OnClaimStatsChange = (e) => {\r\n        const { options, selectedIndex } = e.target.value;\r\n        let searchedStats = e.target.value == \"All\" ? \"\" : e.target.value;\r\n        this.setState({ srStatus: searchedStats, skip: 0 }, function () {\r\n            this.onpagination();\r\n        })\r\n    }\r\n\r\n    OnChangeCustomer = (e) => {\r\n        var selectedCustNo = e.target.value;\r\n        const { options, selectedIndex } = e.target;\r\n        var customerName = options[selectedIndex].innerHTML\r\n\r\n        var customerNumbers = \"\";\r\n        if (selectedCustNo === \"1\") {\r\n            const customersIds = this.state.CustomerDetails.map((result) => {\r\n                return result.customerNumber;\r\n            });\r\n            customerNumbers = customersIds.join(\",\");\r\n        } else {\r\n            customerNumbers = selectedCustNo\r\n        }\r\n\r\n        var listParam = { ...this.state.orderListParam };\r\n        listParam.CustNo = customerNumbers;\r\n        listParam.SParameter = \"\";\r\n        listParam.SOperator = \"\";\r\n        listParam.SValue = \"\";\r\n        listParam.DParameter = \"\";\r\n        listParam.PageKey = \"\";\r\n        listParam.Start = 25;\r\n        listParam.SOpenClose = \"\";\r\n        listParam.OrderByField = \"\";\r\n        listParam.OrderByAscDescFlag = \"A\";\r\n\r\n        this.setState({ SelectedCustomerNum: selectedCustNo, orderListParam: listParam, CliamsData: [], skip: 0, take: 10, total: 0, totalPages: 0 }, function () {\r\n\r\n            this.onpagination();\r\n        });\r\n    }\r\n\r\n\r\n    onCliamSearchTxt = (e) => {\r\n        const searchText = (e.target.value.trim());\r\n        this.setState({ RgaNumber: searchText });\r\n    }\r\n\r\n    OnPaginationPrevious = (e) => {\r\n        if (this.state.skip !== 0) {\r\n            let newSkip = this.state.skip - this.state.take;\r\n            this.setState({ skip: newSkip }, function () {\r\n                this.onpagination();\r\n            })\r\n        }\r\n    }\r\n\r\n    OnPaginationNext = (e) => {\r\n        if (!this.state.isLastPage) {\r\n            let newSkip = parseInt(this.state.take) + parseInt(this.state.skip)\r\n            this.setState({ skip: newSkip }, function () {\r\n                this.onpagination();\r\n            })\r\n        }\r\n    }\r\n\r\n    OnPaginationFirst = (e) => {\r\n        this.setState({ skip: 0 }, function () {\r\n            this.onpagination();\r\n        });\r\n    }\r\n\r\n    onNewReturn = (e) => {\r\n        var customerNumbersList = \"\";\r\n        if (this.state.SelectedCustomerNum === \"1\") {\r\n            // const customersIds = this.state.CustomerDetails.map((result) => {\r\n            //     return result.customerNumber;\r\n            // });\r\n            // customerNumbersList = customersIds.join(\",\");   \r\n            customerNumbersList = \"all\";\r\n        }\r\n        window.dataLayer.push({\r\n            'event': 'request_claim',\r\n            'cta_name': 'New Claim',\r\n            'cta_name_local': document.getElementsByClassName('navbuttonTap')[0]?.innerText\r\n        })\r\n        this.props.history.push({\r\n            pathname: '/OrderSearch',\r\n            search: `?cid=${window.sessionStorage.getItem('cid')}&lang=${window.sessionStorage.getItem('lang')}`,\r\n            state: { customerNumber: this.state.SelectedCustomerNum, customerNumbersList: customerNumbersList }\r\n        });\r\n    }\r\n\r\n    OnCloseViewReturn = (e) => {\r\n        this.setState({ ViewData: {} });\r\n        this.setState({ isPopup: false });\r\n    }\r\n\r\n    OnEditViewReturn = (e, isViewEdit) => {\r\n\r\n        if (isViewEdit.length == 0) {\r\n            this.setState({ isPopup: false });\r\n            this.props.history.push({\r\n                pathname: '/newreturn',\r\n                search: `?cid=${window.sessionStorage.getItem('cid')}&lang=${window.sessionStorage.getItem('lang')}`,\r\n                state: { newreturn: this.state.ViewData }\r\n            });\r\n        }\r\n    }\r\n\r\n    OnViewReturn = (rgaNumber, isButton) => {\r\n        const accountNumber = this.state.orderListParam.CustNo;\r\n        this.props.setPrResponseData({\r\n            type: ADD_PRSUBMIT,\r\n            data: []\r\n        });\r\n\r\n        this.props.OnGetViewReturnData(rgaNumber, accountNumber).then(\r\n            (res) => {\r\n                if (res.data != \"Failed to retrive data\") {\r\n                    res.data.isViewEdit = isButton;\r\n                    res.data.isEdit = true;\r\n                    res.data.isOrderSearch = true;\r\n                    this.setState({ ViewData: res.data }, function () {\r\n                        this.setState({ isPopup: true });\r\n                    });\r\n                }\r\n                this.props.DataLoaded({\r\n                    type: Loaded\r\n                });\r\n            },\r\n            (err) => {\r\n                this.setState({ isPopup: false });\r\n                this.props.DataLoaded({\r\n                    type: Loaded\r\n                });\r\n            }\r\n        )\r\n\r\n    }\r\n\r\n    onFileViewDownload = (event, fileName) => {\r\n        event.preventDefault();\r\n        this.props.setPrResponseData({\r\n            type: ADD_PRSUBMIT,\r\n            data: []\r\n        });\r\n        GetFileInfo(fileName).then(\r\n            (response) => {\r\n                var arrayBufferView = new Uint8Array(response.data);\r\n                var blob = new Blob([response.data]);\r\n                if (window.navigator && window.navigator.msSaveBlob) {\r\n                    window.navigator.msSaveBlob(blob, fileName);\r\n                } else {\r\n                    var urlCreator = window.URL || window.webkitURL;\r\n                    var imageUrl = urlCreator.createObjectURL(blob);\r\n                    var link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');\r\n                    link.href = imageUrl;\r\n                    link.download = fileName;\r\n                    link.click();\r\n                }\r\n                this.props.DataLoaded({\r\n                    type: Loaded\r\n                });\r\n            },\r\n            (err) => {\r\n                this.props.DataLoaded({\r\n                    type: Loaded\r\n                });\r\n            }\r\n        )\r\n    }\r\n\r\n    onChangeTabStatus = (e, value) => {\r\n        e.preventDefault();\r\n        let searchedStats = value == \"All\" ? \"\" : value;\r\n        this.setState({ srStatus: searchedStats, skip: 0 }, function () {\r\n            this.onpagination();\r\n        })\r\n    }\r\n\r\n\r\n    render() {\r\n        var message = this.props.mlvText.MLV_SUCCESSMESSAGE3.split('&');\r\n        var messageCh = this.props.mlvText.MLV_SUCCESSMESSAGE3.split('和')\r\n        var message3 = message.length > 1 ? message : messageCh.length > 1 ? messageCh : message;\r\n        const mlvOptions = (this.props.mlvText.MLV_DDSTATUS).split(\"~\").length > 1 ? (this.props.mlvText.MLV_DDSTATUS).split(\"~\") : (this.props.mlvText.MLV_DDSTATUS).split(\"〜\");\r\n        return (\r\n            <React.Fragment>\r\n                <ProductHeader\r\n                    onChangeTabStatus={this.onChangeTabStatus}\r\n                    onNewReturn={this.onNewReturn}\r\n                    mlvOptions={mlvOptions}\r\n                >\r\n                </ProductHeader>\r\n                <div className=\"div__contentpadding\">\r\n                    <div className=\"container px-lg-5 tab__contentpadding\">\r\n                        <ProductReturnSearch\r\n                            OnChangeCustomer={this.OnChangeCustomer}\r\n                            onCliamsSearch={this.onCliamsSearch}\r\n                            handleSearchClear={this.handleSearchClear}\r\n                            onCliamSearchTxt={this.onCliamSearchTxt}\r\n                            OnClaimStatsChange={this.OnClaimStatsChange}\r\n                            mlvOptions={mlvOptions}\r\n                            {...this.state} >\r\n                        </ProductReturnSearch>\r\n                        <div className=\"row justify-content-center tab__contentpadding\">\r\n                            <div className=\"col-12\" style={{padding:\"0px\"}}>\r\n                                <div className=\"content-section\" style={{ display: this.props.isStatus == 1 ? \"block\" : \"none\" }}>\r\n                                    <div className=\"d-flex justify-content-between align-items-center flex-row\">\r\n                                        <div className={this.props.isStatus == 1 ? 'Message ph-alert ph-alert__success' : 'divStatus col-10'}>\r\n                                            <a className=\"close\" onClick={this.props.close}>&times;</a>\r\n                                            <p> {this.props.mlvText.MLV_SUCCESSMESSAGE1} </p>\r\n                                            <p x-ms-format-detection=\"none\"> {message3[0]} : {this.props.srNumber} {message3[1]} {this.state.orderListParam.CustNo}</p>\r\n                                        </div>\r\n                                    </div>\r\n                                </div>\r\n                                <div className=\"content-section\" style={{ display: this.props.isStatus == 3 ? \"block\" : \"none\" }}>\r\n                                    <div className=\"d-flex justify-content-between align-items-center flex-row\">\r\n                                        <div className={this.props.isStatus == 3 ? 'Message ph-alert ph-alert__success' : 'divStatus col-10'}>\r\n                                            <a className=\"close\" onClick={this.props.close}>&times;</a>\r\n                                            <p> {this.props.mlvText.MLV_SUBMIT_ERROR} </p>\r\n\r\n                                        </div>\r\n                                    </div>\r\n                                </div>\r\n                                <ProductReturnGrid\r\n                                    OnPaginationPrevious={this.OnPaginationPrevious}\r\n                                    OnPaginationNext={this.OnPaginationNext}\r\n                                    OnPaginationFirst={this.OnPaginationFirst}\r\n                                    onPerPageChange={this.onPerPageChange}\r\n                                    {...this.state}\r\n                                    OnViewReturn={this.OnViewReturn}\r\n                                >\r\n                                </ProductReturnGrid>\r\n\r\n                                {this.state.isPopup == true ?\r\n                                    <ViewReturnPopup\r\n                                        OnCloseViewReturn={this.OnCloseViewReturn}\r\n                                        OnEditViewReturn={this.OnEditViewReturn}\r\n                                        onFileViewDownload={this.onFileViewDownload}\r\n                                        {...this.state} /> : \"\"\r\n                                }\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </React.Fragment >\r\n        );\r\n    }\r\n}\r\n\r\n\r\nconst onMapState = (state) => {\r\n\r\n    return {\r\n        isLoading: state.nrp.isLoading,\r\n        isStatus: state.nrp.isStatus,\r\n        SelectedDivision: state.nrp.SelectedDivision,\r\n        srNumber: state.nrp.srNumber,\r\n        mlvText: state.mlv\r\n\r\n    }\r\n}\r\n\r\nexport default connect(onMapState, { OnClimasRequest, setPrResponseData, DataLoaded, close, OrderGetList, OrderDetailsGetList, OnGetViewReturnData, OnGetPTSNoDetails, Authentication, GetOrgList })(ProductReturns);\r\n\r\n\r\nfunction MapCliamsRequest(stateParam) {\r\n\r\n    var claimRequst = {\r\n        //accountNumber: stateParam.orderListParam.CustNo,\r\n        accountNumber: stateParam.orderListParam.CustNo,\r\n        startRowNum: stateParam.skip,\r\n        pageSize: stateParam.take,\r\n        srNumber: stateParam.RgaNumber,\r\n        srStatus: stateParam.srStatus\r\n    }\r\n\r\n    return claimRequst;\r\n}","import axios from 'axios';\r\nimport https from 'https';\r\nimport { useOktaAuth } from '@okta/okta-react';\r\n/**\r\n * Auth Service\r\n * @param {MainWrapper} callingClass \r\n */\r\n// const Oktalogout = () => { \r\n//     const {authState, authService } = useOktaAuth();\r\n//     //sessionStorage.clear();\r\n//     authService.logout(\"/logout\");\r\n//     authService._oktaAuth.tokenManager.clear();\r\n      \r\n// };\r\n\r\nexport function getVarificationUrl() {\r\n    if (window.location.hostname.toLowerCase().indexOf(\"localhost\") >= 0) {\r\n        // return `https://logintest.parker.com/api/v1/sessions/me`;\r\n        return `https://loginqa.parker.com/api/v1/sessions/me`;\r\n    } else if (window.location.hostname.toLowerCase().indexOf(\"claims.parker\") >= 0) {\r\n        return `https://login.parker.com/api/v1/sessions/me`;\r\n    } else if (window.location.hostname.toLowerCase().indexOf(\"claimstest.parker\") >= 0) {\r\n        return `https://loginqa.parker.com/api/v1/sessions/me`;\r\n    }else if (window.location.hostname.toLowerCase().indexOf(\"rgadev.us\") >= 0) {\r\n        return `https://loginqa.parker.com/api/v1/sessions/me`;\r\n    } else {\r\n        return `https://logintest.parker.com/api/v1/sessions/me`;\r\n    }\r\n}\r\n\r\nlet HeaderSubscriptionKey;\r\nexport function getHeaderFooterURL() {\r\n    if (window.location.hostname.toLowerCase().indexOf(\"localhost\") >= 0) {\r\n        HeaderSubscriptionKey = '36417fe0db274983b867e8b080c1ff02';\r\n        return `https://apidev.parker.com/test/hf`;\r\n    } else if (window.location.hostname.toLowerCase().indexOf(\"claims.parker\") >= 0) {\r\n        HeaderSubscriptionKey = 'a060321b2e524d95957cfc67f953d458';\r\n        return 'https://api.parker.com/prod/hf';\r\n        //return `https://hf.parker.com`;\r\n    } else if (window.location.hostname.toLowerCase().indexOf(\"claimstest.parker\") >= 0) {\r\n        HeaderSubscriptionKey = '36417fe0db274983b867e8b080c1ff02';\r\n        return `https://apidev.parker.com/test/hf`;\r\n    } else if (window.location.hostname.toLowerCase().indexOf(\"rgadev.us\") >= 0) {\r\n        HeaderSubscriptionKey = '36417fe0db274983b867e8b080c1ff02';\r\n        return `https://apidev.parker.com/test/hf`;\r\n    }else {\r\n        HeaderSubscriptionKey = 'ddbb33d6aec24ea1b11a1265123475d9';\r\n        return `https://apidev.parker.com/dev/hf`;\r\n    }\r\n}\r\n\r\nexport default async function varification() {\r\n   \r\n    let id;\r\n        await axios(getVarificationUrl(), {\r\n            method: 'GET',\r\n            withCredentials: true,\r\n        }).then(function (result) {\r\n            let response = result?.data;\r\n            window.sessionStorage.setItem('oktaSessionMeId', response?.id);\r\n           // window.localStorage.setItem('oktaSessionMeId', response.id);\r\n            document.cookie = `oktaSessionMeId=${ response?.id};path=/`\r\n            window.sessionStorage.setItem('oktaUserEmail', response?.login);\r\n            window.sessionStorage.setItem('oktaUserId', response?.userId);\r\n            id= response?.id;\r\n        }).catch(function (error) {\r\n            window.sessionStorage.removeItem('oktaSessionMeId');\r\n            window.sessionStorage.removeItem('oktaUserEmail');\r\n            window.sessionStorage.removeItem('oktaUserId');\r\n            //logout call\r\n            // authService.logout('/');\r\n            // authService._oktaAuth.tokenManager.clear();\r\n            //Oktalogout();\r\n            // window.location.href = '/'\r\n           // useAuth();\r\n           id=null;\r\n        })\r\n       return id;\r\n}\r\n\r\nexport async function asyncvarification() {\r\n        let res= await axios(getVarificationUrl(), {\r\n            method: 'GET',\r\n            withCredentials: true,\r\n        })\r\n        \r\n        if (res.status == 200) {\r\n            console.log(res.status)\r\n        }\r\n        \r\n        \r\n            let response = res?.data;\r\n            window.sessionStorage.setItem('oktaSessionMeId', response?.id);\r\n            \r\n            window.sessionStorage.setItem('oktaUserEmail', response?.login);\r\n            window.sessionStorage.setItem('oktaUserId', response?.userId);\r\n            //window.localStorage.setItem('oktaSessionMeId', response.id);\r\n            document.cookie = `oktaSessionMeId=${ response?.id};path=/`\r\n           return response?.id;\r\n}\r\n\r\nexport async function callHeaderFooter(cid, langCode, oktasessmeId, userId) {\r\n    if (userId == null || userId == undefined){\r\n        let res = await varification();\r\n        if(res == '' || res == null){\r\n            sessionStorage.clear();\r\n            //document.cookie =  'oktaSessionMeId=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/';\r\n           // window.location.href = '/';\r\n        }\r\n        oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n        oktasessmeId != '' ||oktasessmeId != null ? oktasessmeId = oktasessmeId : oktasessmeId = res;\r\n        userId = window.sessionStorage.getItem('oktaUserId');\r\n        // userId != '' ||oktasessmeId != null ? oktasessmeId = oktasessmeId : oktasessmeId = res;\r\n    }else{\r\n        oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n        userId = window.sessionStorage.getItem('oktaUserId');\r\n    }\r\n    cid = window.sessionStorage.getItem('cid');\r\n    langCode = window.sessionStorage.getItem('lang');\r\n    if (cid == null || cid == undefined) cid = \"null\";\r\n    if (langCode == null || langCode == undefined) langCode = \"EN\";\r\n    try {\r\n        const agent = new https.Agent({  \r\n            rejectUnauthorized: false\r\n          });\r\n        let res = await axios({\r\n            url: getHeaderFooterURL() + '/myparker-html-header-footer?cid=' + cid + '&userId=' + userId + '&langCode=' + langCode + '&supportAllLoc=true#',\r\n            method: 'get',\r\n            timeout: 60000,\r\n            headers: {\r\n                'Content-Type': 'application/json',\r\n                'Ocp-Apim-Subscription-Key': HeaderSubscriptionKey\r\n            },\r\n            httpsAgent: agent\r\n        })\r\n        if (res.status == 200) {\r\n            // test for status you want, etc\r\n            console.log(res.status)\r\n        }\r\n        // Don't forget to return something   \r\n        return res?.data\r\n    }\r\n    catch (err) {\r\n        console.error(err);\r\n    }\r\n\r\n}\r\n","import React, { Component } from 'react';\r\nimport '../../Appcss/login.css'\r\nimport auth from '../../auth'\r\nimport { OnLogin, GetSSOOkta, LoginSSO } from '../../Store/Actions'\r\nimport { connect } from 'react-redux'\r\nimport { ADD_SUBMITLOGIN, LOGIN, Loaded, LOGOUT} from '../../Store/Type'\r\nimport { Authentication, setPrResponseData, DataLoaded, LoadMLV,LoadHFData } from '../../Store/ActionMessage'\r\n \r\nclass Login extends Component {\r\n    constructor(props) {\r\n        super(props);\r\n        this.state = {\r\n            username: \"\",\r\n            password: \"\",\r\n            isLogged: false,\r\n            loginStatus: \"\"\r\n        }\r\n\r\n\r\n    }\r\n\r\n    componentDidMount() {\r\n        if (auth.isAuthenticated()) {\r\n            console.log(\"componentDidMount\")\r\n            this.props.history.push(\"/list\");\r\n        } else {\r\n            this.props.Authentication({\r\n                type: LOGOUT, data: []\r\n            });\r\n        }\r\n    }\r\n    onChangeLogin = (e) => {\r\n        e.preventDefault();\r\n        this.setState({ \"isLogged\": false });\r\n        this.setState({ [e.target.name]: e.target.value });\r\n    }\r\n\r\n    OnLogin = (event) => {\r\n        event.preventDefault();\r\n        if (this.state.username.length > 0 && this.state.password.length) {\r\n            this.props.setPrResponseData({\r\n                type: ADD_SUBMITLOGIN,\r\n                data: []\r\n            });\r\n            const credent = {\r\n                userName: this.state.username.trim(),\r\n                password: this.state.password.trim()\r\n            }           \r\n            var idpId = \"00us0uhdepWYdpd6f0h7\";\r\n            var emailAddress =\"Saravana.Selvamani@parker.com\";                         \r\n             LoginSSO(idpId, emailAddress, \"EN\").then(\r\n                 \r\n                (res)=>{\r\n                console.log(res)\r\n             },\r\n             (err)=>{\r\n                console.log(err)   \r\n             }           \r\n             )\r\n\r\n            OnLogin(credent).then(\r\n                (res) => {\r\n                    console.log(res.data)\r\n                    this.setState({ \"isLogged\": false });\r\n                    if (res.data.user.ticket != null && res.data.user.token != null) {\r\n\r\n                        if (res.data.user.customerNumber != null) {\r\n\r\n                            if (res.data.user.isUserType && res.data.user.isResource) {\r\n\r\n                                const CustomerResult = res.data.customerData.map((result) => {\r\n                                    return { customerNumber: result.customerNumber, customerName: result.customerName }\r\n                                });\r\n\r\n                                const customersIds = res.data.customerData.map((result) => {\r\n                                    return  result.customerNumber ;\r\n                                });\r\n\r\n                                var queryDetails = \"\";\r\n\r\n                                if (window.location.toString().indexOf('cid') != -1 || window.location.toString().indexOf('lang') != -1) {\r\n                                    var queryDetails = this.ParseParams(window.location.search);\r\n                                    queryDetails.cid = queryDetails.cid;\r\n                                    queryDetails.lang = queryDetails.lang;\r\n                                    localStorage.setItem(\"oktaciddata\", JSON.stringify(queryDetails))\r\n                                    console.log(queryDetails.cid, queryDetails.lang);\r\n                                }\r\n\r\n                                const logindata = {\r\n                                    ticket: res.data.user.ticket,\r\n                                    token: res.data.user.token,\r\n                                    eMailAddress: res.data.user.eMailAddress === null ? \"\" : res.data.user.eMailAddress,\r\n                                    firstName: res.data.user.firstName === null ? \"\" : res.data.user.firstName,\r\n                                    lastName: res.data.user.lastName === null ? \"\" : res.data.user.lastName,\r\n                                    customerNumber: res.data.user.customerNumber,\r\n                                    userName: res.data.user.userName,\r\n                                    userDateFormate: res.data.user.dateFormatMask,\r\n                                    customerName: res.data.user.customerName,\r\n                                    CustmersData: CustomerResult,\r\n                                    CustomersIds: customersIds.join('~'),\r\n                                    Defaultlanguage : res.data.user.lang,\r\n                                    MlvLanguages : res.data.user.rGALanguages,\r\n                                    cid:queryDetails.cid,\r\n                                    lang:queryDetails.lang\r\n                                }\r\n\r\n                                this.props.Authentication({\r\n                                    type: LOGIN, data: logindata\r\n                                });\r\n\r\n                                auth.login(() => {\r\n                                    this.props.history.push(\"/list\");\r\n                                }, logindata);\r\n\r\n                            } else {\r\n                                this.setState({ isLogged: true });\r\n                                this.setState({ loginStatus: this.props.mlvText.MLV_Securityissue });\r\n                                this.props.DataLoaded({\r\n                                    type: Loaded\r\n                                });\r\n                            }\r\n                        } else {\r\n                            this.setState({ isLogged: true });\r\n                            this.setState({ loginStatus: this.props.mlvText.MLV_LoginCustomerNotAvailable });\r\n                            this.props.DataLoaded({\r\n                                type: Loaded\r\n                            });\r\n                        }\r\n                    } else {\r\n                        this.setState({ isLogged: true });\r\n                        this.setState({ loginStatus: this.props.mlvText.MLV_LoginFail });\r\n                        this.props.DataLoaded({\r\n                            type: Loaded\r\n                        });\r\n                    }\r\n                },\r\n                (error) => {\r\n                    console.log(error);\r\n                    this.setState({ \"isLogged\": true });\r\n                    this.props.DataLoaded({\r\n                        type: Loaded\r\n                    });\r\n                });\r\n\r\n        } else {\r\n            this.setState({ \"isLogged\": true });\r\n        }\r\n    }\r\n\r\n    ParseParams = (params = \"\") => {\r\n        const rawParams = params.replace(\"?\", \"\").split(\"&\");\r\n        const extractedParams = {};\r\n        rawParams.forEach((item) => {\r\n          item = item.split(\"=\");\r\n          extractedParams[item[0]] = item[1];\r\n        });\r\n        return extractedParams;\r\n      };\r\n\r\n    render() {\r\n        console.log(\"render\")\r\n        return (\r\n            <div>\r\n                {/* <div className=\"loginHeader\">\r\n                    <div className=\"row d-flex justify-content-between align-items-center flex-row\">\r\n                        <div className=\"col-5\" style={{ textAlign: \"left\", marginTop: \"20px\" }}>\r\n                            <p className=\"loginHeaderText\"> Parker Claims </p>\r\n                        </div>\r\n                        <div className=\"col-6\" style={{ textAlign: \"right\", marginTop: \"20px\" }}>\r\n                            <img src={require('../../img/logo.png')} style={{ width: \"99px\" }}></img>\r\n                        </div>\r\n                        <div className=\"col-1\"></div>\r\n                    </div>\r\n                </div> */}\r\n                <div className=\"content-section logincontainer\">\r\n                    <div className=\"row\">\r\n                        <div className=\"col-12 col-md-7\">\r\n                            <div id=\"first\">\r\n                                <div className=\"content-section\">\r\n                                    <form id=\"main-login\">\r\n                                        <div className=\"ph-form-row\">\r\n                                            <label htmlFor=\"username\" className=\"ph-form-row__label\">User ID<span className=\"required\">*</span></label>\r\n                                            <input type=\"text\" required name=\"username\" htmlFor=\"username\" className=\"ph-form-row__input\" id=\"UserName\" autoComplete=\"false\" placeholder=\"Enter User ID\" value={this.state.username} onChange={this.onChangeLogin} />\r\n                                        </div>\r\n                                        <div className=\"ph-form-row\">\r\n                                            <label htmlFor=\"Password\" className=\"ph-form-row__label\">Password<span className=\"required\">*</span></label>\r\n                                            <input type=\"password\" required htmlFor=\"password\" name=\"password\" id=\"password\" className=\"ph-form-row__input\" autoComplete=\"false\" placeholder=\"Enter Password\" value={this.state.password} onChange={this.onChangeLogin} />\r\n                                        </div>\r\n                                        <div className={this.state.isLogged ? \" \" : \"hidediv\"} style={{ color: \"red\", textAlign: \"center\" }}>\r\n                                            <p>{this.state.loginStatus}</p>\r\n                                        </div>\r\n                                        <div className=\"col-md-4 col-md-offset-4 text-center\">\r\n                                            <button className=\"button round-button\" type=\"Submit\" onClick={this.OnLogin}>Login</button>\r\n                                        </div>\r\n                                    </form>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        );\r\n    }\r\n}\r\n\r\nconst mapMLVReducer = (state) => {\r\n    return {\r\n        mlvText: state.mlv\r\n    }\r\n}\r\n\r\nexport default connect(mapMLVReducer, { Authentication, setPrResponseData, DataLoaded})(Login);","\r\nimport React, { Component } from 'react';\r\nimport '../../Appcss/login.css'\r\nimport auth from '../../auth'\r\nimport { OnLogin, GetSSOOkta, LoginSSO } from '../../Store/Actions'\r\nimport { connect } from 'react-redux'\r\nimport { ADD_SUBMITLOGIN, LOGIN, Loaded, LOGOUT, OKTAGETSessionURL } from '../../Store/Type'\r\nimport { Authentication, setPrResponseData, DataLoaded, LoadMLV } from '../../Store/ActionMessage'\r\n\r\n\r\nclass LoginLanding extends Component {\r\n\r\n    constructor(props) {\r\n        super(props);\r\n        this.state = {\r\n            username: \"\",\r\n            password: \"\",\r\n            isLogged: false,\r\n            loginStatus: \"\"\r\n        }\r\n    }\r\n\r\n\r\n    componentDidMount() {\r\n        this.props.setPrResponseData({\r\n            type: ADD_SUBMITLOGIN,\r\n            data: []\r\n        });\r\n\r\n        if (auth.isAuthenticated()) {\r\n\r\n            if (window.location.toString().indexOf('cid') != -1) {\r\n                var queryDetails = this.ParseParams(window.location.search);\r\n                const sessionData = JSON.parse(localStorage.getItem(\"loginRGAData\"));\r\n                sessionData.cid = queryDetails.cid;\r\n                sessionData.lang = queryDetails.lang;\r\n\r\n                // localStorage.setItem(\"loginRGAData\",sessionData)\r\n\r\n                auth.loginAfterReferesh(() => {\r\n                    this.props.history.push(\"/list\");\r\n                }, sessionData);\r\n\r\n\r\n            } else {\r\n                this.props.history.push(\"/list\");\r\n                this.props.DataLoaded({\r\n                    type: Loaded\r\n                });\r\n            }\r\n\r\n        } else {\r\n            try {\r\n                GetSSOOkta().then(\r\n                    (res) => {\r\n                        var idpId = res.data.userId;\r\n                        var emailAddress = res.data.login;\r\n                        this.GetLoginData(LoginSSO(idpId, emailAddress, \"EN\"))\r\n                    },\r\n                    (error) => {\r\n\r\n                        this.WindowLoad();\r\n                        this.props.DataLoaded({\r\n                            type: Loaded\r\n                        });\r\n                    });\r\n            } catch(err)\r\n            {\r\n                this.props.DataLoaded({\r\n                    type: Loaded\r\n                });\r\n                this.WindowLoad();\r\n            }\r\n        }\r\n    }\r\n\r\n    WindowLoad = () => {\r\n\r\n        var windowLocation = window && window.location && window.location.origin;\r\n        var hostname = (new URL(OKTAGETSessionURL)).origin;\r\n        var windowURL = (hostname + \"/?reqContext=\" + windowLocation).trim();\r\n        window.open(windowURL, \"_self\");\r\n    }\r\n\r\n    GetLoginData = (loginResponse) => {\r\n        loginResponse.then(\r\n            (res) => {\r\n                this.setState({ \"isLogged\": false });\r\n                if (!res.data.user.isMultipleWebId) {\r\n                    if (res.data.user.ticket != null && res.data.user.token != null) {\r\n\r\n                        if (res.data.user.customerNumber != null) {\r\n\r\n                            if (res.data.user.isUserType && res.data.user.isResource) {\r\n\r\n                                const CustomerResult = res.data.customerData.map((result) => {\r\n                                    return { customerNumber: result.customerNumber, customerName: result.customerName }\r\n                                });\r\n\r\n                                var queryDetails = \"\";\r\n\r\n                                if (window.location.toString().indexOf('cid') != -1) {\r\n                                    queryDetails = this.ParseParams(window.location.search);\r\n                                    console.log(queryDetails);\r\n                                }\r\n\r\n                                const logindata = {\r\n                                    ticket: res.data.user.ticket,\r\n                                    token: res.data.user.token,\r\n                                    eMailAddress: res.data.user.eMailAddress === null ? \"\" : res.data.user.eMailAddress,\r\n                                    firstName: res.data.user.firstName === null ? \"\" : res.data.user.firstName,\r\n                                    lastName: res.data.user.lastName === null ? \"\" : res.data.user.lastName,\r\n                                    customerNumber: res.data.user.customerNumber,\r\n                                    userName: res.data.user.userName,\r\n                                    userDateFormate: res.data.user.dateFormatMask,\r\n                                    customerName: res.data.user.customerName,\r\n                                    CustmersData: CustomerResult,\r\n                                    Defaultlanguage: res.data.user.lang,\r\n                                    MlvLanguages: res.data.user.rGALanguages,\r\n                                    cid: queryDetails.cid,\r\n                                    lang: queryDetails.lang\r\n                                }\r\n\r\n                                this.props.Authentication({\r\n                                    type: LOGIN, data: logindata\r\n                                });\r\n\r\n                                auth.login(() => {\r\n                                    this.props.history.push(\"/list\");\r\n                                }, logindata);\r\n\r\n                            } else {\r\n                                this.setState({ isLogged: true });\r\n                                this.setState({ loginStatus: this.props.mlvText.MLV_SECURITYISSUE });\r\n                                this.props.DataLoaded({\r\n                                    type: Loaded\r\n                                });\r\n\r\n                                //this.WindowLoad();\r\n                            }\r\n                        } else {\r\n                            this.setState({ isLogged: true });\r\n\r\n                            this.setState({ loginStatus: this.props.mlvText.MLV_LOGINCUSTOMERNOTAVAILABLE });\r\n                            this.props.DataLoaded({\r\n                                type: Loaded\r\n                            });\r\n                            // this.WindowLoad();\r\n                        }\r\n                    } else {\r\n                        this.setState({ isLogged: true });\r\n                        this.setState({ loginStatus: this.props.mlvText.MLV_LOGINFAIL });\r\n                        this.props.DataLoaded({\r\n                            type: Loaded\r\n                        });\r\n                        // this.WindowLoad();\r\n                    }\r\n                } else {\r\n                    this.setState({ isLogged: true });\r\n                    this.setState({ loginStatus: this.props.mlvText.MLV_LOGINFAILMULTIPLEWEBID });\r\n                    this.props.DataLoaded({\r\n                        type: Loaded\r\n                    });\r\n                }\r\n            },\r\n            (error) => {\r\n                console.log(error);\r\n                this.props.DataLoaded({\r\n                    type: Loaded\r\n                });\r\n\r\n            });\r\n    }\r\n\r\n    ParseParams = (params = \"\") => {\r\n        const rawParams = params.replace(\"?\", \"\").split(\"&\");\r\n        const extractedParams = {};\r\n        rawParams.forEach((item) => {\r\n            item = item.split(\"=\");\r\n            extractedParams[item[0]] = item[1];\r\n        });\r\n        return extractedParams;\r\n    };\r\n\r\n\r\n    render() {\r\n\r\n        return (\r\n            <div>\r\n\r\n                <div className=\"content-section logincontainer\">\r\n                    <div className=\"row\">\r\n                        <div className=\"col-12 col-md-12\">\r\n                            <div id=\"first\">\r\n                                <div className=\"content-section\">\r\n                                    <div className={this.state.isLogged ? \" \" : \"hidediv\"} style={{ color: \"red\", textAlign: \"center\" }}>\r\n                                        <p>{this.state.loginStatus}</p>\r\n                                    </div>\r\n                                </div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>);\r\n    }\r\n}\r\n\r\nconst mapMLVReducer = (state) => {\r\n    return {\r\n        mlvText: state.mlv\r\n    }\r\n}\r\n\r\nexport default connect(mapMLVReducer, { Authentication, setPrResponseData, DataLoaded })(LoginLanding);","import React from 'react';\r\nimport auth from \"../../auth\";\r\n\r\nconst Error_404 = (props) => {\r\n\r\n    return (\r\n        <div className=\"container px-4\">\r\n            <div className=\"row justify-content-center\">\r\n                <div className=\"col-12\">\r\n                    <div className=\"content-section\">\r\n                        <div className=\"d-flex justify-content-between align-items-center flex-row\">\r\n                            <div className=\"p-3\">\r\n                               <p> 404 - This page is not avaibale </p>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>);\r\n}\r\n\r\nexport default Error_404;","\r\nimport React, { Component } from 'react';\r\nimport { prototype } from 'module';\r\nimport PropTypes from 'prop-types';\r\nimport { Redirect } from 'react-router-dom';\r\nclass ErrorBoundary extends React.Component {\r\n  constructor(props) {\r\n    super(props);\r\n    this.state = { hasError: false, ErrorDetails: PropTypes.object };\r\n  }\r\n  \r\n  \r\n\r\n  componentDidCatch(error, info) {\r\n    this.setState({ hasError: true });\r\n    this.setState({ ErrorDetails: error });\r\n  }\r\n \r\n\r\n  render() {\r\n    if (this.state.hasError) {\r\n      return (\r\n        <div className=\"container px-4\">\r\n          <div className=\"row justify-content-center\">\r\n            <div className=\"col-12\">\r\n              <div className=\"content-section\">\r\n                <div className=\"d-flex justify-content-between align-items-center flex-row\">\r\n                  <div className=\"p-3\">\r\n                  <p> Something went wrong. Please refresh or close browser and try again. If issue continues, contact the Parker helpdesk. </p>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      );\r\n    } else {\r\n      return this.props.children;\r\n    }\r\n\r\n  }\r\n}\r\n\r\nexport default ErrorBoundary","\r\nconst OKTA_TESTING_DISABLEHTTPSCHECK = false;\r\n\r\nconst redirectURI = `${window.location.origin}/implicit/callback`;\r\nconst messageURL = `${window.location.origin}/api/messages`;\r\n\r\nvar CLIENT_ID = '';  \r\nvar ISSUER = '';  \r\nvar authorizeURL ='';\r\n\r\nconst hostname = window && window.location && window.location.hostname;\r\n\r\nif (hostname === 'localhost') {\r\n  // CLIENT_ID = '0oatv78m4ngR1R9fb0h7';\r\n  // ISSUER = 'https://logintest.parker.com';\r\n  // authorizeURL = \"https://mplogindev.parker.com?reqContext=http://localhost:3000/\";\r\n  \r\n  CLIENT_ID = '0oatv83elygueUC790h7'\r\n  ISSUER = 'https://loginqa.parker.com';\r\n  authorizeURL =\r\n    \"https://mploginqa.parker.com/?reqContext=http://localhost:3000/\";\r\n\r\n\r\n} else if (/^rgatest/.test(hostname)) {\r\n  CLIENT_ID = '0oatv83elygueUC790h7'\r\n  ISSUER = 'https://loginqa.parker.com';\r\n  authorizeURL =\r\n    \"https://mploginqa.parker.com/?reqContext=https://rgatest.us.parker.corp/\";\r\n}\r\nelse if (/^claimstest/.test(hostname)) {\r\n  CLIENT_ID = '0oatv83elygueUC790h7'\r\n  ISSUER = 'https://loginqa.parker.com';\r\n  authorizeURL =\r\n    \"https://mploginqa.parker.com/?reqContext=https://claimstest.parker.com/\";\r\n} else if (/^rgadev/.test(hostname)) {\r\n  CLIENT_ID = '0oatv83elygueUC790h7'\r\n  ISSUER = 'https://logintest.parker.com';\r\n  authorizeURL =\r\n    \"https://mplogindev.parker.com/?reqContext=https://rgadev.us.parker.corp/\";\r\n} else {\r\n  CLIENT_ID = '0oa8ayh24qZ4jsSMy2p7'\r\n  ISSUER = 'https://login.parker.com';\r\n  authorizeURL =\r\n  \"https://mplogin.parker.com/?reqContext=https://claims.parker.com/\";\r\n}\r\n\r\nexport default {\r\n  oidc: {\r\n    clientId: CLIENT_ID,\r\n    issuer: ISSUER,\r\n    redirectUri: redirectURI,\r\n    scopes: ['openid', 'profile', 'email'],\r\n    pkce: false,\r\n    disableHttpsCheck: OKTA_TESTING_DISABLEHTTPSCHECK,\r\n    onAuthRequired: () => {\r\n      window.location = authorizeURL;\r\n    },\r\n  },\r\n  resourceServer: {\r\n    messagesUrl: messageURL,\r\n  },\r\n};","import React, { Component } from \"react\";\r\n\r\nimport {\r\n    callHeaderFooter\r\n  } from \"../../../src/varification\";\r\n\r\nclass header extends Component {\r\n    \r\n    componentDidMount() {\r\n\r\n        let oktasessmeId = window.sessionStorage.getItem('oktaSessionMeId');\r\n        let userId = window.sessionStorage.getItem('oktaUserId');\r\n        const urlParams = new URLSearchParams(window.location.search);\r\n        const cid = urlParams.get('cid');\r\n        const langCode = urlParams.get('lang');\r\n        const code = sessionStorage.getItem('lang');\r\n        if (cid != null) window.sessionStorage.setItem('cid',cid);\r\n        if (langCode != null){ \r\n            window.sessionStorage.setItem('lang',langCode);\r\n            let domainName = ';domain=.parker.com';\r\n            if (window.location.hostname.includes('localhost')){\r\n                domainName = '';\r\n            }\r\n            document.cookie = 'langForHeader' + \"=\" + langCode+ \";path=/\"+domainName;\r\n        }\r\n        window.isHeaderLoading = true;\r\n        callHeaderFooter(cid, langCode, oktasessmeId, userId)\r\n        .then(res => {\r\n            window.isHeaderLoading = false;\r\n            if (res != undefined && (res['header-html'] +'') != \"\") {\r\n            let lang= window.sessionStorage.getItem('lang');   \r\n            if (lang == null || lang == undefined) lang = \"EN\"; \r\n            lang=lang.toLowerCase();\r\n            window.$('header#header').append(res['header-html'].replace(`//phtest.parker.com/myparker/${lang}/Logout`,'Logout').replace(`//ph.parker.com/myparker/${lang}/Logout`,'Logout').replace(`//phstage.parker.com/myparker/${lang}/Logout`,'Logout').replace(`//phdev.parker.com/myparker/${lang}/Logout`,'/Logout'))\r\n            window.$('footer#footer').append(res['footer-html'])\r\n            var temp = res['header-html'].split('myparkerCustomerId');\r\n            var cid = temp[1].substring(0, temp[1].indexOf('</script>')).replace('=','').replace(/\"/g, '').trim();\r\n            var attribute17 = window.$('#locale-business').text().split(' ').slice();\r\n\t\t\tvar cloneArray = attribute17.slice();\r\n            cloneArray = cloneArray.slice(1,cloneArray.length).join(' ');\r\n\t\t\twindow.sessionStorage.setItem('attribute17',cloneArray);\r\n            this.createPageViewTag(code);\r\n            }\r\n     }).then(()=> {});\r\n    }\r\n    \r\n    createPageViewTag(langCode){\r\n       // window.cmCreatePageviewTag(\"MyApps - Claims\", \"687PDC:SUPPORT\", null, null, \"687PDC-_-687PDC-_-687PDC-_-\" + langCode + \"-_--_--_--_--_--_--_--_--_--_--_-'My Parker'-_-\" + window.sessionStorage.getItem('oktaUserEmail') + \"-_-\" + window.sessionStorage.getItem('attribute17'));\r\n    }\r\n\r\n    render() {\r\n        return (\r\n            <header id=\"header\" className=\"ph-header-main\">\r\n            </header>\r\n        );\r\n    }\r\n}\r\nexport default header;\r\n\r\n\r\n\r\n\r\n//import React, { useState, useEffect } from 'react';\r\n//import { connect } from 'react-redux';\r\n//import HeaderforMobile from './HeaderforMobile';\r\n//import HeaderMobileSearch from './HeaderMobileSearch'\r\n//import auth from '../../auth'\r\n\r\n// const ulPosition = {\r\n//     right: 0,\r\n//     left: 0,\r\n//     defaultlocation: \"\",\r\n//     defaultLocationText: \"DEFAULT ORGANIZATION\",\r\n//     scrollPosition: 0,\r\n//     isNotification: \"none\"\r\n\r\n// }\r\n// const MainHeader = (props) => {\r\n//     const [state, setState] = useState(ulPosition);\r\n\r\n//     const onScrollHanlde = () => {\r\n//         if (window.innerWidth > 1024) {\r\n//             if (window.pageYOffset > 300) {\r\n//                 StickBlock();\r\n//             } else {\r\n//                 Sticknone();\r\n//             }\r\n//         } else {\r\n//             Sticknone();\r\n//         }\r\n//     }\r\n\r\n//     const onResizeWindow = () => {\r\n//         if (window.innerWidth < 1025) {\r\n//             Sticknone();\r\n//         }\r\n//     }\r\n\r\n//     const Sticknone = () => {\r\n//         let elements = document.getElementsByClassName('sticky_div');\r\n//         document.getElementById(\"stickyHeader\").classList.remove(\"sticky\");\r\n//         document.getElementById(\"ulHomeTop\").style.display = \"block\"\r\n//         // document.getElementById(\"liEDSticky\").style.display = \"block\"\r\n//         elements.forEach(function (element) {\r\n//             element.style.display = \"none\"\r\n//         });\r\n\r\n//     }\r\n//     const StickBlock = () => {\r\n//         let elements = document.getElementsByClassName('sticky_div');\r\n//         document.getElementById(\"stickyHeader\").classList.add(\"sticky\");\r\n//         // document.getElementById(\"liEDSticky\").style.display = \"none\"\r\n//         elements.forEach(function (element) {\r\n//             element.style.display = \"block\"\r\n//             document.getElementById(\"ulHomeTop\").style.display = \"none\"\r\n//         });\r\n\r\n//     }\r\n\r\n//     useEffect(() => {\r\n//         onScrollHanlde();\r\n//         onResizeWindow();\r\n//         window.addEventListener('scroll', onScrollHanlde);\r\n//         window.addEventListener('resize', onResizeWindow);\r\n//         return () => {\r\n//             window.removeEventListener('scroll', onScrollHanlde);\r\n//             window.removeEventListener('resize', onResizeWindow);\r\n//         }\r\n//     }, [])\r\n\r\n\r\n//     useEffect(() => {\r\n//         var orglist = props.hfdata.header.orgList.filter(m => m.isDefault !== null);\r\n//         if (orglist.length > 0 && state.defaultlocation.length == 0) {\r\n//             let cidLocation = auth.loginData().cid != undefined ? auth.loginData().cid : orglist[0].cid;\r\n//             let locationText = props.hfdata.header.orgList.some(m => m.cid == cidLocation) ? props.hfdata.header.orgList.filter(m => m.cid == cidLocation) : orglist;\r\n//             setState({ ...state, defaultlocation: cidLocation, defaultLocationText: locationText[0].orgNameText })\r\n//         }\r\n//     }, [props.hfdata])\r\n\r\n\r\n//     const onUserDetails = (e) => {\r\n//         setState({ ...state, right: (e.pageX - 30), left: (e.pageY + 10) });\r\n//     }\r\n\r\n//     const onChangeLocation = (e) => {\r\n//         const { options, selectedIndex } = e.target;\r\n//         setState({ ...state, defaultlocation: e.target.value, defaultLocationText: options[selectedIndex].innerHTML });\r\n//     }\r\n\r\n//     const onNotification = () => {\r\n//         let isNotifi = state.isNotification === \"none\" ? \"block\" : \"none\";\r\n//         setState({ ...state, isNotification: isNotifi });\r\n//     }\r\n\r\n//     return (\r\n//         <React.Fragment>\r\n//             <header>\r\n\r\n//                 <div className=\"header-desktopView\">\r\n//                     <ul className=\"nav navbar-nav desktop-nav\">\r\n//                         <li>\r\n//                             <a className=\"navbar-brand logo visible-lg\"\r\n//                                 style={{ backgroundImage: 'url(https://test.parker.com/parker/myparker/assets/images/MyParkerLogo.png)' }}\r\n//                                 href={props.hfdata.header.result.topHeaderNav.topRightLinks[0].url}\r\n//                                 aria-label=\"Parker\" title=\"Parker\"> </a>\r\n//                         </li>\r\n//                         <li>\r\n//                             <span className=\"acme-logo navbar-brand visible-lg\"><span>{state.defaultLocationText}</span></span>\r\n//                         </li>\r\n\r\n\r\n//                         <li className=\"nav-location\"\r\n//                             style={{ backgroundImage: 'url(https://test.parker.com/parker/myparker/assets/images/location1.png)' }}>\r\n//                             <div>\r\n//                                 <p className=\"business-location-heading\">{props.mlvText.MLV_BUSINESSLOCATION}</p>\r\n//                                 <p className=\"business-location-text\">\r\n//                                     <label className=\"visuallyhidden\" htmlFor=\"business_location\">{props.mlvText.MLV_BUSINESSLOCATION}</label>\r\n//                                     <select\r\n//                                         style={{ backgroundImage: 'url(https://test.parker.com/parker/myparker/assets/images/down-arrow-Copy.png)' }}\r\n//                                         id=\"business_location\" className=\"select_business_location business-location-text-select\"\r\n//                                         title=\"Business Location\" value={state.defaultlocation} onChange={onChangeLocation}>\r\n//                                         {\r\n//                                             LocationOption(props.hfdata.header.orgList)\r\n//                                         }\r\n//                                     </select>\r\n//                                 </p>\r\n//                             </div>\r\n//                         </li>\r\n//                         <li className=\"search-products-li hidden-xs\">\r\n//                             <div className=\"advanced-search-container pull-right\">\r\n//                                 <form name=\"HeaderSearchForm\" className=\"fusion-search searchForm\" method=\"get\" autoComplete=\"off\"\r\n//                                     action={\"https:\" + props.hfdata.header.portalSearchUrl}>\r\n//                                     <div className=\"fusion-search pull-right\">\r\n//                                         <label hidden htmlFor=\"search-selector-content-type\">{props.mlvText.MLV_SEARCH}</label>\r\n//                                         <select className=\"form-control\" name=\"selectCategory\" id=\"search-selector-content-type\"\r\n//                                             title=\"Select Result\"\r\n//                                             style={{ backgroundImage: 'url(https://test.parker.com/parker/myparker/assets/images/drop-down-small.png)' }}>\r\n//                                             <option data-title=\"Products\" value=\"products\">{props.hfdata.header.result.primaryNav[0].text}</option>\r\n//                                             <option data-title=\"Support\" value=\"support\">{props.hfdata.header.result.primaryNav[1].text}</option>\r\n//                                             <option data-title=\"All Results\" value=\"all\">{props.mlvText.MLV_ALLRESULTS}</option>\r\n//                                         </select>\r\n//                                         <div className=\"input-group search-input\">\r\n//                                             <div className=\"typeahead__container\">\r\n//                                                 <div className=\"typeahead__field\">\r\n//                                                     <span className=\"typeahead__query\">\r\n//                                                         <input className=\"form-control js-typeahead\" name=\"searchbox\" id=\"HeaderSearchForm_SearchTerm\"\r\n//                                                             placeholder={props.mlvText.MLV_SEARCHFORAKEYWORD} type=\"search\" autoComplete=\"off\" tabIndex=\"0\">\r\n//                                                         </input>\r\n//                                                     </span>\r\n//                                                 </div>\r\n//                                             </div>\r\n//                                             <span className=\"input-group-btn left_5\">\r\n//                                                 <button className=\"btn btn-default search-btn-desktop\" type=\"submit\" tabIndex=\"0\">\r\n//                                                     <span>\r\n//                                                         <i className=\"fa fa-search\"></i> {props.mlvText.MLV_SEARCH}\r\n//                                                     </span>\r\n//                                                 </button>\r\n//                                             </span>\r\n//                                             <div id=\"aqs-flyout\"></div>\r\n//                                         </div>\r\n//                                     </div>\r\n//                                 </form>\r\n//                             </div>\r\n\r\n//                         </li>\r\n//                     </ul>\r\n\r\n//                 </div>\r\n\r\n//                 <HeaderforMobile DefaultlocationText={state.defaultLocationText} Defaultlocation={state.defaultlocation} onChangeLocation={onChangeLocation} SelectedLanguage={props.SelectedLanguage} onChangeMLV={props.onChangeMLV} Languages={props.Languages} onLogout={props.onLogout} UserName={props.UserName} ></HeaderforMobile>\r\n//                 <HeaderMobileSearch UserName={props.UserName}></HeaderMobileSearch>\r\n//                 <nav className=\"navbar navbar-default nav_primary navigation_bar_desktop\" role=\"navigation\" id=\"stickyHeader\">\r\n//                     <div className=\"container clearfix\">\r\n//                         <div>\r\n//                             <ul className=\"nav navbar-nav border_color products_nav\">\r\n//                                 <li className=\"sticky_navbar_logo_div sticky_div\">\r\n//                                     <a className=\"navbar-brand logo visible-lg\" id=\"sticky_logo\"\r\n//                                         href={props.hfdata.header.result.topHeaderNav.topRightLinks[0].url}\r\n//                                         aria-label=\"Parker\" title=\"Parker\">\r\n//                                     </a>\r\n//                                     <span className=\"acme-logo navbar-brand hidden-xs\" style={{ marginLeft: '0px' }}>\r\n//                                         <span>\r\n//                                             {state.defaultLocationText}\r\n//                                         </span>\r\n//                                     </span>\r\n//                                 </li>\r\n\r\n\r\n\r\n\r\n//                                 <li className=\"menu-border-mobile nav-list hidden-lg\" style={{ display: 'none' }}>\r\n//                                     <a className=\"mobile-menu bulk-icon\" href=\"https://phtest.parker.com/myparker/en/BulkOrder?cid=\"\r\n//                                         title=\"Bulk Order\"><span className=\"mobile-menu-text\">Bulk Order</span></a>\r\n//                                 </li>\r\n\r\n//                                 <li className=\"dropdown menu-border-mobile nav-list\">\r\n//                                     <a href={props.hfdata.header.result.primaryNav[0].url} className=\"mobile-menu\" data-toggle=\"dropdown\"\r\n//                                         title=\"Products\" aria-expanded=\"false\" id=\"menu1\">\r\n//                                         <span className=\"mobile-menu-text\">{props.hfdata.header.result.primaryNav[0].text}</span>\r\n//                                         <span className=\"caret\"></span>\r\n//                                     </a>\r\n\r\n//                                     <div id=\"product-flyout\" className=\"dropdown-menu menu_list\" role=\"menu\" aria-labelledby=\"menu1\">\r\n//                                         <div className=\"row\" id=\"product-flyout-row\">\r\n\r\n//                                             <ul className=\"col-md-4\" id=\"productUl1\">\r\n//                                                 {\r\n//                                                     Categories(props.hfdata.categoryList, 0, 6)\r\n//                                                 }\r\n//                                             </ul>\r\n//                                             <ul className=\"col-md-4\" id=\"productUl2\">\r\n//                                                 {\r\n//                                                     Categories(props.hfdata.categoryList, 7, 12)\r\n\r\n//                                                 }\r\n//                                             </ul>\r\n//                                             <ul className=\"col-md-4\" id=\"productUl3\">\r\n//                                                 {\r\n//                                                     Categories(props.hfdata.categoryList, 13, 17)\r\n//                                                 }\r\n//                                             </ul>\r\n//                                         </div>\r\n//                                     </div>\r\n\r\n//                                 </li>\r\n\r\n//                                 <li className=\"menu-border-mobile nav-list\">\r\n//                                     <a className=\"mobile-menu\"\r\n//                                         href={props.hfdata.header.result.primaryNav[1].url}\r\n//                                         title=\"Support\"><span className=\"mobile-menu-text\">{props.hfdata.header.result.primaryNav[1].text}</span></a>\r\n//                                 </li>\r\n\r\n//                                 {/* <li className=\"menu-border-mobile nav-list\">\r\n//                                     <a className=\"mobile-menu\" href={props.hfdata.header.result.primaryNav[2].url}\r\n//                                         title=\"Service Request\"><span className=\"mobile-menu-text\">{props.hfdata.header.result.primaryNav[2].text}</span></a>\r\n//                                 </li>\r\n\r\n//                                 <li className=\"menu-border-mobile nav-list\" id=\"liEDSticky\">\r\n//                                     <a className=\"mobile-menu\" href={props.hfdata.header.result.primaryNav[3].url} title=\"Escalation Directory\"><span\r\n//                                         className=\"mobile-menu-text\">{props.hfdata.header.result.primaryNav[3].text}</span></a>\r\n//                                 </li> */}\r\n\r\n//                                 <li className=\"menu-border-mobile nav-list sticky-nodisplay hambergur-menu\">\r\n//                                     <a href={props.hfdata.header.result.topHeaderNav.topRightLinks[0].url}\r\n//                                         className=\"mobile-menu blue-color callToActionLink\" title={props.hfdata.header.result.topHeaderNav.topRightLinks[0].text}><span\r\n//                                             className=\"mobile-menu-text\">{props.hfdata.header.result.topHeaderNav.topRightLinks[0].text}</span></a>\r\n//                                 </li>\r\n\r\n//                                 <li className=\"menu-border-mobile nav-list sticky-nodisplay hambergur-menu\">\r\n//                                     <a href={props.hfdata.header.result.topHeaderNav.topRightLinks[1].url}\r\n//                                         className=\"mobile-menu blue-color callToActionLink\" title={props.hfdata.header.result.topHeaderNav.topRightLinks[1].text}><span\r\n//                                             className=\"mobile-menu-text\">{props.hfdata.header.result.topHeaderNav.topRightLinks[1].text}</span></a>\r\n//                                 </li>\r\n\r\n//                                 <li className=\"menu-border-mobile nav-list sticky-nodisplay hambergur-menu\">\r\n//                                     <a href={props.hfdata.header.result.rightNavDropDown[0].url} className=\"text-primary mobile-menu blue-color\"\r\n//                                         title=\"My Account\"><span className=\"mobile-menu-text\">{props.hfdata.header.result.rightNavDropDown[0].text}</span></a>\r\n//                                 </li>\r\n//                                 <li className=\"search-products-li sticky_navbar_search_div sticky_div\">\r\n//                                     <div className=\"advanced-search-container pull-right\">\r\n//                                         <form name=\"searchForm1\" className=\"searchForm\" method=\"get\" autoComplete=\"off\"\r\n//                                             action={\"https:\" + props.hfdata.header.portalSearchUrl}>\r\n//                                             <div className=\"fusion-search pull-right\">\r\n//                                                 <label hidden htmlFor=\"search-selector-content-type\">{props.mlvText.MLV_SEARCH}</label>\r\n//                                                 <select className=\"form-control\" name=\"selectCategory\" id=\"search-selector-content-type\"\r\n//                                                     title=\"Select Result\"\r\n//                                                     style={{ backgroundImage: 'url(https://test.parker.com/parker/myparker/assets/images/drop-down-small.png)' }}>\r\n//                                                     <option data-title=\"Products\" value=\"products\">{props.hfdata.header.result.primaryNav[0].text}</option>\r\n//                                                     <option data-title=\"Support\" value=\"support\">{props.hfdata.header.result.primaryNav[1].text}</option>\r\n//                                                     <option data-title=\"All Results\" value=\"all\">{props.mlvText.MLV_ALLRESULTS}</option>\r\n//                                                 </select>\r\n//                                                 <div className=\"input-group search-input\">\r\n//                                                     <div className=\"typeahead__container\">\r\n//                                                         <div className=\"typeahead__field\">\r\n//                                                             <span className=\"typeahead__query\">\r\n//                                                                 <input className=\"form-control js-typeahead\" name=\"searchbox\" id=\"keyWord\"\r\n//                                                                     placeholder={props.mlvText.MLV_SEARCHFORAKEYWORD} type=\"search\" autoComplete=\"off\" tabIndex=\"0\">\r\n//                                                                 </input>\r\n//                                                             </span>\r\n//                                                         </div>\r\n//                                                     </div>\r\n//                                                     <span className=\"input-group-btn left_5\">\r\n//                                                         <button className=\"btn btn-default search-btn-desktop\" type=\"submit\" tabIndex=\"0\">\r\n//                                                             <span>\r\n//                                                                 <i className=\"fa fa-search\"></i> {props.mlvText.MLV_SEARCH}\r\n//                                                             </span>\r\n//                                                         </button>\r\n//                                                     </span>\r\n//                                                     <div id=\"aqs-flyout\"></div>\r\n//                                                 </div>\r\n//                                             </div>\r\n//                                         </form>\r\n//                                     </div>\r\n\r\n//                                 </li>\r\n//                                 <li className=\"sticky_navbar_bulkorder_div sticky_div hidden\" title=\"Bulk Order\" style={{ display: 'none' }}>\r\n//                                     <a href=\"https://phtest.parker.com/myparker/en/BulkOrder?cid=\">Bulk Order</a>\r\n//                                 </li>\r\n//                             </ul>\r\n//                             <ul className=\"right welcome-greeting\" onClick={(e) => onUserDetails(e)}>\r\n//                                 <li className=\"welcome-li right menu_list\" title={props.mlvText.MLV_WELCOME}>\r\n//                                     <a href=\"#\" className=\"dropdown-toggle\" data-toggle=\"dropdown\">\r\n//                                         {props.UserName}\r\n//                                         <span className=\"arrowOpenClose\"></span>\r\n//                                     </a>\r\n//                                     <ul id=\"ulWelcomeUser\" className=\"dropdown-menu welcome-menu\" role=\"menu\" style={{ left: state.right, top: state.left }}>\r\n//                                         <span className=\"arrowUp\"></span>\r\n\r\n//                                         <li className=\"\" data-value=\"MYACC\" tabIndex=\"3\">\r\n//                                             <a href={props.hfdata.header.result.rightNavDropDown[0].url} title=\"My Account\">{props.hfdata.header.result.rightNavDropDown[0].text}</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"SIGNOUT\" tabIndex=\"5\">\r\n//                                             <a onClick={async (e) => await props.onLogout(e)} title=\"Sign Out\">{props.hfdata.header.result.rightNavDropDown[2].text}</a>\r\n//                                         </li>\r\n\r\n//                                     </ul>\r\n//                                 </li>\r\n//                             </ul>\r\n\r\n//                         </div>\r\n//                     </div>\r\n\r\n//                     <ul className=\"nav navbar-nav skip-nav blue_Color\" style={{ marginLeft: '85px' }}>\r\n//                         <li className=\"menu-border-mobile hidden-xs ipad-hidden\">\r\n//                             <a href=\"#stickyHeader\" id=\"skip_navigation\" className=\"text-primary mobile-menu\" title=\"Skip Navigation\"\r\n//                                 tabIndex=\"0\">\r\n//                                 <span className=\"mobile-menu-text skip-nav-text\" style={{ visibility: 'hidden' }}>Skip Navigation</span>\r\n//                             </a>\r\n//                         </li>\r\n//                     </ul>\r\n\r\n//                     <ul className=\"nav navbar-nav off-header-lg blue_Color\" id=\"ulHomeTop\">\r\n//                         <li className=\"off-selection-country hidden\">\r\n//                             <a href=\"#\" className=\"btn choose-location black-bg-surround\">United states of America<span\r\n//                                 className=\"mapIcon\"></span></a>\r\n//                         </li>\r\n//                         <li className=\"off-selection visible-lg\">\r\n\r\n//                             <div className=\"dropdown custom_dropdown menu_list\">\r\n//                                 {\r\n//                                     <select id=\"language\" className=\"btn btn-default dropdown-toggle select productFocus\" name=\"MLV\" value={props.SelectedLanguage} onChange={props.onChangeMLV} style={{ height: \"20px\", backgroundImage: \"url(https://test.parker.com/parker/myparker/assets/images/drop-down-small.png)\" }} >\r\n//                                         {props.hfdata.header.languages.map((result) =>\r\n//                                             <option key={result.langCode} value={result.langCode}> {result.langText} </option>\r\n//                                         )}\r\n//                                     </select>\r\n//                                 }\r\n//                             </div>\r\n//                         </li>\r\n\r\n//                         <li className=\"menu-border-mobile hidden-xs ipad-hidden\">\r\n\r\n//                             <a href={props.hfdata.header.result.topHeaderNav.topRightLinks[0].url}\r\n//                                 className=\"mobile-menu blue-color callToActionLink\" title={props.hfdata.header.result.topHeaderNav.topRightLinks[0].text}><span\r\n//                                     className=\"mobile-menu-text\">{props.hfdata.header.result.topHeaderNav.topRightLinks[0].text}</span></a>\r\n//                         </li>\r\n\r\n//                         <li className=\"menu-border-mobile hidden-xs ipad-hidden\">\r\n//                             <a href={props.hfdata.header.result.topHeaderNav.topRightLinks[1].url}\r\n//                                 className=\"mobile-menu blue-color callToActionLink\" title={props.hfdata.header.result.topHeaderNav.topRightLinks[1].text}><span\r\n//                                     className=\"mobile-menu-text\">{props.hfdata.header.result.topHeaderNav.topRightLinks[1].text}</span></a>\r\n//                         </li>\r\n\r\n//                         <li className=\"menu-border-mobile hidden-lg signout\" id=\"signinli\">\r\n//                             <a href=\"//phtest.parker.com/myparker/en/Logout\" className=\"mobile-menu\" title=\"Sign Out\"><span\r\n//                                 className=\"mobile-menu-text\">Sign Out</span></a>\r\n//                         </li>\r\n//                         <li className=\"menu-border-mobile hidden-xs ipad-hidden notification-container\">\r\n//                             <a className=\"top-alert-btn\" title=\"Alerts\" onClick={onNotification}>\r\n//                                 <span className=\"badgeItem countCart\"\r\n//                                     style={{ display: 'none', backgroundImage: 'url(https://test.parker.com/parker/myparker/assets/images/notification-bell.png)' }}></span></a>\r\n\r\n//                             <div className=\"notification-list-container\" style={{ display: state.isNotification }}>\r\n//                                 <h3>Notifications</h3>\r\n//                                 <div className=\"list-notification-container\">\r\n//                                     <div id=\"support-list\">\r\n\r\n//                                         <div className=\"list-items\">\r\n\r\n//                                             <a className=\"video ancmt-support\" data-video=\"true\" href=\"https://test.parker.com/parker/myparker/otvsvideo/otvsvideo.jsp?id=3960FCDE9BB4AA51E0643A8F253240DF\">\r\n//                                                 <div className=\"images-box\"><img src=\"https://test.parker.com/parker/myparker/assets/images/nt-icon-3.png\"></img></div>\r\n\r\n//                                                 <div className=\"recent-kafka-data\" style={{ display: \"none\" }} data-rcrd=\"76f6895048340710VgnVCM100000b4a81dacRCRD\" data-assettype=\"Video\" data-url=\"3960FCDE9BB4AA51E0643A8F253240DF\" data-title=\"Parker’s SensoNODE\"></div>\r\n\r\n//                                                 <h4>Parker’s SensoNODE</h4>\r\n//                                                 <p>\r\n//                                                     <span>5/14/20</span>\r\n//                                                 This support asset is for Kohler Distributor for Email Summary\r\n//                                                 </p>\r\n//                                             </a>\r\n//                                         </div>\r\n\r\n//                                         <div className=\"list-items\">\r\n\r\n//                                             <a className=\"ancmt-support\" href=\"https://test.parker.com/parker/OpenContent/RacorVMT_Aluminum_Metal_Coating_BUL_7942?staticfile=d2e43cbe8ff68610VgnVCM100000b4a81dacRCRD\" target=\"_blank\">\r\n\r\n//                                                 <div className=\"images-box\"><img src=\"https://test.parker.com/parker/myparker/assets/images/nt-icon-2.png\"></img></div>\r\n\r\n//                                                 <div className=\"recent-kafka-data\" style={{ display: \"none\" }} data-rcrd=\"d2e43cbe8ff68610VgnVCM100000b4a81dacRCRD\" data-assettype=\"Static File\" data-url=\"RacorVMT_Aluminum_Metal_Coating_BUL_7942.pdf\" data-title=\"(D-1) Refrigeration Solenoid Valves &amp; 3-Way Heat Reclaim Valves\"></div>\r\n\r\n//                                                 <h4>(D-1) Refrigeration Solenoid Valves...</h4>\r\n//                                                 <p>\r\n//                                                     <span>2/13/20</span>\r\n//                                                     The Parker 'R' Series Refrigeration Valves consist of a family of dire...\r\n//                                                 </p>\r\n//                                             </a>\r\n//                                         </div>\r\n\r\n//                                         <div className=\"list-items\">\r\n\r\n//                                             <a className=\"ancmt-support\" href=\"https://test.parker.com/parker/OpenContent/RacorVMT_Aluminum_Metal_Coating_BUL_7942?staticfile=6da8f88318256610VgnVCM100000b4a81dacRCRD\" target=\"_blank\">\r\n\r\n//                                                 <div className=\"images-box\">\r\n//                                                     <img src=\"https://test.parker.com/parker/myparker/assets/images/nt-icon-2.png\"></img></div>\r\n\r\n//                                                 <div className=\"recent-kafka-data\" style={{ display: \"none\" }} data-rcrd=\"6da8f88318256610VgnVCM100000b4a81dacRCRD\" data-assettype=\"Static File\" data-url=\"RacorVMT_Aluminum_Metal_Coating_BUL_7942.pdf\" data-title=\"Legris TV\"></div>\r\n\r\n//                                                 <h4>Legris TV</h4>\r\n//                                                 <p>\r\n//                                                     <span></span>\r\n//                                                     Legris TV\r\n//                                                 </p>\r\n//                                             </a>\r\n//                                         </div>\r\n\r\n//                                     </div>\r\n//                                 </div>\r\n\r\n//                             </div>\r\n//                         </li>\r\n//                     </ul>\r\n//                     <div className=\"container\">\r\n\r\n//                         <ul className=\"nav navbar-nav off-header-lg off-selection hidden-lg menu-border-mobile signout-mobile\">\r\n\r\n//                             <li className=\"logout-mobile\">\r\n//                                 <button className=\"btn dinotreg-14 logout-button-mobile\" type=\"button\">Sign Out</button>\r\n//                             </li>\r\n\r\n//                         </ul>\r\n\r\n\r\n//                         <ul className=\"nav navbar-nav off-header-lg location-selection-mobile off-selection hidden-lg menu-border-mobile\">\r\n//                             <li className=\"location-list hidden\">\r\n//                                 <a href=\"#\" className=\"btn choose-location black-bg-surround location-link dinotreg-14\">United States of\r\n//                 America</a>\r\n//                             </li>\r\n//                             <li className=\"location-list\">\r\n//                                 <div className=\"dropdown custom_dropdown\">\r\n//                                     <button className=\"btn btn-default dropdown-toggle select language-select dinotreg-14 choose-location\"\r\n//                                         type=\"button\" id=\"language\" data-toggle=\"dropdown\" aria-expanded=\"true\"\r\n//                                         title=\"Select Language\">English<span className=\"caret\"></span></button>\r\n\r\n//                                     <ul className=\"dropdown-menu\" role=\"menu\" aria-labelledby=\"language\" id=\"vgnextfmt\">\r\n\r\n//                                         <li className=\"\" data-value=\"CS\" tabIndex=\"1\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=CS&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"česky\" >česky</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"DK\" tabIndex=\"2\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=DK&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Danish\" >Danish</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"DE\" tabIndex=\"3\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=DE&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Deutsch\" >Deutsch</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"selected\" data-value=\"EN\" tabIndex=\"4\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=EN&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"English\" >English</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"ES\" tabIndex=\"5\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=ES&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Español\" >Español</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"FR\" tabIndex=\"6\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=FR&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Français\" >Français</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"HU\" tabIndex=\"7\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=HU&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Hungarian\" >Hungarian</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"IT\" tabIndex=\"8\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=IT&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Italiano\" >Italiano</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"NL\" tabIndex=\"9\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=NL&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Nederlands\" >Nederlands</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"NO\" tabIndex=\"10\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=NO&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Norsk\" >Norsk</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"PL\" tabIndex=\"11\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=PL&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Polski\" >Polski</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"PT\" tabIndex=\"12\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=PT&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Português\" >Português</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"RU\" tabIndex=\"13\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=RU&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Russian\" >Russian</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"FI\" tabIndex=\"14\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=FI&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Suomi\" >Suomi</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"SV\" tabIndex=\"15\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=SV&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Svenska\" >Svenska</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"TH\" tabIndex=\"16\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=TH&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Thai\" >Thai</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"TR\" tabIndex=\"17\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=TR&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Türkçe\" >Türkçe</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"VI\" tabIndex=\"18\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=VI&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"Vietnamese\" >Vietnamese</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"ZH\" tabIndex=\"19\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=ZH&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"中文\" >中文</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"JP\" tabIndex=\"20\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=JP&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"日本語\" >日本語</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"TW\" tabIndex=\"21\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=TW&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"繁體中文\" >繁體中文</a>\r\n//                                         </li>\r\n\r\n//                                         <li className=\"\" data-value=\"KO\" tabIndex=\"22\" id=\"cuntri\">\r\n//                                             <a href=\"/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextfmt=KO&amp;vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD\"\r\n//                                                 title=\"한국어\" >한국어</a>\r\n//                                         </li>\r\n\r\n//                                     </ul>\r\n//                                 </div>\r\n//                             </li>\r\n\r\n//                         </ul>\r\n//                     </div>\r\n\r\n//                 </nav>\r\n\r\n//             </header>\r\n//         </React.Fragment>\r\n\r\n//     );\r\n// }\r\n\r\n// const onMapState = (state) => {\r\n\r\n//     return {\r\n//         hfdata: state.hfdata,\r\n//         mlvText: state.mlv\r\n//     }\r\n// }\r\n\r\n// export default connect(onMapState, null)(MainHeader)\r\n\r\n// function LocationOption(optionData) {\r\n//     if (optionData != null && optionData.length > 0) {\r\n//         return (\r\n//             <React.Fragment>{\r\n//                 optionData.map((m) => <option key={m.cid} value={m.cid}> {m.orgNameText} </option>)\r\n//             }\r\n//             </React.Fragment>\r\n//         )\r\n\r\n//     } else {\r\n//         return (\r\n//             <option value=\"\">DEFAULT ORGANIZATION</option>\r\n//         )\r\n//     }\r\n// }\r\n\r\n\r\n// function Categories(catogeryList, from, to) {\r\n//     if (catogeryList === null || catogeryList === undefined || catogeryList.length == 0) {\r\n//         return (\r\n//             <li></li>\r\n//         )\r\n\r\n//     } else {\r\n//         return (\r\n//             <React.Fragment>{\r\n\r\n\r\n//                 catogeryList.slice(from, to).map((m) => {\r\n//                     return (\r\n//                         <li key={m.categoryId}>\r\n//                             <a href={\"https://\" + m.categoryURL}>{m.categoryName}</a>\r\n//                         </li>\r\n//                     )\r\n//                 })\r\n//             }\r\n//             </React.Fragment>\r\n//         )\r\n//     }\r\n// }\r\n","import React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux'\r\n\r\nconst footerState = {\r\n    isMobile: false,\r\n    footerOneClass: \"panel-collapse\",\r\n    footerTwoClass: \"panel-collapse\",\r\n    iscollapseOne: false,\r\n    iscollapseTwo: false,\r\n    spanOne: \"glyphicon pull-right glyphicon-plus visible-xs\",\r\n    spanTwo: \"glyphicon pull-right glyphicon-plus visible-xs\",\r\n    collapseOneClass: \"collapsed mobile_footer\",\r\n    collapseTwoClass: \"collapsed mobile_footer\"\r\n}\r\n\r\nconst MainFooter = (props) => {\r\n\r\n    const [state, setState] = useState(footerState);\r\n\r\n\r\n    const handleResize = () => {\r\n        let cssClass = window.innerWidth < 769 ? \"panel-collapse collapse\" : \"panel-collapse\"\r\n        setState({ ...state, footerOneClass: cssClass, footerTwoClass: cssClass })\r\n    }\r\n\r\n    const OnCollapseOne = (e) => {\r\n        let isconeShow = state.iscollapseOne ? false : true;\r\n        let spanOneClass = isconeShow ? \"glyphicon pull-right visible-xs glyphicon-minus\" : \"glyphicon pull-right glyphicon-plus visible-xs\";\r\n        let collapseOneClass = isconeShow ? \"mobile_footer\" : \"collapsed mobile_footer\";\r\n        let footerClass = isconeShow ? \"panel-collapse\" : \"panel-collapse collapse\";\r\n        setState({ ...state, footerOneClass: footerClass, iscollapseOne: isconeShow, spanOne: spanOneClass, collapseOneClass: collapseOneClass })\r\n    }\r\n\r\n    const OnCollapseTwo = (e) => {\r\n        let isconeShow = state.iscollapseTwo ? false : true;\r\n        let spanClass = isconeShow ? \"glyphicon pull-right visible-xs glyphicon-minus\" : \"glyphicon pull-right glyphicon-plus visible-xs\";\r\n        let collapseClass = isconeShow ? \"mobile_footer\" : \"collapsed mobile_footer\";\r\n        let iscOne = isconeShow ? false : true;\r\n        let footerClass = isconeShow ? \"panel-collapse\" : \"panel-collapse collapse\";\r\n        setState({ ...state, footerTwoClass: footerClass, iscollapseTwo: isconeShow, spanTwo: spanClass, collapseTwoClass: collapseClass })\r\n    }\r\n\r\n    useEffect(() => {\r\n        handleResize();\r\n\r\n        window.addEventListener('resize', handleResize)\r\n\r\n        return () => {\r\n            window.removeEventListener('resize', handleResize)\r\n\r\n        }\r\n    }, [])\r\n\r\n    const onFooterNavigate = (e, url) => {\r\n        e.preventDefault();\r\n        window.open(url)\r\n    }\r\n\r\n\r\n    return (\r\n        <footer id=\"footer\" className=\"ph-footer\">\r\n        </footer>\r\n\r\n    //  <footer id=\"footerDiv\" style={{ padding: \"5px\", borderTop: \"1px solid #dedede\" }}>\r\n    //         <div className=\"footer-container main-container\">\r\n    //             <section className=\"footer_teasers_wrapper\">\r\n    //                 <div className=\"row panel-group\" id=\"accordion\" role=\"tablist\" aria-multiselectable=\"true\">\r\n    //                     <div className=\"panel panel-default\">\r\n    //                         <div className=\"panel-heading\" role=\"tab\" id=\"headingOne\">\r\n    //                             <h4 className=\"panel-title\">\r\n    //                                 <a className={state.collapseOneClass} data-target=\"#collapseOne\" aria-expanded=\"true\"\r\n    //                                     aria-controls=\"collapseOne\" title=\"Parker Hannifin\" onClick={OnCollapseOne}  >\r\n    //                                     {props.hfdata.footer.result.links[0].text}<span className={state.spanOne}></span></a>\r\n    //                                 <a className=\"collapsed desktop_footer callToActionLink\"\r\n    //                                     href={props.hfdata.footer.result.links[0].url}\r\n    //                                     title=\"Parker Hannifin\" data-toggle=\"\" data-parent=\"\">{props.hfdata.footer.result.links[0].text}</a>\r\n    //                             </h4>\r\n    //                         </div>\r\n    //                         <div id=\"collapseOne\" className={state.footerOneClass} role=\"tabpanel\" aria-labelledby=\"\">\r\n    //                             <div className=\"panel-body\">\r\n    //                                 <ul className=\"list-unstyled list-collapse\">\r\n    //                                     <li>\r\n    //                                         <a\r\n    //                                             href={props.hfdata.footer.result.links[0].subSections[0].url}\r\n    //                                             className=\"callToActionLink\"> {props.hfdata.footer.result.links[0].subSections[0].text}</a>\r\n    //                                     </li>\r\n\r\n    //                                 </ul>\r\n    //                             </div>\r\n    //                         </div>\r\n    //                     </div>\r\n    //                     <div className=\"emptypanel\">\r\n\r\n    //                     </div>\r\n    //                     <div className=\"panel panel-default\">\r\n    //                         <div className=\"panel-heading\" role=\"tab\" id=\"headingTwo\">\r\n    //                             <h4 className=\"panel-title\">\r\n    //                                 <a className={state.collapseTwoClass} data-target=\"#collapseTwo\" aria-expanded=\"true\"\r\n    //                                     aria-controls=\"collapseTwo\" title=\"Global Support Center\" onClick={OnCollapseTwo}>{props.hfdata.footer.result.links[1].text}<span className={state.spanTwo}></span></a>\r\n    //                                 <a className=\"collapsed desktop_footer callToActionLink\"\r\n    //                                     href={props.hfdata.footer.result.links[1].url}\r\n    //                                     title=\"Global Support Center\" >{props.hfdata.footer.result.links[1].text}</a>\r\n    //                             </h4>\r\n    //                         </div>\r\n    //                         <div id=\"collapseTwo\" className={state.footerTwoClass} role=\"tabpanel\" aria-labelledby=\"\">\r\n    //                             <div className=\"panel-body\">\r\n    //                                 <ul className=\"list-unstyled list-collapse\">\r\n    //                                     <li>\r\n    //                                         <a\r\n    //                                             href={props.hfdata.footer.result.links[1].subSections[0].url}\r\n    //                                             className=\"callToActionLink\">{props.hfdata.footer.result.links[1].subSections[0].text}</a>\r\n    //                                     </li>\r\n\r\n    //                                 </ul>\r\n    //                             </div>\r\n    //                         </div>\r\n    //                     </div>\r\n    //                 </div>\r\n    //             </section>\r\n    //             <section className=\"copyright\">\r\n    //                 <div className=\"imgdiv\">\r\n    //                     <img src=\"https://test.parker.com/parker/myparker/assets/images/Engg.png\" alt=\"image\"\r\n    //                         title=\"image\">\r\n\r\n    //                     </img>\r\n    //                 </div>\r\n    //                 <div className=\"row\">\r\n    //                     <div className=\"col-lg-12 col-sm-12\">\r\n    //                         <ul className=\"list-inline align col-sm-8 col-lg-9\">\r\n\r\n    //                             <li> <a\r\n    //                                 href={props.hfdata.footer.result.staticFooter[0].url}\r\n    //                                 onClick={(e) => onFooterNavigate(e, props.hfdata.footer.result.staticFooter[0].url)}\r\n    //                                 title=\"Safety\" alt=\"Safety\" className=\"callToActionLink\" data-newwindow=\"true\">{props.hfdata.footer.result.staticFooter[0].text} </a> </li>\r\n\r\n\r\n    //                             <li> <a\r\n    //                                 href={props.hfdata.footer.result.staticFooter[1].url}\r\n    //                                 onClick={(e) => onFooterNavigate(e, props.hfdata.footer.result.staticFooter[1].url)}\r\n    //                                 title=\"Privacy Policies\" alt=\"Privacy Policies\" className=\"callToActionLink\"\r\n    //                                 data-newwindow=\"true\">{props.hfdata.footer.result && props.hfdata.footer.result.staticFooter[1].text} </a> </li>\r\n\r\n\r\n    //                             <li> <a\r\n    //                                 href={props.hfdata.footer.result.staticFooter[2].url}\r\n    //                                 onClick={(e) => onFooterNavigate(e, props.hfdata.footer.result.staticFooter[2].url)}\r\n    //                                 title=\"Terms and Conditions\" alt=\"Terms and Conditions\" className=\"callToActionLink\"\r\n    //                                 data-newwindow=\"true\">{props.hfdata.footer.result.staticFooter[2].text} </a> </li>\r\n\r\n    //                         </ul>\r\n    //                         <h6 className=\"copyrights col-sm-4 col-lg-3 padL0\">© Parker Hannifin Corp 2020</h6>\r\n    //                     </div>\r\n    //                 </div>\r\n    //             </section>\r\n    //         </div>\r\n    // </footer>\r\n\r\n    );\r\n}\r\n\r\n\r\nconst onMapState = (state) => {\r\n\r\n    return {\r\n        hfdata: state.hfdata\r\n    }\r\n}\r\n\r\nexport default connect(onMapState, null)(MainFooter)","export var mlvlabel = {\r\n\r\n  \"MLV_ACCOUNT\": \"Account\",\r\n  \"MLV_ADDRESS\": \"Address\",\r\n  \"MLV_ASDELIVERED\": \"As Delivered\",\r\n  \"MLV_ATTACHMENTS\": \"Attachments\",\r\n  \"MLV_CANCEL\": \"Cancel\",\r\n  \"MLV_CHOOSEFILES\": \"Choose Files\",\r\n  \"MLV_CLAIM\": \"Claim\",\r\n  \"MLV_CLAIMTYPE\": \"Claim Type\",\r\n  \"MLV_CLICKPTSSEARCH\": \"Click Here for PTS Search\",\r\n  \"MLV_CLOSE\": \"Close\",\r\n  \"MLV_COMPANY\": \"Company\",\r\n  \"MLV_CONTACT\": \"Contact\",\r\n  \"MLV_CONTACTNAME\": \"Contact Name\",\r\n  \"MLV_CREDITTOACCOUNT\": \"Credit to Account\",\r\n  \"MLV_DATE\": \"Date\",\r\n  \"MLV_DDSTATUS\": \"All~Open~Submitted for approval~Approved~Closed~Cancelled~ClosedCA Open\",\r\n  \"MLV_DETAILSOFCLAIM\": \"Details of Claim\",\r\n  \"MLV_DIVISION\": \"Division\",\r\n  \"MLV_DIVISIONLIST\": \"Division List\",\r\n  \"MLV_DIVISIONNAME\": \"Division Name\",\r\n  \"MLV_EDIT\": \"Edit\",\r\n  \"MLV_EDITRETURNREQUEST\": \"Edit Claim Request\",\r\n  \"MLV_EMAIL\": \"Email\",\r\n  \"MLV_ENTEREDBY\": \"Entered By\",\r\n  \"MLV_EXISTINGATTACHMENTS\": \"Existing Attachments\",\r\n  \"MLV_FIELDFAILURE\": \"Field Failure\",\r\n  \"MLV_FIND\": \"Find\",\r\n  \"MLV_FIRST\": \"First\",\r\n  \"MLV_FORCLAIMINSTRACTION\": \"for Claim instruction\",\r\n  \"MLV_FULLDESCRIPTION\": \"Full Description\",\r\n  \"MLV_LINEITEMNUMBER\": \"Line Item Number\",\r\n  \"MLV_LINEITEMS\": \"Line Items\",\r\n  \"MLV_LINESIDE\": \"Line Side\",\r\n  \"MLV_LISTOFCLAIMSCREEN\": \"List of Claims\",\r\n  \"MLV_LOGINCUSTOMERNOTAVAILABLE\": \"Customer Number not available for this User Id\",\r\n  \"MLV_LOGINFAIL\": \"Login failed\",\r\n  \"MLV_LOGINFAILMULTIPLEWEBID\": \"You have multiple id’s with the same email address. To use Parker Claims, duplicate emails need to be removed. Please contact a PHconnect administrator to remove duplicates.\",\r\n  \"MLV_MESSAGE\": \"Message\",\r\n  \"MLV_MODEL\": \"Model\",\r\n  \"MLV_MULIPLEATTACHMENTS\": \"You can upload muliple attachments\",\r\n  \"MLV_NEWRETURN\": \"New Claim\",\r\n  \"MLV_NEWRETURNREQUEST\": \"New Claim Request\",\r\n  \"MLV_NEWRETURNS\": \"New Claims\",\r\n  \"MLV_NEXT\": \"Next\",\r\n  \"MLV_NORECORDFOUND\": \"No Records Found\",\r\n  \"MLV_ORDERNUMBER\": \"Order Number\",\r\n  \"MLV_ORDERNUMBERA\": \"Order Number (A-Z)\",\r\n  \"MLV_ORDERNUMBERD\": \"Order Number (Z-A)\",\r\n  \"MLV_ORDERQUANTITY\": \"Order Quantity\",\r\n  \"MLV_PART\": \"Part\",     \r\n  \"MLV_PHONE\": \"Phone\",\r\n  \"MLV_PONUMBER\": \"PO Number\",\r\n  \"MLV_PREFERREDRESOLUTION\": \"Preferred Resolution\",\r\n  \"MLV_PREVIOUS\": \"Previous\",\r\n  \"MLV_PROBLEMDESCRIPTION\": \"Problem Description\",\r\n  \"MLV_PRODUCTLIEUOFPAYMENT\": \"Product Lieu of Payment\",\r\n  \"MLV_PRODUCTRETURNREQUEST\": \"Product Return Request\",\r\n  \"MLV_PTSCANTFINDYOURPART\": \"Can't find your part? Fill out a return manually using this\",\r\n  \"MLV_PTSID\": \"PTS ID\",\r\n  \"MLV_PTSNUMBER\": \"PTS Number\",\r\n  \"MLV_PTSNUMBERNOTFOUND\": \"PTS Number not found\",\r\n  \"MLV_QUANTITY\": \"Quantity\",\r\n  \"MLV_REPAIRANDRETURN\": \"Repair and Return\",\r\n  \"MLV_RESULTFOUND\": \"Result Found\",\r\n  \"MLV_RESULTSPERPAGE\": \"Results Per Page\",\r\n  \"MLV_RETURNFORM\": \"request form.\",\r\n  \"MLV_RETURNS\": \"Returns\",\r\n  \"MLV_SEARCH\": \"Search\",\r\n  \"MLV_SEARCHBYCLAIMNO\": \"Search by claim number\",\r\n  \"MLV_SEARCHBYORDER\": \"Search by order po or part number\",\r\n  \"MLV_SEARCHBYPTS\": \"Enter a PTS number\",\r\n  \"MLV_SEARCHPTSNUMBER\": \"Search a PTS number below\",\r\n  \"MLV_SECURITYISSUE\": \"You are not secure for this application\",\r\n  \"MLV_SERIAL\": \"Serial\",\r\n  \"MLV_SERIALNUMBER\": \"Serial Number\",\r\n  \"MLV_SORTBY\": \"Sort By\",\r\n  \"MLV_STATUS\": \"Status\",\r\n  \"MLV_SUBMIT\": \"Submit\",\r\n  \"MLV_SUBMITTED\": \"Submitted\",\r\n  \"MLV_SUCCESSMESSAGE1\": \"Your claim has been submitted\",\r\n  \"MLV_SUCCESSMESSAGE2\": \"A Parker SelectedDivision representative will respond within 24 hours to your request\",\r\n  \"MLV_UPLOADEDIMAGE\": \"uploaded Image\",\r\n  \"MLV_VIEWDETAILS\": \"View Details\",\r\n  \"MLV_WARRANTYFAILURE\": \"Warranty Failure\",\r\n  \"MLV_CUSTOMERS\":\"Customers\",     \r\n  \"MLV_PARTNUMBER\":\"Part Number\",   \r\n  \"MLV_DATE-LATEST\":\"Date - Latest\",\r\n  \"MLV_DATE-EARLIEST\":\"Date - Earliest\",\r\n  \"MLV_LOGOUT\":\"Logout\",\r\n  \"MLVAZ\":\"A-Z\",\r\n  \"MLVZA\":\"Z-A\",\r\n  \"MLV_SUBMITERROR\":\"Your return request not yet submitted\",\r\n  \"MLV_SUBMIT_ERROR\":\"Your claim has been received and will be assigned a claim number within 2 business days.\",\r\n  \"MLV_SUCCESSMESSAGE3\":\"Your Claim Number & and Account Number is\",\r\n  \"MLV_PROCEED\" :\"Proceed\",\r\n  \"MLV_ALL\":\"All\",\r\n  \"MLV_CLAIMSTATUS\":[\"All\",\"Open\", \"Submitted for approval\", \"Approved\",\"Closed\",\"Cancelled\",\"ClosedCA Open\"],\r\n  \"MLV_BUSINESSLOCATION\":\"Business Location\",\r\n  \"MLV_SEARCHFORAKEYWORD\":\"Search for a Keyword \",\r\n  \"MLV_ALLRESULTS\":\"All Results \",\r\n  \"MLV_SEARCHBYORDER\":\"Search by order number\",\r\n  \"MLV_SEARCHBYPARTNUMBER\":\"Search by part number\",\r\n  \"MLV_SEARCHBYPONUMBER\":\"Search by po number\",\r\n  \"MLV_CUSTOMERNUMBER_REQUIRED\":\"Customer number required\",\r\n  \"MLV_DIVISION_REQUIRED\":\"Division required\",\r\n  \"MLV_ORDERNUMBER_REQUIRED\":\"Order number is Required and Order number cannot exceed 8 characters\",\r\n  \"MLV_PARTNUMBER_REQUIRED\":\"Part Number required\",\r\n  \"MLV_QUANTITY_REQUIRED\":\"Quantity required\",\r\n  \"MLV_CLAIMTYPE_REQUIRED\":\"Claim type required\",\r\n  \"MLV_WARRANTYFAILURE_REQUIRED\":\"Warranty failure required\",\r\n  \"MLV_PREFERREDRESOLUTION_REQUIRED\":\"Preferred Resolution required\",\r\n  \"MLV_DESCRIPTION_REQUIRED\":\"Problem Description required\",\r\n  \"MLV_PONUMBER_REQUIRED\":\"PO number is Required\",\r\n  \"MLV_WELCOME\":\"Welcome\"\r\n} \r\n\r\nexport var headerFooterData ={\r\n  \"footer\": {\r\n    \"result\": {\r\n      \"staticFooter\": [\r\n        {\r\n          \"text\": \"Safety\",\r\n          \"url\": \"https://test.parker.com/portal/site/PARKER/menuitem.c9e55a6ea039d4fdfd40eae8237ad1ca/?vgnextoid=f65d904cf58b2110VgnVCM100000c9040d0aRCRD&vgnextfmt=EN\"\r\n        },\r\n        {\r\n          \"text\": \"Privacy Policies\",\r\n          \"url\": \"https://test.parker.com/portal/site/PARKER/menuitem.4450f18f18c082cdfd40eae8237ad1ca/?vgnextoid=760b904cf58b2110VgnVCM100000c9040d0aRCRD&vgnextfmt=EN\"\r\n        },\r\n        {\r\n          \"text\": \"Terms and Conditions\",\r\n          \"url\": \"https://test.parker.com/portal/site/PARKER/menuitem.9901ac95711d8c5906b58f95427ad1ca/?vgnextoid=166d9407aa3b5410VgnVCM100000200c1dacRCRD&vgnextchannel=2b4955b4d8876310VgnVCM10000014a71dacRCRD&vgnextfmt=EN&country=US\"\r\n        }\r\n      ],\r\n      \"links\": [\r\n        {\r\n          \"text\": \"Parker Hannifin\",\r\n          \"subSections\": [\r\n            {\r\n              \"text\": \"Products\",\r\n              \"url\": \"https://phtest.parker.com/myparker/en/products-mp?cid=\"\r\n            }\r\n          ],\r\n          \"url\": \"https://test.parker.com/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD&vgnextfmt=EN&cid=\"\r\n        },\r\n        {\r\n          \"text\": \"Global Support Center\",\r\n          \"subSections\": [\r\n            {\r\n              \"text\": \"Support\",\r\n              \"url\": \"https://test.parker.com/portal/site/MyParker/menuitem.36183f7adffb9ad6f6dff47a4256d1ca/?vgnextoid=88539942ad8bf510VgnVCM10000025651dacRCRD&vgnextfmt=EN&cid=\"\r\n            }\r\n          ],\r\n          \"url\": \"https://test.parker.com/portal/site/PARKER/menuitem.02acfb1a93839962c264ddc7427ad1ca/?vgnextoid=0f6ad490a512b310VgnVCM10000014a71dacRCRD&vgnextfmt=EN\"\r\n        }\r\n      ]\r\n    },\r\n    \"imageURL\": \"phtest.parker.com/wcsstore/ParkerAuroraStorefrontAssetStore/images/Engg.png\"\r\n  },\r\n  \"userId\": \"ss3214x\",\r\n  \"request\": {\r\n    \"langId\": \"EN\",\r\n    \"storeId\": \"20951\"\r\n  },\r\n  \"debug\": {\r\n    \"orgListLoaded\": \"Success\",\r\n    \"headerLoaded\": \"Success\",\r\n    \"footerLoaded\": \"Success\",\r\n    \"addWCSAndExternalURL\": \"Success\",\r\n    \"myParkerURLLoadError\": \"Error to load mypaker urls from property\",\r\n    \"participantLoaded\": null,\r\n    \"languagesLoaded\": \"Success\"\r\n  },\r\n  \"header\": {\r\n    \"myAccountURL\": \"phtest.parker.comnull\",\r\n    \"result\": {\r\n      \"topHeaderNav\": {\r\n        \"topRightLinks\": [\r\n          {\r\n            \"text\": \"Home\",\r\n            \"url\": \"https://test.parker.com/portal/site/MyParker/menuitem.37eb03f20c5d959b1f7c238a4256d1ca/?vgnextoid=59519942ad8bf510VgnVCM10000025651dacRCRD&vgnextfmt=EN&cid=\"\r\n          },\r\n          {\r\n            \"text\": \"Investors\",\r\n            \"url\": \"https://investors.parker.com/\"\r\n          }\r\n        ]\r\n      },\r\n      \"languageCode\": \"EN\",\r\n      \"division\": false,\r\n      \"name\": \"United States of America\",\r\n      \"parkerID\": \"123MYP\",\r\n      \"type\": \"Header\",\r\n      \"rightNavDropDown\": [\r\n        {\r\n          \"text\": \"My Account\",\r\n          \"code\": \"MYACC\",\r\n          \"url\": \"//phtest.parker.com/myparker/en/MyAccount?cid=\"\r\n        },\r\n        {\r\n          \"text\": \"Manage Users\",\r\n          \"code\": \"MNGUSR\",\r\n          \"url\": \"//phtest.parker.com/myparker/en/ManageUser?cid=\"\r\n        },\r\n        {\r\n          \"text\": \"Sign Out\",\r\n          \"code\": \"SIGNOUT\",\r\n          \"url\": \"//phtest.parker.com/myparker/en/Logout\"\r\n        }\r\n      ],\r\n      \"cookiePolicy\": {\r\n        \"displayCookie\": false\r\n      },\r\n      \"primaryNav\": [\r\n        {\r\n          \"text\": \"Products\",\r\n          \"code\": \"PROD\",\r\n          \"url\": \"//phtest.parker.com/myparker/en/products-mp?cid=\"\r\n        },\r\n        {\r\n          \"text\": \"Support\",\r\n          \"code\": \"SPRT\",\r\n          \"url\": \"https://test.parker.com/portal/site/MyParker/menuitem.36183f7adffb9ad6f6dff47a4256d1ca/?vgnextoid=88539942ad8bf510VgnVCM10000025651dacRCRD&vgnextfmt=EN&cid=\"\r\n        },\r\n        {\r\n          \"text\": \"Service Request\",\r\n          \"code\": \"SRVREQ\",\r\n          \"url\": \"https://servicerequeststest.parker.com/#/?cid=\"\r\n        },\r\n        {\r\n          \"text\": \"Escalation Directory\",\r\n          \"code\": \"ESCDIR\",\r\n          \"url\": \"http://directorytest.parker.com/?cid=\"\r\n        }\r\n      ]\r\n    },\r\n    \"lastName\": null,\r\n    \"orgList\": [],\r\n    \"ecomBasePath\": \"//phtest.parker.com/\",\r\n    \"autoSuggestionSearchDetailsURL\": \"/api/apollo/collections/ParkerDotComMainMaster/query-profiles/mypdc-suggest-flyout/select  \",\r\n    \"autoSuggestionSearchURL\": \"//phtest.parker.com/api/apollo/collections/ParkerDotComMainMaster/query-profiles/mypdc-suggest/select\",\r\n    \"languages\": [\r\n      {\r\n        \"langCode\": \"CS\",\r\n        \"langText\": \"česky\",\r\n        \"value\": \"-27\"\r\n      },\r\n      {\r\n        \"langCode\": \"DK\",\r\n        \"langText\": \"Danish\",\r\n        \"value\": \"-28\"  \r\n      },\r\n      {\r\n        \"langCode\": \"DE\",\r\n        \"langText\": \"Deutsch\",\r\n        \"value\": \"-3\"\r\n      },\r\n      {\r\n        \"langCode\": \"EN\",\r\n        \"langText\": \"English\",\r\n        \"value\": \"-1\"\r\n      },\r\n      {\r\n        \"langCode\": \"ES\",\r\n        \"langText\": \"Español\",\r\n        \"value\": \"-5\"\r\n      },\r\n      {\r\n        \"langCode\": \"FR\",\r\n        \"langText\": \"Français\",\r\n        \"value\": \"-2\"\r\n      },\r\n      {\r\n        \"langCode\": \"HU\",\r\n        \"langText\": \"Hungarian\",\r\n        \"value\": \"-31\"\r\n      },\r\n      {\r\n        \"langCode\": \"IT\",\r\n        \"langText\": \"Italiano\",\r\n        \"value\": \"-4\"\r\n      },\r\n      {\r\n        \"langCode\": \"NL\",\r\n        \"langText\": \"Nederlands\",\r\n        \"value\": \"-29\"\r\n      },\r\n      {\r\n        \"langCode\": \"NO\",\r\n        \"langText\": \"Norsk\",\r\n        \"value\": \"-25\" \r\n      },\r\n      {\r\n        \"langCode\": \"PL\",\r\n        \"langText\": \"Polski\",\r\n        \"value\": \"-22\"\r\n      },\r\n      {\r\n        \"langCode\": \"PT\",\r\n        \"langText\": \"Português\",\r\n        \"value\": \"-6\"\r\n      },\r\n      {\r\n        \"langCode\": \"RU\",\r\n        \"langText\": \"Russian\",\r\n        \"value\": \"-20\"\r\n      },\r\n      {\r\n        \"langCode\": \"FI\",\r\n        \"langText\": \"Suomi\",\r\n        \"value\": \"-24\"\r\n      },\r\n      {\r\n        \"langCode\": \"SV\",\r\n        \"langText\": \"Svenska\",\r\n        \"value\": \"-26\"\r\n      },\r\n      {\r\n        \"langCode\": \"TH\",\r\n        \"langText\": \"Thai\",\r\n        \"value\": \"-32\"\r\n      },\r\n      {\r\n        \"langCode\": \"TR\",\r\n        \"langText\": \"Türkçe\",\r\n        \"value\": \"-30\"\r\n      },\r\n      {\r\n        \"langCode\": \"VI\",\r\n        \"langText\": \"Vietnamese\",\r\n        \"value\": \"-34\"\r\n      },\r\n      {\r\n        \"langCode\": \"ZH\",\r\n        \"langText\": \"中文\",\r\n        \"value\": \"-7\"  \r\n      },\r\n      {\r\n        \"langCode\": \"JP\",\r\n        \"langText\": \"日本語\",\r\n        \"value\": \"-10\" \r\n      },\r\n      {\r\n        \"langCode\": \"TW\",\r\n        \"langText\": \"繁體中文\",\r\n        \"value\": \"-8\" \r\n      },\r\n      {\r\n        \"langCode\": \"KO\",\r\n        \"langText\": \"한국어\",\r\n        \"value\": \"-9\"\r\n      }\r\n    ],\r\n    \"singOutURL\": \"phtest.parker.comnull\",\r\n    \"manageUserURL\": \"phtest.parker.comnull\",\r\n    \"firstName\": null,\r\n    \"portalSearchUrl\": \"//test.parker.com/portal/site/MyParker/menuitem.998f749d580bdff2964c94754256d1ca/?vgnextoid=49a9917e4ff20610VgnVCM10000025651dacRCRD\",\r\n    \"productURL\": \"phtest.parker.comnull\"\r\n  },   \r\n    \"categoryList\": [\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/aerospace-systems-and-technologies-mp\",\r\n        \"categoryName\": \"Aerospace Systems and Technologies\",\r\n        \"categoryId\": \"361101\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/air-preparation-frl-and-dryers-mp\",\r\n        \"categoryName\": \"Air Preparation (FRL) and Dryers\",\r\n        \"categoryId\": \"361155\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/cylinders-and-actuators-mp\",\r\n        \"categoryName\": \"Cylinders and Actuators\",\r\n        \"categoryId\": \"361168\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/emi-shielding-mp\",\r\n        \"categoryName\": \"EMI Shielding\",\r\n        \"categoryId\": \"361624\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/filters-separators-and-purifiers-mp\",\r\n        \"categoryName\": \"Filters, Separators and Purifiers\",\r\n        \"categoryId\": \"319107\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/fittings-and-quick-couplings-mp\",\r\n        \"categoryName\": \"Fittings and Quick Couplings\",\r\n        \"categoryId\": \"319108\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/gas-generators-mp\",\r\n        \"categoryName\": \"Gas Generators\",\r\n        \"categoryId\": \"361150\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/hose-piping-tubing-and-t-slot-framing-mp\",\r\n        \"categoryName\": \"Hose, Piping, Tubing and T-Slot Framing\",\r\n        \"categoryId\": \"319110\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/medical-and-dental-equipment-mp\",\r\n        \"categoryName\": \"Medical and Dental Equipment\",\r\n        \"categoryId\": \"319111\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/motors-drives-and-controllers-mp\",\r\n        \"categoryName\": \"Motors, Drives and Controllers\",\r\n        \"categoryId\": \"361651\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/power-take-offs-and-drive-systems-mp\",\r\n        \"categoryName\": \"Power Take Offs and Drive Systems\",\r\n        \"categoryId\": \"319113\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/pumps-mp\",\r\n        \"categoryName\": \"Pumps\",\r\n        \"categoryId\": \"333601\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/seals-and-o-rings-mp\",\r\n        \"categoryName\": \"Seals and O-Rings\",\r\n        \"categoryId\": \"361742\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/regulators-monitors-sensors-and-flow-control-mp\",\r\n        \"categoryName\": \"Regulators, Monitors, Sensors and Flow Control\",\r\n        \"categoryId\": \"361719\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/refrigeration-and-air-conditioning-mp\",\r\n        \"categoryName\": \"Refrigeration and Air Conditioning\",\r\n        \"categoryId\": \"361705\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/thermal-and-power-management-mp\",\r\n        \"categoryName\": \"Thermal and Power Management\",\r\n        \"categoryId\": \"361774\"\r\n      },\r\n      {\r\n        \"categoryURL\": \"phtest.parker.com/myparker/en/valves-mp\",\r\n        \"categoryName\": \"Valves\",\r\n        \"categoryId\": \"333602\"\r\n      }\r\n    ] \r\n}\r\n\r\n","import Axios from 'axios';\r\nimport { headerFooterData } from '../mlv';\r\nimport { WCTokenURL, domain, getUserDetails, ocpapim_subscription_key_orgList } from '../api-config';\r\n\r\nconst getDefaultLanguage =async () => {\r\n    \r\n    // let WCToken = sessionStorage.getItem(\"WCToken\");\r\n    // let WCTrustedToken =sessionStorage.getItem(\"WCTrustedToken\");\r\n\r\n    // if(WCToken == null || WCTrustedToken == null){\r\n    let getWC  = await getWCToken();\r\n    // }\r\n    let defaultLang =  await getDefaultLang();\r\n    return defaultLang;\r\n}\r\n\r\nconst getWCToken = async() =>{\r\n    let email = JSON.parse(localStorage.getItem('loginRGAData'));\r\n    let oktaId = localStorage.getItem('oktaSessionID');\r\n    let requestBody = {\r\n        \"logonId\": email?.eMailAddress,\r\n        \"oktaSessionId\": oktaId  //For localhost : take oktasessionid from claimstest.parker.com and replace it here\r\n        }\r\n    let token = await Axios.post( WCTokenURL, requestBody,{headers: {\r\n        'ocp-apim-subscription-key': ocpapim_subscription_key_orgList\r\n\r\n      }})\r\n    .then((res) => {\r\n        sessionStorage.setItem(\"WCToken\", res.data.WCToken);\r\n        sessionStorage.setItem(\"WCTrustedToken\", res.data.WCTrustedToken);\r\n        document.cookie = domain+\"_WCToken=\"  +res.data.WCToken;\r\n        document.cookie = domain+\"_WCTrustedToken=\"  +res.data.WCTrustedToken;\r\n        return \"\";\r\n    })\r\n    .catch((err) => {\r\n        console.log(err);\r\n        return \"\";\r\n    })\r\n    return token;\r\n  }\r\nconst getDefaultLang = async() =>{\r\n  let WCToken =  sessionStorage.getItem(\"WCToken\");\r\n  let WCTrustedToken =  sessionStorage.getItem(\"WCTrustedToken\");\r\n  let header = {\r\n      'ocp-apim-subscription-key': ocpapim_subscription_key_orgList,\r\n    //   \"WCToken\": WCToken,\r\n    //   \"WCTrustedToken\": WCTrustedToken\r\n      }\r\n  let url = getUserDetails + \"?userEmail=\" + sessionStorage.getItem(\"oktaUserEmail\");\r\n  let defaultLang = await fetch(url, {\r\n    method: 'GET',\r\n    headers: header\r\n})\r\n.then(response => response.json())\r\n  .then((res) => {   \r\n    console.log(\"getDefaultLang\", res)     \r\n        let language;\r\n        res?.langID ? language = headerFooterData.header.languages.find(e => e.value == res?.langID) : language = \"EN\";\r\n        window.sessionStorage.setItem('lang', language.langCode);\r\n        //window.location.href=window.location.href+'?lang='+language.langCode+'&cid='+cid;\r\n      \r\n      \r\n      return language.langCode;\r\n  })\r\n  .catch((err) => {\r\n      console.log(err);\r\n      return \"\";\r\n  })\r\n  return defaultLang;\r\n}\r\n\r\nexport default getDefaultLanguage;","\r\nimport { useOktaAuth } from '@okta/okta-react';\r\nimport React, { useState, useEffect } from 'react';\r\nimport '../../Appcss/login.css'\r\nimport auth from '../../auth'\r\nimport { OnLogin, GetSSOOkta, LoginSSO, DeleteSSOOkta, GetFirstNameLastNameFromOKTA } from '../../Store/Actions'\r\nimport { connect } from 'react-redux'\r\nimport { ADD_SUBMITLOGIN, LOGIN, Loaded, LOGOUT, OKTAGETSessionURL } from '../../Store/Type'\r\nimport { Authentication, setPrResponseData, DataLoaded, LoadMLV } from '../../Store/ActionMessage'\r\nimport { asyncvarification } from '../../varification'\r\nimport { GetOrgList } from \"../../Store/CliamListAction\";\r\nimport header from '../HeaderFooter/MainHeader';\r\nimport getDefaultLanguage from '../../Services/getDefaultLang';\r\n\r\n\r\nvar initialData = {\r\n  username: \"\",\r\n  password: \"\",\r\n  isLogged: false,\r\n  loginStatus: \"\"\r\n}\r\n\r\n\r\n\r\n\r\nconst OktaLogin = (props) => {\r\n\r\n\r\n\r\n\r\n  const { authState, authService } = useOktaAuth();\r\n  \r\n  const [state, setState] = useState(initialData);\r\n\r\n\r\n  let sessionMeID = undefined;\r\n\r\n    asyncvarification().then\r\n    (async(id) => { \r\n      sessionMeID = window.sessionStorage.getItem('oktaSessionMeId'); \r\n      sessionMeID == null ? sessionMeID = id : sessionMeID =sessionMeID;\r\n      if(authState.isAuthenticated){\r\n        console.log('oktaAccessToken', authState.accessToken);\r\n        localStorage.setItem(\"oktaSessionID\", authState.accessToken);\r\n      }\r\n      else{\r\n        authService.getAccessToken()\r\n        .then(token => {\r\n          console.log('new oktaAccessToken', authState.accessToken);\r\n        localStorage.setItem(\"oktaSessionID\", authState.accessToken);\r\n        })\r\n        .catch(err => {\r\n          console.error('Failed to renew access token:', err);\r\n        });\r\n      }\r\n      if (sessionMeID == null || sessionMeID == undefined)\r\n      {\r\n      if (authState.isAuthenticated) authService.login('/');\r\n      }\r\n    },\r\n    (err)=>\r\n    {\r\n      let temp_check = sessionStorage.getItem(\"temp_check\");\r\n      if( temp_check == undefined || temp_check == null ){\r\n        sessionStorage.setItem(\"temp_check\",\"not\");\r\n        authService.login('/');\r\n        \r\n      }\r\n      console.log(err);\r\n    }\r\n  )\r\n\r\n  \r\n\r\n  useEffect(() => {\r\n\r\n    if (window.location.toString().indexOf('cid') != -1) {\r\n      var queryDetails = ParseParams(window.location.search);\r\n      queryDetails.cid = queryDetails.cid;\r\n      queryDetails.lang = queryDetails.lang;\r\n      localStorage.setItem(\"oktaciddata\", JSON.stringify(queryDetails))\r\n    }\r\n\r\n    if (authState.isPending === undefined) {\r\n      props.setPrResponseData({\r\n        type: ADD_SUBMITLOGIN,\r\n        data: []\r\n      });\r\n\r\n      if (authState.isAuthenticated) {\r\n\r\n        // if (auth.isAuthenticated()) {\r\n        //   localStorage.removeItem(\"oktaciddata\");\r\n        //   if (window.location.toString().indexOf('cid') != -1) {\r\n        //     var queryDetails = ParseParams(window.location.search);\r\n        //     const sessionData = JSON.parse(localStorage.getItem(\"loginRGAData\"));\r\n        //     sessionData.cid = queryDetails.cid;\r\n        //     sessionData.lang = queryDetails.lang;\r\n\r\n        //     // localStorage.setItem(\"loginRGAData\",sessionData)\r\n            \r\n        //     auth.loginAfterReferesh(() => {\r\n        //       if(document.cookie.split('; ').find(cookie => cookie.match('oktaSessionMeId')) || window.sessionStorage.getItem('oktaSessionMeId') != null ){\r\n        //         props.history.push(\"/list\");\r\n        //       }\r\n        //       else{\r\n        //         //auth.logout();\r\n        //         //props.Authentication({ type: \"LOGOUT\", data: {} });\r\n        //         //const idToken = authState.idToken;     \r\n        //       //   authService.logout('/');     \r\n        //       //   const redirectUri = `${window.location.origin}/logout`;\r\n        //       //   authService.login('/');  \r\n        //         //window.location.href = `${OktaConfig.oidc.issuer}/v1/logout?id_token_hint=${idToken}&post_logout_redirect_uri=${redirectUri}`;    \r\n        //         sessionStorage.clear();\r\n        //        // document.cookie =  'oktaSessionMeId=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/';\r\n        //         // authService.logout(\"/logout\");\r\n        //         // authService._oktaAuth.tokenManager.clear();\r\n        //         authService.login('/'); \r\n        //       }\r\n        //     }, sessionData);\r\n\r\n\r\n        //   } else {\r\n        //     if(document.cookie.split('; ').find(cookie => cookie.match('oktaSessionMeId')) || window.sessionStorage.getItem('oktaSessionMeId') != null ){\r\n        //       var url = localStorage.getItem('originalUrl');;\r\n              \r\n        //       if(url){\r\n        //         window.location.assign(url)\r\n        //       }else{\r\n        //         props.history.push(\"/list\");\r\n        //       }\r\n              \r\n        //     }\r\n        //     else{\r\n        //       //auth.logout();\r\n        //       //props.Authentication({ type: \"LOGOUT\", data: {} });\r\n        //      // const idToken = authState.idToken;     \r\n        //     //   authService.logout('/');     \r\n        //     //   const redirectUri = `${window.location.origin}/logout`;\r\n        //     //   authService.login('/');  \r\n        //       //window.location.href = `${OktaConfig.oidc.issuer}/v1/logout?id_token_hint=${idToken}&post_logout_redirect_uri=${redirectUri}`;    \r\n        //       sessionStorage.clear();\r\n        //       authService.login('/');  \r\n        //      // document.cookie =  'oktaSessionMeId=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/';\r\n        //       // authService.logout(\"/logout\");\r\n        //       // authService._oktaAuth.tokenManager.clear();\r\n        //     }\r\n        //   }\r\n\r\n        // }\r\n        asyncvarification().then((asyncRes) => {\r\n          if( asyncRes == null){\r\n            authService.login('/');\r\n          }\r\n           else {\r\n            props.setPrResponseData({\r\n              type: ADD_SUBMITLOGIN,\r\n              data: []\r\n            });\r\n  \r\n            try {\r\n              //GetLoginData(LoginSSO(\"00uoao94t3Z9aQQGy0h7\", \"saravana.selvamani@parker.com\", \"EN\"));\r\n              GetSSOOkta().then(\r\n                (res) => {\r\n                  var idpId = res.data.userId;\r\n                  var emailAddress = res.data.login;\r\n                  GetLoginData(LoginSSO(idpId, emailAddress, \"EN\"), GetFirstNameLastNameFromOKTA(emailAddress));\r\n  \r\n                },\r\n                (error) => {\r\n                  console.log(error)\r\n                  // authService.login('/');\r\n                  props.DataLoaded({\r\n                    type: Loaded\r\n                  });\r\n                });\r\n            } catch (error) {\r\n              props.DataLoaded({\r\n                type: Loaded\r\n              });\r\n              //authService.login('/');\r\n            }\r\n          }\r\n        });\r\n        \r\n      }\r\n      else {\r\n        authService.login('/');\r\n      }\r\n    }\r\n  }, [authState, authService])\r\n\r\n  const getDefaultCid = () =>{\r\n    let data = props.GetOrgList()\r\n      .then((res) => {\r\n        let result = res?.data;\r\n        let headerData =  result?.header?.orgList?.find((e) => e.isDefault)\r\n        let defaultLang = result?.request?.langId;\r\n        return {cid: headerData?.cid, lang: defaultLang}\r\n      })\r\n      .catch((err) => {\r\n        console.log(err);\r\n        return null;\r\n      })\r\n    return data;\r\n  }\r\n  const GetLoginData = (loginResponse, oktaUserResponse) => {\r\n    let fName = '';\r\n    let lName = '';\r\n    oktaUserResponse.then(\r\n      (resp)=>{\r\n        console.log(\"oktaUserResponse\",resp.data);\r\n        fName = resp.data.item1;\r\n        lName = resp.data.item2;\r\n        console.log(\"fName\",fName);\r\n        console.log(\"lName\",lName);\r\n      }\r\n    );\r\n    loginResponse.then(\r\n      (res) => {\r\n        setState({ ...state, \"isLogged\": false });\r\n        if(res.data != 'Failed to retrive data' ){\r\n        if ( !res.data.user.isMultipleWebId) {\r\n          if (res.data.user.ticket != null && res.data.user.token != null) {\r\n            if (res.data.user.customerNumber != null) {\r\n\r\n              if (res.data.user.isUserType && res.data.user.isResource) {\r\n\r\n                const CustomerResult = res.data.customerData.map((result) => {\r\n                  return { customerNumber: result.customerNumber, customerName: result.customerName }\r\n                });\r\n\r\n                var queryDetails = \"\";\r\n\r\n                if (window.location.toString().indexOf('cid') != -1) {\r\n                  queryDetails = ParseParams(window.location.search);\r\n                  console.log(queryDetails);\r\n                } else {\r\n                  let oktaLoginData = localStorage.getItem(\"loginRGAData\")\r\n                  if (oktaLoginData != null) {\r\n                    queryDetails = JSON.parse(localStorage.getItem(\"oktaciddata\"));\r\n                    localStorage.removeItem(\"oktaciddata\");\r\n                    console.log(\"queryDetails\");\r\n                    console.log(queryDetails);\r\n                  }\r\n                }\r\n\r\n                const logindata = {\r\n                  ticket: res.data.user.ticket,\r\n                  token: res.data.user.token,\r\n                  eMailAddress: res.data.user.eMailAddress === null ? \"\" : res.data.user.eMailAddress,\r\n                  firstName: fName === null ? \"\" : fName,\r\n                  lastName: lName === null ? \"\" : lName,\r\n                  customerNumber: res.data.user.customerNumber,\r\n                  userName: res.data.user.userName,\r\n                  userDateFormate: res.data.user.dateFormatMask,\r\n                  customerName: res.data.user.customerName,\r\n                  CustmersData: CustomerResult,\r\n                  Defaultlanguage: res.data.user.lang,\r\n                  MlvLanguages: res.data.user.rGALanguages,\r\n                  cid: queryDetails != \"\" && queryDetails ? queryDetails.cid : \"\",\r\n                  lang: queryDetails != \"\" && queryDetails? queryDetails.lang : \"\"\r\n                }\r\n\r\n                console.log(logindata)\r\n\r\n                props.Authentication({\r\n                  type: LOGIN, data: logindata\r\n                });\r\n\r\n                auth.login(async() => {\r\n                  let url = localStorage.getItem('originalUrl');\r\n                  console.log(\"original\",url);\r\n                  if(url){\r\n                    let params = new URLSearchParams(url.split('?')[1]);\r\n                    let hasCid = params.has('cid');\r\n                    let hasLang =  params.has('lang');\r\n                    if(hasLang){\r\n                      params.delete('lang');\r\n                      hasLang = false; //Always get default language from API\r\n                      url = url.split('?')[0] + '?' + params.toString()\r\n                    }\r\n                    if(hasCid){\r\n                      window.sessionStorage.setItem('cid',params.get('cid'));\r\n                     }\r\n                     if(hasLang){\r\n                      window.sessionStorage.setItem('lang',params.get('lang'));\r\n                      let domainName = ';domain=.parker.com';\r\n                      if (window.location.hostname.includes('localhost')) {\r\n                          domainName = '';\r\n                      }\r\n                      document.cookie = 'langForHeader' + \"=\" + params.get('lang')+ \";path=/\"+domainName;\r\n                     }\r\n                     if(!hasCid || !hasLang){\r\n                        let data={};\r\n                        if(!hasCid && !hasLang){\r\n                            url+=\"?\";\r\n                        }\r\n                        if(!hasCid){\r\n                          \r\n                           data = await getDefaultCid();\r\n                           window.sessionStorage.setItem('cid',data?.cid);\r\n                           hasLang && (url += '&');\r\n                           url+='cid='+data?.cid;\r\n                           hasCid = true;\r\n                        }\r\n                        if(!hasLang) {\r\n                           data.lang = await getDefaultLanguage();\r\n                           data.lang = data.lang ? data.lang : 'EN';\r\n                           console.log(data.lang)\r\n                           window.sessionStorage.setItem('lang',data?.lang);\r\n                           let domainName = ';domain=.parker.com';\r\n                           if (window.location.hostname.includes('localhost')){\r\n                                domainName = '';\r\n                            }\r\n                            document.cookie = 'langForHeader' + \"=\" + data?.lang+ \";path=/\"+domainName;\r\n                           hasCid && (url += '&');\r\n                           url+='lang='+data?.lang;\r\n                        } \r\n                     }\r\n                     let urlObj = new URL(url);\r\n                     // Check if the pathname is present in the URL\r\n                    if (!urlObj.pathname || urlObj.pathname === '/') {\r\n                        // If not, add '/list' to the URL\r\n                        urlObj.pathname = '/list';\r\n                    }\r\n                    window.location.assign(urlObj)\r\n                  }\r\n                  else{\r\n                    let data = {};\r\n                    if(sessionStorage.getItem('cid')){\r\n                      data.cid = sessionStorage.getItem('cid');\r\n                      //data.lang = sessionStorage.getItem('lang')\r\n                      //data.lang = data.lang ? data.lang : 'EN';\r\n                    }\r\n                    else{\r\n                      \r\n                      const urlParams = new URLSearchParams(window.location.search);\r\n\r\n                      if(urlParams.has('cid') && urlParams.get('cid') != ''){\r\n                        data.cid = urlParams.get('cid');\r\n                      }else{\r\n                        data = await getDefaultCid();\r\n                      }\r\n                    }\r\n\r\n                    if(sessionStorage.getItem('lang')){\r\n                      data.lang = sessionStorage.getItem('lang');\r\n                    }\r\n                    else{\r\n                      data.lang = await getDefaultLanguage();\r\n                      data.lang = data.lang ? data.lang : 'EN';\r\n                    }\r\n                    window.sessionStorage.setItem('cid',data?.cid);\r\n                    window.sessionStorage.setItem('lang',data?.lang);\r\n                    let domainName = ';domain=.parker.com';\r\n                    if (window.location.hostname.includes('localhost')){\r\n                        domainName = '';\r\n                    }\r\n                    document.cookie = 'langForHeader' + \"=\" + data?.lang+ \";path=/\"+domainName;\r\n                    //props.history.push(`/list?lang=${window.myparkerLanguage}&cid=${window.myparkerCI}`);\r\n                    //props.history.push(`/list?cid=${data.cid}&lang=${data.lang}`);\r\n                    window.location.assign(`/list?cid=${data?.cid}&lang=${data?.lang}`)\r\n                  }\r\n                }, logindata);\r\n\r\n              } else {\r\n                setState({ ...state, isLogged: true });\r\n                setState({ ...state, loginStatus: props.mlvText.MLV_SECURITYISSUE });\r\n                props.DataLoaded({\r\n                  type: Loaded\r\n                });\r\n\r\n                //this.WindowLoad();\r\n              }\r\n            } else {\r\n              setState({ ...state, isLogged: true });\r\n\r\n              setState({ ...state, loginStatus: props.mlvText.MLV_LOGINCUSTOMERNOTAVAILABLE });\r\n              props.DataLoaded({\r\n                type: Loaded\r\n              });\r\n              // this.WindowLoad();\r\n            }\r\n          } else {\r\n            setState({ ...state, isLogged: true });\r\n            setState({ ...state, loginStatus: props.mlvText.MLV_LOGINFAIL });\r\n            props.DataLoaded({\r\n              type: Loaded\r\n            });\r\n            // this.WindowLoad();\r\n          }\r\n        } else {\r\n          setState({ ...state, isLogged: true });\r\n          setState({ ...state, loginStatus: props.mlvText.MLV_LOGINFAILMULTIPLEWEBID });\r\n          props.DataLoaded({\r\n            type: Loaded\r\n          });\r\n        }\r\n      }else{\r\n        console.log(\"SSO failure\");\r\n        props.DataLoaded({\r\n          type: Loaded\r\n        });\r\n      }\r\n      },\r\n      (error) => {\r\n        console.log(error);\r\n        props.DataLoaded({\r\n          type: Loaded\r\n        });\r\n\r\n      });\r\n  }\r\n\r\n  const ParseParams = (params = \"\") => {\r\n    const rawParams = params.replace(\"?\", \"\").split(\"&\");\r\n    const extractedParams = {};\r\n    rawParams.forEach((item) => {\r\n      item = item.split(\"=\");\r\n      extractedParams[item[0]] = item[1];\r\n    });\r\n    return extractedParams;\r\n  };\r\n\r\n  return (\r\n    <div>\r\n\r\n      <div className=\"content-section logincontainer\">\r\n        <div className=\"row\">\r\n          <div className=\"col-12 col-md-12\">\r\n            <div id=\"first\">\r\n              <div className=\"content-section\">\r\n                <div className={state.isLogged ? \" \" : \"hidediv\"} style={{ color: \"red\", textAlign: \"center\" }}>\r\n                  <p>{state.loginStatus}</p>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nconst mapMLVReducer = (state) => {\r\n  return {\r\n    mlvText: state.mlv\r\n  }\r\n}\r\n\r\nexport default connect(mapMLVReducer, { Authentication, setPrResponseData, DataLoaded, GetOrgList })(OktaLogin);\r\n","import React,{useEffect} from 'react';\r\nimport { useOktaAuth } from '@okta/okta-react';\r\nimport { DeleteSSOOkta } from '../../Store/Actions'\r\nimport auth from \"../../auth\";\r\nimport { ADD_SUBMITLOGIN, Loaded } from '../../Store/Type'\r\nimport { Authentication, setPrResponseData } from '../../Store/ActionMessage';\r\nimport { connect } from 'react-redux'\r\nimport OktaConfig from '../../OktaConfig'\r\n\r\nconst Logout = (props) => { \r\n\r\n  const {authState, authService } = useOktaAuth(); \r\n\r\n  useEffect(()=>{    \r\n    localStorage.setItem(\"okta-token-storage\", JSON.stringify({}));\r\n    props.setPrResponseData({\r\n        type: ADD_SUBMITLOGIN,\r\n        data: []\r\n      });\r\n       \r\n      \r\n       DeleteSSOOkta().then(\r\n        (res) => {\r\n          auth.logout();\r\n          props.Authentication({ type: \"LOGOUT\", data: {} });\r\n          const idToken = authState.idToken;     \r\n          authService.logout('/');     \r\n          const redirectUri = `${window.location.origin}/logout`;\r\n          authService.login('/');  \r\n          //window.location.href = `${OktaConfig.oidc.issuer}/v1/logout?id_token_hint=${idToken}&post_logout_redirect_uri=${redirectUri}`;    \r\n          \r\n        },\r\n        (error) => {\r\n          console.log(\"Okta Deleted error\");\r\n          auth.logout();\r\n          props.Authentication({ type: \"LOGOUT\", data: {} });\r\n          window.location.href = '/';\r\n          props.DataLoaded({\r\n            type: Loaded\r\n          });\r\n  \r\n        });\r\n\r\n    //window.location.href = '/';\r\n  },[])\r\n\r\n  return (\r\n   <div></div>\r\n  );\r\n\r\n\r\n};\r\n\r\nexport default connect(null, { Authentication, setPrResponseData })(Logout);\r\n \r\n\r\n\r\n\r\n","import React, { useEffect } from \"react\";\r\nimport { Route, Redirect,useHistory } from \"react-router-dom\";\r\nimport auth from \"./auth\";\r\nimport { useOktaAuth } from '@okta/okta-react';\r\n\r\nconst CustomLoginCallback = () => {\r\n    const { authState, authService } = useOktaAuth();\r\n    const history = useHistory();\r\n  \r\n    useEffect(async() => {\r\n      async function handleLogin() {\r\n        // Wait for the authentication process to complete\r\n        return await authService.handleAuthentication();\r\n  \r\n      }\r\n  \r\n      //if (authState.isPending) {\r\n       await handleLogin();\r\n        // Retrieve the original URL\r\n       //const originalUrl = localStorage.getItem('originalUrl') || '/';\r\n       // localStorage.removeItem('originalUrl')\r\n       // Redirect the user to the original URL\r\n       //window.location.href = originalUrl;\r\n       window.location.assign('/');\r\n      //}\r\n    }, [authState, authService, history]);\r\n  \r\n    // You can render a loading spinner here if you like\r\n    return null;\r\n  };\r\n  export default CustomLoginCallback;","import React from 'react';\r\nimport { Redirect } from 'react-router-dom';\r\n\r\nconst RouteWrapper = ({ component: Component, ...rest }) => {\r\n\r\n    function getCookie(name) {\r\n        let cookies = document.cookie.split(';');\r\n        name = name + \"=\";\r\n        let isLang = false;\r\n        for(var i = 0; i < cookies.length; i++) {\r\n            var c = cookies[i].trim();\r\n            if (c.indexOf(name) === 0) {\r\n                console.log(c.substring(name.length, c.length))\r\n                isLang = true;\r\n                return c.substring(name.length, c.length);\r\n            }\r\n        }\r\n        return isLang;\r\n    }\r\n    \r\n    const langForHeader = getCookie('langForHeader');\r\n    if (rest.location.pathname !== '/' && (!langForHeader || langForHeader === 'undefined' || langForHeader === 'null')) {\r\n        // Store the current URL in localStorage\r\n        localStorage.setItem('originalUrl', window.location.href);\r\n        return <Redirect to=\"/\" />;\r\n    }\r\n    return <Component {...rest} />;\r\n};\r\n\r\nexport default RouteWrapper;","import React, { useEffect, useState, useMemo, useCallback } from 'react';\r\nimport { connect } from 'react-redux'\r\nimport './App.css';\r\nimport './Appcss/comman.css'\r\nimport './Appcss/style.css'\r\nimport './Appcss/popup.css'\r\nimport './Appcss/spinner.css'\r\nimport './Appcss/all.css'\r\n\r\n\r\nimport { BrowserRouter as Router, Route, Switch } from 'react-router-dom';\r\nimport { AuthService, Security, SecureRoute, LoginCallback } from '@okta/okta-react';\r\nimport SubmitRequest from './Components/NewReturn/SubmitRequest';\r\nimport ProductReturns from './Components/ProductReturn/ProductReturns';\r\nimport OrderSearchMain from './Components/OrderSearch/OrderSearchMain';\r\nimport { ProtectedRoute } from './ProtectedRoute'\r\nimport Login from './Components/Authentication/Login';\r\nimport LoginLanding from './Components/Authentication/LoginLanding';\r\nimport ErrorBoundary from './ErrorBoundary'\r\nimport auth from \"./auth\";\r\nimport { ADD_SUBMITLOGIN, Loaded, ADD_PRSUBMIT, ADD_SUCCESS, ADD_FAILIURE, MLVRGA, MLVRGAHF } from './Store/Type'\r\nimport { Authentication, setPrResponseData, DataLoaded, LoadMLV, LoadHFData, successHandle } from './Store/ActionMessage';\r\nimport Error_404 from './Components/Exception/Error_404';\r\nimport { DeleteSSOOkta, GetRgaMLV } from './Store/Actions'\r\nimport OktaConfig from './OktaConfig'\r\nimport MainHeader from './Components/HeaderFooter/MainHeader';\r\nimport MainFooter from './Components/HeaderFooter/MainFooter';\r\nimport OktaLogin from './Components/Authentication/OktaLogin';\r\nimport Logout from './Components/Authentication/Logout';\r\nimport varification from '../src/varification';\r\nimport CustomLoginCallback from './customLogicCallBack';\r\nimport RouteWrapper from './routeWrapper';\r\n//import { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\nconst initialState = {\r\n  UserName: \"\",\r\n  SelectedLanguage: \"\",\r\n  Languages: [],\r\n  UserId: \"\"\r\n}\r\n\r\nfunction App(props) { \r\n\r\n  const authService = new AuthService({\r\n    ...OktaConfig.oidc,\r\n    isAuthenticated: async () => {\r\n        let isUserAuthenticated = false;\r\n        const existsData = await authService._oktaAuth.session.exists();\r\n        console.log(existsData, '--- existsData')\r\n        await authService._oktaAuth.session.exists()\r\n            .then(async (exists) => {\r\n                console.log(exists, '-- exists')\r\n                if (exists) {\r\n                    const idToken = await authService.getTokenManager().get('idToken');\r\n                    const accessToken = await authService.getTokenManager().get('accessToken');\r\n                    isUserAuthenticated = !!(idToken && accessToken);\r\n                    console.log(idToken,  '-- idToken (If exists=true)')\r\n                    console.log(accessToken,  '-- accessToken (If exists=true)')\r\n                    console.log(isUserAuthenticated,  '-- isUserAuthenticated (If exists=true)')\r\n                    if(isUserAuthenticated)  localStorage.setItem(\"oktaSessionID\", accessToken.accessToken);\r\n                }\r\n            });\r\n        if (!isUserAuthenticated) {\r\n            console.log(isUserAuthenticated, '-- !isUserAuthenticated')\r\n            console.log(authService, '-- authService (If !isUserAuthenticated)')\r\n            // Store the current URL in localStorage\r\n            localStorage.setItem('originalUrl', window.location.href);\r\n            await authService._oktaAuth.token.getWithoutPrompt({ responseType: ['token', 'id_token'] })\r\n                .then(function (res) {\r\n                    authService._oktaAuth.tokenManager.add('idToken', res.tokens.idToken);\r\n                    authService._oktaAuth.tokenManager.add('accessToken', res.tokens.accessToken);\r\n                    isUserAuthenticated = true;\r\n                    if(isUserAuthenticated)  localStorage.setItem(\"oktaSessionID\", res.tokens.accessToken.accessToken);\r\n                })\r\n                .catch(function (err) {\r\n                    console.log(err);\r\n                });\r\n        }\r\n        return isUserAuthenticated;\r\n    }\r\n});\r\nconsole.log(authService, '-- authService');\r\n\r\n  const [state, setState] = useState(initialState);\r\n  //const[ varificationResponse, setVarificationResponse ] = useState();\r\n  const onLogout = async e => { \r\n    props.setPrResponseData({\r\n      type: ADD_SUBMITLOGIN,\r\n      data: []\r\n    });\r\n    const urlLogout = `${window.location.origin}/logout`;\r\n    window.location.href = urlLogout;     \r\n  }\r\n   \r\n  // useEffect(async() => {\r\n  //   var oktaDetails =await varification();\r\n    \r\n  //   if(oktaDetails!='' && oktaDetails != null){\r\n  //   setVarificationResponse({'oktaSessionMeId': oktaDetails})\r\n  //   }else{\r\n  //     // window.location.href = '/';\r\n      \r\n  //     sessionStorage.clear();\r\n  //     //document.cookie =  'oktaSessionMeId=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/';\r\n  //     setVarificationResponse({'oktaSessionMeId': null})\r\n  //   } \r\n    \r\n  // }, [])\r\n  // useEffect(() => {\r\n  //   const hostname = window && window.location && window.location.hostname;\r\n  //   let instrumentationKeyVal;\r\n  //   if (/^claimstest/.test(hostname)) {\r\n  //     instrumentationKeyVal='a53e2f3c-32a5-4c16-b2d3-6bc23d887aa5';\r\n  //   }\r\n  //   else if (hostname === 'localhost') {\r\n  //     instrumentationKeyVal='a53e2f3c-32a5-4c16-b2d3-6bc23d887aa5';\r\n  //   }\r\n  //   else{\r\n  //     instrumentationKeyVal = '2b3d08fc-2b81-4a7c-8f78-4909c1162838';\r\n  //   }\r\n  //   const appInsights = new ApplicationInsights({config: {\r\n  //     instrumentationKey: instrumentationKeyVal\r\n  //   }});\r\n  //   appInsights.loadAppInsights();\r\n  //   appInsights.trackPageView(); // Manually call trackPageView to establish the current user/session/pageview\r\n\r\n  //   appInsights.addTelemetryInitializer((envelope) => {\r\n  //     if (envelope.baseType === 'RemoteDependencyData') {\r\n  //       const data = envelope.baseData;\r\n  //       if (data.type === 'Ajax') {\r\n  //         // Get the headers from the XMLHttpRequest object\r\n  //         const xhr = data.properties['ajaxData'];\r\n  //         if (xhr) {\r\n  //           const headers = xhr.requestHeaders;\r\n  //           // Add all headers to the telemetry properties\r\n  //           for (const key in headers) {\r\n  //             if (headers.hasOwnProperty(key)) {\r\n  //               // Prefix the keys to avoid conflicts\r\n  //               envelope.properties[`header-${key}`] = headers[key];\r\n  //             }\r\n  //           }\r\n  //         }\r\n  //       }\r\n  //     }\r\n  //   });\r\n  //   window.appInsights = appInsights;\r\n  // },[])\r\n  useEffect(() => {\r\n    const sessionData = JSON.parse(localStorage.getItem(\"loginRGAData\"));\r\n    const sessionOkta = JSON.parse(localStorage.getItem(\"okta-token-storage\"));\r\n    if(sessionOkta != null){\r\n      if(window.location.pathname === \"implicit/callback\"){\r\n        console.log(\"sessionOkta\")\r\n      }\r\n      console.log(sessionOkta)\r\n    }\r\n    if (props.isLog && sessionData != undefined && sessionData != null) {\r\n      const userName = sessionData.firstName + \" \" + sessionData.lastName;\r\n      const userId = sessionData.eMailAddress;\r\n      //const selectedLang = sessionData.lang == undefined ? sessionData.lang:sessionData.Defaultlanguage;\r\n      var selectedLang = sessionData.lang != undefined ? sessionData.lang:sessionData.Defaultlanguage;\r\n      selectedLang=window.sessionStorage.getItem('lang');\r\n      if (selectedLang==null || selectedLang == undefined) selectedLang = 'EN';\r\n      setState({ ...state, UserName: userName, SelectedLanguage: selectedLang, Languages: sessionData.MlvLanguages, UserId: userId });\r\n      GetMlvData(selectedLang, userId, 1);\r\n    }\r\n  }, [props.isLog])\r\n\r\n  useEffect(() => {\r\n\r\n    if (props.isLoading) {\r\n      var component = document.querySelector('.loader');\r\n      let event = null;\r\n      try {\r\n        event = new Event(\"click\");\r\n      }\r\n      catch (error) {\r\n        event = document.createEvent(\"Event\");\r\n        let doesnt_bubble = false;\r\n        let isnt_cancelable = false;\r\n        event.initEvent(\"click\", doesnt_bubble, isnt_cancelable);\r\n      }\r\n      // disclosure_control is a details element.\r\n\r\n      component.dispatchEvent(event);\r\n    }\r\n    return () => {\r\n      if (!props.isLoading) {\r\n        var component = document.querySelector('.loader');\r\n        component.addEventListener('click', clickDesktop1Handler, true);\r\n      } else {\r\n        var component = document.querySelector('.loader');\r\n        component.removeEventListener('click', clickDesktop1Handler, true);\r\n      }\r\n    }\r\n\r\n  }, [props.isLoading])\r\n\r\n\r\n  const onChangeMLV = (e) => {\r\n    props.setPrResponseData({\r\n      type: ADD_PRSUBMIT,\r\n      data: []\r\n    });\r\n    const selectedLanguage = e.target.value;\r\n    setState({ ...state, SelectedLanguage: selectedLanguage });\r\n    GetMlvData(selectedLanguage, state.UserId, 2);\r\n\r\n  };\r\n\r\n  const GetMlvData = (selectedLanguage, userId, isOnchangeMlv) => {\r\n    props.GetRgaMLV(selectedLanguage, userId).then(\r\n      (res) => {\r\n        props.LoadMLV({ type: MLVRGA, data: res.data.mlvText });\r\n        let hfreturnData = Object.assign(res.data.headerFooterData.headerFooterData, res.data.headerFooterData.categoryList);\r\n        props.LoadHFData({ type: MLVRGAHF, data: hfreturnData });\r\n        if (isOnchangeMlv == 2) {\r\n          props.DataLoaded({\r\n            type: Loaded\r\n          });\r\n        }\r\n      },\r\n      (err) => {\r\n        props.successHandle({\r\n          type: ADD_FAILIURE,\r\n          data: []\r\n        });\r\n      }\r\n\r\n    )\r\n  };\r\n\r\n\r\n  const onChangeMLVEvent = useCallback(onChangeMLV, [state.SelectedLanguage]);\r\n\r\n\r\n  const mainHeader = useMemo(() => {\r\n    return (<MainHeader UserName={state.UserName} onLogout={onLogout} Languages={state.Languages} SelectedLanguage={state.SelectedLanguage} onChangeMLV={onChangeMLV}></MainHeader>)\r\n    \r\n  }, [state.UserName, state.Languages, state.SelectedLanguage, onChangeMLVEvent])\r\n\r\n  function getCookie(name) {\r\n    let cookies = document.cookie.split(';');\r\n    name = name + \"=\";\r\n    let isLang = false;\r\n    for(var i = 0; i < cookies.length; i++) {\r\n        var c = cookies[i].trim();\r\n        if (c.indexOf(name) === 0) {\r\n            console.log(c.substring(name.length, c.length))\r\n            isLang = true;\r\n            return c.substring(name.length, c.length);\r\n        }\r\n    }\r\n    return isLang;\r\n}\r\n  return (\r\n    <React.Fragment>\r\n      {getCookie(\"langForHeader\") && mainHeader}\r\n      {/* {props.isLog ? mainHeader :\"\"} */}\r\n      <div style={{ marginTop: \"-35px\",minHeight:\"200px\" }}>\r\n        <div className={props.isLoading ? \"loadingDiv\" : \"divdisableNone\"} ></div>\r\n        <div className={props.isLoading ? \"loading loader component keyframe1\" : \"divdisableNone loader component keyframe1\"} data-initial-state=\"keyframe1\">\r\n          <img className=\"large-cog\" src={require('./img/large-cog@2x.png')} style={{ zIndex: \"2000\" }} />\r\n          <img className=\"small-cog\" src={require('./img/small-cog@2x.png')} style={{ zIndex: \"2000\" }} />\r\n\r\n        </div>\r\n        <Router>\r\n          {/* <HashRouter basename=\"\"> */}\r\n          <Security authService={authService}>\r\n          {/* <ErrorBoundary> */}\r\n              <Switch>               \r\n                <SecureRoute exact path='/' component={OktaLogin} />\r\n                <Route exact path='/Login' component={Login} />\r\n                <SecureRoute exact path='/list' render={(props) => <RouteWrapper {...props} component={ProductReturns} />} />\r\n                <SecureRoute exact path='/newreturn' render={(props) => <RouteWrapper {...props} component={SubmitRequest} />} />\r\n                <SecureRoute exact path='/OrderSearch' render={(props) => <RouteWrapper {...props} component={OrderSearchMain} />} />\r\n                <Route path=\"/implicit/callback\" component={CustomLoginCallback} />\r\n                <Route exact path='/Logout' component={Logout}></Route>\r\n                <Route path='*' component={Error_404} />\r\n              </Switch>\r\n              {/* </ErrorBoundary> */}\r\n          </Security>\r\n        </Router>\r\n        {/* </HashRouter> */}\r\n      </div>\r\n      <MainFooter></MainFooter>\r\n      {/* {props.isLog ? <MainFooter></MainFooter> :\"\"} */}\r\n      \r\n    </React.Fragment>\r\n  );\r\n}\r\n\r\nconst onMapState = (state) => {\r\n  return {\r\n    isLoading: state.nrp.isLoading,\r\n    isLog: state.log.isAuthenticate,\r\n    mlvText: state.mlv\r\n  }\r\n}\r\n\r\nexport default connect(onMapState, { Authentication, setPrResponseData, DataLoaded, GetRgaMLV, LoadMLV, LoadHFData, successHandle })(App);\r\n\r\nfunction clickDesktop1Handler(event) {\r\n  var component = document.querySelector('.loader');\r\n  if (isCurrentState(component, 'keyframe1')) {\r\n    try {\r\n      //  console.log('Listener for event: click triggered. State: keyframe1');\r\n      setTimeout(function () {\r\n        var component = document.querySelector('.loader');\r\n        component.addEventListener(transitionEvent, transitionDesktopkeyframe1tokeyframe2EndedHandler);\r\n        removeAllClassesButFirst(component, 'keyframe1-to-keyframe2');\r\n        addClass(component, 'keyframe2');\r\n        addClass(component, 'keyframe1-to-keyframe2');\r\n      }, 0);\r\n    }\r\n    catch (e) {\r\n      console.log(e)\r\n    }\r\n  }\r\n}\r\n\r\n\r\nif (typeof String.prototype.endsWith !== 'function') {\r\n  String.prototype.endsWith = function (suffix) {\r\n    return this.indexOf(suffix, this.length - suffix.length) !== -1;\r\n  };\r\n}\r\n\r\nif (!String.prototype.startsWith) {\r\n  String.prototype.startsWith = function (searchString, position) {\r\n    position = position || 0;\r\n    return this.indexOf(searchString, position) === position;\r\n  };\r\n}\r\n\r\nif (!Array.prototype.forEach) {\r\n\r\n  Array.prototype.forEach = function (callback/*, thisArg*/) {\r\n\r\n    var T, k;\r\n\r\n    if (this == null) {\r\n      throw new TypeError('this is null or not defined');\r\n    }\r\n\r\n    // 1. Let O be the result of calling toObject() passing the\r\n    // |this| value as the argument.\r\n    var O = Object(this);\r\n\r\n    // 2. Let lenValue be the result of calling the Get() internal\r\n    // method of O with the argument \"length\".\r\n    // 3. Let len be toUint32(lenValue).\r\n    var len = O.length >>> 0;\r\n\r\n    // 4. If isCallable(callback) is false, throw a TypeError exception.\r\n    // See: http://es5.github.com/#x9.11\r\n    if (typeof callback !== 'function') {\r\n      throw new TypeError(callback + ' is not a function');\r\n    }\r\n\r\n    // 5. If thisArg was supplied, let T be thisArg; else let\r\n    // T be undefined.\r\n    if (arguments.length > 1) {\r\n      T = arguments[1];\r\n    }\r\n\r\n    // 6. Let k be 0.\r\n    k = 0;\r\n\r\n    // 7. Repeat while k < len.\r\n    while (k < len) {\r\n\r\n      var kValue;\r\n\r\n      // a. Let Pk be ToString(k).\r\n      //    This is implicit for LHS operands of the in operator.\r\n      // b. Let kPresent be the result of calling the HasProperty\r\n      //    internal method of O with argument Pk.\r\n      //    This step can be combined with c.\r\n      // c. If kPresent is true, then\r\n      if (k in O) {\r\n\r\n        // i. Let kValue be the result of calling the Get internal\r\n        // method of O with argument Pk.\r\n        kValue = O[k];\r\n\r\n        // ii. Call the Call internal method of callback with T as\r\n        // the this value and argument list containing kValue, k, and O.\r\n        callback.call(T, kValue, k, O);\r\n      }\r\n      // d. Increase k by 1.\r\n      k++;\r\n    }\r\n    // 8. return undefined.\r\n  };\r\n}\r\n\r\nfunction toArray(obj) {\r\n  var array = [];\r\n  // iterate backwards ensuring that length is an UInt32\r\n  for (var i = obj.length >>> 0; i--;) {\r\n    array[i] = obj[i];\r\n  }\r\n  return array;\r\n}\r\n\r\nfunction addClass(object, className) {\r\n  object.classList ? object.classList.add(className) : object.className += ' ' + className;\r\n}\r\n\r\nfunction removeAllClassesButFirst(component, skipClass) {\r\n  var classList = component.classList;\r\n  var componentClass = classList.item(0);\r\n  var toRemove = [];\r\n  var beforeComponent = true;\r\n  toArray(classList).forEach(function (className) {\r\n    beforeComponent = beforeComponent && className != 'component'\r\n    if (className != skipClass && className != componentClass && className != 'component' && !beforeComponent) {\r\n      toRemove.push(className);\r\n    }\r\n  });\r\n  toRemove.forEach(function (className) {\r\n    classList.remove(className);\r\n  });\r\n}\r\n\r\nfunction applyState(component, stateClass) {\r\n  var componentClass = component.classList.item(0);\r\n  component.className = componentClass;\r\n  component.classList.add(stateClass);\r\n}\r\n\r\nfunction isCurrentState(component, state) {\r\n  var classList = component.classList;\r\n  var rv = false;\r\n  toArray(classList).forEach(function (className) {\r\n    if (className.endsWith(state)) {\r\n      rv = true;\r\n    }\r\n  })\r\n  return rv;\r\n}\r\n\r\nfunction whichTransitionEvent() {\r\n  var t,\r\n    el = document.createElement(\"fakeelement\");\r\n\r\n  var transitions = {\r\n    \"transition\": \"transitionend\",\r\n    \"OTransition\": \"oTransitionEnd\",\r\n    \"MozTransition\": \"transitionend\",\r\n    \"WebkitTransition\": \"webkitTransitionEnd\"\r\n  }\r\n\r\n  for (t in transitions) {\r\n    if (el.style[t] !== undefined) {\r\n      return transitions[t];\r\n    }\r\n  }\r\n}\r\n\r\n\r\nvar transitionEvent = whichTransitionEvent();\r\n\r\n// Javascript for component Desktop\r\n// Longest animation for Transition 1 is this;fill51\r\n// Transition 1: From keyframe1 to keyframe2\r\n\r\n// function clickDesktop1Handler(event) {\r\n//   var component = document.querySelector('.loader');\r\n//   if (isCurrentState(component, 'keyframe1')) {\r\n//     try {\r\n//       //  console.log('Listener for event: click triggered. State: keyframe1');\r\n//       setTimeout(function () {\r\n//         var component = document.querySelector('.loader');\r\n//         component.addEventListener(transitionEvent, transitionDesktopkeyframe1tokeyframe2EndedHandler);\r\n//         removeAllClassesButFirst(component, 'keyframe1-to-keyframe2');\r\n//         addClass(component, 'keyframe2');\r\n//         addClass(component, 'keyframe1-to-keyframe2');\r\n//       }, 0);\r\n//     }\r\n//     catch (e) {\r\n//       console.log(e)\r\n//     }\r\n//   }\r\n// }\r\n\r\nfunction transitionDesktopkeyframe1tokeyframe2EndedHandler(event) {\r\n\r\n  if (event.target.className.trim() == 'small-cog' ||\r\n    event.target.className.startsWith('small-cog ')) {\r\n    var component = document.querySelector('.loader');\r\n    component.removeEventListener(transitionEvent, transitionDesktopkeyframe1tokeyframe2EndedHandler);\r\n    //console.log('transitionDesktopkeyframe1tokeyframe2EndedHandler()');\r\n    lastTransitionDesktopEndedHandler(event);\r\n  }\r\n}\r\n\r\n\r\nfunction lastTransitionDesktopEndedHandler(event) {\r\n  //console.log('lastTransitionDesktopEndedHandler()');\r\n  var component = document.querySelector('.loader');\r\n  removeAllClassesButFirst(component, 'keyframe1');\r\n  addClass(component, 'keyframe1');\r\n  let eventTarget = null;\r\n  try {\r\n    eventTarget = new Event(\"click\");\r\n  }\r\n  catch (error) {\r\n    eventTarget = document.createEvent(\"Event\");\r\n    let doesnt_bubble = false;\r\n    let isnt_cancelable = false;\r\n    eventTarget.initEvent(\"click\", doesnt_bubble, isnt_cancelable);\r\n  }\r\n  setTimeout(function () {\r\n    component.dispatchEvent(eventTarget);\r\n  }, 0);\r\n}\r\n\r\n\r\n// Transition Desktop keyframe1-to-keyframe2 Event Listeners\r\n// click keyframe1 keyframe Test\r\n\r\n\r\nfunction resetDesktop() {\r\n  //console.log('reset');\r\n  var component = document.querySelector('loader');\r\n  if (!component) { return; }\r\n  component.addEventListener(transitionEvent, transitionDesktopkeyframe1tokeyframe2EndedHandler);\r\n\r\n  removeAllClassesButFirst(component, 'keyframe1-to-keyframe2');\r\n  //addClass(component, 'keyframe2');\r\n  //addClass(component, 'keyframe1-to-keyframe2');\r\n}","// 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","\r\nimport { MLVRGA } from '../Type'\r\nimport { mlvlabel } from '../../mlv'\r\n\r\nfunction RGAMlvReducer(state = mlvlabel, action) {\r\n\r\n    switch (action.type) {\r\n        case MLVRGA:\r\n            var newState = { ...state };\r\n            var stateKeys = Object.keys(newState);\r\n            action.data.map(function (i, j) {\r\n                var isKey = stateKeys.some(m => m === i.mlvKey);\r\n                if (isKey) {\r\n                    newState[i.mlvKey] = i.value;\r\n                    if (i.mlvKey === \"MLV_DDSTATUS\") {                         \r\n                        var newAll = i.value.replace(/〜/g, \"|\").replace(/~/g, \"|\").split(\"|\");\r\n                        newState[\"MLV_ALL\"] = newAll.length > 2 ? newAll[0] : \"All\";\r\n                        newState[\"MLV_CLAIMSTATUS\"] = newAll.length > 2 ? newAll : newState.MLV_CLAIMSTATUS;\r\n                    }\r\n                }\r\n            });\r\n\r\n            return newState;\r\n            break;\r\n\r\n        default:\r\n            return state;\r\n            break;\r\n    }\r\n\r\n\r\n}\r\n\r\nexport default RGAMlvReducer;","import { ADD_PRSUBMIT, ADD_SUCCESS, ADD_SUBMITLOGIN, ADD_FAILIURE, Loaded,CANCEL,ADD_SUBMITCLAIM_FAILIURE } from '../Type'\r\nconst prstate = {\r\n    prdata: {},\r\n    isLoading: false,\r\n    isStatus: 0,\r\n    SelectedDivision: \"\",\r\n    srNumber: \"\"\r\n\r\n}\r\n\r\nconst NewReturnRequestReducer = (state = prstate, action) => {\r\n    switch (action.type) {\r\n\r\n        case ADD_SUBMITLOGIN:\r\n            let newLoginState = { ...state };\r\n            newLoginState.isLoading = true;\r\n            return newLoginState;\r\n\r\n        case ADD_PRSUBMIT:\r\n            let newDate = new Date();\r\n            sessionStorage.setItem(\"sessionRGADate\", JSON.stringify(newDate));\r\n            let newSubmitState = { ...state };\r\n            newSubmitState.isLoading = true;\r\n            newSubmitState.prdata = action.data\r\n            return newSubmitState;\r\n\r\n        case ADD_SUCCESS:\r\n            return {\r\n                isLoading: false,\r\n                prdata: action.data,\r\n                isStatus: 1,\r\n                SelectedDivision: action.division,\r\n                srNumber: action.srNumber\r\n            };           \r\n        case ADD_FAILIURE:\r\n            return {\r\n                isLoading: false,\r\n                prdata: {},\r\n                isStatus: 2,\r\n                SelectedDivision: \"\",\r\n                srNumber: \"\"\r\n            };     \r\n        case ADD_SUBMITCLAIM_FAILIURE:\r\n                return {\r\n                    isLoading: false,\r\n                    prdata: {},\r\n                    isStatus: 3,\r\n                    SelectedDivision: \"\",\r\n                    srNumber: \"\"\r\n                };      \r\n        case Loaded:\r\n            let newState = { ...state };\r\n            newState.isLoading = false;\r\n            return newState;            \r\n        case CANCEL:\r\n            let newCancelState = { ...state };\r\n            newCancelState.isStatus = 0;\r\n            return newCancelState;           \r\n        default:\r\n            let newDefaultState = { ...state };\r\n            return newDefaultState;            \r\n    }\r\n}\r\n\r\nexport default NewReturnRequestReducer;","import { INITIAL, PREVIOUS, NEXT } from '../Type'\r\n\r\nconst orderstate = {\r\n    RxOrderList: [],\r\n    Rxtotal: 0,\r\n    Rxskip: 0,\r\n    Rxtake: 0\r\n}\r\n\r\nconst OrderListReducer = (state = orderstate, action) => {\r\n\r\n    switch (action.type) {\r\n\r\n        case INITIAL:\r\n            let StateInitial = { ...state };\r\n            StateInitial.RxOrderList = action.data;\r\n            return StateInitial;\r\n            break;\r\n\r\n        case NEXT:           \r\n            let StateNext = { ...state };            \r\n            let concodinateArray = StateNext.RxOrderList.concat(action.data);             \r\n            StateNext.RxOrderList = concodinateArray;\r\n            return StateNext;\r\n            break;\r\n        case PREVIOUS:\r\n            return state;\r\n            break;       \r\n\r\n        default:\r\n            return state;\r\n            break;\r\n    }\r\n\r\n}\r\n\r\nexport default OrderListReducer;","import { LOGIN, LOGOUT } from '../Type'\r\nimport auth from '../../auth'\r\n\r\nvar loginStatus = {\r\n    firstname: \"\",\r\n    lastName: \"\",\r\n    Email: \"\",\r\n    ticket: \"\",\r\n    token: \"\",\r\n    customerNumber: \"\",\r\n    isAuthenticate: localStorage.getItem(\"loginRGAData\") != null ? true : false\r\n}\r\n\r\nconst LoginReducer = (state = loginStatus, action) => {\r\n    switch (action.type) {\r\n        case LOGIN:\r\n            localStorage.setItem(\"loginRGAData\", JSON.stringify(action.data));\r\n            const sessionData = JSON.parse(localStorage.getItem(\"loginRGAData\"));\r\n            let StateInitial = { ...state };\r\n            if(sessionData != null && sessionData != 'null'){\r\n                StateInitial.firstname = action.data.firstName;\r\n                StateInitial.lastName = action.data.lastName;\r\n                StateInitial.Email = action.data.eMailAddress;\r\n                StateInitial.ticket = action.data.ticket;\r\n                StateInitial.token = action.data.token;\r\n                StateInitial.customerNumber = action.data.customerNumber;\r\n                StateInitial.isAuthenticate = true;\r\n            }else{\r\n                StateInitial.isAuthenticate = false;\r\n            }\r\n           \r\n            return StateInitial;\r\n            break;\r\n        case LOGOUT:\r\n        auth.logout();\r\n            let StateInitialout = { ...state };\r\n            StateInitialout.firstname = \"\";\r\n            StateInitialout.lastName = \"\";\r\n            StateInitialout.Email = \"\";\r\n            StateInitialout.ticket = \"\";\r\n            StateInitialout.token = \"\";\r\n            StateInitialout.isAuthenticate = false;\r\n            return StateInitialout;\r\n            break;\r\n        default:\r\n            return state;\r\n            break;\r\n    }\r\n}\r\n\r\nexport default LoginReducer ","import {  MLVRGAHF } from '../Type'\r\nimport { headerFooterData } from '../../mlv'\r\n \r\nfunction RGAHFDataReducer(state = headerFooterData, action) {\r\n\r\n    switch (action.type) {\r\n        case MLVRGAHF:\r\n            var newState = { ...state};\r\n            newState  =   action.data.header != null ? action.data :newState ;                \r\n            return newState;\r\n        default:\r\n            return state;            \r\n    }\r\n\r\n\r\n}\r\n\r\nexport default RGAHFDataReducer;","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport './index.css';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\nimport { createStore, combineReducers, applyMiddleware, compose } from 'redux';\r\nimport { Provider } from 'react-redux';\r\nimport thunk from 'redux-thunk'\r\nimport 'es6-object-assign';\r\nimport 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable'; \r\nimport 'text-encoding-polyfill';\r\n\r\nimport RGAMlvReducer from './Store/Reducer/RGAMlvReducer'\r\nimport NewReturnRequestReducer from './Store/Reducer/NewReturnRequestReducer'\r\nimport OrderListReducer from  './Store/Reducer/OrderListReducer'\r\nimport LoginReducer from  './Store/Reducer/LoginReducer'\r\nimport RGAHFDataReducer from './Store/Reducer/RGAHFDataReducer'\r\n \r\nconst reducers = combineReducers({ nrp: NewReturnRequestReducer,olr:OrderListReducer,log:LoginReducer ,mlv:RGAMlvReducer ,hfdata:RGAHFDataReducer});\r\n\r\nconst store = createStore(\r\n    reducers,\r\n    compose(\r\n        applyMiddleware(thunk)\r\n    )\r\n);\r\n \r\nReactDOM.render(\r\n    <Provider store = {store}>\r\n        <App />\r\n    </Provider>\r\n    , document.getElementById('root'));\r\nserviceWorker.unregister();\r\n"],"sourceRoot":""}