{"version":3,"file":"495.de8e985267011579d353.min.js","mappings":"oyBA4HA,QAvHkB,SAAAA,GAEd,OAAoCC,EAAAA,EAAAA,UAAS,CACzCC,EAAG,GACHC,UAAW,GACXC,KAAM,KAHV,eAAOC,EAAP,KAAmBC,EAAnB,KAMA,GAA0BL,EAAAA,EAAAA,UAAS,IAAnC,eAAOM,EAAP,KAAcC,EAAd,KACA,GAA8BP,EAAAA,EAAAA,UAAS,IAAvC,eAAOQ,EAAP,KAAgBC,EAAhB,KAEIC,EAAWC,KAAKC,aAAa,QAAS,CACtCC,MAAO,WACPC,SAAU,QAkCVC,EAAe,SAACC,GAChBX,EAAc,EAAD,KACND,GADM,cAERY,EAAMC,OAAOC,KAAOF,EAAMC,OAAOE,UAI1C,OACI,mCACI,mCACI,mCACI,gCAAMC,OAAO,MAAMC,UAAU,+CAA+CC,SAtC3E,SAACC,GACdA,EAAEC,iBAEF,IAAMC,EAAS,CACXxB,EAAGG,EAAWH,EACdC,UAAWE,EAAWF,UACtBwB,KAAMtB,EAAWsB,OAGrBC,EAAAA,EAAAA,IAAkBF,GACbG,MAAK,SAAAC,GACFC,QAAQC,IAAIF,GACRA,EAAKG,QACLvB,EAAW,YAAD,OAAaoB,EAAKG,OAAlB,mCACVC,EAAAA,EAAAA,QAAc,4CAEdxB,EAAW,+CACXwB,EAAAA,EAAAA,QAAc,qDAElB1B,EAASsB,MAVjB,OAYW,SAAAK,GACHJ,QAAQC,IAAIG,GACZD,EAAAA,EAAAA,MAAY,sCAgBJ,+BAAKZ,UAAU,uBACX,iCAAOc,QAAQ,KAAf,0BACA,iCAAOd,UAAU,eAAeF,MAAOf,EAAWH,EAAGmC,SAAUrB,EAC3DsB,GAAG,IAAIC,KAAK,OAAOpB,KAAK,IAAIqB,YAAY,0BAA0BC,UAAQ,EAACC,eAAe,OAC1FC,YAAY,MAAMC,UAAU,UAGpC,+BAAKtB,UAAU,uBACX,iCAAOc,QAAQ,aAAf,wBACA,iCAAOd,UAAU,eAAee,SAAUrB,EAAcI,MAAOf,EAAWF,UAAW0C,SAAUxC,EAAWsB,KACtGW,GAAG,YAAYC,KAAK,OAAOpB,KAAK,eAExC,gCAAMG,UAAU,IAAhB,MACA,+BAAKA,UAAU,uBACX,iCAAOc,QAAQ,QAAf,yBACA,iCAAOd,UAAU,eAAeF,MAAOf,EAAWsB,KAAMU,SAAUrB,EAC9DsB,GAAG,OAAOC,KAAK,OAAOpB,KAAK,OAAOqB,YAAY,2BAA2BE,eAAe,KAAKE,UAAU,OAAOE,UAAU,IAAID,SAAUxC,EAAWF,aAGzJ,+BAAKmB,UAAU,uBACX,kCAAQA,UAAU,iBAAiBiB,KAAK,UAAxC,cAQf9B,GACG,8BAAIa,UAAU,iBAAiBb,GAGlCF,EAAM0B,OAAS,GACZ,+BAAKX,UAAU,oBACX,iCAAOA,UAAU,gEACb,qCACI,kCACI,0CACA,4CACA,6CAGR,qCACKf,EAAMwC,KAAI,SAACC,GACR,IAAMC,EAAQC,WAAWF,EAAKG,aAC9B,OAAO,kCACH,kCAAKH,EAAKI,UACV,kCAAI,6BAAGC,KAAML,EAAKM,KAAMN,EAAKO,aAC7B,kCAAK5C,EAAS6C,OAAOP","sources":["webpack://Vollrath.Kentico.Web/./js/shared/react/components/parts-tool.jsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\r\nimport toast from '../../components/toast';\r\nimport LoaderSection from './loader-section.jsx';\r\nimport { getPartsByProduct } from '../../apis/products';\r\n\r\nconst PartsTool = props => {\r\n\r\n const [searchInfo, setSearchInfo] = useState({\r\n q: '',\r\n startDate: '',\r\n sNun: ''\r\n })\r\n\r\n const [parts, setParts] = useState([]);\r\n const [message, setMessage] = useState('');\r\n\r\n let dollarUS = Intl.NumberFormat(\"en-US\", {\r\n style: \"currency\",\r\n currency: \"USD\",\r\n });\r\n\r\n const isDisabled = () => {\r\n\r\n }\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n const params = {\r\n q: searchInfo.q,\r\n startDate: searchInfo.startDate,\r\n sNum: searchInfo.sNum\r\n }\r\n\r\n getPartsByProduct(params)\r\n .then(data => {\r\n console.log(data);\r\n if (data.length) {\r\n setMessage(`We found ${data.length} parts for this product number`);\r\n toast.success(\"We found parts for this product number\")\r\n } else {\r\n setMessage('No parts were found for this product number')\r\n toast.success(\"We didn't find any parts for this set of options\")\r\n }\r\n setParts(data);\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n toast.error(\"There was an unexpected error\")\r\n });\r\n }\r\n\r\n let handleChange = (event) => {\r\n setSearchInfo({\r\n ...searchInfo,\r\n [event.target.name]: event.target.value\r\n });\r\n }\r\n\r\n return (\r\n <div>\r\n <div>\r\n <div>\r\n <form method=\"get\" className=\"row justify-content-start align-items-center\" onSubmit={onSubmit} >\r\n <div className=\"form-group col-lg-3\">\r\n <label htmlFor=\"q\">Enter an item number *</label>\r\n <input className=\"form-control\" value={searchInfo.q} onChange={handleChange}\r\n id=\"q\" type=\"text\" name=\"q\" placeholder=\"Enter an item number...\" required autoCapitalize=\"none\"\r\n autoCorrect=\"off\" autoFocus=\"true\" />\r\n </div>\r\n\r\n <div className=\"form-group col-lg-3\">\r\n <label htmlFor=\"startDate\">Enter a start date *</label>\r\n <input className=\"form-control\" onChange={handleChange} value={searchInfo.startDate} disabled={searchInfo.sNum}\r\n id=\"startDate\" type=\"date\" name=\"startDate\" />\r\n </div>\r\n <span className=\"\">Or</span>\r\n <div className=\"form-group col-lg-3\">\r\n <label htmlFor=\"sNum\">Enter a serial number</label>\r\n <input className=\"form-control\" value={searchInfo.sNum} onChange={handleChange}\r\n id=\"sNum\" type=\"text\" name=\"sNum\" placeholder=\"Enter a serial number...\" autoCapitalize=\"on\" autoFocus=\"true\" maxLength=\"4\" disabled={searchInfo.startDate} />\r\n </div>\r\n\r\n <div className=\"col-lg-3 form-group\">\r\n <button className=\"btn full-width\" type=\"submit\">\r\n Submit\r\n </button>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n </div>\r\n {message &&\r\n <h2 className=\"section-title\">{message}</h2>\r\n }\r\n\r\n {parts.length > 0 &&\r\n <div className=\"panel no-padding\">\r\n <table className=\"table table-striped table-side-padding no-margin parts-table\">\r\n <thead>\r\n <tr>\r\n <th>Name</th>\r\n <th>Part #</th>\r\n <th>Price</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {parts.map((item) => {\r\n const price = parseFloat(item.usListPrice);\r\n return <tr>\r\n <td>{item.partName}</td>\r\n <td><a href={item.url}>{item.itemNumber}</a></td>\r\n <td>{dollarUS.format(price)}</td>\r\n </tr>\r\n\r\n })}\r\n </tbody>\r\n </table>\r\n </div>\r\n }\r\n </div>\r\n );\r\n}\r\n\r\nexport default PartsTool;"],"names":["props","useState","q","startDate","sNun","searchInfo","setSearchInfo","parts","setParts","message","setMessage","dollarUS","Intl","NumberFormat","style","currency","handleChange","event","target","name","value","method","className","onSubmit","e","preventDefault","params","sNum","getPartsByProduct","then","data","console","log","length","toast","error","htmlFor","onChange","id","type","placeholder","required","autoCapitalize","autoCorrect","autoFocus","disabled","maxLength","map","item","price","parseFloat","usListPrice","partName","href","url","itemNumber","format"],"sourceRoot":""}