{"version":3,"sources":["components/constants/APIConstants.js","buy.gif","components/ViewHOC.js","page_preload.gif","components/GoToTop.js","FE_User.png","components/Form.js","go .gif","SBOM_NEW.png","Shopping_cart.png","Show_fun_eq.png","components/Loading.js","components/Util.js","Cart.png","components/constants/constants.js","Actions/index.js","CartUtils.js","components/CartModal.js","components/navbar.js","components/ContactUS.js","components/Faq.js","components/Image.js","components/FunctionalEquivalent.js","components/Details.js","components/ProductList.js","components/PartImages.js","components/PartList.js","components/DescProductList.js","components/DescProductListPrint.js","components/ProductResults.js","components/SpareBOM.js","components/ComponentBOM.js","components/SerialNumberBOM.js","components/PartSurfer.js","components/UserGuide.js","components/Hierarchy.js","components/NewRequest.js","components/GenerateMetrics.js","components/Sbom.js","components/UIDLoader.js","components/CallBack.js","App.js","serviceWorker.js","components/footer.js","components/Header.js","Reducers/cartReducer.js","Reducers/index.js","index.js","components/login.js"],"names":["BASE_URL","process","GET_COUNTRIES","usertype","GENERIC_SEARCH","searchtext","country","GET_PARTLIST","partNumber","PARTLIST","PRODUCTLIST","productNumber","SERIALNUMBER","serialNumber","FUNCTIONAL","countryCode","FUNCTIONAL_LIST","SERIALWITHPRODUCT","ProductNumber","GET_HIERARCHY","GETHIERARCHYPRODUCT","OID","SERIALWITHPRODUCTGENERAL","INSERTFEEDBACK","INSERTPHOTOMETRIC","PartNumber","Flag","CARTMETRIC","Qty","BUYMETRIC","GETSBOM","GETUIDRESPONSE","code","GENERATEREPORT","username","RESPONSEURLUID","tokencallurl","UIDClientID","tokenurlforOAuth","clientvaluesforOAuth","GETGLBURL","REDIRECTUIDURL","module","exports","ViewHOC","WrappedComponent","WrappedComponentDisplayName","displayName","name","state","resize","setState","isMobile","window","innerWidth","WIDTH_THRESHOULD","addEventListener","this","callback","mobileView","props","React","Component","GoToTop","listenToScroll","document","body","scrollTop","documentElement","getElementById","style","display","goToBtn","scroll","top","left","behavior","type","class","id","position","bottom","right","zIndex","border","outline","backgroundcolor","color","cursor","padding","borderradius","fontsize","onClick","value","REACT_API_TOKEN_EXP","Form","FieldName","loading","searchBy","searchyByText","arraySearchBy","topmenuValue","User","getUID","input","urlprod","countryLoading","axios","get","headers","getAuthHeaderUID","then","res","data","Body","console","log","error","setusertype","secureLocalStorage","getItem","localStorage","setItem","removeCookie","e","preventDefault","removeItem","alert","location","href","addNotification","text","notificationSystem","current","message","level","loadData","url","dataLoading","onSubmit","encoded","encodeURIComponent","SEARCH_MODES","PART","PRODUCT","SEARIAL_NUMBER","SERIAL_WP","FUNCTIONAL_EQUIVALENT","getAuthHeader","response","handleSubmit","event","a","history","push","pathname","search","SEARCH_TEXT","SEARCH_BY","getSearchMode","WILD_CHAR","setSearchModeLink","getSearchResult","getSearchResultText","getURLQueryString","generateToken","setCookie","Cookies","getQueryParam","createRef","dat","map","con","index","key","CountryCode","CountryName","nextProps","prevMode","nextMode","prevText","Array","from","getElementsByClassName","forEach","element","innerText","classList","add","remove","Fragment","className","float","options","label","defaultValue","find","c","onChange","data-toggle","data-width","width","role","to","getLocationObject","placeholder","target","required","ref","withRouter","Loading","children","boxSizing","height","textAlign","src","loader","alt","opacity","set","query","qs","parse","searchText","params","join","getURLQueryStringBySearch","queryString","undefined","require","stringify","encodedval","Buffer","toString","config","method","maxBodyLength","Infinity","request","expTime","Date","getTime","token","JSON","expires","access_token","catch","token1","PART_PHOTO","PRESENT","NOT_PRESENT","NOT_APPLICABLE","PART_FE","scrollHeight","setCarItems","payload","getStoredCart","getJSON","setStoredCart","cartDetails","sessionStorage","getItemIndex","cartList","item","i","CartModal","withStyles","theme","head","backgroundColor","palette","common","black","white","fontSize","TableCell","root","action","hover","TableRow","handleModalShowHide","showHide","cart","setCartItems","ind","newCart","splice","updateQuantity","qty","Number","truncate","source","size","length","slice","getRedirectURL","cartQty","URL","Object","entries","open","columns","dataField","headerStyle","formatter","col","dangerouslySetInnerHTML","__html","prod","row","currentTarget","Container","alignItems","maxWidth","paddingBottom","minWidth","paddingLeft","aria-hidden","Modal","show","dialogClassName","Header","closeButton","onHide","cartItem","idx","Row","Col","marginLeft","borderTop","borderTopStyle","borderTopColor","EnhancedDescription","xs","Footer","keyField","striped","connect","cartItems","dispatch","pageRefresh","replace","data-target","aria-controls","aria-expanded","aria-label","aria-haspopup","aria-labelledby","marginRight","Accordion","defaultActiveKey","Card","Toggle","as","eventKey","Collapse","rel","Alert","fontfamily","justifyContent","Image","origin","onError","FunctionalEquivalent","hidden","CsrFlag","TechCourier","RohsCompliant","pagination","paginationFactory","getDesc","mode","wwsnrsinput","serial_no","product_no","user_name","roHS_unit_status","rohs_status_code","ProductName","Details","expandIconRequired","triggered","triggerAll","noGutters","sm","md","lg","xl","icon","ProductList","filterData","list","filter","part","indexOf","isDescDisabled","headerAttrs","PartImages","handleLoader","onLoad","PartList","_isMounted","buylink","loadWhereUsed","showModal","partnumber","imageName","imagePath","CheckImageavailability","AddPhotoMetric","part_number","closeModal","path","imageexists","exists","PrintPhoto","domClone","cloneNode","$printSection","createElement","appendChild","innerHTML","print","fetchDetails","prodNumber","partNumbers","post","originalData","newData","assign","modifiedData","showModalFE","partFEData","closeModalFE","handleCartChange","updatedCart","collapsed","bind","formatExtraData","extra","presentInCart","PartPhotoFlag","CSR","ROHS","FE_MATERIAL","OverlayTrigger","placement","overlay","Tooltip","BuyLink","buy","OrderFlag","letEnabled","checked","cell","scrollable","Title","Button","in","DescProductList","isLoad","FELoading","Ishide","DescProductListPrint","BackToPreviousPage","parts","isBack","visible","myRef","ProductResults","PrintFriendlyView","isPrint","generateMetdata","filters","products","category","keyword","techCourier","rohsFilter","rohs","photoFilters","photoFlag","feFilters","FE","temp","count","categoryFilters","categories","keywordFilters","catKey","catValue","keyWords","techCouriers","CSRFlag","product","fePresent","photoPresent","metadata","itemsCount","CategoryName","KeywordName","keyw","filteredData","getPhotoFrame","getCategoryProducts","shouldExpand","status","main","keys","changeFilters","isMulti","isFlag","selection","isObject","GoToLast","posToScroll","isSbom","SbomText","PipeBomFlag","Group","controlId","Label","column","menuPortalTarget","closeMenuOnSelect","onMenuClose","isSearchable","ele","option","activeKey","overflow","variant","isClearable","visibility","SpareBOM","isValid","spare_part_no","spare_part_description","spare_enhance_desc","sp_category","sp_techcourier","sp_csrflag","sp_rohs_status_code","ComponentBOM","parent_part_number","part_description","part_serialno","part_quantity","rec","SerialNumberBOM","techCourierFilters","rohsFilters","CSRFilters","spare_part","enableSearchResult","sett","COMPONENT_collapsed","SPARE_collapsed","unit_configuration","PartSurfer","selectValue","includes","ProdListError","textval","loadDetails","partResults","dataLoaded","productResults","SNResults","FEResults","rest","ProductBOM","SNRProductListsResults","SNRProductLists","Part","wildCharResults","ProductNameList","handleDropdownChange","tabgen1","tabadv1","noData","product_Id","product_Desc","defaultIndex","onSelect","handleSelect","Tab","Nav","Item","Link","Content","Pane","ListGroup","data-parent","go","Show_fun_eq","FE_User","SBOM_NEW","Shopping_cart","Hierarchy","dataprod","showModalPopup","prodparents","Level1","Level2","Level3","Level4","Level5","Level6","isShowPopup","isShowModal","handleClose","proddatasplit","dt","array","parentItems","split","hierarchyProds","arraycount","hasNodes","textContent","substring","contains","querySelector","click","product_number","product_name","debounceTime","disableKeyboard","hasSearch","onClickItem","resetOpenNodesOnDataUpdate","onPopupClose","centered","fontWeight","NewRequest","modalnumber","problemdesc","troubleshootingsteps","installation","nameofcust","email","phonenumber","SelectValue","countryerror","handleChange","evt","RegExp","test","emailvalidation","content","rows","cols","GenerateMetrics","Sbom","ProdNum","productNum","match","PartName","CallBack","urltkn","Code","URLSearchParams","obj","access_token_data","finally","App","tokenexptime","setInterval","Helmet","title","component","Faq","UserGuide","exact","ContactUS","Boolean","hostname","combineReducers","store","createStore","rootReducer","__REDUX_DEVTOOLS_EXTENSION__","ReactDOM","render","navigator","serviceWorker","ready","registration","unregister","login"],"mappings":"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","file":"static/js/main.c1375843.chunk.js","sourcesContent":["export const BASE_URL = `${process.env.REACT_APP_API}`\r\nexport const GET_COUNTRIES = (usertype) => `${BASE_URL}/Country/GetCountry/${usertype}`\r\nexport const GENERIC_SEARCH = (searchtext, country, usertype) => `${BASE_URL}/Search/GenericSearch/${searchtext}/country/${country || 'US'}/usertype/${usertype}`\r\nexport const GET_PARTLIST = (partNumber, usertype) => `${BASE_URL}/Part/GetWhereUsedProductList/${partNumber}/usertype/${usertype}`\r\nexport const PARTLIST = (partNumber,country, usertype) => `${BASE_URL}/Part/GetPart/${partNumber}/country/${country || 'US'}/usertype/${usertype}`\r\nexport const PRODUCTLIST = (productNumber, country, usertype) => `${BASE_URL}/Product/GetProduct/${productNumber}/country/${country || 'US'}/usertype/${usertype}`\r\nexport const SERIALNUMBER = (serialNumber, country, usertype) => `${BASE_URL}/SerialNumber/GetSerialNumber/${serialNumber}/country/${country || 'US'}/usertype/${usertype}`\r\nexport const FUNCTIONAL =(partNumber, countryCode, usertype) => `${BASE_URL}/Part/GetFunctionalEquivalent/${partNumber}/countryCode/${countryCode || 'US'}/usertype/${usertype}`\r\nexport const FUNCTIONAL_LIST =(productNumber, usertype) => `${BASE_URL}/FunctionalEqivalent/GetFunctionalEqivalent/${productNumber}/usertype/${usertype}`\r\nexport const FUNCTIONAL_PART =(partNumber, usertype) => `${BASE_URL}/FunctionalEqivalent/GetFunctionalEqivalentPart/${partNumber}/usertype/${usertype}`\r\nexport const SERIALWITHPRODUCT = (serialNumber,ProductNumber, country, usertype) => `${BASE_URL}/SerialNumber/GetSerialNumber/${serialNumber}/ProductNumber/${ProductNumber}/country/${country || 'US'}/usertype/${usertype}`\r\nexport const GET_HIERARCHY = (usertype) => `${BASE_URL}/Hierarchy/GetHierarchyInfo/usertype/${usertype}`\r\nexport const GETHIERARCHYPRODUCT = (OID, usertype) => `${BASE_URL}/Hierarchy/GetHierarchyProducts/${OID}/usertype/${usertype}`\r\nexport const SERIALWITHPRODUCTGENERAL = (serialNumber,ProductNumber, country, usertype) => `${BASE_URL}/SerialNumber/GetSerialNumberGeneral/${serialNumber}/ProductNumber/${ProductNumber}/country/${country || 'US'}/usertype/${usertype}`\r\nexport const INSERTFEEDBACK = () => `${BASE_URL}/Search/SendEmail`\r\nexport const INSERTPHOTOMETRIC = (PartNumber,Flag) => `${BASE_URL}/Search/InsertPhotoMetric/${PartNumber}/Flag/${Flag}`\r\nexport const CARTMETRIC = (PartNumber, Qty, Flag) => `${BASE_URL}/Search/CartMetric/${PartNumber}/Qty/${Qty}/Flag/${Flag}`\r\nexport const BUYMETRIC = (PartNumber) => `${BASE_URL}/Search/BuyMetric/${PartNumber}`\r\nexport const GETSBOM = (productNumber, countryCode, usertype) => `${BASE_URL}/Product/GetSBOM/${productNumber}/country/${countryCode || 'US'}/usertype/${usertype}`\r\nexport const GETUIDRESPONSE = (code) => `${BASE_URL}/Country/GetUIDResponse`\r\nexport const GENERATEREPORT = (username) => `${BASE_URL}/Search/GenerateMetricReport/${username}`\r\n//Uncomment if format is not correct - Start\r\n// // export const GETUIDTOKEN = (code) => `https://login-itg.external.hp.com/as/token.oauth2?redirect_uri=http://localhost:3000/PartSurfer/CallBack&grant_type=authorization_code&code=${code}`\r\n// export const GETUIDTOKEN = (code) => `https://login.external.hp.com/as/token.oauth2?redirect_uri=${RESPONSEURLUID}&grant_type=authorization_code&code=${code}`\r\n// //export const GETGLBURL = `https://partsurfer.hp.com/Search.aspx?code=hppinguid`\r\n// //export const GETGLBURL = `https://itg-psurf-web.glbinc.hp.com/Search.aspx?code=hppinguid`\r\n\r\n// // export const REDIRECTUIDURL = `https://login-itg.external.hp.com/as/authorization.oauth2?`\r\n// export const REDIRECTUIDURL = `https://login.external.hp.com/as/authorization.oauth2?`\r\n// // export const CLIENTID =`partsurfer-itg-uid-client`\r\n// export const CLIENTID =`partsurferpro`\r\n// //export const RESPONSEURLUID=`http://localhost:3000/PartSurfer/CallBack` //RedirectUrlUID\r\n// // export const RESPONSEURLUID=`https://itg-psurf-web.glbinc.hp.com/PartSurfer/CallBack`\r\n// //export const RESPONSEURLUID=`https://partsurfer.hp.com/PartSurfer/CallBack`\r\n// export const RESPONSEURLUID=`https://pro-psurf-dr-web.inc.hp.com/PartSurfer/CallBack`\r\n// export const GETGLBURL= REDIRECTUIDURL + \"client_id=\" + CLIENTID + \"&response_type=code&scope=email&redirect_uri=\" +RESPONSEURLUID\r\n// // export const TOKENURL=`https://login-itg.external.hp.com`\r\n// export const TOKENURL=`https://login.external.hp.com`\r\n// // export const tokencallurl = `login-itg.external.hp.com/as/token.oauth2?redirect_uri=${RESPONSEURLUID}`\r\n// export const tokencallurl = `login.external.hp.com/as/token.oauth2?redirect_uri=${RESPONSEURLUID}`\r\n// // export const UIDClientID=`partsurfer-itg-uid-client:RNotGHVuEujpS5wnnr5UKjqluWT3l1RK9UGibiHVRhhHDhhrJ8Bl8IUZP3TxNZpQ`\r\n// export const UIDClientID=`partsurferpro:GFITxrswToMsAPvXrDV1TBVEMsLo5RhtibpidPHKvWuxnqeeKKsHC4980pNbH9qp`\r\n//Uncomment if format is not correct - End\r\n//Uncomment below lines for ITG - Execution - Start\r\n//export const RESPONSEURLUID=`http://localhost:3000/PartSurfer/CallBack` //RedirectUrlUID\r\nexport const RESPONSEURLUID=`https://itg-psurf-web.glbinc.hp.com/PartSurfer/CallBack`\r\nexport const GETUIDTOKEN = (code) => `https://login-itg.external.hp.com/as/token.oauth2?redirect_uri=${RESPONSEURLUID}&grant_type=authorization_code&code=${code}`\r\nexport const REDIRECTUIDURL = `https://login-itg.external.hp.com/as/authorization.oauth2?`\r\nexport const CLIENTID =`partsurfer-itg-uid-client`\r\nexport const TOKENURL=`https://login-itg.external.hp.com`\r\nexport const tokencallurl = `login-itg.external.hp.com/as/token.oauth2?redirect_uri=${RESPONSEURLUID}`\r\nexport const UIDClientID=`partsurfer-itg-uid-client:RNotGHVuEujpS5wnnr5UKjqluWT3l1RK9UGibiHVRhhHDhhrJ8Bl8IUZP3TxNZpQ`\r\nexport const tokenurlforOAuth = `https://login-itg.external.hp.com/as/token.oauth2`\r\nexport const clientvaluesforOAuth = `7c2Rz7BHZGdZNNGNJp6OKAvoIj7:vhTmC30uIbv8fPdXWdLUXKuwVohdhTtLGITkihIP75gyedWrfQVdBvYp5q4SfihY`\r\n//Uncomment below lines for ITG - Execution - End\r\n//Uncomment below lines for PROD - Execution - Start\r\n//export const RESPONSEURLUID=`https://partsurfer.hp.com/PartSurfer/CallBack`\r\n//export const GETUIDTOKEN = (code) => `https://login-itg.external.hp.com/as/token.oauth2?redirect_uri=${RESPONSEURLUID}&grant_type=authorization_code&code=${code}`\r\n//export const REDIRECTUIDURL = `https://login.external.hp.com/as/authorization.oauth2?`\r\n//export const CLIENTID =`partsurferpro`\r\n//export const TOKENURL=`https://login.external.hp.com`\r\n//export const tokencallurl = `login.external.hp.com/as/token.oauth2?redirect_uri=${RESPONSEURLUID}`\r\n//export const UIDClientID=`partsurferpro:GFITxrswToMsAPvXrDV1TBVEMsLo5RhtibpidPHKvWuxnqeeKKsHC4980pNbH9qp`\r\n//export const tokenurlforOAuth = `https://login.external.hp.com/as/token.oauth2`\r\n//Uncomment below lines for PROD - Execution - End\r\n//export const GETGLBURL = `https://partsurfer.hp.com/Search.aspx?code=hppinguid`\r\n//export const GETGLBURL = `https://itg-psurf-web.glbinc.hp.com/Search.aspx?code=hppinguid`\r\nexport const GETGLBURL= REDIRECTUIDURL + \"client_id=\" + CLIENTID + \"&response_type=code&scope=email&redirect_uri=\" +RESPONSEURLUID","module.exports = \"data:image/gif;base64,R0lGODlhKAAUAMQAAMwAAOmKfNgzLf8AAPvw8P+4wutMW8sIJPeomf8EIP302d1VSdIREf9YWP86L+OEk//eyc0dMPq+sv////8aLd9ga/9TSv9SZ+1COfzOy/+Edf+GlOUHI//+4+QBAf9lbiH5BAAHAP8ALAAAAAAoABQAAAW64CCOZGmeaKqubOu+ZtI0DmyPCTFNEHXDOcRlovm9ghSChtIYUC6fmqw2sDgSRaBuonA0Ot5JBjIYWkSbrlIrKfAu4MZkM7EUyKKc5ANOef6AHAQIHhUdAR0YBhMGBBITAYEFBYsYgJd/AJqbB4MCCB0VEwuGAg8dHQKbhguOm6+wr507EwizPAARExKvDwEREgyxw5wVFQuquQ8VwgujxNDR0QUKwtLX17oI2NzSEd3g4eLj5OXm59EhADs=\"","import React from 'react';\r\nimport { WIDTH_THRESHOULD } from './constants/constants';\r\n\r\nexport const ViewHOC = WrappedComponent => {\r\n // ...and returns another component...\r\n const WrappedComponentDisplayName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\r\n return class extends React.Component {\r\n static displayName = `WithView(${WrappedComponentDisplayName})`;\r\n\r\n state= {}\r\n\r\n componentDidMount() {\r\n \r\n window.addEventListener(\"resize\", this.resize);\r\n this.resize()\r\n }\r\n \r\n componentWillUnmount() {\r\n // fix Warning: Can't perform a React state update on an unmounted component\r\n this.setState = (state,callback)=>{\r\n return;\r\n };\r\n }\r\n \r\n\r\n resize = () => {\r\n this.setState({ isMobile: window.innerWidth < WIDTH_THRESHOULD })\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n}","module.exports = \"data:image/gif;base64,R0lGODlhPAA8AMQfAPHx8dvb2zCq3u/v77y8vPz8/PT09ODg4NDs96DY8FC340Cw4MHBwfn5+erq6sDl9fv7+97e3uHh4fr6+sbGxvD5/ff39/Pz8xCd2bGxsdbW1gCW1u7u7tLS0qysrP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJHgAfACwAAAAAPAA8AAAF/yAnjmRpnl/6dWzrvnAnGep33jhZx3wfFamcEKXqGWEB4HA52h2frIiNuXRCnwZqtXh9SrRDa9cIForHvHLujIapcey2632Ly1l0Yuqezpfsd35/XHwvgjqEhS2HTYmKHYwigHKRHJNtlZdomY6KnHuPi5GaY58roXijnYWmqKmMpF2trrOoNbe4ubq7vL2+v8DBwsPExcbHwRvKy8zNzs81HtLT1NXW18/Z2szR197f09vi0Crg5tjj6crd5+0e6urs7ubw6fLz3/Xj9/jo+tr8+lX7ty2gwHAEsxk8+C4huRQMvTl8+CGiv4nLFh7E2EyjQI7cylkcCHKdyJEISzx67FfSJESUKUGuxNdyw8x5NW+6y3kSpoCWOtslANoT5YefMouO/IAAQ9KXMD2kQIB0YtBzNRJUJXjVXAgAIfkEBR4AHwAsAAAAADwAPAAABf/gJo5kaZ5f+nFs674wZ0Dqd944Wcd8f6m5IErVK8IAKaFytDM6Wb/lsvl0QqRKarVowAq12543CA7Hxrmy+YXGqdet9u0N58iHqTrvbqLD+SV+a4A6RHowhEyGhy6JIoJmjhuQYZKUW5aLjCyZeZtxjpdVnSufnKGam6Smp4miT6ussaY1tba3uLm6u7y9vr/AwcLDxMW/HsjJysvMzTUd0NHS09TVzdfYys/V3N3R2eDOKt7k1uHnyNvl6x3o6Ors5O7n8PHd8+H19ub42Pr70/pl+wfwm8BrBAu2OyguhUJuDBt+eMgvYrKEBS0uwwhQo7ZxFAN6TAcypMGRHPc6jSTp0ORJjyntrfQQM97MmuxulnRJYCXOdQd87jT5oSfMoSE/DMhwtKXLDikGGI34s1yNA1MFViUXAgAh+QQFHgAfACwAAAAAPAA8AAAF/6AnjmRpnl/6bWzrvvCmPOp33jhZx3y/VKmcEKXqGWEC4HA52h2frIWNuXRCnw9qtXh9KrRDa9cIForHvHLujIapcey2632Ly1l0Yuqezpfsd35/XHwvgjqEhS2HTYmKG4wigHKRHpNtlZdomY6KnHuPi5GaY58roXijnYWmqKmMpF2trrOoNbe4ubq7vL2+v8DBwsPExcbHwR3Ky8zNzs81HNLT1NXW18/Z2szR197f09vi0Crg5tjj6crd5+0c6urs7ubw6fLz3/Xj9/jo+tr8+lX7ty2gwHAEsxk8+C4huRQMvTl8+CGiv4nLFh7E2EyjQI7cylkcCHKdyJEISzx67FfSJESUKUGuxNeyw8x5NW+6y3kSZoCWOtsNANoT5YefMouO/GBBQ9KXMDmksIB0YtBzNQZUJXjVXAgAIfkEBR4AHwAsAAAAADwAPAAABf9gJ45kaZ5f+nls676wRznqd944Wcd8z0ypnBCl6hlhBOBwOdodnyyGjbl0Qp8OarV4fVK0Q2vXCBaKx7xy7oyGqXHstut9i8tZdGLqns6X7Hd+f1x8L4I6hIUth02Jih6MIoBykR2TbZWXaJmOipx7j4uRmmOfK6F4o52FpqipjKRdra6zqDW3uLm6u7y9vr/AwcLDxMXGx8EcysvMzc7PNRvS09TV1tfP2drM0dfe39Pb4tAq4ObY4+nK3eftG+rq7O7m8Ony89/14/f46Pra/PpV+7ctoMBwBLMZPPguIbkUDL05fPghor+JyxYexNhMo0CO3MpZHAhynciRCEs8euxX0iRElClBrsTXksPMeTVvust5EiaAljrbNQDaE+WHnzKLjvxQYEDSlzA3pCiAdGLQczUaVCV41VwIADs=\"","import zIndex from \"@material-ui/core/styles/zIndex\";\r\nimport React,{useEffect} from \"react\";\r\n\r\nclass GoToTop extends React.Component{\r\n\r\n componentDidMount() {\r\n window.addEventListener(\"scroll\",this.listenToScroll)\r\n }\r\n\r\n listenToScroll=()=>{\r\n if(document.body.scrollTop>1000 || document.documentElement.scrollTop >1000){\r\n document.getElementById(\"my-btn\").style.display='block';\r\n }\r\n else\r\n {\r\n document.getElementById(\"my-btn\").style.display='none'; \r\n }\r\n }\r\n\r\n goToBtn=()=>{\r\n window.scroll({top:0 ,left:0,behavior:\"smooth\"})\r\n }\r\n\r\n render(){\r\n const mystyle= {\r\n display: \"none\", \r\n position: \"fixed\", \r\n bottom: \"20px\", \r\n right: \"30px\", \r\n zIndex: \"99\", \r\n border: \"none\", \r\n outline: \"none\", \r\n backgroundcolor: \"red\", \r\n color: \"white\", \r\n cursor: \"pointer\", \r\n padding: \"15px\", \r\n borderradius: \"10px\", \r\n fontsize: \"18px\" \r\n }\r\n\r\nreturn(\r\n <>\r\n\r\n \r\n \r\n);\r\n }\r\n}\r\n export default GoToTop;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAcCAYAAACdz7SqAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD+SURBVEhL7ZY/DoIwFIe5gJ5GD6C30cVNb+LgbqJx1cTNgcEDIHALWRgYTJ79PVvlTxVi6DMxvOQjIa/w0fa1xaMfhOctI2qT/iqi4Tqk6SGk3TmgIKjSujQPPmBxvMhKDeNtKC8F81yPxaQYajPHYlIw2T96KyodqKoWl2KIa6QJxXoxlyOOVd5PKdH3xbjRyS+/60UzaZbSzJY30mtSzX2gk2oaSsvxrr3mu0IyL+3mtIY/KiQVvHnYnlGwtKe2JlvSFSzFJmxLuoKlOG5sSVewFAer5BCzFBf8StgauOApBaONjLggBeix66GuSAHmGMWFqnbxASzV61kwiO7QtaajDGxU2QAAAABJRU5ErkJggg==\"","// npm install react-cookie\r\nimport React from 'react';\r\nimport axios from 'axios';\r\nimport secureLocalStorage from 'react-secure-storage';// Added By Shreyas for local storage security.\r\nimport './design.css';\r\nimport NotificationSystem from 'react-notification-system';\r\nimport { Dropdown } from 'react-bootstrap';\r\nimport Loading from './Loading';\r\nimport Cookies from 'js-cookie'\r\nimport { setCookie, getQueryParam, getURLQueryString, getAuthHeader, getAuthHeaderUID, bodyParametersUID } from './Util';\r\nimport { GETGLBURL, GET_COUNTRIES, GENERIC_SEARCH, PARTLIST, PRODUCTLIST, SERIALNUMBER, FUNCTIONAL, GETUIDRESPONSE, GETUIDTOKEN } from './constants/APIConstants';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { SEARCH_TEXT, SEARCH_BY, SEARCH_MODES, Code_Url } from './constants/constants';\r\nimport \"./nav.css\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { getLocationObject, generateToken } from \"./Util\";\r\nimport Login from \"./login\";\r\nimport { isMobile } from 'react-device-detect';\r\nimport GoToTop from './GoToTop';\r\nimport Select from \"react-select\";\r\nimport qs from 'query-string';\r\nimport {tokenurlforOAuth, clientvaluesforOAuth} from './constants/APIConstants';\r\nexport function toBase64(input) { return Buffer.from(input, 'utf-8').toString('base64')}\r\nexport const TOKEN_EXP = `${process.env.REACT_API_TOKEN_EXP}`\r\n\r\n//import { useCookies, Cookies } from \"react-cookie\";\r\n\r\nclass Form extends React.Component\r\n{\r\n state = {\r\n FieldName: '',\r\n country: '',\r\n loading: false,\r\n searchBy: '',\r\n searchyByText: '',\r\n arraySearchBy: '',\r\n topmenuValue: '',\r\n code : '',\r\n User : '',\r\n };\r\n\r\n componentDidMount() {\r\n getURLQueryString();\r\n generateToken();\r\n //setCookie('HP_Country', \"US\");Commented for adding Home page Changes\r\n //setCookie(\"Search_Text\",\"Generic Search\");\r\n if(localStorage.getItem(\"Temp_Country\")!='' && localStorage.getItem(\"Temp_Country\")!=null)// Added By Shreyas For Home Page Country Drop down--Start Here\r\n {\r\n setCookie('HP_Country',localStorage.getItem(\"Temp_Country\"));\r\n //localStorage.setItem(\"Temp_Country\",'');\r\n }\r\n else\r\n {\r\n setCookie('HP_Country', \"US\");\r\n localStorage.setItem(\"Temp_Country\",'US');\r\n }// Added By Shreyas For Home Page Country Drop down--End Here\r\n\r\n\r\n // let values = this.props.location.search;\r\n\r\n // let username = localStorage.getItem(\"loggeduser\");\r\n\r\n // if(username == null)\r\n // {\r\n // if(values.includes(\"code\"))\r\n // {\r\n // var array = values.split(\"=\");\r\n // //localStorage.setItem(\"loggeduser\",array[1]);\r\n // //this.setState({ User: localStorage.getItem(\"loggeduser\") });\r\n // console.log(localStorage.getItem(\"loggeduser\"));\r\n // }\r\n // }\r\n // else{\r\n // localStorage.setItem(\"loggeduser\",username);\r\n // this.setState({ User: username });\r\n // }\r\n let username = secureLocalStorage.getItem(\"loggeduser\"); \r\n if(username == \"UID_Failed\")\r\n {\r\n alert(\"We are facing problem on HP UID authentication. Please try again\");\r\n secureLocalStorage.removeItem(\"loggeduser\")\r\n }\r\n\r\n this.setState({\r\n countryLoading: true,\r\n country: Cookies.get('HP_Country') || 'US',\r\n FieldName: getQueryParam(this.props, SEARCH_TEXT),\r\n searchBy: getQueryParam(this.props, SEARCH_BY),//Added\r\n //topmenuValue :Cookies.get(\"Search_Text\")\r\n },\r\n () => {\r\n this.state.FieldName && this.loadData()\r\n });\r\n this.notificationSystem = React.createRef();\r\n this.setusertype();\r\n //alert(getAuthHeader());\r\n axios.get(GET_COUNTRIES(localStorage.getItem(\"usertype\")), {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((res) => {\r\n const data = res.data.Body;\r\n let dat = data.map((con, index) => {\r\n return { key: con.CountryCode, value: con.CountryName }\r\n })\r\n this.setState({ data: dat, countryLoading: false })\r\n }, (error) => {\r\n // console.log(error);\r\n this.setState({ countryLoading: false })\r\n })\r\n \r\n document.getElementById(\"\")\r\n}\r\n\r\n getUID = (input) => {\r\n this.setState({ countryLoading: true })\r\n let urlprod;\r\n urlprod = GETUIDRESPONSE(input);\r\n axios.get(urlprod, {\r\n headers: {\r\n ...getAuthHeaderUID()\r\n },\r\n\r\n })\r\n .then((res) => {\r\n this.setState({ data: res.data.Body, countryLoading: false })\r\n console.log(res.data.Body);\r\n }, (error) => {\r\n this.setState({ data: null, countryLoading: false })\r\n })\r\n }\r\n\r\n setusertype = () => {\r\n let username = secureLocalStorage.getItem(\"loggeduser\");\r\n if(isMobile)\r\n {\r\n if(username == null)\r\n {\r\n localStorage.setItem(\"usertype\",\"MEX\");\r\n }\r\n else\r\n {\r\n localStorage.setItem(\"usertype\",\"MIN\");\r\n }\r\n }\r\n else\r\n {\r\n if(username == null)\r\n {\r\n localStorage.setItem(\"usertype\",\"EXT\");\r\n }\r\n else\r\n {\r\n localStorage.setItem(\"usertype\",\"INT\");\r\n }\r\n }\r\n }\r\n\r\n removeCookie = (e) => {\r\n e.preventDefault();\r\n secureLocalStorage.removeItem(\"loggeduser\");\r\n this.setState({ User: null });\r\n alert(\"LogOut Success!\");\r\n window.location.href = \"/PartSurfer\";\r\n }\r\n\r\n addNotification = text => {\r\n const notification = this.notificationSystem.current;\r\n // console.log('noti', notification)\r\n notification.addNotification({\r\n message: text,\r\n level: 'error',\r\n position: 'tc',\r\n });\r\n };\r\n\r\n loadData = () => {\r\n const { FieldName, country, searchBy } = this.state;\r\n if (country) {\r\n this.setState({ dataLoading: true }, () => this.props.onSubmit(null))\r\n let url;\r\n let encoded=encodeURIComponent(FieldName);\r\n switch (searchBy) {\r\n case SEARCH_MODES.PART: url = PARTLIST(encoded, country, localStorage.getItem(\"usertype\"))\r\n break;\r\n case SEARCH_MODES.PRODUCT: url = PRODUCTLIST(encoded, country,localStorage.getItem(\"usertype\"))\r\n break;\r\n case SEARCH_MODES.SEARIAL_NUMBER: url = SERIALNUMBER(FieldName, country,localStorage.getItem(\"usertype\"))\r\n break;\r\n case SEARCH_MODES.SERIAL_WP: url = SERIALNUMBER(FieldName, country, localStorage.getItem(\"usertype\"))\r\n break;\r\n case SEARCH_MODES.FUNCTIONAL_EQUIVALENT: url = FUNCTIONAL(encoded, country,localStorage.getItem(\"usertype\"))\r\n break;\r\n default:\r\n url = GENERIC_SEARCH(encoded, country, localStorage.getItem(\"usertype\"))\r\n }\r\n axios.get(url, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((response) => {\r\n this.props.onSubmit(response.data.Body ? response.data.Body : !searchBy ? {} : null, searchBy)\r\n this.setState({ dataLoading: false })\r\n }, (error) => {\r\n this.setState({ dataLoading: false })\r\n })\r\n }\r\n else {\r\n this.addNotification('Please select the country')\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n // console.log(\"getitem\", getStoredCart())\r\n // component\r\n // console.log('update')\r\n // const prevText = getQueryParam(this.props, SEARCH_TEXT);\r\n // const text = getQueryParam(nextProps, SEARCH_TEXT)\r\n const prevMode = this.state.searchBy;\r\n const nextMode = getQueryParam(nextProps, SEARCH_BY)\r\n const prevText = this.state.FieldName;\r\n //Modified by Shreyas - Keep the text value even after changing Search Type Dropdown - Start\r\n //const text = getQueryParam(nextProps, SEARCH_TEXT)\r\n const text = this.state.FieldName;\r\n //Modified by Shreyas - Keep the text value even after changing Search Type Dropdown - End.\r\n // console.log('prevtext', prevText, 'text=', text, 'prevMode=', prevMode, 'nextMode=', nextMode)\r\n if ((prevText !== text) || prevMode !== nextMode) {\r\n this.setState({ searchBy: nextMode, FieldName: text }, () => {\r\n this.props.onSubmit(null)\r\n });\r\n }\r\n }\r\n\r\n componentDidUpdate(){\r\n const withclasses=Array.from(\r\n document.getElementsByClassName(\"dropdown-item\")\r\n );\r\n withclasses.forEach(element=>{\r\n if(element.innerText==this.state.topmenuValue){\r\n element.classList.add(\"active\");\r\n }\r\n else{\r\n element.classList.remove(\"active\");\r\n }\r\n });\r\n }\r\n\r\n handleSubmit = async (event) => { \r\n const { searchBy } = this.state;\r\n event.preventDefault();\r\n this.loadData()\r\n this.props.history.push({\r\n pathname: `${process.env.REACT_APP_HOME_DIRECTORY}`,\r\n search: `?${SEARCH_TEXT}=${encodeURIComponent(this.state.FieldName)}${searchBy ? `&${SEARCH_BY}=${searchBy}` : ''}`\r\n\r\n })\r\n };\r\n\r\n getSearchMode = () => {\r\n const { searchBy } = this.state;\r\n switch (searchBy) {\r\n case SEARCH_MODES.PART: return 'Enter Part Number';\r\n case SEARCH_MODES.PRODUCT: return 'Enter Product Number';\r\n case SEARCH_MODES.SERIAL_WP: return 'Enter Serial Number';\r\n case SEARCH_MODES.FUNCTIONAL_EQUIVALENT: return 'Enter Part Number';\r\n case SEARCH_MODES.WILD_CHAR: return 'Wild Character Search';\r\n default: return 'Enter Part/Product/Serial Number';\r\n }\r\n }\r\n\r\n setSearchModeLink = () => {\r\n\r\n localStorage.setItem(\"set_flag\",\"1\");\r\n const { searchBy, arraySearchBy, topmenuValue } = this.state;\r\n if(searchBy != arraySearchBy)\r\n {\r\n this.setState({ searchyByText: this.getSearchResult(searchBy), arraySearchBy: searchBy });\r\n this.setState({topmenuValue : this.getSearchResultText(searchBy)});\r\n }\r\n // var list=document.getElementsByClassName(\"dropdown-item\");\r\n // for (var i = 0; i < list.length; ++i) {\r\n // if(topmenuValue==list[i].innerText){\r\n // list[i].classList.add('active');\r\n // }\r\n // else{\r\n // list[i].classList.remove('active');\r\n // }\r\n // }\r\n //Added by Shreyas to highlight the selected text--End\r\n\r\n\r\n }\r\n\r\n getSearchResult = (searchBy) => {\r\n switch (searchBy) {\r\n case SEARCH_MODES.PART: return 'Search By - Part Number';\r\n case SEARCH_MODES.PRODUCT: return 'Search By - Product Number';\r\n case SEARCH_MODES.SERIAL_WP: return 'Search By - Serial Number';\r\n case SEARCH_MODES.FUNCTIONAL_EQUIVALENT: return 'Search By - Part Number';\r\n case SEARCH_MODES.WILD_CHAR: return 'Search By - Wild Char';\r\n default: return 'Search By - Part/Product/Serial Number';\r\n }\r\n }\r\n\r\n getSearchResultText = (searchBy) => {\r\n switch (searchBy) {\r\n case SEARCH_MODES.PART: return 'Part';\r\n case SEARCH_MODES.PRODUCT: return 'Product';\r\n case SEARCH_MODES.SERIAL_WP: return 'Serial Number';\r\n case SEARCH_MODES.FUNCTIONAL_EQUIVALENT: return 'Functional Equivalent';\r\n case SEARCH_MODES.WILD_CHAR: return 'Wild Character';\r\n default: return 'Generic Search';\r\n }\r\n }\r\n\r\n render() {\r\n\r\n const { countryLoading, dataLoading, country, data, topmenuValue, User } = this.state;\r\n\r\n return (\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* {\r\n this.setState({ country: a })\r\n setCookie('HP_Country', a)\r\n }}>\r\n \r\n \r\n {((data || []).find(c => c.key === country) || {}).value || 'Please select your country'}\r\n \r\n\r\n {\r\n // console.log(\"dropdownselect\", a, b.currentTarget)\r\n }}>\r\n {\r\n (data || []).map((country, index) =>\r\n {country.value}\r\n )\r\n }\r\n \r\n */}\r\n\r\n \r\n\r\n this.setState({ FieldName: event.target.value })} required /> */}\r\n\r\n this.setState({ FieldName: event.target.value })} required />\r\n
\r\n \r\n\r\n\r\n {/* \r\n
    \r\n
  • \r\n \r\n Part\r\n \r\n
  • \r\n
  • \r\n \r\n Product\r\n \r\n
  • \r\n
  • \r\n \r\n Serial Number\r\n \r\n
  • \r\n
  • \r\n \r\n Functional Equivalent\r\n \r\n
  • \r\n
  • \r\n \r\n Wild Character\r\n \r\n
  • \r\n
  • \r\n \r\n Generic Search\r\n \r\n
  • \r\n\r\n
*/}\r\n\r\n {/*     */}\r\n {/* id=\"navbarSupportedContent\" */}\r\n {/* Santhosh - Searchby Menu */}\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n {/*
*/}\r\n\r\n {/* Selected Search Type : {topmenuValue} */}\r\n {/*
\r\n\r\n
\r\n {this.state.searchyByText &&
{this.state.searchyByText}
\r\n }\r\n
\r\n
*/}\r\n
\r\n

\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(Form)\r\n","module.exports = \"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAXCAYAAADk3wSdAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE3SURBVEhLtVQxDsIwDOwP4EfwA/gJT4AfwNQJqV9ggpGBDQbE0jIiQKoEol2Q6IBk4iRO2iSVoA2WTgiffXbsNAH8wYIgjOFXdOdH6C9OMNndYX9/SSltjUTLwAKzw0PKCWstShiuLlLSoyhiKjv2KoqjwBl7FUWMtzdbdHR98yMIKyBivigTvyouKSSvLUkE12O3oiIaZSIgv6bSl0PCPVpUFc1ylUc+zMMRaNHNE3JOGV2FKawL6auNoeJvWG/YfyJcHZhQMcUTRhUOCwuKn5IIOnozUSPfSlCiurowdmRa0Led6o2W50XB5LMXJ1AzU4S9fVPUPXsrjwgF8w465qdvgTa6pxyVYF9wOtuig1+Ai2gDfK6cRBvgkAfLs5tsCr46Ztixt1FITW74wOJ7iM9X8wIxfADP1Vx3Opx5EgAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAbCAYAAAAQ2f3dAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAH3SURBVFhHzZa9b8IwFMT7VzMhRlYaloSNFakFoYqFEUaGCsEIYyQWslRiYHH1e+Qi56MiVaXGJ50S+57ty/Nzkpder+f+m/1+30XjsXtfLNznfu/Sy6VE0Ikxn5j8WK3CMyYmk0mYxqAyF5wxtpWaC84YfJvPwzT2GkU/GxsOhy6O41o/HI1GbjAYNGr0M47xTXobsp01Yyx6vV5NEKbTqWm32y3veYA44jV2s9nkygOn06l4AOYQlsul9W2327zHleaBoGTsfD5bZ5Zldg9ns1kRDHa7nTsej3afpqlp/sJoeggWR1+v19YGzEkfY4UkSaxPBCVjQjWwqkEBDbOAK22yAmTcNwbIJJC5p8YUyBMzmV9LAosfDofiHk2ZZgztqnEZU5y2UVeNE0Gtxvxa4l77X4WvtTWmKyAJfj9xIigZg2SJQBmkZhQM2CbVFDFoz4ypJtH9rP3KmKhBTERbUD0IZO1ZjfnGOUy0mae1MZ6CYw6VMS0m0EYHyhiLqU39aaxOZTWjYmtjSrnAE+tlqcUENL3joApZwIwOj7+VioetjUEmI83+iWxLjf3Lmx+aMT4BTWKXNGN8NJvELmnG+M1oErukGePHLLTtNGP8yvJL2xTQFQtjMM5fnCGwZEyZC2Fba8YgNceB4LR2ZdKMZV93Fx7v7ht4iykx6Qf/1gAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAASCAYAAAC5DOVpAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAACJElEQVQ4T52UvWsTYRzHv8/1Lrnkei82RgxWsbaV1kIl2sGlikXQP8BBcbAVHLLo4OTQSUHBVcSxoDjUQbsIXQTbTnWoDrUgGrXUl1hpTUrS5JLL4+85bki5J6TxAz/unpf7Pr+355j+eJmXtz1AUQDGEVUZypkh/A/KtaMO0k4EY/t1OLqKyrqLxVwxWG4TTuSKrnjwWws/Oe6/49dff/fH7UKxAfvimi98qc8mXxkWvmz543ZhQjF499EevEfU0PDwbAqWxlCtBwtNYGSlqoczB4yw2InpLJbWSoBLRanvWGoBD4tNfdjExMwqsCci1lsjXKODzx0y4eeskfFBB9iuicoEMy0Q24o1ZI7ZYTEwOsqkgni7FBOeVTyMUs7CYsTVdAIoU852AwkdH7BhUY9Kxa70WbSJyihCLVPIJTIRusz+urjcYyLawcIFEHwtuOh5tAI7EcFEv4M4HdnMzw3K182RvRhKxuSemZqCwe448hRqTO9AZ1yFQSaejaZEFZzuNTGQ0P3vpJ4JJud+4O6bHMh/6jfRuSLTDYghdXSSvJ+92It0Um8utrJZwdOPeXF3pbeAUgROloqpuDHcRbdQTEhYy1f4+edZPv5qldeqXjAb5t7b33z02Sf+ZHnDH0tzNvO5gNmlP5ia+4UX5J2MArXE7ZffMJ/dwp3FderburwAF45Y6DrYicP9Nk52G8HsTizKZWYsRX8GBZOnkjBUBf8ABVY4WM/0nH4AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,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\"","import React from 'react'\r\nimport loader from '../page_preload.gif'\r\n\r\nexport default function Loading({ loading = false, children }) {\r\n return (\r\n //
\r\n // {loading &&
\r\n // \"loading...\"
}\r\n //
\r\n // {children}\r\n //
\r\n //
\r\n
\r\n {loading &&
\r\n
\r\n \"loading...\"\r\n
\r\n
}\r\n {loading ?
\r\n {children}\r\n
: children}\r\n
\r\n )\r\n}\r\n","import Cookies from 'js-cookie';\r\nimport qs from 'query-string';\r\nimport { get } from 'lodash';\r\nimport { SEARCH_TEXT, SEARCH_BY } from './constants/constants';\r\nimport { Sync } from '@material-ui/icons';\r\nimport secureLocalStorage from 'react-secure-storage';\r\nimport {tokenurlforOAuth , clientvaluesforOAuth} from './constants/APIConstants';\r\nexport function toBase64(input) { return Buffer.from(input, 'utf-8').toString('base64')}\r\n\r\nconst token ='';\r\n\r\nexport const getCookie = () => {\r\n Cookies.get('HP_Country');\r\n}\r\n\r\nexport const setCookie = (key, value) => {\r\n Cookies.set(key, value)\r\n}\r\n\r\n\r\nexport const getQueryParam = (props, key) => {\r\n const search = get(props, 'history.location.search', '');\r\n const query = qs.parse(search);\r\n if (key) {\r\n return query[key];\r\n } else {\r\n return query;\r\n }\r\n};\r\n\r\nexport const getURLQueryString = (searchText, searchBy) => {\r\n if (!searchText && !searchBy) {\r\n return null;\r\n }\r\n searchText=encodeURIComponent(searchText);//Added By Shreyas to encode for Part/Product with Special characters.\r\n let params = [];\r\n searchText && params.push(`${SEARCH_TEXT}=${encodeURIComponent(searchText)}`)\r\n searchBy && params.push(`${SEARCH_BY}=${searchBy}`)\r\n // console.log('23', `?${params.join('&')}`)\r\n return `?${params.join('&')}`\r\n}\r\nexport const getURLQueryStringBySearch = (searchText) => {\r\n if (!searchText) {\r\n return null;\r\n }\r\n let params = [];\r\n searchText=encodeURIComponent(searchText);//Added By Shreyas to encode for Part/Product with Special characters.\r\n searchText && params.push(`${SEARCH_TEXT}=${searchText}`)\r\n //searchBy && params.push(`${SEARCH_BY}=${searchBy}`)\r\n // console.log('23', `?${params.join('&')}`)\r\n return `?${params.join('&')}`\r\n}\r\nexport const getLocationObject = (searchText, searchBy) => {\r\n let queryString = '';\r\n if (!searchText && !searchBy) {\r\n queryString = '';\r\n }\r\n let params = [];\r\n searchText=encodeURIComponent(searchText);\r\n //Added By Shreyas to encode for Part/Product with Special characters(Hierarchy Pop Up Data)\r\n searchText && params.push(`${SEARCH_TEXT}=${searchText}`)\r\n searchBy && params.push(`${SEARCH_BY}=${searchBy}`)\r\n queryString = `?${params.join('&')}`\r\n return {\r\n pathname: `${process.env.REACT_APP_HOME_DIRECTORY}`,\r\n search: queryString || undefined\r\n }\r\n}\r\n\r\nexport const generateToken= () => {//Added to Generate Token after Specific Interval--Start\r\n //alert(\"Generate Token Called.!\");\r\n const axios = require('axios');\r\n //const qs = require('qs');\r\n let data = qs.stringify({\r\n 'grant_type': 'client_credentials' \r\n });\r\n const encodedval = toBase64(clientvaluesforOAuth);\r\n let tokenurl = tokenurlforOAuth;\r\n let config = {\r\n method: 'post',\r\n maxBodyLength: Infinity,\r\n url: tokenurl,\r\n headers: { \r\n 'Content-Type': 'application/x-www-form-urlencoded', \r\n 'Authorization': 'Basic ' + encodedval, \r\n 'Cookie': 'HPIUID=Fl22prI8D1w5uDd1lUFAvC'\r\n },\r\n data : data\r\n };\r\n\r\n axios.request(config)\r\n .then((response) => {\r\n var expTime = new Date(new Date().getTime() + 1 * process.env.REACT_APP_TOKEN_EXP * 1000);\r\n const token=JSON.stringify(response.data);\r\n const value=JSON.parse(token);\r\n Cookies.set(\"TokenFlag\",\"TOKEN\", {\r\n expires: expTime // Will expire after(value is in number of sec.)\r\n })\r\n secureLocalStorage.setItem(\"TokenValue\",value.access_token);\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n }); \r\n}//Added to Generate Token after Specific Interval--End\r\n\r\nexport const getAuthHeader = () => {\r\n // console.log('aa', process.env.REACT_APP_API_USERNAME, process.env.REACT_APP_API_PASSWORD)\r\n //const token = Buffer.from(`${process.env.REACT_APP_API_USERNAME}:${process.env.REACT_APP_API_PASSWORD}`).toString('base64')\r\n if(Cookies.get(\"TokenFlag\")){\r\n const token=secureLocalStorage.getItem(\"TokenValue\");\r\n //alert(\"valid cookie msg :from auth function\");\r\n return {\r\n 'Authorization': `Bearer ${token}`,\r\n }\r\n }\r\n else{\r\n generateToken();\r\n //alert(\"Cookie is Undefined\");\r\n const token1=secureLocalStorage.getItem(\"TokenValue\");\r\n //alert(\"valid cookie msg :from auth function\");\r\n return {\r\n 'Authorization': `Bearer ${token1}`,\r\n }\r\n }\r\n}\r\n\r\nexport const getAuthHeaderUID = () => {\r\n const token = Buffer.from(`${process.env.REACT_APP_API_USERNAME}:${process.env.REACT_APP_API_PASSWORD}`).toString('base64')\r\n return {\r\n 'Authorization': `Basic ${token}`,\r\n 'content-type': 'application/x-www-form-urlencoded',\r\n }\r\n }\r\n\r\n export const bodyParametersUID = (code) => {\r\n return {\r\n 'grant_type': 'authorization_code',\r\n 'code': `${code}`,\r\n }\r\n };","module.exports = __webpack_public_path__ + \"static/media/Cart.f5c3ec32.png\";","export const WIDTH_THRESHOULD = 590;\r\n\r\nexport const SEARCH_TEXT = 'searchtext';\r\nexport const SEARCH_BY = 'searchby';\r\nexport const Code_Url = 'code';\r\n\r\nexport const SEARCH_MODES = {\r\n PART: 'part',\r\n PRODUCT: 'product',\r\n FUNCTIONAL_EQUIVALENT: 'fe',\r\n SEARIAL_NUMBER: 'sn',\r\n WILD_CHAR: 'wc',\r\n SERIAL_WP: 'swp'\r\n}\r\n\r\nexport const PART_PHOTO = {\r\n PRESENT: 'Yes',\r\n NOT_PRESENT: 'No',\r\n NOT_APPLICABLE: 'ALL'\r\n}\r\n\r\nexport const PART_FE = {\r\n PRESENT: 'Yes',\r\n NOT_PRESENT: 'No',\r\n NOT_APPLICABLE: 'ALL'\r\n}\r\nexport const DocHeight=document.body.scrollHeight;\r\n\r\nexport const URLHeader = 'PartSurfer';\r\n\r\nexport const MailIDS = 'shreyas.shrikant.nene@hp.com;santhosh.shanmugam@hp.com;rajeev.sharma@hp.com;purnima.kandukuri@hp.com;andrew.cutlip@hp.com';","export const setCarItems = (payload) => ({\r\n type: \"SET_CART_ITEMS\",\r\n payload,\r\n});\r\n\r\n\r\n","import Cookies from \"js-cookie\";\r\n\r\nexport const CART_KEY = \"PS_CART\";\r\n\r\nexport const getStoredCart = () => {\r\n return Cookies.getJSON(CART_KEY) || [];\r\n};\r\n\r\nexport const setStoredCart = (cartDetails) => {\r\n Cookies.set(CART_KEY, JSON.stringify(cartDetails));\r\n //Cookies.set(CART_KEY, cartDetails);\r\n sessionStorage.setItem(CART_KEY, cartDetails);\r\n};\r\n\r\nexport const getItemIndex = (partNumber, cartList) => {\r\n // console.log(\"inex\", partNumber, cartList);\r\n if (partNumber) {\r\n let items = [...(cartList || [])];\r\n let index;\r\n items.forEach((item, i) => {\r\n if (item.PartNumber === partNumber) index = i;\r\n });\r\n return index;\r\n }\r\n};\r\n","import Cookies from \"js-cookie\";\r\nimport React from \"react\";\r\nimport { Col, Container, Modal, Row } from \"react-bootstrap\";\r\nimport { connect } from \"react-redux\";\r\nimport { setCarItems } from \"../Actions\";\r\nimport Cart from \"../Cart.png\";\r\nimport { getItemIndex } from \"../CartUtils\";\r\nimport \"./cartModal.css\";\r\nimport { ViewHOC } from \"./ViewHOC\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport { withStyles, makeStyles } from '@material-ui/core/styles';\r\nimport TableCell from '@material-ui/core/TableCell';\r\nimport TableRow from '@material-ui/core/TableRow';\r\nimport { size } from \"lodash\";\r\nimport { CARTMETRIC } from './constants/APIConstants';\r\nimport axios from 'axios';\r\nimport { getAuthHeader } from './Util';\r\n\r\nconst StyledTableCell = withStyles((theme) => ({\r\n head: {\r\n backgroundColor: theme.palette.common.black,\r\n color: theme.palette.common.white,\r\n },\r\n body: {\r\n fontSize: 14,\r\n },\r\n}))(TableCell);\r\n\r\nconst StyledTableRow = withStyles((theme) => ({\r\n root: {\r\n '&:nth-of-type(odd)': {\r\n backgroundColor: theme.palette.action.hover,\r\n },\r\n },\r\n}))(TableRow);\r\n\r\nclass CartModal extends React.Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n showHide: false,\r\n cart: [],\r\n };\r\n }\r\n\r\n handleModalShowHide = () => {\r\n this.setState({ showHide: !this.state.showHide });\r\n };\r\n\r\n removeItem = (partNumber) => {\r\n const { cart, setCartItems } = this.props;\r\n const ind = getItemIndex(partNumber, cart);\r\n if (ind > -1) {\r\n let newCart = cart || [];\r\n newCart.splice(ind, 1);\r\n console.log(\"remove\", newCart);\r\n setCartItems(newCart);\r\n }\r\n console.log(\"partnum\", partNumber);\r\n };\r\n\r\n updateQuantity = (partNumber, qty) => {\r\n console.log(\r\n \"quant\",\r\n partNumber,\r\n typeof qty,\r\n typeof Number(qty),\r\n Number(\"0001\"),\r\n Number(qty)\r\n );\r\n qty = Number(qty);\r\n const { cart, setCartItems } = this.props;\r\n const ind = getItemIndex(partNumber, cart);\r\n if (ind > -1) {\r\n if (qty > 0 && qty < 100) {\r\n cart[ind].qty = qty;\r\n } else {\r\n alert(\"Quantity between 1 to 99 Only\");\r\n cart[ind].qty = 1;\r\n }\r\n setCartItems(cart);\r\n }\r\n let urlprod;\r\n urlprod = CARTMETRIC(partNumber, qty, 2);\r\n axios.get(urlprod, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((response) => {\r\n }, (error) => {\r\n })\r\n };\r\n\r\n truncate = (source, size) => {\r\n return source.length > size ? source.slice(0, size - 1) + \"…\" : source;\r\n };\r\n\r\n getRedirectURL = () => {\r\n const { cartQty } = this.props;\r\n console.log(\"cq\", cartQty);\r\n let URL=`${process.env.REACT_APP_HPPS_PATH}`\r\n URL = `${URL}&cc=${Cookies.get(\"HP_Country\") || \"US\"}`;\r\n Object.entries(cartQty).forEach(\r\n ([partNumber, qty], index) =>\r\n (URL = `${URL}&partnumber${index}=${partNumber}&.qty${index}=${qty}`)\r\n );\r\n return window.open(URL, \"_blank\");\r\n };\r\n\r\n render() {\r\n const { mobileView} = this.props;\r\n console.log(\"props value\",this.props.cart)\r\n const columns = [\r\n {\r\n dataField: \"PartNumber\",\r\n text: \"Part Number\", \r\n headerStyle: () => {\r\n return { width: \"2%\" };\r\n },\r\n },\r\n {\r\n dataField: \"EnhancedDescription\",\r\n text: \"Part Description\", \r\n formatter: (col) => (\r\n
\r\n ), \r\n headerStyle: () => {\r\n return { width: \"10%\" };\r\n },\r\n },\r\n {\r\n dataField: \"qty\",\r\n text: \"Quantity\",\r\n formatter: (col, prod, row, index) =>\r\n col ? (\r\n
\r\n \r\n {\r\n prod.qty - 1 > 0 &&\r\n this.updateQuantity(\r\n prod.PartNumber,\r\n prod.qty - 1\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n
{\r\n this.updateQuantity(\r\n prod.PartNumber,\r\n e.currentTarget.value\r\n );\r\n }}>\r\n \r\n {prod.qty}\r\n
\r\n \r\n {\r\n prod.qty + 1 < 100 &&\r\n this.updateQuantity(\r\n prod.PartNumber,\r\n prod.qty + 1\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n ) : null,\r\n headerStyle: () => {\r\n return { width: \"3%\" };\r\n },\r\n },\r\n {\r\n dataField: \"\",\r\n text: \"Action\",\r\n formatter : (col, prod, row, index) =>\r\n (\r\n \r\n this.removeItem(prod.PartNumber)\r\n }\r\n >\r\n \r\n \r\n ),\r\n headerStyle: () => {\r\n return { width: \"2%\" };\r\n },\r\n }, \r\n ];\r\n return (\r\n
\r\n \r\n {mobileView ? (\r\n \r\n this.handleModalShowHide()} style={{cursor:'pointer'}}\r\n />\r\n\r\n \r\n {(this.props.cart || []).length}\r\n \r\n\r\n \r\n \r\n Cart Items\r\n \r\n \r\n {(this.props.cart || []).length > 0 ? (\r\n <>\r\n {this.props.cart.map((cartItem, idx) => {\r\n return ( \r\n \r\n \r\n \r\n
\r\n
\r\n
Part Number: \r\n {/*
*/}\r\n {cartItem.PartNumber}\r\n {/*
*/}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n {/*
*/}\r\n
Part Description:
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {/* */}\r\n \r\n
\r\n \r\n {\r\n cartItem.qty - 1 > 0 &&\r\n this.updateQuantity(\r\n cartItem.PartNumber,\r\n cartItem.qty - 1\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n
{\r\n this.updateQuantity(\r\n cartItem.PartNumber,\r\n e.currentTarget.value\r\n );\r\n }}>\r\n \r\n {cartItem.qty}\r\n
\r\n \r\n {\r\n cartItem.qty + 1 < 100 &&\r\n this.updateQuantity(\r\n cartItem.PartNumber,\r\n cartItem.qty + 1\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n this.removeItem(cartItem.PartNumber)\r\n }\r\n >\r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n })}\r\n \r\n this.getRedirectURL()}\r\n />\r\n \r\n \r\n ) : (\r\n <> You have no items in your shopping cart.\r\n )}\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n \r\n this.handleModalShowHide()\r\n } style={{cursor:'pointer'}}\r\n />\r\n\r\n \r\n {(this.props.cart || []).length}\r\n \r\n\r\n \r\n \r\n Cart Items\r\n \r\n \r\n {(this.props.cart || []).length > 0 ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.getRedirectURL()}\r\n />\r\n \r\n \r\n ) : (\r\n <> You have no items in your shopping cart.\r\n )}\r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => {\r\n let cartQty = {};\r\n state.cart.cartItems.forEach((item) => (cartQty[item.PartNumber] = item.qty));\r\n return {\r\n ...state,\r\n cart: state.cart.cartItems,\r\n cartQty,\r\n };\r\n};\r\n\r\nconst mapDispatchProps = (dispatch) => ({\r\n setCartItems: (cart) => dispatch(setCarItems(cart)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchProps)(ViewHOC(CartModal));\r\n","import React from \"react\";\r\nimport \"./nav.css\";\r\nimport { ViewHOC } from \"./ViewHOC\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { getLocationObject } from \"./Util\";\r\nimport { MailIDS } from \"./constants/constants\";\r\nimport CartModal from \"./CartModal\";\r\nimport Loading from './Loading';\r\nimport Cookies from 'js-cookie'\r\n// import { USER_GUIDE } from \"./constants/RouteConstants\";\r\n\r\n// Added By Shreyas to Redirect Page to Home URL--Start Changed on 24 Feb 2023\r\nfunction pageRefresh(event){\r\n event.preventDefault();\r\n localStorage.setItem(\"Temp_Country\",Cookies.get('HP_Country'));// Added on:-09 March 2023\r\n //window.location.replace(`${process.env.REACT_APP_HOME_DIRECTORY}`);\r\n window.location.replace(\"/PartSurfer\");\r\n };\r\n// Added By Shreyas to Redirect Page to Home URL--End Changed on 24 Feb 2022\r\n\r\nfunction Navbar(props) {\r\n // console.log('mobile', x.mobileView)\r\n// console.log(\"navprop\", props);\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
    \r\n
  • \r\n {/* Home (current) */}\r\n {/* Commented by Shreyas on 24 Feb 2023: To Add onclick event to the Home Link--- Start Here */}\r\n {/* */}\r\n {/* Commented by Shreyas on 24 Feb 2023: To Add onclick event to the Home Link--- End Here */}\r\n {/* Added by Shreyas on 24 Feb 2023: To Add onclick event to the Home Link--- Start Here */}\r\n \r\n {/* Added by Shreyas on 24 Feb 2023: To Add onclick event to the Home Link--- End Here */}\r\n Home\r\n \r\n
  • \r\n\r\n {/*
  • \r\n \r\n Search By\r\n \r\n \r\n \r\n Part\r\n \r\n \r\n Product\r\n \r\n \r\n Serial Number\r\n \r\n \r\n Functional Equivalent\r\n \r\n \r\n Wild Character\r\n \r\n
\r\n */}\r\n
  • \r\n {/* Home (current) */}\r\n \r\n Hierarchy\r\n \r\n
  • \r\n
  • \r\n \r\n Self Help\r\n \r\n
    \r\n \r\n User Guide\r\n \r\n \r\n Frequently Asked Questions\r\n \r\n \r\n Contact Us\r\n \r\n {/* {!MailIDS.includes(localStorage.getItem(\"loggeduser\")) ? \"\": \r\n \r\n Generate Metrics\r\n } */}\r\n
    \r\n
  • \r\n \r\n {!props.mobileView && }\r\n
    \r\n {props.mobileView && }\r\n \r\n );\r\n}\r\n\r\nexport default ViewHOC(Navbar);\r\n","import React from \"react\";\r\nimport { Accordion, Card, Container } from \"react-bootstrap\";\r\nimport \"./bootstrap.min.css\";\r\nimport \"./design.css\";\r\nimport './main.css';\r\nimport { ViewHOC } from \"./ViewHOC\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { getLocationObject } from \"./Util\";\r\nimport Navbar from \"./navbar\";\r\nimport Login from \"./login\";\r\n\r\nfunction ContactUS() {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n I have a question/comment about ...\r\n \r\n \r\n \r\n More parts assistance ..\r\n
    \r\n For further assistance with ordering or identifying HP parts,\r\n please visit the  \r\n \r\n HP Parts Store\r\n \r\n
    \r\n
    \r\n \r\n \r\n >> Support for my product\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n >>General HP information\r\n \r\n \r\n
    \r\n
    \r\n I would like to send email to HP regarding ..
    \r\n
    \r\n \r\n >>\r\n Technical support for my HP product\r\n
    \r\n
    \r\n {/* \r\n >>\r\n Missing or incorrect data in PartSurfer\r\n */}\r\n \r\n >>\r\n Missing or incorrect data in PartSurfer\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Back to home\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default ViewHOC(ContactUS);\r\n","import React from \"react\";\r\nimport { ViewHOC } from \"./ViewHOC\";\r\nimport { Alert, Card, Container, Accordion } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Login from \"./login\";\r\nimport { getLocationObject } from \"./Util\";\r\nimport Navbar from \"./navbar\";\r\nimport \"./bootstrap.min.css\";\r\nimport \"./design.css\";\r\nimport './main.css';\r\n\r\nfunction Faq() {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n

    \r\n This document answers some of the common questions regarding HP\r\n PartSurfer and Service Parts Information (SPI) data. If you have a\r\n question or concern that is not addressed here, please refer to our{\" \"}\r\n contact page for more\r\n detailed help or to contact us via email.\r\n

    \r\n
    \r\n\r\n \r\n \r\n \r\n Questions and Answers ...\r\n \r\n \r\n \r\n Access to HP PartSurfer\r\n
    \r\n \r\n Q.Do I have to register in order to use HP PartSurfer?\r\n {\" \"}\r\n
    \r\n \r\n A.HP PartSurfer does NOT require registration. Before\r\n you can access data in PartSurfer, you will be asked to select\r\n from the list of over 40 countries and regions for which we\r\n provide part information. Your selection will be saved in a\r\n cookie on your computer, and you will automatically be\r\n provided with the correct part information on future visits.{\" \"}\r\n

    \r\n Q.Is there a cost for using HP PartSurfer?\r\n \r\n A.We are happy to provide\r\n PartSurfer at no cost to assist customers in identifying and\r\n purchasing genuine HP parts.\r\n

    \r\n Q.Why won't HP PartSurfer run on my computer?\r\n \r\n A.You must be running\r\n version 4 or greater of either Netscape Navigator or Internet\r\n Explorer to use PartSurfer. Cookies must be allowed, and\r\n JavaScript must be enabled.\r\n If this does not address your problem, please refer to our{\" \"}\r\n contact page for more\r\n detailed help or to contact us via email.\r\n

    \r\n
    \r\n General Application Questions\r\n
    \r\n Q.How often is HP PartSurfer updated?{\" \"}\r\n \r\n A.HP PartSurfer is updated\r\n from the main SPI database every Monday through Friday at\r\n approximately 6 PM Pacific time.\r\n

    \r\n \r\n Q.I thought HP PartSurfer displayed part pricing information.\r\n Why do I not see any part prices?\r\n \r\n \r\n A.Part prices are no\r\n longer displayed in PartSurfer for some countries. Web-based\r\n applications and other resources for ordering HP parts on-line\r\n are now available in most geographies. These interfaces\r\n provide access to 'real-time' part prices, as well as dealer\r\n and volume discounts, and information on parts unique to your\r\n country or region.\r\n \r\n Click here\r\n {\" \"}\r\n for information on accessing HP part prices and buying HP\r\n parts in your area.\r\n

    \r\n
    \r\n Part/Product and Ordering Questions\r\n
    \r\n \r\n Q.I have found the part that I need. Now how do I order it?\r\n \r\n \r\n A.Based on the country\r\n selection chosen when you first use the site, we will detect\r\n whether a parts is orderable from the HP Parts Store or not.\r\n If a box appears next to the part then click on it to{\" \"}\r\n [Add to Cart]. If there is NO box then it may not be\r\n orderable. You can also at any time go directly to the HP\r\n Parts Store (under the Services menu above) and double\r\n check at any time. When your selections are completed, click\r\n on the Shopping Cart icon and follow the steps to check\r\n availability, part price, and other ordering options available\r\n to you in your country.\r\n

    \r\n \r\n Q.Why can't I find the part or product that I need on HP\r\n PartSurfer? What do I do now?\r\n {\" \"}\r\n \r\n A.HP PartSurfer is\r\n intended to identify products and associated parts with the\r\n highest volume of parts information requests and provide\r\n high-quality data for them, not to provide a 100% solution for\r\n all HP products and parts. Some HP products are set up on our\r\n centralized repair program, and have few user-replaceable\r\n parts. This could be the reason that the part you are looking\r\n for is not on HP PartSurfer. For further assistance with\r\n service parts information, or to determine the best repair\r\n strategy for your HP product, please refer to the resources\r\n listed on our{\" \"}\r\n contact page.\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Back to home\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default ViewHOC(Faq);\r\n","import React from 'react'\r\n\r\nexport default function Image({src}) {\r\n return (\r\n \r\n \"img\"\r\n {\r\n e.target.src = `${window.location.origin}/PartSurfer/img/${src}`; //replacement image imported above\r\n }}\r\n />\r\n \r\n )\r\n}\r\n","import React, { Component } from 'react'\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport { ViewHOC } from \"./ViewHOC\";\r\n\r\n\r\nclass FunctionalEquivalent extends Component {\r\n\r\n render() {\r\n\r\n const { data, mobileView } = this.props;\r\n \r\n const columns = [\r\n {\r\n dataField: 'PartNumber',\r\n text: 'Part Number',\r\n headerStyle: () => {\r\n return { width: \"15%\" };\r\n }\r\n },\r\n /* {\r\n dataField: 'Keyword',\r\n text: 'Keyword ',\r\n headerStyle: () => {\r\n return { width: \"auto\" };\r\n }\r\n }, */\r\n {\r\n dataField: 'EnhancedDescription',\r\n text: 'Part Description ',\r\n formatter: (col) =>
    ,\r\n headerStyle: () => {\r\n return { width: \"auto\" };\r\n }\r\n },\r\n {\r\n dataField: 'CSRFlag',\r\n text: 'CSR ',\r\n headerStyle: () => {\r\n return { width: \"5%\" };\r\n }\r\n },\r\n localStorage.getItem(\"loggeduser\") == null ? {\r\n dataField: 'TechCourier',\r\n text: 'Tech Courier',\r\n headerStyle: () => {\r\n return { width: \"10%\" };\r\n },\r\n hidden: true,\r\n }: {\r\n dataField: 'TechCourier',\r\n text: 'Tech Courier',\r\n headerStyle: () => {\r\n return { width: \"10%\" };\r\n }\r\n },\r\n {\r\n dataField: 'ROHSCompliant',\r\n text: 'ROHS ',\r\n headerStyle: () => {\r\n return { width: \"20%\" };\r\n }\r\n }];\r\n\r\n return (\r\n \r\n {mobileView\r\n ? \r\n \r\n {/*
    */}\r\n {\r\n (data || []).map(prod => \r\n Part Number : {prod.PartNumber}\r\n
    \r\n {/* Keyword : {prod.Keyword}\r\n
    */}\r\n Part Description : \r\n {/* {prod.EnhancedDescription} */}\r\n
    \r\n
    \r\n CSR : {prod.CsrFlag?prod.CsrFlag:\"-N/A-\"}\r\n
    \r\n Tech Courier : {prod.TechCourier?prod.TechCourier:\"-N/A-\"}\r\n
    \r\n ROHS : {prod.RohsCompliant?prod.RohsCompliant:\"-N/A-\"}\r\n
    \r\n {/*
    */}\r\n {/*
    */}\r\n
    )\r\n }\r\n
    \r\n : 10 ? paginationFactory() : undefined} />\r\n }\r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default (ViewHOC(FunctionalEquivalent));\r\n\r\n\r\n\r\n","import React from 'react'\r\nimport { Row, Col } from 'react-bootstrap'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\n\r\nconst getDesc = (mode, payload) => {\r\n switch (mode) {\r\n //commented by shridhar for wild card search-blue section need to remove\r\n // case 'GenericSearch':\r\n // return (
    \r\n //
    Product Number :  {payload[0].ProductNumber === '-N/A-' ? 'Not Found' : payload[0].ProductNumber}
    \r\n //
    Product Name :  {payload[0].ProductNumber === '-N/A-' ? 'Not Found' : payload[0].ProductName}
    \r\n //
    )\r\n case 'SERIAL':\r\n return (
    \r\n {payload &&\r\n
    \r\n
    Serial Number :  {payload.wwsnrsinput.serial_no === '-N/A-' ? 'Not Found' : payload.wwsnrsinput.serial_no}
    \r\n
    Product Number :  {payload.wwsnrsinput.product_no === '-N/A-' ? 'Not Found' : payload.wwsnrsinput.product_no}
    \r\n
    Description :  {payload.wwsnrsinput.user_name === '-N/A-' ? 'Not Found' : payload.wwsnrsinput.user_name}
    \r\n
    ROHS Status :  {payload.roHS_unit_status.rohs_status_code === '-N/A-' ? 'Not Found' : payload.roHS_unit_status.rohs_status_code}
    \r\n
    \r\n }\r\n
    )\r\n case 'PRODUCT':\r\n return (
    \r\n {(payload || []).length > 0 && (\r\n
    \r\n
    Product Number :  {payload[0].ProductNumber? payload[0].ProductNumber: \"Not Found\"}
    \r\n
    Description :   {payload[0].ProductName? payload[0].ProductName: \"Not Found\"}
    \r\n
    \r\n )} \r\n \r\n
    )\r\n default:\r\n }\r\n}\r\n\r\nexport default function Details({ mode, payload, expandIconRequired, triggered, triggerAll }) {\r\n return (\r\n
    \r\n {expandIconRequired && triggerAll ?\r\n \r\n \r\n {getDesc(mode, payload)}\r\n \r\n \r\n \r\n
    { triggerAll(!triggered) }}>\r\n {triggered ? : }\r\n
    \r\n \r\n
    : getDesc(mode, payload)}\r\n
    \r\n )\r\n}\r\n","import React from \"react\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport { ViewHOC } from \"./ViewHOC\";\r\nimport Details from \"./Details\";\r\nimport { getURLQueryString, getURLQueryStringBySearch } from \"./Util\";\r\nimport { SEARCH_MODES } from \"./constants/constants\";\r\n\r\nclass ProductList extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n list: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.filterData();\r\n }\r\n\r\n filterData = (text) => {\r\n this.setState({\r\n list: this.props.data.filter((part) =>\r\n text\r\n ? part.ProductNumber.indexOf(text) > -1 ||\r\n part.ProductName.indexOf(text) > -1\r\n : true\r\n ),\r\n });\r\n };\r\n\r\n render() {\r\n const { data, mobileView, isDescDisabled } = this.props;\r\n\r\n const columns = mobileView\r\n ? [\r\n {\r\n text: \"#\",\r\n dataField:'',\r\n headerAttrs: {\r\n hidden: true,\r\n },\r\n formatter: (col, prod, index) => {\r\n return (\r\n \r\n Product/Part : \r\n \r\n {prod.ProductNumber}\r\n \r\n
    \r\n Description : \r\n {prod.ProductName}\r\n
    \r\n
    \r\n
    \r\n );\r\n },\r\n },\r\n ]\r\n : [\r\n {\r\n dataField: \"ProductNumber\",\r\n text: \"Product/Part\",\r\n formatter: (col, row, index) => (\r\n {col}\r\n ),\r\n },\r\n {\r\n dataField: \"ProductName\",\r\n text: \"Description\",\r\n },\r\n ];\r\n\r\n return (\r\n \r\n {/*\r\n commented by shridhar to remove details blue section for wild card search\r\n {!isDescDisabled &&
    }\r\n
    */}\r\n {this.state.list.length > 0 ? \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n this.setState({ searchText: event.target.value })\r\n }\r\n required\r\n />\r\n
    \r\n
    \r\n
    \r\n {\r\n this.filterData(this.state.searchText);\r\n }}\r\n >\r\n Apply\r\n \r\n   \r\n {\r\n this.filterData();\r\n this.setState({ searchText: \"\" });\r\n }}\r\n >\r\n Reset\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n 10 ? paginationFactory() : undefined}\r\n />\r\n
    \r\n
    \r\n : \"There is no Where Used Products!\" } \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ViewHOC(ProductList);\r\n","import React from 'react'\r\n\r\nexport default function PartImages({src,handleLoader}) {\r\n\r\n const loadComplete = () => {\r\n console.log(\"load complete\");\r\n handleLoader(false);\r\n }\r\n\r\n return (\r\n \"img\"\r\n {\r\n e.target.src = {src} //replacement image imported above\r\n }}\r\n \r\n /> \r\n \r\n )\r\n}","import React from \"react\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport { setCarItems } from \"../Actions\";\r\nimport { getItemIndex } from \"../CartUtils\";\r\nimport { Alert, Collapse } from \"react-bootstrap\";\r\nimport ProductList from \"./ProductList\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport \"./design.css\";\r\nimport Loading from \"./Loading\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport { ViewHOC } from \"./ViewHOC\";\r\nimport { GET_PARTLIST,FUNCTIONAL,FUNCTIONAL_LIST,INSERTPHOTOMETRIC,BUYMETRIC } from \"./constants/APIConstants\";\r\nimport { getAuthHeader } from \"./Util\";\r\nimport buy from \"../buy.gif\";\r\nimport Cookies from \"js-cookie\";\r\nimport {Modal} from \"react-bootstrap\";\r\nimport PartImages from \"./PartImages\";\r\nimport { Button, Tooltip, OverlayTrigger } from \"react-bootstrap\";\r\nimport ExitToAppIcon from '@material-ui/icons/ExitToApp';\r\nimport FunctionalEquivalent from './FunctionalEquivalent';\r\nimport imageexists from \"image-exists\"\r\n\r\nclass PartList extends React.Component {\r\n _isMounted = false;\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n cart: [],\r\n showModal: false,\r\n showModalFE:false,\r\n part: [],\r\n loading: false,\r\n collapsed: false,\r\n modifiedData:[],\r\n part_number: \"\",\r\n };\r\n this.PrintPhoto = this.PrintPhoto.bind(this);\r\n this.closeModalFE = this.closeModalFE.bind(this);\r\n this.buylink = this.buylink.bind(this);\r\n this.AddPhotoMetric = this.AddPhotoMetric.bind(this);\r\n }\r\n componentDidMount() {\r\n this.fetchDetails();\r\n this._isMounted = true;\r\n const { data } = this.props;\r\n console.log(\"part body\",data);\r\n if (data) {\r\n //this.loadWhereUsed(data[0].PartNumber);\r\n this.loadWhereUsed(encodeURIComponent(data[0].PartNumber));//Added for Encoding Special Characters\r\n }\r\n }\r\n // componentWillUnmount() {\r\n // this._isMounted = false;\r\n // }\r\n componentWillReceiveProps(){\r\n \r\n }\r\n\r\n buylink = (url, PartNumber) => {\r\n console.log(url);\r\n let urlprod;\r\n urlprod = BUYMETRIC(PartNumber);\r\n axios.get(urlprod, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((response) => {\r\n }, (error) => {\r\n })\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n loadWhereUsed = (partNumber) => {\r\n this.setState({ loading: false });\r\n axios\r\n .get(GET_PARTLIST(partNumber, localStorage.getItem(\"usertype\")), {\r\n headers: {\r\n ...getAuthHeader(),\r\n },\r\n })\r\n .then(\r\n (res) => {\r\n const data = res.data.Body;\r\n this.setState({ data, loading: false });\r\n },\r\n (error) => {}\r\n );\r\n };\r\n//added by Mousumi\r\nshowModal = (partnumber) => {\r\nconsole.log(\"photo test\");\r\n var photo_type = \".jpg\";\r\n const imageName=partnumber + photo_type;\r\n const imageLocation= `${process.env.REACT_APP_IMAGE_PATH}`;\r\n const imagePath= imageLocation+imageName;\r\n this.CheckImageavailability(imagePath);\r\n this.AddPhotoMetric(partnumber);\r\n this.setState({ part_number: partnumber, showModal: true, imagePath });\r\n };\r\n closeModal = () => {\r\n this.setState({ showModal: false });\r\n}; \r\n\r\nCheckImageavailability = (path) => {\r\n imageexists(path, function(exists) {\r\n if (exists) {\r\n localStorage.setItem(\"photoAvailable\",\"Yes\");\r\n }\r\n else {\r\n localStorage.setItem(\"photoAvailable\",\"No\");\r\n }\r\n });\r\n \r\n}\r\nAddPhotoMetric = (partnumber) => {\r\n let input = partnumber;\r\n let urlprod;\r\n urlprod = INSERTPHOTOMETRIC(input,localStorage.getItem(\"photoAvailable\"));\r\n axios.get(urlprod, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((response) => {\r\n console.log(response);\r\n }, (error) => {\r\n console.log(error);\r\n })\r\n}\r\n\r\n//added my Mousumi\r\nPrintPhoto = () => {\r\n let elem = document.getElementById(\"PopupId\");\r\n var domClone = elem.cloneNode(true);\r\n var $printSection = document.getElementById(\"printSection\");\r\n if (!$printSection) {\r\n $printSection = document.createElement(\"div\");\r\n $printSection.id = \"printSection\";\r\n document.body.appendChild($printSection);\r\n }\r\n $printSection.innerHTML = \"\";\r\n $printSection.appendChild(domClone);\r\n window.print();\r\n};\r\n//Added by Mousumi\r\nfetchDetails = () => {\r\n ; \r\n //let prodNumber = this.props.data[0].PartNumber;\r\n let prodNumber = encodeURIComponent(this.props.data[0].PartNumber); //Added for encoding special characters\r\n let partNumbers = this.props.data.map(item => {\r\n //return item.PartNumber\r\n return encodeURIComponent(item.PartNumber)//Added for encoding special characters\r\n})\r\nconst url = FUNCTIONAL_LIST(prodNumber, localStorage.getItem(\"usertype\"))\r\naxios.post(url, partNumbers, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((res) => {\r\n let originalData = res.data.Body; \r\n //console.log(\"ori\",originalData)\r\n let newData = this.props.data.map((item, i) => Object.assign({}, item, originalData[i]));\r\n //console.log(\"newdata\",newData);\r\n this.setState({modifiedData: newData})\r\n }, (error) => {\r\n console.log(error);\r\n })\r\n }\r\n//Added by Mousumi\r\n showModalFE = (partnumber) => {\r\n const url = FUNCTIONAL(partnumber,'US',localStorage.getItem(\"usertype\"))\r\n axios.get(url, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((res) => { \r\n this.setState({ \r\n showModalFE: true ,\r\n partFEData: res.data.Body \r\n }); \r\n }, (error) => {\r\n }) \r\n };\r\n closeModalFE = () => {\r\n this.setState({ showModalFE: false });\r\n };\r\n //Added by Mousumi \r\n handleCartChange = (event, item) => {\r\n //console.log(\"Cart ==> from props\", this.props);\r\n const { cart } = this.props;\r\n //console.log(\"hnadle change request\", event, item, [...(cart || [])]);\r\n if (event) {\r\n alert(\r\n `One Item with PartNumber ${item.PartNumber} has been added to the Cart`\r\n );\r\n item.qty = 1;\r\n const updatedCart = [...(cart || []), item];\r\n //console.log(\"add\", updatedCart);\r\n this.props.setCarItems(updatedCart);\r\n } else {\r\n alert(\r\n `One Item with PartNumber ${item.PartNumber} has been removed from Cart`\r\n );\r\n const ind = getItemIndex(item.PartNumber, cart);\r\n if (ind > -1) {\r\n let newCart = cart || [];\r\n newCart.splice(ind, 1);\r\n // console.log(\"remove\", newCart);\r\n this.props.setCarItems(newCart);\r\n }\r\n }\r\n };\r\n\r\n render() {\r\n const { data, mobileView,cartQty } = this.props;\r\n const { collapsed, loading,showModal,imagePath,modifiedData,showModalFE,partFEData} = this.state;\r\n const columns = mobileView\r\n ? [\r\n {\r\n text: \"#\", \r\n dataField: '',\r\n headerAttrs: {\r\n hidden: true,\r\n },\r\n formatExtraData: (partNumber) => {\r\n // console.log(\"formatter data\", a, b, c);\r\n return cartQty[partNumber] ? true : false;\r\n }, \r\n formatter: (col, prod, index,extra) => {\r\n const presentInCart = extra(prod.PartNumber);\r\n return (\r\n \r\n Photo : \r\n {prod.PartPhotoFlag?(\r\n this.showModal(prod.PartNumber)}\r\n />):\"-N/A-\"}\r\n
    \r\n Part Number : \r\n {prod.PartNumber}\r\n
    \r\n Description : \r\n {/* {prod.EnhancedDescription} */}\r\n
    \r\n
    \r\n CSR : \r\n {prod.CSR?prod.CSR:\"-N/A-\"}\r\n
    \r\n ROHS : \r\n {prod.ROHS}\r\n
    \r\n FE : \r\n {prod.FE_MATERIAL?(\r\n Functional Equivalent}>\r\n this.showModalFE(prod.PartNumber)}/>\r\n \r\n ):\"-N/A-\"}\r\n
    \r\n {Cookies.get(\"HP_Country\") === \"US\" ? (\r\n
    \r\n {prod.BuyLink != null ? (\r\n this.buylink(prod.BuyLink, prod.PartNumber)}\r\n >\r\n \"BuyLink\"\r\n \r\n ) : \"\"}\r\n
    \r\n ) : null}\r\n {prod.OrderFlag === \"1\" ? (\r\n \r\n this.handleCartChange(!presentInCart, prod)\r\n }\r\n >\r\n \r\n \r\n ) : null} \r\n
    \r\n );\r\n },\r\n },\r\n ]\r\n : [\r\n \r\n {\r\n dataField: \"PartPhotoFlag\",\r\n text: \"Photo\",\r\n formatter: (col, row, index) =>\r\n col ? (\r\n this.showModal(row.PartNumber)}\r\n />\r\n ) : null,\r\n headerStyle: () => {\r\n return { width: \"2%\" };\r\n },\r\n },\r\n {\r\n dataField: \"OrderFlag\",\r\n text: \"Add to Cart\",\r\n formatExtraData: (partNumber) => {\r\n // console.log(\"formatter data\", a, b, c);\r\n return cartQty[partNumber] ? true : false;\r\n },\r\n formatter: (col, row, index, extra) => {\r\n // console.log(\"inside formatter\", row);\r\n console.log(\"inside formatter\", extra)\r\n const letEnabled = extra(row.PartNumber);\r\n console.log(\"letEnabled\",letEnabled);\r\n return col === \"1\" ? (\r\n this.handleCartChange(e.target.checked, row)}\r\n >\r\n ) : (\r\n \"-N/A-\"\r\n ); \r\n },\r\n headerStyle: () => {\r\n return { width: \"2%\" };\r\n },\r\n }, \r\n {\r\n dataField: \"PartNumber\",\r\n text: \"Part Number\",\r\n headerStyle: () => {\r\n return { width: \"3%\" };\r\n },\r\n },\r\n {\r\n dataField: \"EnhancedDescription\",\r\n text: \"Description\",\r\n formatter: (col) => (\r\n
    \r\n ),\r\n headerStyle: () => {\r\n return { width: \"15%\" };\r\n },\r\n },\r\n {\r\n dataField: \"CSR\",\r\n text: \"CSR\",\r\n headerStyle: () => {\r\n return { width: \"3%\" };\r\n },\r\n },\r\n {\r\n dataField: \"ROHS\",\r\n text: \"ROHS\",\r\n headerStyle: () => {\r\n return { width: \"3%\" };\r\n },\r\n },\r\n {\r\n dataField: \"FE_MATERIAL\",\r\n text: \"FE\",\r\n headerStyle: () => {\r\n return { width: \"3%\" };\r\n },\r\n formatter: (cell, prod, row, index) => {\r\n return cell? \r\n Functional Equivalent}\r\n >\r\n this.showModalFE(prod.PartNumber)}/> \r\n \r\n : \"-N/A-\"\r\n }\r\n },\r\n ];\r\n\r\n if (!mobileView && Cookies.get(\"HP_Country\") === \"US\") {\r\n columns.push({\r\n dataField: \"BuyLink\",\r\n text: \"Buy Link\",\r\n formatter: (col, row) =>\r\n col ? (\r\n this.buylink(row.BuyLink, row.PartNumber)}>\r\n \"BuyLink\"\r\n \r\n ) : \"NA\",\r\n headerStyle: () => {\r\n return { width: \"3%\" };\r\n },\r\n });\r\n }\r\n\r\n return (\r\n \r\n \r\n 10 ? paginationFactory() : undefined}\r\n />\r\n \r\n \r\n \r\n \r\n Photo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Functional Equivalent\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n this.setState({ collapsed: !collapsed }, \r\n ()=>{\r\n if (this.state.collapsed && !this.state.data){\r\n this.setState({loading:true})\r\n }\r\n }\r\n // new change\r\n // () => {\r\n // if (this.state.collapsed && !this.state.data) {\r\n // this.loadWhereUsed(this.props.data[0].PartNumber);\r\n // }\r\n // }\r\n );\r\n }}\r\n >\r\n
    \r\n {this.state.collapsed ? (\r\n \r\n ) : (\r\n \r\n )}\r\n    Click Here To See The List Of HP Products That Part\r\n Number Is Used In.\r\n
    \r\n \r\n {this.state.data ? (\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state) => {\r\n let cartQty = {};\r\n state.cart.cartItems.forEach((item) => (cartQty[item.PartNumber] = item.qty));\r\n return {\r\n ...state,\r\n cart: state.cart.cartItems,\r\n cartQty,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setCarItems: (newCart) => {\r\n dispatch(setCarItems(newCart));\r\n },\r\n };\r\n};\r\n//export default ViewHOC(PartList);\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ViewHOC(PartList));","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport ExitToAppIcon from '@material-ui/icons/ExitToApp';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport Cookies from \"js-cookie\";\r\nimport React, { Fragment } from \"react\";\r\nimport axios from 'axios';\r\nimport secureLocalStorage from 'react-secure-storage';// Added By Shreyas for local storage security.\r\n// import ScrollUpButton from \"react-scroll-up-button\";\r\nimport FunctionalEquivalent from './FunctionalEquivalent';\r\nimport { setCookie, getQueryParam, getURLQueryString, getAuthHeader } from './Util';\r\nimport { FUNCTIONAL_LIST, FUNCTIONAL, INSERTPHOTOMETRIC, CARTMETRIC, BUYMETRIC } from './constants/APIConstants';\r\nimport { Button, Tooltip, OverlayTrigger } from \"react-bootstrap\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport {Modal} from \"react-bootstrap\";\r\nimport { connect } from \"react-redux\";\r\nimport { setCarItems } from \"../Actions\";\r\nimport buy from \"../buy.gif\";\r\n// import {FaArrowCircleUp} from 'react-icons/fa';\r\nimport { getItemIndex } from \"../CartUtils\";\r\nimport PartImages from \"./PartImages\";\r\nimport { ViewHOC } from \"./ViewHOC\";\r\nimport Loading from \"./Loading\";\r\nimport imageexists from \"image-exists\";\r\n\r\nclass DescProductList extends React.Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n cart: [],\r\n showModal: false,\r\n showModalFE: false,\r\n part_number: \"\",\r\n modifiedData: [],\r\n partFEData: [],\r\n Ishide: false,\r\n isLoad:false,\r\n FELoading: false,\r\n // visible:false, \r\n //loading: false,\r\n };\r\n this.state = {FELoading: false}\r\n this.closeModal = this.closeModal.bind(this);\r\n this.PrintPhoto = this.PrintPhoto.bind(this);\r\n this.closeModalFE = this.closeModalFE.bind(this);\r\n this.AddPhotoMetric = this.AddPhotoMetric.bind(this);\r\n // this.myRef=React.createRef();\r\n }\r\n \r\n /* componentDidUpdate(prevProps, prevState){\r\n // console.log(\"inside will\")\r\n this.fetchDetails()\r\n // check if dataSource state is still empty\r\n if (!prevState.modifiedData) {\r\n // Your networking code\r\n this.fetchDetails();\r\n }\r\n } */\r\n \r\n fetchDetails = () => { \r\n let prodNumber = this.props.data[0].ProductNumber \r\n let partNumbers = this.props.data.map(item => {\r\n return item.PartNumber\r\n })\r\n const url = FUNCTIONAL_LIST(prodNumber,localStorage.getItem(\"usertype\"))\r\n axios.post(url, partNumbers, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((res) => {\r\n let newData = [];\r\n let originalData = res.data.Body; \r\n // console.log(\"oridata\",originalData); \r\n newData = this.props.data.map((item, i) => Object.assign({}, item, originalData[i]));\r\n //console.log(\"newData\",newData);\r\n this.setState({modifiedData: newData})\r\n }, (error) => {\r\n console.log(error);\r\n })\r\n }\r\n \r\n showModal = (partnumber) => {\r\n var photo_type = \".jpg\";\r\n const imageName=partnumber + photo_type;\r\n const imageLocation= `${process.env.REACT_APP_IMAGE_PATH}`;\r\n const imagePath= imageLocation+imageName;\r\n this.CheckImageavailability(imagePath);\r\n this.AddPhotoMetric(partnumber);\r\n this.setState({ showModal: true, imagePath, isLoad:true, part_number: partnumber, });\r\n };\r\n\r\n CheckImageavailability = (path) => {\r\n imageexists(path, function(exists) {\r\n if (exists) {\r\n localStorage.setItem(\"photoAvailable\",\"Yes\");\r\n }\r\n else {\r\n localStorage.setItem(\"photoAvailable\",\"No\");\r\n }\r\n\r\n });\r\n \r\n }\r\n\r\n closeModal = () => {\r\n this.setState({ showModal: false });\r\n }; \r\n\r\n showModalFE = (partnumber) => {\r\n //this.setState({loading:true})\r\n this.setState({ FELoading: true });\r\n const url = FUNCTIONAL(partnumber,'US',localStorage.getItem(\"usertype\"))\r\n axios.get(url, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((res) => { \r\n // let partFEData = res.data.Body;\r\n this.setState({ \r\n // loading:false,\r\n showModalFE: true ,\r\n partFEData: res.data.Body \r\n });\r\n this.setState({ FELoading: false })\r\n }, (error) => {\r\n this.setState({ FELoading: false })\r\n })\r\n // \r\n };\r\n\r\n buylink = (url, PartNumber) => {\r\n console.log(url);\r\n let urlprod;\r\n urlprod = BUYMETRIC(PartNumber);\r\n axios.get(urlprod, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((response) => {\r\n }, (error) => {\r\n })\r\n return window.open(url, \"_blank\");\r\n }\r\n\r\n closeModalFE = () => {\r\n this.setState({ showModalFE: false });\r\n };\r\n\r\n AddPhotoMetric = (partnumber) => {\r\n let input = partnumber;\r\n let urlprod;\r\n urlprod = INSERTPHOTOMETRIC(input,localStorage.getItem(\"photoAvailable\"));\r\n axios.get(urlprod, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((response) => {\r\n console.log(response);\r\n }, (error) => {\r\n console.log(error);\r\n })\r\n }\r\n\r\n PrintPhoto = () => {\r\n let elem = document.getElementById(\"PopupId\");\r\n var domClone = elem.cloneNode(true);\r\n\r\n var $printSection = document.getElementById(\"printSection\");\r\n\r\n if (!$printSection) {\r\n $printSection = document.createElement(\"div\");\r\n $printSection.id = \"printSection\";\r\n document.body.appendChild($printSection);\r\n }\r\n\r\n $printSection.innerHTML = \"\";\r\n $printSection.appendChild(domClone);\r\n window.print();\r\n };\r\n\r\n handleCartChange = (event, item) => {\r\n console.log(\"Cart ==> from props\", this.props);\r\n const { cart } = this.props;\r\n console.log(\"hnadle change request\", event, item, [...(cart || [])]);\r\n if (event) {\r\n alert(\r\n `One Item with PartNumber ${item.PartNumber} has been added to the Cart`\r\n );\r\n item.qty = 1;\r\n const updatedCart = [...(cart || []), item];\r\n console.log(\"add\", updatedCart);\r\n this.props.setCarItems(updatedCart);\r\n let urlprod;\r\n urlprod = CARTMETRIC(item.PartNumber, 1, 1);\r\n axios.get(urlprod, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((response) => {\r\n }, (error) => {\r\n })\r\n } \r\n else {\r\n alert(\r\n `One Item with PartNumber ${item.PartNumber} has been removed from Cart`\r\n );\r\n const ind = getItemIndex(item.PartNumber, cart);\r\n if (ind > -1) {\r\n let newCart = cart || [];\r\n newCart.splice(ind, 1);\r\n console.log(\"remove\", newCart);\r\n this.props.setCarItems(newCart);\r\n }\r\n }\r\n };\r\n\r\n handleLoader = (value) => {\r\n console.log(\"load value\", value)\r\n this.setState({isLoad : value})\r\n }\r\n // handleLoader (value){\r\n // console.log(\"load value\", value)\r\n // this.setState({isLoad : value})\r\n // }\r\n\r\n render() {\r\n \r\n const { data, mobileView, cartQty } = this.props;\r\n const { imagePath,modifiedData, showModal, showModalFE, partFEData, Ishide,isLoad, FELoading } = this.state;\r\n const columns = mobileView\r\n ? [ \r\n {\r\n text: \"#\",\r\n dataField:'',\r\n headerAttrs: {\r\n hidden: true\r\n },\r\n formatExtraData: (partNumber) => {\r\n // console.log(\"formatter data\", a, b, c);\r\n return cartQty[partNumber] ? true : false; \r\n },\r\n formatter: (col, prod, index, extra) => {\r\n const presentInCart = extra(prod.PartNumber);\r\n return (\r\n \r\n \r\n Photo : \r\n {prod.PartPhotoFlag?(\r\n this.showModal(prod.PartNumber)} style={{cursor:'pointer'}}\r\n />):\"-N/A-\"}\r\n
    \r\n Part Number : \r\n {prod.PartNumber}\r\n
    \r\n Part Description : \r\n
    \r\n {/* {prod.EnhancedDescription} */}\r\n {/*
    */}\r\n CSR : \r\n {prod.CsrFlag?prod.CsrFlag:\"-N/A-\"}\r\n
    \r\n {secureLocalStorage.getItem(\"loggeduser\") == null ? \"\": Tech Courier : }\r\n {secureLocalStorage.getItem(\"loggeduser\") == null ? \"\" : prod.TechCourier?prod.TechCourier:\"-N/A-\"}\r\n {secureLocalStorage.getItem(\"loggeduser\") == null ? \"\":
    } \r\n ROHS : \r\n {prod.RohsCompliant?prod.RohsCompliant:\"-N/A-\"}\r\n
    \r\n FE : \r\n {prod.FE_MATERIAL?(\r\n Functional Equivalent}>\r\n this.showModalFE(prod.PartNumber)} style={{cursor:'pointer'}}/>\r\n \r\n ):\"-N/A-\"}\r\n
    \r\n {Cookies.get(\"HP_Country\") === \"US\" ? (\r\n
    \r\n {/* Click to Buy :  */}\r\n {/* \r\n // href={`${prod.BuyLink}`}\r\n // target=\"_blank\"\r\n // rel=\"noopener noreferrer\"*/}\r\n {prod.BuyLink != null ? (\r\n this.buylink(prod.BuyLink, prod.PartNumber)}> \r\n \"BuyLink\"\r\n \r\n ) : \"\"}\r\n
    \r\n ) : null}\r\n {prod.OrderFlag === \"1\" ? (\r\n \r\n this.handleCartChange(!presentInCart, prod)\r\n }\r\n >\r\n \r\n \r\n ) : null} \r\n \r\n
    \r\n ); \r\n },\r\n },\r\n \r\n ]\r\n : [\r\n {\r\n dataField: \"PartPhotoFlag\",\r\n text: \"Photo\",\r\n formatter: (col, row, index) =>\r\n col ? (\r\n this.showModal(row.PartNumber)} style={{cursor:'pointer'}}\r\n /> \r\n ) : null,\r\n headerStyle: () => {\r\n return { width: \"2%\" };\r\n },\r\n },\r\n {\r\n dataField: \"OrderFlag\",\r\n text: \"Add to Cart\",\r\n formatExtraData: (partNumber) => {\r\n // console.log(\"formatter data\", a, b, c);\r\n return cartQty[partNumber] ? true : false;\r\n },\r\n formatter: (col, row, index, extra) => {\r\n const letEnabled = extra(row.PartNumber);\r\n return col === \"1\" ? (\r\n this.handleCartChange(e.target.checked, row)} style={{cursor:'pointer'}}\r\n >\r\n ) : (\r\n \"-N/A-\"\r\n );\r\n },\r\n headerStyle: () => {\r\n return { width: \"4%\" };\r\n },\r\n },\r\n {\r\n dataField: \"PartNumber\",\r\n text: \"Part Number\",\r\n headerStyle: () => {\r\n return { width: \"6%\" };\r\n },\r\n },\r\n {\r\n dataField: \"EnhancedDescription\",\r\n text: \"Part Description \",\r\n formatter: (col) => (\r\n
    \r\n ),\r\n headerStyle: () => {\r\n return { width: \"35%\" };\r\n },\r\n },\r\n {\r\n dataField: \"CsrFlag\",\r\n text: \"CSR \",\r\n headerStyle: () => {\r\n return { width: \"1%\" };\r\n },\r\n },\r\n secureLocalStorage.getItem(\"loggeduser\") == null ? {\r\n dataField: \"TechCourier\",\r\n text: \"Tech Courier\",\r\n hidden: true,\r\n headerStyle: () => {\r\n return { width: \"3%\" };\r\n },\r\n } : {\r\n dataField: \"TechCourier\",\r\n text: \"Tech Courier\",\r\n headerStyle: () => {\r\n return { width: \"3%\" };\r\n },\r\n },\r\n {\r\n dataField: \"RohsCompliant\",\r\n text: \"ROHS\",\r\n headerStyle: () => {\r\n return { width: \"2%\" };\r\n },\r\n },\r\n {\r\n dataField: \"FE_MATERIAL\",\r\n text: \"FE \",\r\n headerStyle: () => {\r\n return { width: \"2%\" };\r\n },\r\n //formatter: (cell, prod, row, index) => {\r\n formatter: (col, prod, row, index) => {\r\n return col? \r\n Functional Equivalent}\r\n >\r\n this.showModalFE(prod.PartNumber)} style={{cursor:'pointer'}}/> \r\n \r\n : \"-N/A-\"\r\n }\r\n },\r\n ];\r\n // {`${row.BuyLink}`}\r\n // onClick={this.buylink(prod.BuyLink)}\r\n if (!mobileView && Cookies.get(\"HP_Country\") === \"US\") {\r\n columns.splice(2, 0, {\r\n dataField: \"BuyLink\",\r\n text: \"Click to Buy\",\r\n formatter: (col, row, index) =>\r\n col ? (\r\n this.buylink(row.BuyLink, row.PartNumber)}\r\n >\r\n \"BuyLink\"\r\n \r\n ) : \r\n \"-N/A-\",\r\n headerStyle: () => {\r\n return { width: \"4%\" };\r\n },\r\n });\r\n } \r\n\r\n return (\r\n
    \r\n \r\n {/*
    \r\n Go To Top}> \r\n \r\n \r\n
    */}\r\n {/* */}\r\n \r\n 10 ? paginationFactory() : undefined}\r\n //pagination={modifiedData.length > 10 ? paginationFactory() : undefined}\r\n /> \r\n \r\n \r\n \r\n \r\n Photo\r\n \r\n \r\n {/* \"img\" */}\r\n {isLoad && (\r\n
    Loading......
    \r\n )} \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n Functional Equivalent\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\n\r\nconst mapStateToProps = (state) => {\r\n let cartQty = {};\r\n state.cart.cartItems.forEach((item) => (cartQty[item.PartNumber] = item.qty));\r\n return {\r\n ...state,\r\n cart: state.cart.cartItems,\r\n cartQty,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setCarItems: (newCart) => {\r\n dispatch(setCarItems(newCart));\r\n },\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ViewHOC(DescProductList));\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport secureLocalStorage from 'react-secure-storage';// Added By Shreyas for local storage security.\r\nimport { Button,Tooltip, OverlayTrigger} from 'react-bootstrap';\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\n// import {FaArrowCircleUp} from 'react-icons/fa';\r\nimport \"./design.css\";\r\nimport { getAuthHeader } from './Util';\r\nimport { PRODUCTLIST } from './constants/APIConstants';\r\nimport ProductResults from \"./ProductResults\";\r\nimport { ViewHOC } from './ViewHOC';\r\nimport Loading from \"./Loading\";\r\n\r\n\r\nclass DescProductListPrint extends React.Component {\r\n constructor() {\r\n super()\r\n this.state = {\r\n isBack: false,\r\n parts: [],\r\n loading: false,\r\n visible:false, \r\n }\r\n this.myRef=React.createRef();\r\n }\r\n // componentWillUnmount()\r\n // {\r\n // window.addEventListener('scroll', this.toggleVisible.bind(this),true);\r\n // }\r\n // componentDidMount()\r\n // {\r\n // window.addEventListener('scroll', this.toggleVisible.bind(this),true);\r\n // }\r\n // toggleVisible() {\r\n // // console.log(\"inside toggle\");\r\n // const scrolled = document.documentElement.scrollTop;\r\n // if (scrolled > 300){\r\n // // console.log(\"page scrolled\");\r\n // this.setState({visible:true}) \r\n // } \r\n // else if (scrolled <= 300){\r\n // this.setState({visible:false}) \r\n // }\r\n // };\r\n // scrollToTop = () =>{\r\n // // console.log(\"inside scrollToTop\");\r\n // window.scrollTo({\r\n // top: 0, \r\n // behavior: 'smooth'\r\n // });\r\n // // this.myRef.current.scrollIntoView({\r\n // // behavior:\"smooth\"\r\n // // })\r\n // }; \r\n BackToPreviousPage = ()=>{ \r\n this.setState({loading:true}) \r\n let prodNumber = this.props.data[0].ProductNumber \r\n const url = PRODUCTLIST(prodNumber,localStorage.getItem(\"usertype\"))\r\n axios.get(url, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((response) => {\r\n //console.log('call success data:', response.data.Body ); \r\n this.setState({parts: response.data.Body }) \r\n this.setState({isBack:true,\r\n loading:false,\r\n }); \r\n }, (error) => {\r\n })\r\n }\r\n\r\n render()\r\n {\r\n const { data,mobileView } = this.props; \r\n const { isBack,loading,visible } = this.state; \r\n // console.log(\"state value\", data) \r\n // console.log(\"state value\", this.state.parts) \r\n const columns = mobileView \r\n ? [\r\n {\r\n text: \"#\",\r\n dataField: '',\r\n headerAttrs: {\r\n hidden: true,\r\n },\r\n formatter: (col, prod, index) => {\r\n return (\r\n \r\n Part Number : \r\n {prod.PartNumber}\r\n
    \r\n Description : \r\n
    \r\n CSR : \r\n {prod.CsrFlag}\r\n
    \r\n ROHS : \r\n {prod.RohsCompliant}\r\n
    \r\n
    \r\n );\r\n },\r\n },\r\n ]\r\n : [ {\r\n dataField: \"PartNumber\",\r\n text: \"Part Number\",\r\n headerStyle: () => {\r\n return { width: \"6%\" };\r\n },\r\n },\r\n {\r\n dataField: \"EnhancedDescription\",\r\n text: \"Part Description \",\r\n formatter: (col) => (\r\n
    \r\n ),\r\n headerStyle: () => {\r\n return { width: \"35%\" };\r\n },\r\n },\r\n {\r\n dataField: \"CsrFlag\",\r\n text: \"CSR \",\r\n headerStyle: () => {\r\n return { width: \"1%\" };\r\n },\r\n },\r\n secureLocalStorage.getItem(\"loggeduser\") == null ? {\r\n dataField: \"TechCourier\",\r\n text: \"Tech Courier\",\r\n hidden: true,\r\n headerStyle: () => {\r\n return { width: \"3%\" };\r\n },\r\n } : {\r\n dataField: \"TechCourier\",\r\n text: \"Tech Courier\",\r\n headerStyle: () => {\r\n return { width: \"3%\" };\r\n },\r\n },\r\n {\r\n dataField: \"RohsCompliant\",\r\n text: \"ROHS\",\r\n headerStyle: () => {\r\n return { width: \"2%\" };\r\n },\r\n },\r\n ]\r\n // window.addEventListener('scroll', this.toggleVisible.bind(this),true);\r\n return ( \r\n isBack?(\r\n \r\n )\r\n :\r\n
    \r\n {/* ref={this.myRef} */}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n {/*
    \r\n Go To Top}> \r\n \r\n \r\n
    */}\r\n
    \r\n
    \r\n ) \r\n }\r\n}\r\nexport default (ViewHOC(DescProductListPrint));","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Button} from 'react-bootstrap';\r\n//import Button from '@mui/material/Button';\r\nimport { isObject } from 'lodash';\r\nimport React from 'react';\r\nimport { Accordion, Alert, Card, Col, Collapse, Form, Row } from 'react-bootstrap';\r\nimport Select from 'react-select';\r\nimport { PART_PHOTO } from './constants/constants';\r\nimport {PART_FE} from './constants/constants';\r\nimport DescProductList from './DescProductList';\r\nimport DescProductListPrint from './DescProductListPrint';\r\nimport \"./design.css\";\r\nimport { ViewHOC } from './ViewHOC';\r\nimport { Link } from \"react-router-dom\";\r\nimport { SEARCH_MODES, SEARCH_TEXT } from \"./constants/constants\";\r\nimport { getQueryParam } from \"./Util\";\r\nimport secureLocalStorage from 'react-secure-storage';\r\n\r\nconst initialFilters = () => ({\r\n category: [],\r\n keyword: [],\r\n techCourier: [],\r\n rohs: [],\r\n CSR: [],\r\n photoFlag:'',\r\n FE:''\r\n})\r\n\r\nclass ProductResults extends React.Component {\r\n constructor() {\r\n super()\r\n this.state = {\r\n isPrint: false,\r\n isSbom:false,\r\n SbomText:null,\r\n products: null,\r\n filters: initialFilters(),\r\n metadata: {\r\n category: [],\r\n keyword: [],\r\n techCourier: [],\r\n rohs: [],\r\n CSR: [],\r\n photoFlag: [],\r\n FE:[]\r\n },\r\n Ishide: false,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n // this.props.data[0].ProductNumber \r\n console.log(\"pipebom\", this.props.data[0].PipeBomFlag);\r\n if(this.props.data[0].PipeBomFlag==1)\r\n {\r\n this.setState({isSbom:true}); \r\n this.setState({SbomText:\"Updated SBOM available\"});\r\n }\r\n else if(this.props.data[0].PipeBomFlag==0)\r\n {\r\n this.setState({isSbom:true}); \r\n this.setState({SbomText:\"SBOM\"});\r\n }\r\n if (this.props.data && !this.state.products) {\r\n this.getCategoryProducts(() => {\r\n this.triggerAll(true)\r\n this.generateMetdata()\r\n });\r\n }\r\n \r\n }\r\n \r\n componentWillUnmount() {\r\n // fix Warning: Can't perform a React state update on an unmounted component\r\n this.setState = (state, callback) => {\r\n return;\r\n };\r\n }\r\n PrintFriendlyView = ()=>{\r\n this.setState({isPrint:true, mobileView: false});\r\n // console.log(\"inside printfriendly\")\r\n }\r\n\r\n\r\n generateMetdata = () => {\r\n const { filters, products } = this.state\r\n const { category, keyword, techCourier, rohs: rohsFilter, CSR, photoFlag:photoFilters,FE:feFilters } = filters;\r\n // console.log('check', category, metadata,filters, products)\r\n\r\n let temp = {}\r\n let count = 0\r\n\r\n let categoryFilters = category || [];\r\n Object.entries(products || {}).filter(([key, value]) => categoryFilters.length === 0 || (categoryFilters.indexOf(key) !== -1)).forEach(([key, value], index) => {\r\n let categories = temp.category || []\r\n let keywordFilters = keyword || [];\r\n\r\n Object.entries(value).filter(([catKey, catValue]) => keywordFilters.length === 0 || (keywordFilters.indexOf(catKey) !== -1)).forEach(([catKey, catValue], index) => {\r\n let keyWords = temp.keyword || [];\r\n // console.log('aa')\r\n let rohs = temp.rohs || [];\r\n let techCouriers = temp.techCourier || [];\r\n let CSRFlag = temp.CSR || [];\r\n let photoFlag = temp.photoFlag || [];\r\n let FE=temp.FE || [];\r\n catValue.filter(product => {\r\n // console.log('check check',product.PartPhotoFlag, product.PartPhotoFlag ? 'ON' : 'OFF', photoFilters,photoFilters === '-1' || photoFilters === (product.PartPhotoFlag ? 'ON' : 'OFF'))\r\n return (techCourier.length === 0 || (techCourier.indexOf(product.TechCourier) !== -1))\r\n && (rohsFilter.length === 0 || (rohsFilter.indexOf(product.RohsCompliant) !== -1))\r\n && (CSR.length === 0 || (CSR.indexOf(product.CsrFlag) !== -1))\r\n //&& (photoFlag === undefined || (product.PartPhotoFlag ? true : false) === photoFlag)\r\n && (!feFilters || feFilters === PART_FE.NOT_APPLICABLE \r\n || feFilters === (product.FE_MATERIAL ? PART_FE.PRESENT : PART_FE.NOT_PRESENT)) && (!photoFilters || photoFilters === PART_PHOTO.NOT_APPLICABLE \r\n || photoFilters === (product.PartPhotoFlag ? PART_PHOTO.PRESENT : PART_PHOTO.NOT_PRESENT))\r\n }).forEach(product => {\r\n count++;\r\n categories = categories.indexOf(key) !== -1 ? categories : [...categories, key]\r\n keyWords = keyWords.indexOf(catKey) !== -1 ? keyWords : [...keyWords, catKey]\r\n if (product.RohsCompliant) {\r\n rohs = rohs.indexOf(product.RohsCompliant) !== -1 ? rohs : [...rohs, product.RohsCompliant]\r\n }\r\n if (product.TechCourier) {\r\n techCouriers = techCouriers.indexOf(product.TechCourier) !== -1 ? techCouriers : [...techCouriers, product.TechCourier]\r\n }\r\n if (product.CsrFlag) {\r\n CSRFlag = CSRFlag.indexOf(product.CsrFlag) !== -1 ? CSRFlag : [...CSRFlag, product.CsrFlag]\r\n }\r\nif(product.FE_MATERIAL || product.FE_MATERIAL === false){\r\n const fePresent = product.FE_MATERIAL ? PART_FE.PRESENT : PART_FE.NOT_PRESENT;\r\n FE = FE.indexOf(fePresent) !== -1 ? FE : [...FE,fePresent]\r\n } if(product.PartPhotoFlag || product.PartPhotoFlag === 0){\r\n const photoPresent = product.PartPhotoFlag ? PART_PHOTO.PRESENT : PART_PHOTO.NOT_PRESENT;\r\n photoFlag = photoFlag.indexOf(photoPresent) !== -1 ? photoFlag : [...photoFlag,photoPresent]\r\n }\r\n // console.log('here', product.PartPhotoFlag, photoFlag)\r\n })\r\n temp.keyword = keyWords\r\n temp.rohs = rohs;\r\n temp.techCourier = techCouriers\r\n temp.CSR = CSRFlag\r\n // console.log('cons', photoFlag)\r\n temp.photoFlag = photoFlag\r\ntemp.FE=FE\r\n })\r\n temp.category = categories\r\n // console.log('here',temp)\r\n })\r\n this.setState({ metadata: temp, itemsCount: count })\r\n }\r\n\r\n filterData = () => {\r\n const { filters, products } = this.state\r\n const { category, keyword, techCourier, rohs: rohsFilter, photoFlag, CSR ,FE} = filters;\r\n // console.log('check', category, filters, metadata, products)\r\n let temp = {}\r\n let categoryFilters = category || [];\r\n Object.entries(products || {}).filter(([key, value]) => categoryFilters.length === 0 || (categoryFilters.indexOf(key) !== -1)).forEach(([key, value], index) => {\r\n let keywordFilters = keyword || [];\r\n Object.entries(value).filter(([catKey, catValue]) => keywordFilters.length === 0 || (keywordFilters.indexOf(catKey) !== -1)).forEach(([catKey, catValue], index) => {\r\n catValue.filter(product => {\r\n // console.log('check beck',product.PartPhotoFlag, product.PartPhotoFlag ? 'ON' : 'OFF', photoFlag)\r\n return (techCourier.length === 0 || (techCourier.indexOf(product.TechCourier) !== -1))\r\n && (rohsFilter.length === 0 || (rohsFilter.indexOf(product.RohsCompliant) !== -1))\r\n && (CSR.length === 0 || (CSR.indexOf(product.CsrFlag) !== -1))\r\n// && (FE.length === 0 || (FE.indexOf(product.FE_MATERIAL) !== -1))\r\n && (!FE || FE === PART_FE.NOT_APPLICABLE \r\n || FE === (product.FE_MATERIAL ? PART_FE.PRESENT : PART_FE.NOT_PRESENT)) && (!photoFlag || photoFlag === PART_PHOTO.NOT_APPLICABLE \r\n || photoFlag === (product.PartPhotoFlag ? PART_PHOTO.PRESENT : PART_PHOTO.NOT_PRESENT))\r\n ///&& (CSR === undefined || (product.CsrFlag ? true : false) === photoFlag)\r\n }).forEach(element => {\r\n const category = element.CategoryName\r\n const keyword = element.KeywordName\r\n\r\n let cat = temp[category] || {}\r\n let keyw = cat[keyword] || []\r\n keyw.push(element)\r\n\r\n temp[category] = temp[category] || {}\r\n temp[category][keyword] = keyw\r\n })\r\n })\r\n console.log('here filter',temp)\r\n })\r\n // if(applyField)\r\n // {\r\n // temp = {...temp, [applyField]: metadata[applyField]}\r\n // }\r\n this.setState({ filteredData: temp })\r\n\r\n }\r\n\r\n getPhotoFrame = (partNumber) => ``;\r\n\r\n\r\n getCategoryProducts = (callback) => {\r\n let temp = {}\r\n const { data } = this.props;\r\n data.forEach(element => {\r\n const category = element.CategoryName\r\n const keyword = element.KeywordName\r\n\r\n let cat = temp[category] || {}\r\n let keyw = cat[keyword] || []\r\n keyw.push(element)\r\n\r\n temp[category] = temp[category] || {}\r\n temp[category][keyword] = keyw\r\n\r\n })\r\n\r\n this.setState({ products: temp }, () => {\r\n this.generateMetdata()\r\n this.filterData()\r\n callback && callback()\r\n })\r\n }\r\n\r\n triggerAll = (shouldExpand, key) => {\r\n const { products } = this.state;\r\n // console.log('key', key, shouldExpand)\r\n let status = {};\r\n if (key) {\r\n const main = products[key] || {}\r\n Object.keys(main).forEach(catKey => {\r\n status[`${key}-${catKey}-collapsed`] = shouldExpand\r\n })\r\n shouldExpand && !this.state[`${key}-collapsed`]\r\n ? this.setState({ ...this.state, ...status, [`${key}-triggered`]: shouldExpand, [`${key}-collapsed`]: shouldExpand })\r\n : this.setState({ ...this.state, ...status, [`${key}-triggered`]: shouldExpand })\r\n }\r\n else {\r\n Object.keys(products).forEach(key => {\r\n status[`${key}-collapsed`] = shouldExpand\r\n })\r\n this.setState({ ...this.state, ...status, triggered: shouldExpand })\r\n }\r\n }\r\n\r\n changeFilters = (key, value, isMulti = false, isFlag = false) => {\r\n // console.log('changefilter', key, value, isMulti)\r\n const { filters } = this.state;\r\n if (isFlag) {\r\n this.setState({ filters: { ...filters, [key]: value } }, () => this.generateMetdata())\r\n }\r\n else if (isMulti) {\r\n this.setState({ filters: { ...filters, [key]: (value || []).map(selection => selection.value) } })//, () => this.generateMetdata())\r\n }\r\n else {\r\n this.setState({ filters: { ...filters, [key]: value ? isObject(value) ? value.value : value : '' } }, () => this.generateMetdata())\r\n }\r\n }\r\n\r\n handleModalShowHide = () => {\r\n this.setState({ showHide: !this.state.showHide });\r\n };\r\n\r\n\r\n GoToLast=()=>{\r\n //alert(posToScroll);\r\n var scrollHeight=document.body.scrollHeight;\r\n alert(scrollHeight);\r\n var posToScroll=scrollHeight-(scrollHeight*13)/100;\r\n // alert(posToScroll)\r\n //alert(scrollHeight);\r\n window.scroll({top:posToScroll,behavior:\"smooth\"})\r\n };\r\n\r\n render() {\r\n const { data, mobileView } = this.props;\r\n const { filters, itemsCount,isPrint, Ishide,isSbom,SbomText } = this.state;\r\n const searchText = getQueryParam(this.props, SEARCH_TEXT);\r\n console.log(\"inside prodresult\",data)\r\n // console.log('filters',filters);\r\n/* if(isPrint){\r\n return \r\n } */\r\n\r\n return (\r\n \r\n\r\n {/*
    */}\r\n { isPrint ?(\r\n \r\n )\r\n :mobileView\r\n ?\r\n \r\n
    \r\n {secureLocalStorage.getItem(\"loggeduser\") != null ? \r\n \r\n {SbomText}\r\n \r\n : ''} \r\n   \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n Click here to customize your search results\r\n
    \r\n {itemsCount ?
    {itemsCount} Records found
    : 'no'}\r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Category:\r\n \r\n \r\n ({ ...base, zIndex: 9999 }) }}\r\n closeMenuOnSelect={false}\r\n onMenuClose={this.generateMetdata}\r\n isSearchable\r\n isMulti\r\n value={(filters?.category || []).map(ele => ({ value: ele, label: ele }))}\r\n onChange={(option) => this.changeFilters('category', option, true)}\r\n options={(this.state.metadata?.category || []).map(key => ({ value: key, label: key }))} />\r\n \r\n \r\n {/* \r\n */}\r\n \r\n \r\n \r\n ROHS:\r\n \r\n \r\n this.changeFilters('rohs', option, true)}\r\n isMulti={true}\r\n value={(filters?.rohs || []).map(ele => ({ value: ele, label: ele }))}\r\n options={(this.state.metadata?.rohs || []).map(key => ({ value: key, label: key }))}\r\n />\r\n\r\n \r\n \r\n \r\n {/* \r\n */}\r\n \r\n \r\n \r\n Keyword:\r\n \r\n \r\n ({ value: ele, label: ele }))}\r\n isMulti\r\n onChange={(option) => this.changeFilters('keyword', option, true)}\r\n options={(this.state.metadata?.keyword || []).map(key => ({ value: key, label: key }))} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {secureLocalStorage.getItem(\"loggeduser\") != null ?\r\n \r\n \r\n Tech Courier:\r\n \r\n \r\n ({ value: ele, label: ele }))}\r\n isMulti={true}\r\n onChange={(option) => this.changeFilters('techCourier', option, true)}\r\n options={(this.state.metadata?.techCourier || []).map(key => ({ value: key, label: key })) || []} />\r\n \r\n : \"\" }\r\n \r\n \r\n \r\n \r\n \r\n \r\n CSR:\r\n \r\n \r\n ({ value: ele, label: ele }))}\r\n isMulti={true}\r\n onChange={(option) => this.changeFilters('CSR', option, true)}\r\n options={(this.state.metadata?.CSR || []).map(key => ({ value: key, label: key })) || []} />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n FE:\r\n \r\n \r\n this.changeFilters('FE', option)}\r\n options={(this.state.metadata?.FE || []).map(key => ({ value: key, label: key })) || []} />\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Photo:\r\n \r\n \r\n this.changeFilters('photoFlag', option)}\r\n options={(this.state.metadata?.photoFlag || []).map(key => ({ value: key, label: key })) || []} />\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n   \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n Object.entries(this.state.filteredData || {}).map(([key, value], index) => (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n this.setState({ [`${key}-collapsed`]: !this.state[`${key}-collapsed`] });\r\n }}>\r\n {!this.state[`${key}-collapsed`] ?\r\n :\r\n }  {key}\r\n\r\n \r\n \r\n\r\n \r\n
    this.triggerAll(this.state[`${key}-triggered`] ? false : true, key)}>\r\n {!this.state[`${key}-triggered`] ? : }\r\n {/* this.triggerAll(false, key)}> */}\r\n
    \r\n\r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n {Object.entries(value || {}).map(([catKey, catValue], index) => (\r\n \r\n {\r\n this.setState({ [`${key}-${catKey}-collapsed`]: !this.state[`${key}-${catKey}-collapsed`] });\r\n }}\r\n >\r\n {!this.state[`${key}-${catKey}-collapsed`] ? : }  {catKey}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    ))}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    ))\r\n }\r\n
    \r\n \r\n :\r\n \r\n
    \r\n {secureLocalStorage.getItem(\"loggeduser\") != null ? \r\n \r\n {SbomText}\r\n \r\n : ''} \r\n   \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n Click here to customize your search results\r\n
    \r\n {itemsCount ?
    {itemsCount} Records found
    : 'no'}\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Category:\r\n \r\n \r\n ({ ...base, zIndex: 9999 }) }}\r\n closeMenuOnSelect={false}\r\n onMenuClose={this.generateMetdata}\r\n isSearchable\r\n isMulti\r\n value={(filters?.category || []).map(ele => ({ value: ele, label: ele }))}\r\n onChange={(option) => this.changeFilters('category', option, true)}\r\n options={(this.state.metadata?.category || []).map(key => ({ value: key, label: key }))} />\r\n \r\n \r\n \r\n \r\n \r\n ROHS:\r\n \r\n \r\n this.changeFilters('rohs', option, true)}\r\n isMulti={true}\r\n value={(filters?.rohs || []).map(ele => ({ value: ele, label: ele }))}\r\n options={(this.state.metadata?.rohs || []).map(key => ({ value: key, label: key }))}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n CSR:\r\n \r\n {filters?.CSR && \r\n ({ value: ele, label: ele }))}\r\n isMulti={true}\r\n onChange={(option) => this.changeFilters('CSR', option, true)}\r\n options={(this.state.metadata?.CSR || []).map(key => ({ value: key, label: key })) || []} />\r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Keyword:\r\n \r\n \r\n ({ value: ele, label: ele }))}\r\n isMulti\r\n onChange={(option) => this.changeFilters('keyword', option, true)}\r\n options={(this.state.metadata?.keyword || []).map(key => ({ value: key, label: key }))} />\r\n \r\n \r\n \r\n \r\n {secureLocalStorage.getItem(\"loggeduser\") != null ?\r\n \r\n \r\n Tech Courier:\r\n \r\n \r\n ({ value: ele, label: ele }))}\r\n isMulti={true}\r\n onChange={(option) => this.changeFilters('techCourier', option, true)}\r\n options={(this.state.metadata?.techCourier || []).map(key => ({ value: key, label: key })) || []} />\r\n \r\n : \"\"}\r\n \r\n \r\n \r\n \r\n Photo:\r\n \r\n \r\n this.changeFilters('photoFlag', option)}\r\n options={(this.state.metadata?.photoFlag || []).map(key => ({ value: key, label: key })) || []} />\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* New Row added for Functional Equivalent filter Start Here*/}\r\n \r\n \r\n \r\n \r\n FE:\r\n \r\n \r\n this.changeFilters('FE', option)}\r\n options={(this.state.metadata?.FE || []).map(key => ({ value: key, label: key })) || []} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Tech Courier:\r\n \r\n \r\n ({ value: ele, label: ele }))}\r\n isMulti={true}\r\n onChange={(option) => this.changeFilters('techCourier', option, true)}\r\n options={(this.state.metadata?.techCourier || []).map(key => ({ value: key, label: key })) || []} />\r\n \r\n \r\n \r\n \r\n \r\n Photo:\r\n \r\n \r\n this.changeFilters('photoFlag', option)}\r\n options={(this.state.metadata?.photoFlag || []).map(key => ({ value: key, label: key })) || []} />\r\n \r\n \r\n \r\n \r\n \r\n{/* New Row added for Functional Equivalent filter End Here*/}\r\n \r\n \r\n
    \r\n \r\n   \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {\r\n Object.entries(this.state.filteredData || {}).map(([key, value]) => {\r\n // console.log('aaa', `${key}-collapsed`, this.state[`${key}-collapsed`],value)\r\n return (\r\n
    \r\n \r\n {/* /this.state[`${key}-collapsed`] ? index : undefined}> */}\r\n \r\n \r\n \r\n {\r\n this.setState({ [`${key}-collapsed`]: !this.state[`${key}-collapsed`] });\r\n }}>\r\n {!this.state[`${key}-collapsed`] ?\r\n :\r\n }  {key}\r\n\r\n \r\n \r\n\r\n \r\n
    this.triggerAll(this.state[`${key}-triggered`] ? false : true, key)}>\r\n {!this.state[`${key}-triggered`] ? : }\r\n {/* this.triggerAll(false, key)}> */}\r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n {Object.entries(value || {}).map(([catKey, catValue], index) => (\r\n \r\n {\r\n this.setState({ [`${key}-${catKey}-collapsed`]: !this.state[`${key}-${catKey}-collapsed`] });\r\n }}\r\n >\r\n {!this.state[`${key}-${catKey}-collapsed`] ? : }  {catKey}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    ))}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n )\r\n })\r\n }\r\n \r\n
    \r\n \r\n }\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default ViewHOC(ProductResults)","import React, { Component } from \"react\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport { ViewHOC } from \"./ViewHOC\";\r\nimport secureLocalStorage from \"react-secure-storage\";\r\n\r\nclass SpareBOM extends Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n Ishide: false,\r\n };\r\n }\r\n\r\n\r\n\r\n isValid = () => {\r\n const { data } = this.props;\r\n return (\r\n data.length !== 1 &&\r\n data.filter((row) => row.PartNumber !== \"-N/A-\").length > 0\r\n );\r\n };\r\n\r\n render() {\r\n const { data, mobileView } = this.props;\r\n const {Ishide} = this.state;\r\n const columns = mobileView\r\n ? [\r\n {\r\n text: \"#\",\r\n headerAttrs: {\r\n hidden: true,\r\n },\r\n formatter: (col, prod, index) => {\r\n return (\r\n \r\n {this.isValid() ? (\r\n \r\n Parent Part Number : \r\n {prod.part_number}\r\n
    \r\n Part Number : \r\n {prod.spare_part_no}\r\n
    \r\n Spare Part Description  : \r\n
    \r\n {/* {prod.spare_part_description} */}\r\n
    \r\n Enhanced Part Description  : \r\n {prod.spare_enhance_desc}\r\n
    \r\n Category : \r\n {prod.sp_category}\r\n
    \r\n {secureLocalStorage.getItem(\"loggeduser\") == null ? \"\": Tech Courier : }\r\n {secureLocalStorage.getItem(\"loggeduser\") == null ? \"\": prod.sp_techcourier}\r\n {secureLocalStorage.getItem(\"loggeduser\") == null ? \"\":
    }\r\n CSR : \r\n {prod.sp_csrflag}\r\n
    \r\n ROHS : \r\n {prod.sp_rohs_status_code}\r\n
    \r\n
    \r\n ) : (\r\n

    No additional information found in PartSurfer.

    \r\n )}\r\n
    \r\n );\r\n },\r\n },\r\n ]\r\n : [\r\n {\r\n dataField: \"part_number\",\r\n text: \"Parent Part Number\",\r\n headerStyle: () => {\r\n return { width: \"10%\" };\r\n },\r\n },\r\n {\r\n dataField: \"spare_part_no\",\r\n text: \"Part Number\",\r\n headerStyle: () => {\r\n return { width: \"15%\" };\r\n },\r\n },\r\n {\r\n dataField: \"spare_part_description\",\r\n text: \"Basic Spare Part Description\",\r\n formatter: (col) => (\r\n
    \r\n ),\r\n headerStyle: () => {\r\n return { width: \"20%\" };\r\n },\r\n },\r\n {\r\n dataField: \"spare_enhance_desc\",\r\n text: \"Enhanced Spare Part Description\",\r\n headerStyle: () => {\r\n return { width: \"20%\" };\r\n },\r\n },\r\n {\r\n dataField: \"sp_category\",\r\n text: \"Category\",\r\n headerStyle: () => {\r\n return { width: \"10%\" };\r\n },\r\n },\r\n {\r\n dataField: \"sp_csrflag\",\r\n text: \"CSR\",\r\n headerStyle: () => {\r\n return { width: \"5%\" };\r\n },\r\n },\r\n {\r\n dataField: \"sp_rohs_status_code\",\r\n text: \"ROHS\",\r\n headerStyle: () => {\r\n return { width: \"10%\" };\r\n },\r\n },\r\n secureLocalStorage.getItem(\"loggeduser\") == null ? {\r\n dataField: \"sp_techcourier\",\r\n text: \"Tech Courier\",\r\n hidden: true,\r\n headerStyle: () => {\r\n return { width: \"5%\" };\r\n },\r\n } : {\r\n dataField: \"sp_techcourier\",\r\n text: \"Tech Courier\",\r\n headerStyle: () => {\r\n return { width: \"5%\" };\r\n },\r\n },\r\n ];\r\n\r\n return (\r\n \r\n {this.isValid() ? (\r\n \r\n ) : (\r\n
    No additional information found in PartSurfer.
    \r\n )}\r\n {/* pagination={data.length > 10 ? paginationFactory() : undefined} */}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ViewHOC(SpareBOM);\r\n","import React from \"react\";\r\nimport secureLocalStorage from 'react-secure-storage';// Added By Shreyas for local storage security.\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport { ViewHOC } from \"./ViewHOC\";\r\n\r\nclass ComponentBOM extends React.Component {\r\n constructor() {\r\n super();\r\n this.state = {\r\n Ishide: false,\r\n };\r\n }\r\n\r\n isValid = () => {\r\n const { data } = this.props;\r\n return (\r\n data.length !== 1 &&\r\n data.filter((row) => row.parent_part_number !== \"-N/A-\").length > 0\r\n );\r\n };\r\n\r\n render() {\r\n const { data, mobileView } = this.props;\r\n const {Ishide} = this.state;\r\n\r\n const columns = mobileView\r\n ? [\r\n {\r\n text: \"#\",\r\n dataField:'',\r\n headerAttrs: {\r\n hidden: true,\r\n },\r\n formatter: (col, prod, index) => {\r\n return (\r\n \r\n {this.isValid() ? (\r\n \r\n Parent Part Number : \r\n {prod.parent_part_number}\r\n
    \r\n Assembly Part Number : \r\n {prod.part_number}\r\n
    \r\n Part Description : \r\n {prod.part_description}\r\n
    \r\n {secureLocalStorage.getItem(\"loggeduser\") == null ? \"\": Part Serial Number :  }\r\n {secureLocalStorage.getItem(\"loggeduser\") == null ? \"\": prod.part_serialno}\r\n {secureLocalStorage.getItem(\"loggeduser\") == null ? \"\":
    }\r\n QTY  : \r\n {prod.part_quantity}\r\n
    \r\n
    \r\n ) : (\r\n
    No additional information found in PartSurfer.
    \r\n )}\r\n
    \r\n );\r\n },\r\n },\r\n ]\r\n : [\r\n {\r\n dataField: \"parent_part_number\",\r\n text: \"Parent Part Number\",\r\n },\r\n {\r\n dataField: \"part_number\",\r\n text: \"Assembly Part Number\",\r\n },\r\n {\r\n dataField: \"part_description\",\r\n text: \"Part Description\",\r\n },\r\n secureLocalStorage.getItem(\"loggeduser\") == null ?{\r\n dataField: \"part_serialno\",\r\n text: \"Part Serial Number\",\r\n hidden: true,\r\n }: {\r\n dataField: \"part_serialno\",\r\n text: \"Part Serial Number\",\r\n },\r\n {\r\n dataField: \"part_quantity\",\r\n text: \"QTY\",\r\n },\r\n ];\r\n\r\n return (\r\n \r\n {this.isValid() ? (\r\n ({ ...rec, key: ind }))}\r\n columns={columns}\r\n \r\n />\r\n ) : (\r\n
    No additional information found in PartSurfer.
    \r\n )}\r\n {/* pagination={data.length > 10 ? paginationFactory() : undefined} */}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ViewHOC(ComponentBOM);\r\n","import React, { Component } from \"react\";\r\nimport SpareBOM from \"./SpareBOM\";\r\nimport { Accordion, Card } from \"react-bootstrap\";\r\nimport ComponentBOM from \"./ComponentBOM\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Row, Col, Form } from \"react-bootstrap\";\r\nimport Select from \"react-select\";\r\nimport Details from \"./Details\";\r\nimport { isObject } from \"lodash\";\r\nimport { ViewHOC } from \"./ViewHOC\";\r\nimport secureLocalStorage from \"react-secure-storage\";\r\n\r\nconst initialFilters = () => ({\r\n category: [],\r\n techCourier: [],\r\n rohs: [],\r\n CSR: [],\r\n});\r\n\r\nclass SerialNumberBOM extends Component {\r\n \r\n constructor(props) {\r\n super(props);\r\n \r\n // console.log('consruct', props)\r\n this.state = {\r\n COMPONENT_collapsed: false,\r\n SPARE_collapsed: false,\r\n filters: initialFilters(),\r\n filteredData: [],\r\n metadata: {\r\n category: [],\r\n techCourier: [],\r\n rohs: [],\r\n CSR: [],\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.filterData(); //TODO: no option will be there\r\n this.generateMetdata();\r\n }\r\n // componentDidMount() {\r\n // console.log(\"as\", this.props);\r\n // }\r\n\r\n generateMetdata = () => {\r\n const { filters } = this.state;\r\n const { data } = this.props;\r\n\r\n let category = [];\r\n let techCourier = [];\r\n let rohs = [];\r\n let CSR = [];\r\n let count = 0;\r\n\r\n let categoryFilters = filters.category || [];\r\n let techCourierFilters = filters.techCourier || [];\r\n let rohsFilters = filters.rohs || [];\r\n let CSRFilters = filters.CSR || [];\r\n\r\n (data.spare_part || [])\r\n .filter(\r\n (product) =>\r\n (techCourierFilters.length === 0 ||\r\n techCourierFilters.indexOf(product.sp_techcourier) !== -1) &&\r\n (categoryFilters.length === 0 ||\r\n categoryFilters.indexOf(product.sp_category) !== -1) &&\r\n (rohsFilters.length === 0 ||\r\n rohsFilters.indexOf(product.sp_rohs_status_code) !== -1) &&\r\n (CSRFilters.length === 0 ||\r\n CSRFilters.indexOf(product.sp_csrflag) !== -1)\r\n )\r\n .forEach((part) => {\r\n const {\r\n sp_category,\r\n sp_techcourier,\r\n sp_rohs_status_code,\r\n sp_csrflag,\r\n } = part;\r\n count++;\r\n category =\r\n category.indexOf(sp_category) !== -1\r\n ? category\r\n : [...category, sp_category];\r\n techCourier =\r\n techCourier.indexOf(sp_techcourier) !== -1\r\n ? techCourier\r\n : [...techCourier, sp_techcourier];\r\n rohs =\r\n rohs.indexOf(sp_rohs_status_code) !== -1\r\n ? rohs\r\n : [...rohs, sp_rohs_status_code];\r\n CSR = CSR.indexOf(sp_csrflag) !== -1 ? CSR : [...CSR, sp_csrflag];\r\n // console.log(\"spare\", category, techCourier, rohs, CSR);\r\n });\r\n this.setState({\r\n metadata: { category, techCourier, rohs, CSR },\r\n itemsCount: count,\r\n });\r\n };\r\n\r\n filterData = () => {\r\n const { filters } = this.state;\r\n const { data } = this.props;\r\n const { category, techCourier, rohs, CSR } = filters;\r\n let categoryFilters = category || [];\r\n let techCourierFilters = techCourier || [];\r\n let rohsFilters = rohs || [];\r\n let CSRFilters = CSR || [];\r\n const res = (data.spare_part || []).filter(\r\n (product) =>\r\n (techCourierFilters.length === 0 ||\r\n techCourierFilters.indexOf(product.sp_techcourier) !== -1) &&\r\n (categoryFilters.length === 0 ||\r\n categoryFilters.indexOf(product.sp_category) !== -1) &&\r\n (rohsFilters.length === 0 ||\r\n rohsFilters.indexOf(product.sp_rohs_status_code) !== -1) &&\r\n (CSRFilters.length === 0 ||\r\n CSRFilters.indexOf(product.sp_csrflag) !== -1)\r\n );\r\n console.log(\"res\", res);\r\n this.setState({ filteredData: res });\r\n };\r\n\r\n enableSearchResult=()=>{\r\n const { data } = this.props;\r\n return(\r\n (data.spare_part || []).filter((product)=>product.part_number==='-N/A-').length>0)\r\n }\r\n\r\n changeFilters = (key, value, isMulti = false, isFlag = false) => {\r\n const { filters } = this.state;\r\n if (isFlag) {\r\n this.setState({ filters: { ...filters, [key]: value } }, () =>\r\n this.generateMetdata()\r\n );\r\n } else if (isMulti) {\r\n this.setState({\r\n filters: {\r\n ...filters,\r\n [key]: (value || []).map((selection) => selection.value),\r\n },\r\n }); //, () => this.generateMetdata())\r\n } else {\r\n this.setState(\r\n {\r\n filters: {\r\n ...filters,\r\n [key]: value ? (isObject(value) ? value.value : value) : \"\",\r\n },\r\n },\r\n () => this.generateMetdata()\r\n );\r\n }\r\n };\r\n\r\n componentWillUnmount() {\r\n // fix Warning: Can't perform a React state update on an unmounted component\r\n this.setState = (state, callback) => {\r\n return;\r\n };\r\n }\r\n\r\n sett = () => {\r\n this.setState({ COMPONENT_collapsed: !this.state.COMPONENT_collapsed });\r\n };\r\n\r\n \r\n render() {\r\n const { data,mobileView } = this.props;\r\n const { filters, itemsCount, filteredData } = this.state;\r\n const { unit_configuration, spare_part } = this.props.data;\r\n const { COMPONENT_collapsed, SPARE_collapsed } = this.state;\r\n\r\n\r\n return (\r\n \r\n
    \r\n {/*
    */}\r\n
    \r\n\r\n {unit_configuration && (\r\n \r\n \r\n {\r\n this.setState({ COMPONENT_collapsed: !COMPONENT_collapsed });\r\n }}\r\n >\r\n \r\n {COMPONENT_collapsed ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n   Component BOM (OEM S/N BOM)\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n {spare_part && (\r\n \r\n \r\n {\r\n this.setState({ SPARE_collapsed: !SPARE_collapsed });\r\n }}\r\n >\r\n \r\n {SPARE_collapsed ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n   Spare BOM (HP Orderable Product BOM)\r\n \r\n\r\n \r\n \r\n { mobileView ? (\r\n \r\n \r\n {this.enableSearchResult()? (\r\n null\r\n ) : (\r\n \r\n \r\n Click here to customize your search results\r\n
    \r\n {itemsCount ? (\r\n
    {itemsCount} Records found
    \r\n ) : (\r\n \"no\"\r\n )}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Category:\r\n \r\n \r\n ({ ...base, zIndex: 9999 }) }}\r\n closeMenuOnSelect={false}\r\n onMenuClose={this.generateMetdata}\r\n isSearchable\r\n isMulti\r\n value={(filters?.category || []).map(\r\n (ele) => ({\r\n value: ele,\r\n label: ele,\r\n })\r\n )}\r\n onChange={(option) =>\r\n this.changeFilters(\r\n \"category\",\r\n option,\r\n true\r\n )\r\n }\r\n options={(\r\n this.state.metadata?.category || []\r\n ).map((key) => ({\r\n value: key,\r\n label: key,\r\n }))}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n CSR:\r\n \r\n \r\n ({\r\n value: ele,\r\n label: ele,\r\n })\r\n )}\r\n isMulti={true}\r\n onChange={(option) =>\r\n this.changeFilters(\r\n \"CSR\",\r\n option,\r\n true\r\n )\r\n }\r\n options={\r\n (\r\n this.state.metadata?.CSR || []\r\n ).map((key) => ({\r\n value: key,\r\n label: key,\r\n })) || []\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n ROHS:\r\n \r\n \r\n \r\n this.changeFilters(\r\n \"rohs\",\r\n option,\r\n true\r\n )\r\n }\r\n isMulti={true}\r\n value={(filters?.rohs || []).map(\r\n (ele) => ({\r\n value: ele,\r\n label: ele,\r\n })\r\n )}\r\n options={(\r\n this.state.metadata?.rohs || []\r\n ).map((key) => ({\r\n value: key,\r\n label: key,\r\n }))}\r\n />\r\n \r\n \r\n {secureLocalStorage.getItem(\"loggeduser\") != null ?\r\n \r\n \r\n \r\n Tech Courier:\r\n \r\n \r\n ({\r\n value: ele,\r\n label: ele,\r\n }))}\r\n isMulti={true}\r\n onChange={(option) =>\r\n this.changeFilters(\r\n \"techCourier\",\r\n option,\r\n true\r\n )\r\n }\r\n options={\r\n (\r\n this.state.metadata\r\n ?.techCourier || []\r\n ).map((key) => ({\r\n value: key,\r\n label: key,\r\n })) || []\r\n }\r\n />\r\n \r\n : \"\" }\r\n \r\n {\r\n this.filterData();\r\n }}\r\n >\r\n Apply\r\n \r\n   \r\n {\r\n this.setState(\r\n { filters: initialFilters() },\r\n () => {\r\n this.generateMetdata();\r\n this.filterData();\r\n }\r\n );\r\n }}\r\n >\r\n Reset\r\n \r\n
    \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n ) : (\r\n \r\n \r\n {this.enableSearchResult()? (\r\n null\r\n ) : (\r\n \r\n \r\n Click here to customize your search results\r\n
    \r\n {itemsCount ? (\r\n
    {itemsCount} Records found
    \r\n ) : (\r\n \"no\"\r\n )}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Category:\r\n \r\n \r\n ({ ...base, zIndex: 9999 }) }}\r\n closeMenuOnSelect={false}\r\n onMenuClose={this.generateMetdata}\r\n isSearchable\r\n isMulti\r\n value={(filters?.category || []).map(\r\n (ele) => ({\r\n value: ele,\r\n label: ele,\r\n })\r\n )}\r\n onChange={(option) =>\r\n this.changeFilters(\r\n \"category\",\r\n option,\r\n true\r\n )\r\n }\r\n options={(\r\n this.state.metadata?.category || []\r\n ).map((key) => ({\r\n value: key,\r\n label: key,\r\n }))}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n CSR:\r\n \r\n \r\n ({\r\n value: ele,\r\n label: ele,\r\n })\r\n )}\r\n isMulti={true}\r\n onChange={(option) =>\r\n this.changeFilters(\r\n \"CSR\",\r\n option,\r\n true\r\n )\r\n }\r\n options={\r\n (\r\n this.state.metadata?.CSR || []\r\n ).map((key) => ({\r\n value: key,\r\n label: key,\r\n })) || []\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ROHS:\r\n \r\n \r\n \r\n this.changeFilters(\r\n \"rohs\",\r\n option,\r\n true\r\n )\r\n }\r\n isMulti={true}\r\n value={(filters?.rohs || []).map(\r\n (ele) => ({\r\n value: ele,\r\n label: ele,\r\n })\r\n )}\r\n options={(\r\n this.state.metadata?.rohs || []\r\n ).map((key) => ({\r\n value: key,\r\n label: key,\r\n }))}\r\n />\r\n \r\n \r\n \r\n \r\n {secureLocalStorage.getItem(\"loggeduser\") != null ?\r\n \r\n \r\n Tech Courier:\r\n \r\n \r\n ({\r\n value: ele,\r\n label: ele,\r\n }))}\r\n isMulti={true}\r\n onChange={(option) =>\r\n this.changeFilters(\r\n \"techCourier\",\r\n option,\r\n true\r\n )\r\n }\r\n options={\r\n (\r\n this.state.metadata\r\n ?.techCourier || []\r\n ).map((key) => ({\r\n value: key,\r\n label: key,\r\n })) || []\r\n }\r\n />\r\n \r\n : \"\" }\r\n \r\n \r\n \r\n \r\n \r\n {\r\n this.filterData();\r\n }}\r\n >\r\n Apply\r\n \r\n   \r\n {\r\n this.setState(\r\n { filters: initialFilters() },\r\n () => {\r\n this.generateMetdata();\r\n this.filterData();\r\n }\r\n );\r\n }}\r\n >\r\n Reset\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\nexport default ViewHOC(SerialNumberBOM);","// reference for Mobile Device Detection - npm install react-device-detect --save\r\n//https://github.com/duskload/react-device-detect#readme \r\n// reference for tabs - https://www.npmjs.com/package/react-tabs\r\n// import \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport React from \"react\";\r\nimport Image from \"./Image\";\r\n// import {barcode} from '../imagesbase'\r\n// import barcodeimg from './barcode.jpg'\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Link, withRouter } from \"react-router-dom\";\r\nimport { SEARCH_MODES, SEARCH_TEXT } from \"./constants/constants\";\r\nimport \"./bootstrap.min.css\";\r\nimport \"./design.css\";\r\nimport Form from \"./Form\";\r\nimport FunctionalEquivalent from \"./FunctionalEquivalent\";\r\nimport Navbar from \"./navbar\";\r\nimport PartList from \"./PartList\";\r\nimport ProductList from \"./ProductList\";\r\nimport ProductResults from \"./ProductResults\";\r\nimport SerialNumberBOM from \"./SerialNumberBOM\";\r\nimport { getQueryParam } from \"./Util\";\r\nimport { isMobile } from 'react-device-detect';\r\n// Tab Components - Start\r\n// import { Tabs, Tab } from \"react-bootstrap\";\r\nimport { Tab, Tabs, TabList, TabPanel } from 'react-tabs';\r\nimport 'react-tabs/style/react-tabs.css';\r\n// Tab Components - End\r\nimport { SERIALWITHPRODUCT,SERIALWITHPRODUCTGENERAL } from './constants/APIConstants';\r\nimport { getAuthHeader } from './Util';\r\nimport axios from 'axios';\r\nimport Loading from './Loading';\r\nimport Details from './Details';\r\n//import { green } from \"@material-ui/core/colors\";\r\n// Root PartSurfer Component.\r\n\r\n \r\nclass PartSurfer extends React.Component {\r\n \r\n state = {\r\n dataLoading: false,\r\n loading: false,\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectValue: \"Please Select a Product Number\",\r\n ProdListError: \"\",\r\n dataLoading: false\r\n };\r\n\r\n this.handleDropdownChange = this.handleDropdownChange.bind(this);\r\n }\r\n handleDropdownChange(e) {\r\n this.setState({ selectValue: e.target.value });\r\n }\r\n \r\n onSubmit = () => {\r\n this.setState({ dataLoading: true })\r\n const searchText = getQueryParam(this.props, SEARCH_TEXT);\r\n const { selectValue } = this.state;\r\n if(!selectValue.includes(\"Select\"))\r\n {\r\n let url;\r\n if(selectValue.includes(\"#\"))\r\n {\r\n let textval;\r\n textval = selectValue.slice(0, selectValue.indexOf(\"#\"));\r\n url = SERIALWITHPRODUCT(searchText,textval,'US',localStorage.getItem(\"usertype\"))\r\n }\r\n else\r\n {\r\n url = SERIALWITHPRODUCT(searchText,selectValue,'US',localStorage.getItem(\"usertype\"))\r\n }\r\n axios.get(url, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((response) => {\r\n this.loadDetails(response.data.Body ? response.data.Body : null, \"swp\")\r\n this.setState({ dataLoading: false, selectValue: \"Please Select a Product Number\" })\r\n }, (error) => {\r\n this.setState({ dataLoading: false, selectValue: \"Please Select a Product Number\" })\r\n })\r\n }\r\n else\r\n {\r\n this.setState({dataLoading: false, ProdListError: \"Please select any product number!\" })\r\n }\r\n }\r\n \r\n \r\nhandleSelect(index) { \r\n\r\n if(index==0)\r\n\r\n {\r\n\r\n //alert(\"Tab selected\"+index);\r\n\r\n //console.log(\"Tab selected\"); \r\n\r\n const searchText = getQueryParam(this.props, SEARCH_TEXT);\r\n\r\n var flag_value=localStorage.getItem(\"set_flag\");\r\n\r\n //alert(flag_value);\r\n\r\n if(flag_value==\"1\")\r\n\r\n {\r\n\r\n const { selectValue } = this.state; \r\n\r\n let url;\r\n\r\n if(selectValue.includes(\"#\"))\r\n\r\n {\r\n\r\n let textval;\r\n\r\n textval = selectValue.slice(0, selectValue.indexOf(\"#\"));\r\n\r\n url = SERIALWITHPRODUCTGENERAL(searchText,textval,'US',localStorage.getItem(\"usertype\"))\r\n\r\n }\r\n\r\n else\r\n\r\n {\r\n\r\n url = SERIALWITHPRODUCTGENERAL(searchText,selectValue,'US',localStorage.getItem(\"usertype\"))\r\n\r\n }\r\n\r\n axios.get(url, {\r\n\r\n headers: \r\n\r\n {\r\n\r\n ...getAuthHeader()\r\n\r\n }\r\n\r\n })\r\n\r\n .then((response) => {\r\n\r\n //alert(\"loaded success\");\r\n\r\n //console.log(\"loaded success\");\r\n\r\n }, (error) => {\r\n\r\n //alert(\"loaded fail\");\r\n\r\n //console.log(\"loaded fail\");\r\n\r\n }) \r\n\r\n localStorage.setItem(\"set_flag\",\"0\"); \r\n\r\n }\r\n\r\n }\r\n\r\n} \r\n\r\n\r\n loadDetails = (data, mode) => {\r\n if (!data && !mode) {\r\n this.setState({\r\n partResults: undefined,\r\n productResults: undefined,\r\n SNResults: undefined,\r\n wildCharResults: undefined,\r\n FEResults: undefined,\r\n SNRProductListsResults: undefined,\r\n dataLoaded: false,\r\n });\r\n return;\r\n }\r\n // console.log('loading data', data);\r\n switch (mode) {\r\n case SEARCH_MODES.PART:\r\n this.setState({ partResults: data, dataLoaded: true });\r\n break;\r\n case SEARCH_MODES.PRODUCT:\r\n this.setState({ productResults: data, dataLoaded: true });\r\n break;\r\n case SEARCH_MODES.SEARIAL_NUMBER:\r\n this.setState({ SNResults: data, dataLoaded: true });\r\n break;\r\n case SEARCH_MODES.FUNCTIONAL_EQUIVALENT:\r\n this.setState({ FEResults: data, dataLoaded: true });\r\n break;\r\n case SEARCH_MODES.SERIAL_WP:\r\n let rest = data || {};\r\n this.setState({\r\n productResults: rest.ProductBOM,\r\n SNResults: rest.SerialNumberBOM,\r\n SNRProductListsResults: rest.SNRProductLists,\r\n dataLoaded: true,\r\n });\r\n break;\r\n default:\r\n let res = data || {};\r\n this.setState({\r\n partResults: res.Part,\r\n productResults: res.ProductBOM,\r\n SNResults: res.SerialNumberBOM,\r\n wildCharResults: res.ProductNameList,\r\n SNRProductListsResults: res.SNRProductLists,\r\n dataLoaded: true,\r\n });\r\n }\r\n // this.setState({ data })\r\n };\r\n\r\n render() {\r\n const {\r\n productResults,\r\n partResults,\r\n SNResults,\r\n wildCharResults,\r\n SNRProductListsResults,\r\n FEResults,\r\n dataLoaded,\r\n } = this.state;\r\n\r\n const searchText = getQueryParam(this.props, SEARCH_TEXT);\r\n let tab1 = \"General\";\r\n let tab2 = \"Advanced\";\r\n let tab1gen = \"General(Product Family)\";\r\n let tab2adv = \"Advanced(Unique Product S/N)\";\r\n let tabgen1;\r\n if(isMobile)\r\n {\r\n tabgen1 = tab1;\r\n } \r\n else{ tabgen1 = tab1gen;}\r\n let tabadv1;\r\n if(isMobile)\r\n {\r\n tabadv1 = tab2;\r\n } \r\n else{ tabadv1 = tab2adv;}\r\n let noData =\r\n dataLoaded &&\r\n (productResults || []).length === 0 &&\r\n !partResults &&\r\n (SNResults || []).length === 0 &&\r\n (wildCharResults || []).length === 0 &&\r\n (FEResults || []).length === 0 &&\r\n (SNRProductListsResults || []).length === 0;\r\n const { dataLoading } = this.state;\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!searchText && (\r\n \r\n

    \r\n Do not know your part number? You can find it by entering one\r\n of the following values from your product's service tag.\r\n

    \r\n \r\n \r\n \r\n \r\n \r\n   Details:
    \r\n  1. Product name: This is the product name affixed to\r\n the front of the device.\r\n
    \r\n  2. Serial number (s/n): This is an alphanumeric\r\n identifier that is unique to each product.\r\n
    \r\n  3. Part number/Product number (p/n): This number\r\n provides specific information about the product’s hardware\r\n components. The part number helps a service technician to\r\n determine what components and parts are needed.\r\n
    \r\n  4. Warranty period: The number describes the duration\r\n of warranty period for the device.\r\n
    \r\n  5. Model description (selected models only): This\r\n Alphanumeric identifier used to locate documents, drivers\r\n and support for the device.\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n More information on how to find your HP Part / Product /\r\n Serial Number{\" \"}\r\n \r\n click here\r\n \r\n
    \r\n
    \r\n )}\r\n\r\n {\r\n \r\n \r\n
    \r\n \r\n {(SNRProductListsResults || []).length > 0 && (\r\n
    \r\n
    \r\n
    \r\n Serial Number : {searchText} \r\n
    \r\n
    \r\n
    \r\n Multiple Products associated for above Serial Number.\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.ProdListError &&
    {this.state.ProdListError}
    \r\n }\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {(wildCharResults || []).length > 0 && (\r\n \r\n )}\r\n
    \r\n {!SNResults && dataLoaded && !noData && !SNRProductListsResults && !wildCharResults &&\r\n
    \r\n {(productResults || []).length > 0 && (\r\n

    \r\n )} \r\n {/* \r\n \r\n {partResults && }\r\n {(FEResults || []).length > 0 && (\r\n \r\n )}\r\n {(productResults || []).length > 0 && (\r\n \r\n )}\r\n \r\n */}\r\n \r\n \r\n {tabgen1}\r\n {/* Advanced(Unique Product S/N) */}\r\n \r\n \r\n {partResults && }\r\n {(FEResults || []).length > 0 && (\r\n \r\n )}\r\n {(productResults || []).length > 0 && (\r\n \r\n )}\r\n \r\n {/* \r\n

    Any content 2

    \r\n
    */}\r\n
    \r\n
    \r\n } \r\n {SNResults &&\r\n
    \r\n
    \r\n
    \r\n this.handleSelect(index)}>\r\n \r\n {(productResults || []).length > 0 && (\r\n {tabgen1}\r\n )} \r\n {tabadv1}\r\n \r\n {(productResults || []).length > 0 && (\r\n \r\n \r\n \r\n )} \r\n \r\n \r\n \r\n \r\n
    \r\n } \r\n \r\n {noData && (\r\n
    \r\n
    \r\n No additional information found in PartSurfer. Please read\r\n the hints below, and try again.{\" \"}\r\n
    \r\n
    \r\n

    \r\n Hints For Using PartSurfer:-\r\n

    \r\n

    \r\n The most reliable and fastest way to identify your\r\n product is to enter the serial number or product number\r\n from the service tag (such as CNU123456789 or RU477EA )\r\n in the search box above, but a more general description\r\n of the product (such as LaserJet 8100 or Pavilion 6532)\r\n is also acceptable. Also, if you know the HP part number\r\n you are looking for (such as 8120-6260 or CB394-40014M),\r\n you may enter that directly.\r\n

    \r\n
    \r\n

    \r\n Searching for an HP part by entering a general\r\n description (such as Power Cord, Fusing Assembly,\r\n Motherboard, or Cartridge) will not be successful. After\r\n first identifying your HP product (as described above),\r\n you will be given several options for finding the part\r\n that you need.\r\n

    \r\n

    \r\n You may also{\" \"}\r\n \r\n click here\r\n {\" \"}\r\n to return to the main PartSurfer screen and select from\r\n the list of HP product families. Additional information\r\n can be found in the HP PartSurfer User Guide .\r\n

    \r\n
    \r\n
    \r\n )}\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Feedback to HP PartSurfer\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withRouter(PartSurfer);","import React from \"react\";\r\nimport {\r\n Accordion, Alert,\r\n Card,\r\n Col,\r\n Container,\r\n ListGroup,\r\n Nav,\r\n Row,\r\n Tab\r\n} from \"react-bootstrap\";\r\nimport FE_User from \"../FE_User.png\";\r\nimport go from \"../go .gif\";\r\nimport SBOM_NEW from \"../SBOM_NEW.png\";\r\nimport Shopping_cart from \"../Shopping_cart.png\";\r\nimport Show_fun_eq from \"../Show_fun_eq.png\";\r\nimport \"./design.css\";\r\nimport \"./UserGuide.css\";\r\nimport { ViewHOC } from \"./ViewHOC\";\r\nimport Navbar from \"./navbar\";\r\nimport Login from \"./login\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nfunction UserGuide() {\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n

    \r\n Before you continue reading this document, we hope that you\r\n will try using HP PartSurfer first. PartSurfer is designed to be\r\n very user friendly, and most users find it easy to locate the parts\r\n information they need without detailed instructions. Simply move\r\n your mouse over any field heading in italics for help on getting\r\n started. This user guide is provided for those who prefer more\r\n detailed step-by-step instructions.\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n HP PartSurfer is designed to help HP product owners\r\n and HP product repair technicians identify part\r\n numbers and other part information, primarily for the\r\n purpose of servicing and repairing HP products.\r\n \r\n \r\n {\" \"}\r\n We also provide a direct link to the HP Parts Store\r\n (for U.S. customers only) to allow you to order parts\r\n online.\r\n \r\n \r\n {\" \"}\r\n PartSurfer does NOT include instructions for repair,\r\n maintenance, or installation of products and parts.{\" \"}\r\n \r\n \r\n If you are not trained in repairing your product, or\r\n are not certain that you know what the exact problem\r\n is with your product, we strongly encourage you to\r\n first contact HP technical support to determine the\r\n best repair strategy for your HP product.\r\n \r\n \r\n {\" \"}\r\n (\r\n \r\n Contact Us\r\n {\" \"}\r\n for information on product support options.)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n PartSurfer assists with two basic types of part lookup\r\n tasks, with a variety of options for getting to the\r\n information that you need:\r\n \r\n \r\n {\" \"}\r\n You may need to find or verify a part number and other\r\n part information for an HP part, based primarily on\r\n the part's physical description or its function within\r\n your product.\r\n \r\n \r\n {\" \"}\r\n You may have the part in front of you, may have a\r\n description of the part from someone else, or may know\r\n from your repair experience what part you need.{\" \"}\r\n \r\n \r\n {\" \"}\r\n For whatever reason, you need to find the HP part\r\n number and its associated information, and possibly\r\n order the part\r\n \r\n \r\n {\" \"}\r\n You may know the part number for the HP part that you\r\n need, and simply need to look up part information\r\n and/or order the part.\r\n \r\n \r\n {\" \"}\r\n This feature of PartSurfer also provides a list of all\r\n HP products that use a specific part.\r\n \r\n \r\n {\" \"}\r\n Please note: the part number of the part\r\n currently recommended by HP for replacement may not be\r\n the same as the number that you see on the old part,\r\n or even in your product documentation, as part numbers\r\n are sometimes changed as different versions of a part\r\n become available.{\" \"}\r\n \r\n \r\n {\" \"}\r\n You should only use this direct part lookup feature if\r\n you are very sure that you know the part number that\r\n you need.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Microsoft Edge 90.x or greater, Chrome 20.x\r\n or greater, and Firefox version 6.x or greater.\r\n \r\n \r\n {\" \"}\r\n Cookies must be allowed (see browser’s help file).\r\n \r\n \r\n {\" \"}\r\n JavaScript must be enabled (see browser’s help file).{\" \"}\r\n \r\n \r\n {\" \"}\r\n Browser pop-up blocker must be off for some functions\r\n to work (see browser’s help file)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Specific actions that you can take within PartSurfer,\r\n such as Enter a Model Number or\r\n \r\n \r\n {\" \"}\r\n Select a Keyword are displayed in a bold{\" \"}\r\n font for quick reference.\r\n \r\n \r\n {\" \"}\r\n Screen field headings, such as Part Number or product\r\n search: are displayed in italics.{\" \"}\r\n \r\n \r\n {\" \"}\r\n Examples of information to be entered by the user,\r\n such as 33440-69001 or laserjet 5 are displayed in a\r\n typewriter font.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Finding an HP Part Number\r\n \r\n \r\n \r\n \r\n \r\n \r\n Follow these step-by-step instructions to find an HP\r\n part number and associated information:\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

      Select your country or region . . .

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

    \r\n Before using HP PartSurfer, you first need to\r\n let us know what country or region you are in.\r\n You will only need to do this once, and it\r\n will be remembered in a cookie on your\r\n computer for all your future accesses. Some of\r\n our information is tailored to specific\r\n geographic areas. Just{\" \"}\r\n \r\n select a country or region from the\r\n drop-down menu at the upper right of the\r\n main screen\r\n \r\n . If your country isn't listed, select a\r\n nearby country, as information will probably\r\n be similar.\r\n

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

    \r\n \r\n

       Identify your HP product . . .

    \r\n \r\n

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

    \r\n We next need to know what HP product you have\r\n in order to help you find the part(s) that you\r\n need. After FIRST locating your HP product, as\r\n described below, you will be given several\r\n options for finding your part(s). There are\r\n five different ways to find your product:\r\n

    \r\n \r\n Enter the serial number from your product in\r\n the text box located in the Quick Search tab.\r\n {\" \"}\r\n The serial number is found on the back or bottom\r\n of your HP product, and will be in a format such\r\n as USE646N6FJ, 2UA73310K5 or CNU6080B8C.\r\n
    \r\n OR\r\n
    \r\n \r\n Enter the product number from your product in\r\n the text box located in the Quick Search tab.\r\n {\" \"}\r\n The product number is found on the back or\r\n bottom of your HP product, and will be in a\r\n format such as C2010A, 33440A or D7399A. If you\r\n can take a moment to find the product number on\r\n your product, this will be the most accurate way\r\n to locate the information you need.\r\n
    \r\n OR\r\n
    \r\n \r\n Enter the part number from your product in the\r\n text box located in the Quick Search tab.\r\n {\" \"}\r\n The part number is found on the back or bottom\r\n of your HP product, and will be in a format such\r\n as C2801-40001, 384705-051 or 5063-1256.\r\n
    \r\n OR\r\n
    \r\n \r\n Enter the name or description of your product\r\n in the text box located in the Quick Search\r\n tab.\r\n {\" \"}\r\n For example, laserjet 5, pavilion 6532 or\r\n omnibook. Searching for an HP part by entering a\r\n general description (such as Power Cord, Fusing\r\n Assembly, Motherboard, or Cartridge) in the\r\n search field on this screen will probably NOT be\r\n successful.\r\n
    \r\n OR\r\n
    \r\n \r\n Select the general family that your product\r\n belongs to from the list on the Hierarchy tab.\r\n {\" \"}\r\n Locate your product by 'drilling down' through\r\n the HP product families.\r\n
    \r\n OR\r\n
    \r\n \r\n Enter the part/product number in the text box\r\n located in the Quick Search tab with wildcard\r\n [asterisk(*)] search for single character\r\n replacement.\r\n {\" \"}\r\n For example, search for av*33u* which returns\r\n matching results.\r\n

    \r\n \r\n Select the Lookup similar items check box if\r\n you want to match similar part numbers or\r\n product numbers.\r\n {\" \"}\r\n For example, if you enter the search string\r\n 33440A and check the box, the following\r\n results will be returned: 33440A, 33440A-T,\r\n 33440AB, etc. Please note: the Lookup\r\n similar items check box only works when\r\n searching for product numbers and part\r\n numbers.\r\n

    \r\n

    \r\n If your product search finds a single matching\r\n HP product, a screen will be displayed that\r\n will allow you to look up parts information.\r\n If your search finds multiple matches (or if\r\n you searched through product families), you\r\n will need to{\" \"}\r\n select from a list of products for that\r\n family or search result.\r\n

    \r\n

    \r\n The General Tab is the default view for most\r\n search results. This provides the user with a\r\n generic list of parts that are used within a\r\n family of similar products (multiple hard\r\n drives, memory modules, etc.) If a serial\r\n number search is performed, or a product SKU\r\n (Stock Keeping Number) search and you then\r\n click on the Advanced Tab, a more specific\r\n spares list called a BOM (Bill Of Materials)\r\n will be displayed when available. Also a\r\n Component BOM, which is a list of parts as\r\n used in the manufacturing process, may be\r\n available.{\" \"}\r\n

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

    \r\n \r\n

      Customize your search results . . .

    \r\n \r\n

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

    \r\n Once you have specified your product, you will\r\n see a list of all replacement parts for the\r\n product, grouped by keyword and part number.\r\n If you want to filter the parts list, you can{\" \"}\r\n \r\n click on the Customize your results link\r\n \r\n . This will display a form that will allow you\r\n to filter the parts listing based on the\r\n following criteria:\r\n

    \r\n
      \r\n
    • \r\n Select RoHS.{\" \"}\r\n This will display a list of all replacement\r\n parts that are RoHS compliant.\r\n
      \r\n OR\r\n
      \r\n
    • \r\n
    • \r\n \r\n Select Part photo.\r\n {\" \"}\r\n This will display a list of all replacement\r\n parts for the product that have a part photo\r\n available.\r\n
      \r\n OR\r\n
      \r\n
    • \r\n
    • \r\n \r\n Select a Keyword.\r\n {\" \"}\r\n This will display a list of parts for the\r\n keyword. Keywords are very specific\r\n groupings of parts, such as Button, PC\r\n Board, Roller, Power Cord.\r\n
      \r\n OR\r\n
      \r\n
    • \r\n
    • \r\n \r\n Select a Category.\r\n {\" \"}\r\n This will display a list of parts for the\r\n category, grouped by keyword and part\r\n number. Categories are more general\r\n groupings of parts, based on location within\r\n the product or functionality, such as Fusing\r\n Assembly Parts, External Case Parts, Drives\r\n and Controllers, Electronic Accessories.\r\n
      \r\n OR\r\n
      \r\n
    • \r\n
    • \r\n \r\n Enter a search value in the String Search\r\n field.\r\n {\" \"}\r\n This will search through all part numbers\r\n and part descriptions for the product, and\r\n display a list of all matching parts,\r\n grouped by keyword and part number.\r\n
    • \r\n
    \r\n

    \r\n After you have selected your filter criteria,{\" \"}\r\n click the Apply button. This will\r\n display an updated parts list based on your\r\n filter criteria.\r\n

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

    \r\n \r\n

      Find your part(s) using a parts diagram . . .

    \r\n \r\n

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

    \r\n If an interactive parts diagram is available\r\n for your product, a selection field labeled\r\n View a parts diagram will be shown on the\r\n General tab. Parts diagrams allow you to\r\n visually confirm that you have found the\r\n correct part. You may move your mouse over\r\n objects on the interactive diagram for quick\r\n part information, or click on the object for\r\n more detail. Please note that parts that are\r\n shown in pale gray on some diagrams are not\r\n orderable parts, but are included on the\r\n diagram for reference only.\r\n

    \r\n

    \r\n To view the parts diagram,{\" \"}\r\n select Interactive mode for an\r\n interactive parts diagram,{\" \"}\r\n or select Printable mode if you want to\r\n print the diagram. Select the component{\" \"}\r\n of the part you want to view from the\r\n drop-down menu. Click the search icon\r\n \r\n to view the parts diagram.\r\n

    \r\n \r\n Move your mouse over an object\r\n {\" \"}\r\n to see a pop-up box displaying the keyword and\r\n part number(s) corresponding to the part.\r\n
    \r\n \r\n Click on an object or keyword\r\n {\" \"}\r\n for more detailed part information. Information\r\n for the part(s) (in the same format as in a\r\n parts listing) will be displayed, followed by a\r\n redisplay of the diagram with a red arrow\r\n pointing to the selected part.\r\n
    \r\n The pop-up box displayed for some diagram\r\n objects contains a link labeled ‘View More\r\n Detail’.
    \r\n \r\n Click the View More Detail link\r\n {\" \"}\r\n to display a more detailed view of the part or\r\n assembly.\r\n

    \r\n If a parts diagram for your part is not\r\n available within PartSurfer, one may be\r\n available at the HP Service Media Library.{\" \"}\r\n Click the HP Service Media Library link{\" \"}\r\n in the left menu to be taken to the HP Service\r\n Media Library search page.\r\n

    \r\n \r\n Find your part(s) or part information on a\r\n parts listing . . .\r\n \r\n

    \r\n Parts listings contain the following fields\r\n and features to allow you to verify part\r\n numbers, access part prices (in some\r\n countries), and order parts on-line (currently\r\n only for U.S. customers):\r\n

    \r\n Parts diagram/photo indicator: A camera icon in\r\n the left column of a parts listing entry\r\n indicates that there is a diagram or photo\r\n displaying that part.{\" \"}\r\n Click on the camera icon to display\r\n either a photograph of the part or a diagram\r\n with a red arrow pointing to the part. (See the\r\n previous section for details on using parts\r\n diagrams.)\r\n
    \r\n Add to Cart: (U.S. only) used to select parts\r\n you want to order from the HP Parts Store web\r\n site. (See details on ordering parts below.)\r\n
    \r\n Click to Buy: A Buy button that takes you\r\n directly to the HP Home and Home Office Store.\r\n
    \r\n Part number: The HP part number.\r\n
    \r\n Description: A detailed description for the\r\n part, including information, where relevant, on\r\n where and/or how the part is used within the\r\n specific product. Although PartSurfer does not\r\n show real-time part availability information,\r\n there are notes in some descriptions to indicate\r\n parts that are no longer available, or that have\r\n special ordering requirements.\r\n
    \r\n Show Functional Equivalent: Once a products\r\n spares list is displayed, click the\r\n \r\n button. If an equivalent part is available, a\r\n \r\n button will be displayed next to a part number.\r\n Click the\r\n \r\n button to display a popup window with that\r\n information. Otherwise there will be a NO\r\n Functional Equivalent message displayed.\r\n
    \r\n
    \r\n SBOM button (May also appear as Updated SBOM\r\n Available ): Clicking on the\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n \r\n

      Order parts through the HP Parts Store\r\n (available in select countries only) . . .

    \r\n \r\n

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

    \r\n From any PartSurfer parts listing,{\" \"}\r\n \r\n select the check box in the Add to Cart\r\n column, and click the Add Parts to Cart\r\n button\r\n \r\n . When you have filled your cart with all of\r\n the parts you want to order,{\" \"}\r\n \r\n click the Shopping Cart icon\r\n \r\n at the top of the page\r\n \r\n . We hope to have linkages soon to online HP\r\n parts ordering tools that are being developed\r\n for other countries.\r\n

    \r\n

    \r\n The following actions are available on the\r\n Shopping Cart page:\r\n

    \r\n Update the number in the Qty text box to\r\n change the number of parts you want to order.\r\n
    \r\n \r\n Select the Remove check box and then click the\r\n Update cart >> button\r\n {\" \"}\r\n to remove parts from your shopping cart.\r\n
    \r\n Click the Update cart >> button to\r\n complete any changes you have made to the parts\r\n in your shopping cart.\r\n
    \r\n Click the Place order >> button to be\r\n taken to the HP Home and Home Office Store where\r\n you can order the parts in your cart.\r\n
    \r\n Click the Order more parts >> button to\r\n return to the PartSurfer homepage to search for\r\n additional parts.\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n \r\n

      abbreviation . . .

    \r\n \r\n

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

    \r\n Below are some of abbreviation in PartSurfer\r\n

    \r\n
      \r\n
    • \r\n RoHS.{\" \"}\r\n Restriction of Hazardous Substances\r\n
    • \r\n
    • \r\n FE.{\" \"}\r\n Funcational Equivalent\r\n
    • \r\n
    • \r\n CSR.{\" \"}\r\n Customer Self Repair\r\n
    • \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default ViewHOC(UserGuide);\r\n","//https://github.com/iannbing/react-simple-tree-menu - Reference for TreeView\r\nimport React from 'react';\r\nimport axios from 'axios';\r\nimport Loading from './Loading';\r\nimport { GET_HIERARCHY,GETHIERARCHYPRODUCT, GETGLBURL } from './constants/APIConstants';\r\nimport { getAuthHeader } from './Util';\r\nimport { ViewHOC } from \"./ViewHOC\";\r\nimport TreeMenu from 'react-simple-tree-menu'\r\nimport \"./bootstrap.min.css\";\r\nimport \"./design.css\";\r\nimport './main.css';\r\nimport Navbar from \"./navbar\";\r\nimport Login from \"./login\";\r\n//import ModalPopup from './ModalPopup';\r\nimport { Link } from \"react-router-dom\";\r\nimport { Modal } from 'react-bootstrap'; \r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\"; \r\n//import { SEARCH_MODES } from \"./constants/constants\";\r\nimport { getLocationObject } from \"./Util\";\r\n\r\nclass Hierarchy extends React.Component {\r\n state = {\r\n countryLoading: true,\r\n dataprod: null,\r\n showModalPopup: false,\r\n prodparents: null,\r\n Level1: null,\r\n Level2: null,\r\n Level3: null,\r\n Level4: null,\r\n Level5: null,\r\n Level6: null,\r\n User : '',\r\n };\r\n \r\n componentDidMount() {\r\n const {countryLoading} = true;\r\n axios.get(GET_HIERARCHY(localStorage.getItem(\"usertype\")), {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((res) => {\r\n const dt = res.data.Body;\r\n this.setState({ data: res.data.Body, countryLoading: false })\r\n }, (error) => {\r\n this.setState({ data: null, countryLoading: false })\r\n })\r\n\r\n }\r\n \r\n removeCookie = (e) => {\r\n e.preventDefault();\r\n localStorage.removeItem(\"loggeduser\");\r\n this.setState({ User: null });\r\n alert(\"LogOut Success!\");\r\n window.location.href = \"/PartSurfer\";\r\n }\r\n\r\n isShowPopup = (status) => { \r\n this.setState({ showModalPopup: status }); \r\n }; \r\n isShowModal = (status) => { \r\n this.handleClose(); \r\n this.setState({ showModal: status }); \r\n } \r\n\r\n handleClose = () => { \r\n this.isShowPopup(false); \r\n //window.location.href = '/PartSurfer/Hierarchy';\r\n }\r\n \r\n proddatasplit = (dt) => { \r\n let res = dt || {};\r\n var array = res.parentItems.split(\"->\");\r\n if(array != null)\r\n {\r\n if(array.length == 6)\r\n {\r\n this.setState({Level1: array[0], Level2: array[1], Level3: array[2], Level4: array[3], Level5: array[4], Level6: array[5]});\r\n }\r\n else\r\n {\r\n this.setState({Level1: array[0], Level2: array[1], Level3: array[2], Level4: array[3], Level5: array[4], Level6: null});\r\n } \r\n }\r\n this.setState({\r\n dataprod: res.hierarchyProds,\r\n prodparents: res.parentItems,\r\n }); \r\n } \r\n\r\n loadData = (key,label, props) => {\r\n this.setState({ countryLoading: true })\r\n var array = key.split(\"/\");\r\n const { hasNodes } = props;\r\n let urlprod;\r\n let arraycount;\r\n arraycount = array.length - 1;\r\n //Added for Text Click by Shreyas Nene to get value of level.\r\n //---Start Here\r\n const {level}=props;\r\n //Added for Text Click by Shreyas Nene to get value of level---End Here\r\n urlprod = GETHIERARCHYPRODUCT(array[arraycount], localStorage.getItem(\"usertype\"));\r\n var dt1 = this.state.data;\r\n if (!hasNodes) {\r\n axios.get(urlprod, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((response) => {\r\n this.proddatasplit(response.data.Body);\r\n this.setState({ countryLoading: false })\r\n this.isShowPopup(true);\r\n }, (error) => {\r\n this.setState({ countryLoading: false })\r\n })\r\n }\r\n else{\r\n this.setState({ countryLoading: false })\r\n // Added by Shreyas Nene to enable click event on TreeMenu Text Click-------Start here \r\n var list=document.getElementsByClassName(\"rstm-tree-item\");\r\n for (let i = 0; i < list.length; i++){\r\n if(list[i].textContent.substring(1)==label){\r\n if(list[i].classList.contains('rstm-tree-item-level'+level))\r\n list[i].querySelector(\".rstm-toggle-icon-symbol\").click();\r\n }\r\n }; \r\n //Added by Shreyas Nene to enable click event on TreeMenu Text Click-------End here\r\n\r\n }\r\n }\r\n\r\n\r\n render() {\r\n const { countryLoading, data, dataprod } = this.state;\r\n const {mobileView } = this.props;\r\n const columns = mobileView\r\n ? [\r\n {\r\n text: \"#\",\r\n dataField: '',\r\n headerAttrs: {\r\n hidden: true,\r\n },\r\n formatter: (col, prod, index) => {\r\n return (\r\n \r\n HP Model Number : \r\n \r\n {prod.product_number}\r\n \r\n
    \r\n Product Name : \r\n {prod.product_name}\r\n
    \r\n \r\n
    \r\n );\r\n },\r\n },\r\n ]\r\n : [\r\n {\r\n dataField: \"product_number\",\r\n text: \"HP Model Number\",\r\n formatter: (col) => (\r\n
    \r\n \r\n {col}\r\n \r\n
    \r\n ),\r\n headerStyle: () => {\r\n return { width: \"3%\" };\r\n },\r\n },\r\n {\r\n dataField: \"product_name\",\r\n text: \"Product Name\",\r\n headerStyle: () => {\r\n return { width: \"15%\" };\r\n },\r\n },\r\n ];\r\n const{Level1,Level2, Level3,Level4,Level5,Level6,User} = this.state;\r\n const styleObject = {\r\n \"float\" : \"right\",\r\n \"color\" : \"#003366\",\r\n \"width\" : \"100%\"\r\n }\r\n return ( \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n     Hierarchy Menu:\r\n
    \r\n
    \r\n

    \r\n \r\n
    \r\n \r\n {\r\n this.loadData(key,label,props);\r\n }}\r\n resetOpenNodesOnDataUpdate={true}/>\r\n \r\n
    \r\n { dataprod &&\r\n \r\n \r\n \r\n PartSurfer Hierarchy Products \r\n \r\n \r\n \r\n \r\n
    \r\n {/* {this.state.prodparents} */}\r\n {Level1} {Level2} {Level3} {Level4} {Level5} {Level6}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n 10 ? paginationFactory() : undefined}\r\n />\r\n \r\n
    \r\n
    \r\n

    Go back to Hierarchy Menu?

    \r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Feedback to HP PartSurfer\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ViewHOC(Hierarchy)\r\n","import React from \"react\";\r\nimport { ViewHOC } from \"./ViewHOC\";\r\nimport \"./bootstrap.min.css\";\r\nimport \"./design.css\";\r\nimport './main.css';\r\nimport Navbar from \"./navbar\";\r\nimport Loading from './Loading';\r\nimport { getURLQueryString, getAuthHeader } from './Util';\r\nimport { GET_COUNTRIES,INSERTFEEDBACK } from './constants/APIConstants';\r\nimport axios from 'axios';\r\n\r\nclass NewRequest extends React.Component {\r\n constructor(props) {\r\n super(props); this.state = {\r\n modalnumber: '', \r\n problemdesc: '', \r\n troubleshootingsteps: '', \r\n installation: '', \r\n nameofcust: '', \r\n email: '', \r\n phonenumber: '', \r\n country : '',\r\n SelectValue: \"Please Select a Country\"\r\n };\r\n this.state = {countryLoading: true, countryerror: ''}\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.handleDropdownChange = this.handleDropdownChange.bind(this);\r\n this.setState({SelectValue : \"Please Select a Country\"})\r\n }\r\n handleDropdownChange(e) {\r\n this.setState({ SelectValue: e.target.value });\r\n }\r\n componentDidMount() {\r\n getURLQueryString()\r\n axios.get(GET_COUNTRIES(localStorage.getItem(\"usertype\")), {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((res) => {\r\n const data = res.data.Body;\r\n let dat = data.map((con, index) => {\r\n return { key: con.CountryCode, value: con.CountryName }\r\n })\r\n this.setState({ data: dat, countryLoading: false })\r\n this.setState({SelectValue : \"Please Select a Country\"})\r\n }, (error) => {\r\n // console.log(error);\r\n this.setState({ countryLoading: false })\r\n this.setState({SelectValue : \"Please Select a Country\"})\r\n })\r\n\r\n }\r\n\r\n handleChange(evt) {\r\n this.setState({\r\n [evt.target.name]: evt.target.value\r\n });\r\n }\r\n\r\n emailvalidation(value) {\r\n var pattern = new RegExp(/^((\"[\\w-\\s]+\")|([\\w-]+(?:\\.[\\w-]+)*)|(\"[\\w-\\s]+\")([\\w-]+(?:\\.[\\w-]+)*))(@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$)|(@\\[?((25[0-5]\\.|2[0-4][0-9]\\.|1[0-9]{2}\\.|[0-9]{1,2}\\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\\]?$)/i);\r\n if (!pattern.test(value)) {\r\n return false; \r\n }\r\n else\r\n {\r\n return true;\r\n }\r\n }\r\n\r\n phonevalidation(value) {\r\n var pattern = new RegExp(/^[0-9\\b]+$/);\r\n if (!pattern.test(value)) {\r\n return false; \r\n }\r\n else\r\n {\r\n return true;\r\n }\r\n }\r\n\r\n handleSubmit(event) {\r\n this.setState({ countryLoading: true })\r\n const { modalnumber, problemdesc, troubleshootingsteps, installation, nameofcust, email, phonenumber, SelectValue } = this.state;\r\n\r\n if(!SelectValue.includes(\"Select\") )\r\n {\r\n if(this.emailvalidation(email))\r\n {\r\n let input = modalnumber + \"$$\" + problemdesc + \"$$\" + troubleshootingsteps + \"$$\" + installation + \"$$\" + nameofcust + \"$$\" + email + \"$$\" + phonenumber + \"$$\" + SelectValue;\r\n // let request = input.replaceAll(\"/\", \"@@\");\r\n // request = request.replaceAll(\"#\",\"&&&\");\r\n // request = request.replaceAll(\"?\",\"%%\");\r\n console.log(input);\r\n const content = { text: input };\r\n let urlprod;\r\n urlprod = INSERTFEEDBACK();\r\n axios.post(urlprod, content, {\r\n headers: {\r\n ...getAuthHeader()\r\n }\r\n })\r\n .then((response) => {\r\n if(response.data == true)\r\n {\r\n alert(\"Confirmation of your submission has also been mailed to the email address provided by you\");\r\n }\r\n else\r\n {\r\n alert(\"Some Error Occured on submitting Request!\");\r\n }\r\n this.setState({ countryLoading: false, SelectValue : \"Please Select a Country\", countryerror: \"\" })\r\n }, (error) => {\r\n this.setState({ countryLoading: false, SelectValue : \"Please Select a Country\", countryerror: \"\" })\r\n })\r\n }\r\n else{\r\n this.setState({countryLoading: false, countryerror: \"Please enter valid email or phone number!\" })\r\n }\r\n }\r\n else\r\n {\r\n this.setState({countryLoading: false, SelectValue : \"Please Select a Country\", countryerror: \"Please select country!\" })\r\n }\r\n event.preventDefault();\r\n }\r\n\r\n render() {\r\n const { countryLoading } = this.state;\r\n return (\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n

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

    \r\n E-mail form:-\r\n

    \r\n

    \r\n The information we are requesting will be used solely to fulfill your e-mail support request and does not register you as an HP customer.\r\n
    \r\n Most e-mail responses can be expected within 1 business day.\r\n

    \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n     Submit Request:\r\n
    \r\n
    */}\r\n

    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n Name or model number of your HP product:\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Please provide a detailed description of the exact problem:\r\n
    \r\n
    \r\n
    \r\n