{"version":3,"sources":["components/img/group_img/jenkins-j-icon.webp","components/img/group_img/brochure-cover-graphic.webp","components/img/group_img/brochure-jenkins-logo.webp","components/img/group_img/brochure-header-tire-tracks.webp","components/img/group_img/brochure-thunderstruck-logo.webp","components/img/group_img/brochure-footer-tire-tracks.webp","components/img/group_img/layer-0-1-at-1x.webp","components/img/group_img/path-293-at-1x.webp","components/img/group_img/path-294-at-1x.webp","components/img/group_img/path-295-at-1x.webp","components/img/group_img/cart.webp","components/img/group_img/icon-heart.webp","components/img/group_img/icon-hand.webp","components/img/group_img/icon-gear.webp","components/Layout.js","components/Footer.js","components/HelperCookie.js","components/HelperSession.js","components/HelperCart.js","components/HelperCommon.js","components/network/BaseNetwork.js","components/network/CommonNetwork.js","components/requests/HeaderRequests.js","components/Header.js","components/models/MassageContactForm.js","components/network/UserContactInfoNetwork.js","components/requests/HomeRequests.js","components/Home.js","components/AboutUs.js","components/ProducPartItem.js","components/YoutubeEmbed.js","components/network/ProductsNetwork.js","components/requests/ProductRequests.js","components/Product.js","components/requests/ContactUsRequests.js","components/ContactUs.js","components/ProductImg.js","components/requests/ProductListRequests.js","components/ProductList.js","components/CartItem.js","components/CartTotal.js","components/CartIsEmpty.js","components/network/UserShoppingNetwork.js","components/models/ItemQuoteOptions.js","components/models/OrderBody.js","components/models/RegistrAccount.js","components/models/Address.js","components/models/QuoteBody.js","components/repositories/UserShioppingRepositories.js","components/requests/CartRequestQuoteRequests.js","components/CartRequestQuote.js","components/AddressItem.js","components/AddressList.js","components/AddAdressItem.js","components/requests/CartCheckOutRequests.js","components/models/AddressView.js","components/models/ByDefaultAdderss.js","components/models/Account.js","components/models/Contact.js","components/repositories/UserContactInfoRepositories.js","components/network/UserAccountNetwork.js","components/network/UserAuthNetwork.js","components/requests/MyAccountRequests.js","components/CartCheckOut.js","components/requests/LoginRequests.js","components/models/PasswordModel.js","components/models/User.js","components/models/AccountBody.js","components/models/PasswordResetBody.js","components/repositories/UserAuthRepositories.js","components/Login.js","components/requests/RegisterRequests.js","components/Register.js","components/requests/LostPasswordRequests.js","components/LostPassword.js","components/requests/ResetPasswordRequests.js","components/ResetPassword.js","components/requests/ConfirmUserRequests.js","components/ConfirmUser.js","components/ThankYou.js","components/MyAccountUpdate.js","components/MyAccountUpdatePassword.js","components/MyAccount.js","components/PrivacyPolicy.js","components/AccountComfirmed.js","components/requests/BrochureRequests.js","components/Brochure.js","components/requests/CartRequestQuoteCompleteRequests.js","components/CartRequestQuoteComplete.js","components/404.js","components/BrochureByClient.js","components/ProductNoLonger.js","App.js","registerServiceWorker.js","index.js"],"names":["module","exports","Layout","this","props","children","Component","displayName","name","Footer","className","itemScope","itemType","href","itemProp","value","aria-label","x","y","viewBox","width","height","preserveAspectRatio","d","points","target","rel","cx","cy","r","alt","src","require","Date","getFullYear","HelperCookie","getCookie","nameEQ","ca","document","cookie","split","i","length","c","charAt","substring","indexOf","setCookie","hour","expires","date","setTime","getTime","toUTCString","setCookieDate","dateExpires","helperSession","getToken","nameToken","helperCookie","setToken","token","removeToken","getRequestAuthorizationOptions","headers","getLogined","logOut","cleanCart","JSON","stringify","getSessionTimeHours","helperCart","onlyUnique","index","self","addProductToCart","data","flag","listItemsCart","listProductCart","getCart","flagNewProduct","dataIdProductCurrent","idProduct","cartFoundProduct","push","flagNewOption","listOptions","dataItemList","cartFoundOption","cartItemList","typeId","valueId","calculeteTotal","removeProductFromCart","id","splice","changeQuantityInCart","quantity","total","price","toFixed","listProductCartJSON","parse","totalCart","divs_total","querySelectorAll","forEach","call","e","innerHTML","replace","Number","elementSubTotalCart","getElementById","elmsTaxAmaount","elementTotalCart","elmsTaxValue","totalAmount","currentTaxValue","amount","calculeteQuantityCart","redirectToEmptyCart","quantityCart","window","location","totalQuantity","elementCartCounts","style","display","findProductCart","HelperCommon","validateNumber","evt","keyCode","theEvent","event","key","which","String","fromCharCode","test","returnValue","preventDefault","hideSectionErrorMessage","element","displaySectionMessage","message","error","classList","add","remove","displayLoadingSection","hideLoadingSection","encodedString","string","btoa","dencodedString","atob","doInvalid","doValid","togglePasswordToText","togglePassword","querySelector","password","addEventListener","type","getAttribute","setAttribute","toggle","toggleRePasswordToText","BaseNetwork","baseFetch","dataBody","datalink","dataMetod","dataHaders","context","header","method","body","fetch","then","response","status","helperCommon","statusText","json","result","console","log","errors","catch","CommonNetwork","sendMessageEmail","dataJson","text","phone","baseNetwork","getHost","getMetaData","pathname","checkEmail","email","validateEmail","idEmail","isAvailable","feedback_email_contact","feedback_username_contact","PageNotFound","HeaderRequests","setState","title","metaDescription","description","canonical","keywords","arrayLink","lastWordUrl","url","getMetaDataByProductSyng","id_product","metaTitle","Header","onOpenMobileMenu","bind","onClickLogOut","state","countsProducts","logined","myArray","elms","meta","charset","NavLink","tag","Link","to","onClick","onClickMyAccount","onChange","pageProduct","MassageContactForm","countryId","countryName","stateId","stateName","UserContactInfoNetworkWork","getAddresses","getCountriesAndStates","listgetCountriesAndStates","createAddress","getContact","updateContact","HomeRequests","sendMessage","UserContactInfoNetwork","Home","handleSubmit","onChangeCoutryBilling","onChangeProvinceBilling","listStatesBilling","valitationsBefore","history","checkValidation","createMessage","validation","form","checkValidity","currentInput","massageContactForm","idCountryBilling","nameCountryBilling","idStateBilling","nameStateBilling","item","checValitationsBeforeActionOnClickButton","checked","arrSelected","map","option","checkMail","RegExp","selected","filter","currentCountryIdPossion","currentCountry","stateViews","currentStateIdPossion","currentState","onSubmit","noValidate","required","placeholder","ref","autoComplete","AboutUs","openProducts","scrollTo","ProducPartItem","urlImg","YoutubeEmbed","frameBorder","allow","allowFullScreen","ProductsNetwork","getListCatalogsData","getAllProducts","getListProductsData","idCatalog","GetProduct","GetRandomProducts","GetOptionsByProduct","GetOptionsByProductWhithPrices","getProductsForBrochure","GetMetaDataByProduct","ProductRequests","dataCart","nameProduct","specificationsBody","images","videos","specifications","medias","original","thumbnail","originalAlt","thumbnailAlt","imgUrl","components","testimonials","brochures","features","k","join","shippingLeadTime","idManualBrochures","nameManualBrochures","idOwnersBrochures","nameOwnersBrochures","customersAlsoViewProducts","singleOption","options","hideExtraElementsOptionList","arrOptions","sort","a","b","position","host","Product","categoryName","itemHotMobileIndex","itemHotMobileImgUrl","itemHotMobileDescription","photo","loading","onChangeOption","selectCatalogHotPoint","onAddToCart","viewProduct","redirectToBrochure","openPoint","mainOptionSelected","excludingOptionSelected","displayLabelViewCart","nameProductClean","reload","open","qty","idOption","idOptionValue","displayDependensOption","selectElement","arrayIndexs","isDisplay","indexType","indexTypeGroup","itemOptionValue","priceOptions","el","getComputedStyle","elementListOption","listSelectedOpt","elementOption","isTheMainOne","active","displaySetting","optionTypeId","isTheMainOneSelected","excludingSelected","isTheMainOneExist","excludingExist","parseInt","ListRowOptions","itemOptionType","typeName","valueName","optionType","selectorsAll","visibility","linkCategoryName","toLowerCase","settings","dots","infinite","speed","slidesToShow","slidesToScroll","charSet","role","onLoad","left","xCoordinate","top","yCoordinate","itemlistOptions","indexlistOptions","selectionLabel","tabIndex","onKeyDown","min","onChangeQuantity","dangerouslySetInnerHTML","__html","Table","hover","item_row","item_cell","items","contextTypes","router","PropTypes","object","ContactUsreRequests","ContactUs","ProductImg","ProductListRequests","products","openBrochure","listCatalogsTitle","nameGroup","itemTitleGroup","toUpperCase","selectCatalog","listProductsTitle","ProductList","active_group","idString","toString","selectorsAllDeact","itemCatalog","itemProduct","CartItem","alert","removeItem","elementTotal","sumTotalItem","defaultValue","CartTotal","listTaxes","componentDidMount","GetTaxesByClientGroup","debug","taxType","CartIsEmpty","UserShoppingNetworkNetwork","reguestCreateOrder","reguestCreateQuote","getHystoryOrders","getOptionsFromQuote","quoteId","customerId","ItemQuoteOptions","optionId","OrderBody","APIOrderOptions","billingAddressId","shippingAddressId","billingEmail","po","RegistrAccount","companyName","contactName","Address","city","street","street2","unit","postCode","QuoteBody","username","account","address","quoteOptions","UserShioppingRepositories","createOredrBody","itemOption","itemQuoteOptions","add_comment","currentBillingAddress","currentShippingAddress","order_email_address","order_no","quoteBody","createQuoteBody","contact_name","CartRequestQuoteRequests","UserShoppingNetwork","checkValidateEmail","allInputs","CartRequestQuote","openCheckOut","AddressItem","cityAndState","countryAndPost","onUseThisAddress","AddressList","listClientAddresses","customStyles","nameTypeAddress","numberTypeAddress","isOpen","showModalSelectAddresses","showModalSelectAddressesShipping","contentLabel","onRequestClose","handleCloseModalSelectAddresses","handleCloseModalSelectAddressesShipping","shouldCloseOnOverlayClick","ariaHideApp","handleOpenAddAddressBilling","handleOpenAddAddressShipping","AddAdressItem","listStates","showModalhandleOpenAddAddressBilling","showModalhandleOpenAddAddressShipping","handleCloseAddAddressBilling","handleCloseAddAddressShipping","handleSubmitAddAddress","handleChange","adress_street_address","adress_city","CountryId","adress_postal_code","CartCheckOutRequests","shipping","find","billing","listClientAddressesBilling","listClientAddressesShipping","AddressView","CountryName","StateName","Billing","Shipping","ByDefaultAdderss","Account","BusinessName","Contact","contactTypeId","ContactTypeId","UserContactInfoRepositories","createAddressBody","addressView","createByDefaultAdderssBody","model","createAccountBody","company_name","createContactBody","account_phone","UserAccountNetwork","createAccount","updateAccount","getClientAccount","positionBillingCountry","getPositionCoutry","positionBillingState","getPositionStateBilling","positionShippingCountry","positionShippingState","getPositionStateShipping","idCountryShipping","idStateShipping","accountEmail","accountPhone","apiOrders","dataOrders","billingStreet","billingCity","billingStateId","billingCountryId","billingPostCode","shippingStreet","shippingCity","shippingStateId","shippingCountryId","shippingPostCode","setBillingAddress","setShippingAddress","getClient","GetProductsByClientGroupForBrochure","id_client","UserAuthNetwork","login","confirmUser","URL","code","searchParams","get","userId","redirectToAccountComfirmed","resetPassord","changePassword","resetPasswordByLink","MyAccountRequests","expiration","idAddress","responseDataUser","businessName","userEmail","userPhone","userName","idPhone","phoneContactTypeId","responseDataOrders","orders","closeModalMyAccountUpdatePassword","closeModalMyAccountUpdate","CartCheckOut","onChangeCoutryShipping","onChangeProvinceShipping","listStatesShipping","handleOpenModalSelectAddressesShipping","handleOpenModalSelectAddressesBilling","cartCheckOutRequests","selectAddress","stopPropagation","userContactInfoRepositories","myAccountRequests","content","right","bottom","marginRight","transform","cols","rows","htmlFor","LoginRequests","rememberMe","encodeLogin","encodePass","PasswordModel","OldPassword","NewPassword","User","AccountBody","PasswordResetBody","UserAuthRepositories","createPasswordBody","old_password","passwordResetBody","createUser","addressBilling","billing_adress_city","billing_adress_street_address","billing_adress_postal_code","addressShipping","shipping_adress_city","shipping_adress_street_address","shipping_adress_postal_code","accountBody","createAccountBodyComplete","Login","onLostPassword","onRegister","RegisterRequests","reguestCreateAccount","Register","copyBillingAddress","confirmPassword","billingAdress","shippingAdress","onValidateEmail","confirm_password","onClickOpenLogin","LostPasswordRequests","encodeUsername","sentMessage","LostPassword","hideSectionSentEmail","ResetPasswordRequests","ResetPassword","ConfirmUserRequests","ConfirmUser","ThankYou","err","isMobile","navigator","userAgent","myAccountUpdate","showModalMyAccountUpdate","handleSubmitMyAccountUpdate","toggleType","toggleOldPasswordToText","toggleConfirmPasswordToText","myAccountUpdatePassword","showModalMyAccountUpdatePassword","handleCloseModalMyAccountUpdatePassword","handleSubmitUpdatePassword","MyAccount","viewOrder","showMoreOrders","searchTable","closeMoreOrders","handleOpenAddAddress","handleCloseAddAddress","handleOpenModalSelectAddresses","handleOpenModalMyAccountUpdate","handleOpenModalMyAccountUpdatePassword","userContactInfo","orderId","elementSeemore","userAuthRepositories","jsonAccount","jsonContact","tr","td","td1","td2","getElementsByTagName","showModalhandleOpenAddAddress","MyAccountUpdatePassword","MyAccountUpdate","creationDate","PrivacyPolicy","AccountComfirmed","BrochureRequests","idClient","getHostByClientGroupForBrochure","Brochure","countImages","print","product","handleImageLoaded","feature","optionGroups","optionGroup","CartRequestQuoteCompleteRequests","listItems","listProducts","itemOptions","optionGruopName","optionTypeName","productId","productName","CartRequestQuoteComplete","responseQuote","disabled","class","Page404","BrochureByClient","ProductNoLonger","App","TagManager","initialize","gtmId","dataLayer","exact","path","component","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","baseUrl","rootElement","ReactDOM","render","basename","includes","process","origin","ready","unregister","checkValidServiceWorker","registerServiceWorker"],"mappings":"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","file":"static/js/main.140cc123.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/jenkins-j-icon.91089d1b.webp\";","module.exports = __webpack_public_path__ + \"static/media/brochure-cover-graphic.338112ad.webp\";","module.exports = __webpack_public_path__ + \"static/media/brochure-jenkins-logo.63564fc8.webp\";","module.exports = __webpack_public_path__ + \"static/media/brochure-header-tire-tracks.b3e75949.webp\";","module.exports = __webpack_public_path__ + \"static/media/brochure-thunderstruck-logo.e994ab12.webp\";","module.exports = __webpack_public_path__ + \"static/media/brochure-footer-tire-tracks.12cfd82f.webp\";","module.exports = __webpack_public_path__ + \"static/media/layer-0-1-at-1x.69ad93f5.webp\";","module.exports = __webpack_public_path__ + \"static/media/path-293-at-1x.62c5a9ba.webp\";","module.exports = __webpack_public_path__ + \"static/media/path-294-at-1x.3021d40d.webp\";","module.exports = __webpack_public_path__ + \"static/media/path-295-at-1x.d1b72748.webp\";","module.exports = __webpack_public_path__ + \"static/media/cart.3ab4f5c5.webp\";","module.exports = __webpack_public_path__ + \"static/media/icon-heart.9111595a.webp\";","module.exports = __webpack_public_path__ + \"static/media/icon-hand.8d854104.webp\";","module.exports = __webpack_public_path__ + \"static/media/icon-gear.d24f9172.webp\";","import React, { Component } from 'react';\r\n\r\nexport class Layout extends Component {\r\n static displayName = Layout.name;\r\n render() {\r\n\r\n return (\r\n
\r\n \r\n {this.props.children}\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport './css/Home.css';\r\n\r\nconst twitter = 'https://twitter.com/JenkinsIron';\r\nconst youtube = 'https://www.youtube.com/channel/UCs16D1Lw49IuCRwJrJdQLvQ';\r\nconst instagram = 'https://www.instagram.com/jenkinsironandsteel/';\r\nconst facebook = 'https://www.facebook.com/JenkinsIronandSteel';\r\nconst thunderstruckag = 'https://thunderstruckag.com/';\r\n\r\nconst Footer = () => (\r\n\r\n \r\n\r\n);\r\n\r\nexport default Footer;\r\n","\r\n\r\nconst HelperCookie = {\r\n\r\n getCookie: function (name) {\r\n var nameEQ = name + \"=\";\r\n var ca = document.cookie.split(';');\r\n for (var i = 0; i < ca.length; i++) {\r\n var c = ca[i];\r\n while (c.charAt(0) === ' ') c = c.substring(1, c.length);\r\n if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length);\r\n }\r\n return null;\r\n },\r\n\r\n setCookie: function (name, value, hour) {\r\n var expires = \"\";\r\n if (hour) {\r\n var date = new Date();\r\n date.setTime(date.getTime() + (hour * 60 * 60 * 1000));\r\n expires = \"; expires=\" + date.toUTCString();\r\n }\r\n document.cookie = name + \"=\" + (value || \"\") + expires + \"; path=/\";\r\n }\r\n ,\r\n setCookieDate: function (name, value, dateExpires) {\r\n var expires = \"\";\r\n if (dateExpires) {\r\n var date = new Date(dateExpires);\r\n expires = \"; expires=\" + date.toUTCString();\r\n }\r\n document.cookie = name + \"=\" + (value || \"\") + expires + \"; path=/\";\r\n }\r\n ,\r\n}\r\n\r\nexport default HelperCookie;","import helperCookie from './HelperCookie';\r\n\r\nconst helperSession = {\r\n\r\n getToken: function (nameToken) {\r\n return helperCookie.getCookie(nameToken);\r\n },\r\n\r\n setToken: function (nameToken, token, date) {\r\n helperCookie.setCookieDate(nameToken, token, date);\r\n }\r\n ,\r\n removeToken: function (nameToken) {\r\n helperCookie.removeToken(nameToken);\r\n }\r\n ,\r\n getRequestAuthorizationOptions: function () {\r\n return {\r\n headers: { 'Authorization': 'Bearer ' + this.getToken('token') }\r\n };\r\n },\r\n\r\n getLogined: function () {\r\n return this.getToken(\"token\") ? true : false;\r\n },\r\n\r\n logOut: function () {\r\n helperCookie.setCookie(\"token\", '', 0);\r\n helperCookie.setCookie(\"login\", '', 0);\r\n helperCookie.setCookie(\"remember_me\", '', 0);\r\n helperCookie.setCookie(\"password\", '', 0);\r\n },\r\n\r\n cleanCart: function () {\r\n helperCookie.setCookie(\"cart\", JSON.stringify(''), 0);\r\n },\r\n\r\n getSessionTimeHours: function () {\r\n return 120;\r\n },\r\n}\r\n\r\nexport default helperSession;","import helperCookie from './HelperCookie';\r\nimport helperSession from './HelperSession';\r\n\r\nconst helperCart = {\r\n\r\n \r\n\r\n onlyUnique: function(value, index, self) {\r\n return self.indexOf(value) === index;\r\n },\r\n\r\n addProductToCart: function (data) {\r\n var flag = false;\r\n\r\n var listItemsCart = [];\r\n var listProductCart = this.getCart();\r\n var i = 0, y = 0, x = 0;\r\n\r\n if (listProductCart) {\r\n\r\n if (data) {\r\n if (listProductCart.length > 0) {\r\n\r\n var flagNewProduct = true;\r\n let dataIdProductCurrent = data.idProduct;\r\n var cartFoundProduct = \"\";\r\n\r\n for (y = 0; y < listProductCart.length; y++) {\r\n let cartIdProductCurrentCart = listProductCart[y].idProduct;\r\n\r\n if (dataIdProductCurrent === cartIdProductCurrentCart) {\r\n flagNewProduct = false;\r\n cartFoundProduct = listProductCart[y];\r\n flag = true;\r\n break;\r\n }\r\n }\r\n\r\n if (flagNewProduct) {\r\n listProductCart.push(data);\r\n helperCookie.setCookie('cart', JSON.stringify(listProductCart), helperSession.getSessionTimeHours());\r\n flag = true;\r\n } else {\r\n if (cartFoundProduct) {\r\n\r\n var flagNewOption = true;\r\n\r\n for (x = 0; x < data.listOptions.length; x++) {\r\n let dataItemList = data.listOptions[x];\r\n\r\n var cartFoundOption = \"\";\r\n for (i = 0; i < cartFoundProduct.listOptions.length; i++) {\r\n let cartItemList = cartFoundProduct.listOptions[i];\r\n\r\n if (dataItemList.typeId === cartItemList.typeId) {\r\n flagNewOption = false;\r\n cartFoundOption = cartItemList;\r\n flag = true;\r\n break;\r\n } else {\r\n\r\n }\r\n }\r\n\r\n if (flagNewOption) {\r\n cartFoundProduct.listOptions.push(dataItemList)\r\n } else {\r\n\r\n if (dataItemList.valueId !== cartFoundOption.valueId) {\r\n cartFoundProduct.listOptions = [];\r\n cartFoundProduct.listOptions.push(dataItemList)\r\n flagNewOption = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (flagNewOption) {\r\n helperCookie.setCookie('cart', JSON.stringify(listProductCart), helperSession.getSessionTimeHours());\r\n flag = true;\r\n }\r\n }\r\n\r\n } else {\r\n listItemsCart.push(data);\r\n helperCookie.setCookie('cart', JSON.stringify(listItemsCart), helperSession.getSessionTimeHours());\r\n flag = true;\r\n }\r\n }\r\n } else {\r\n listItemsCart.push(data);\r\n helperCookie.setCookie('cart', JSON.stringify(listItemsCart), helperSession.getSessionTimeHours());\r\n flag = true;\r\n }\r\n this.calculeteTotal();\r\n return flag;\r\n }\r\n ,\r\n\r\n removeProductFromCart: function (id) {\r\n if (id) {\r\n var flag = false;\r\n var listProductCart = this.getCart();\r\n var i;\r\n for (i = 0; i < listProductCart.length; i++) {\r\n var idProduct = listProductCart[i].idProduct;\r\n\r\n if (idProduct === id) {\r\n listProductCart.splice(i, 1);\r\n flag = true;\r\n }\r\n }\r\n\r\n if (flag) {\r\n helperCookie.setCookie('cart', JSON.stringify(listProductCart), helperSession.getSessionTimeHours());\r\n this.calculeteTotal();\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n return false;\r\n }\r\n ,\r\n\r\n changeQuantityInCart: function (id, quantity) {\r\n if (id && quantity) {\r\n var listProductCart = this.getCart();\r\n if (listProductCart) {\r\n var i;\r\n for (i = 0; i < listProductCart.length; i++) {\r\n var idProduct = listProductCart[i].idProduct;\r\n if (idProduct === id) {\r\n listProductCart[i].quantity = quantity;\r\n var total = listProductCart[i].price * listProductCart[i].quantity;\r\n listProductCart[i].total = total.toFixed(2);\r\n }\r\n }\r\n helperCookie.setCookie('cart', JSON.stringify(listProductCart), helperSession.getSessionTimeHours());\r\n this.calculeteTotal();\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n return false;\r\n }\r\n ,\r\n\r\n getCart: function () {\r\n var listProductCartJSON = helperCookie.getCookie('cart');\r\n return JSON.parse(listProductCartJSON);\r\n },\r\n\r\n calculeteTotal: function () {\r\n var totalCart = 0;\r\n var divs_total = document.querySelectorAll(\".total\");\r\n [].forEach.call(divs_total, function (e) {\r\n var total = e.innerHTML.replace(\"$\", \"\");\r\n totalCart = Number(totalCart) + Number(total);\r\n });\r\n\r\n var elementSubTotalCart = document.getElementById(\"subtotal_cart\");\r\n var elmsTaxAmaount = document.querySelectorAll(\"[id='tax_amount']\");\r\n var elementTotalCart = document.getElementById(\"total_cart\");\r\n var elmsTaxValue = document.querySelectorAll(\"[id='hide_tax_value']\");\r\n\r\n\r\n if (elementSubTotalCart && elmsTaxAmaount && elementTotalCart && elmsTaxValue) {\r\n var totalAmount = 0;\r\n elementSubTotalCart.innerHTML = \"$\" + Number(totalCart).toFixed(2);\r\n for (var i = 0; i < elmsTaxAmaount.length; i++) {\r\n var currentTaxValue = elmsTaxValue[i].innerHTML;\r\n var amount = totalCart / 100 * currentTaxValue;\r\n totalAmount = totalAmount + amount;\r\n elmsTaxAmaount[i].innerHTML = \"$\" + amount.toFixed(2);\r\n }\r\n totalAmount = totalAmount + totalCart;\r\n elementTotalCart.innerHTML = \"$\" + totalAmount.toFixed(2);\r\n }\r\n this.calculeteQuantityCart();\r\n\r\n },\r\n\r\n redirectToEmptyCart: function (quantityCart) {\r\n var listProductCart = this.getCart();\r\n if (listProductCart.length === 0) {\r\n window.location.replace(\"cart/request-quote/\");\r\n }\r\n },\r\n\r\n calculeteQuantityCart: function () {\r\n var listProductCart = this.getCart();\r\n var totalQuantity = 0;\r\n\r\n if (listProductCart) {\r\n var elementCartCounts = document.querySelectorAll(\"[id='idCartCounts']\");\r\n\r\n var i;\r\n for (i = 0; i < listProductCart.length; i++) {\r\n totalQuantity = Number(totalQuantity) + Number(listProductCart[i].quantity);\r\n }\r\n\r\n for (i = 0; i < elementCartCounts.length; i++) {\r\n elementCartCounts[i].innerHTML = totalQuantity === 0 ? \"\" : totalQuantity;\r\n if (totalQuantity) {\r\n elementCartCounts[i].style.display = \"block\";\r\n } else {\r\n elementCartCounts[i].style.display = \"none\";\r\n }\r\n\r\n }\r\n totalQuantity = listProductCart.length;\r\n }\r\n return totalQuantity;\r\n\r\n },\r\n\r\n findProductCart: function (id) {\r\n var listProductCart = this.getCart();\r\n var flag = false;\r\n if (listProductCart) {\r\n var i;\r\n for (i = 0; i < listProductCart.length; i++) {\r\n var idProduct = listProductCart[i].idProduct;\r\n if (idProduct === id) {\r\n flag = true;\r\n break;\r\n }\r\n }\r\n\r\n } else {\r\n flag = false;\r\n }\r\n return flag;\r\n },\r\n\r\n\r\n}\r\n\r\nexport default helperCart;","\r\n\r\nconst HelperCommon = {\r\n\r\n validateNumber(evt) {\r\n\r\n if (evt.keyCode !== 8) {\r\n var theEvent = evt || window.event;\r\n var key = theEvent.keyCode || theEvent.which;\r\n key = String.fromCharCode(key);\r\n var regex = /[0-9]|\\./;\r\n if (!regex.test(key)) {\r\n theEvent.returnValue = false;\r\n\r\n if (theEvent.preventDefault)\r\n theEvent.preventDefault();\r\n }\r\n }\r\n },\r\n\r\n hideSectionErrorMessage() {\r\n var element = document.getElementById(\"info-message\");\r\n if (element) {\r\n element.style.display = \"none\";\r\n }\r\n },\r\n\r\n displaySectionMessage(message, error) {\r\n var element = document.getElementById(\"info-message\");\r\n if (element) {\r\n element.style.display = \"block\";\r\n\r\n if (message) {\r\n if (error) {\r\n element.classList.add('error-message');\r\n element.classList.remove('info-message');\r\n } else {\r\n element.classList.add('info-message');\r\n element.classList.remove('error-message');\r\n }\r\n element.innerHTML = message;\r\n } else {\r\n element.classList.add('error-message');\r\n element.classList.remove('info-message');\r\n element.innerHTML = 'something is wrong!';\r\n }\r\n }\r\n },\r\n\r\n displayLoadingSection() {\r\n var element = document.getElementById(\"show-loading\");\r\n if (element) {\r\n element.style.display = \"block\";\r\n }\r\n },\r\n\r\n hideLoadingSection() {\r\n var element = document.getElementById(\"show-loading\");\r\n if (element) {\r\n element.style.display = \"none\";\r\n }\r\n }\r\n ,\r\n encodedString: function (string) {\r\n return btoa(string)\r\n },\r\n dencodedString: function (string) {\r\n return atob(string)\r\n },\r\n\r\n doInvalid(element) {\r\n if (element) {\r\n element.classList.add('invalid')\r\n }\r\n },\r\n doValid(element) {\r\n if (element) {\r\n element.classList.remove('invalid')\r\n }\r\n },\r\n\r\n togglePasswordToText(){\r\n const togglePassword = document.querySelector('#togglePassword');\r\n const password = document.querySelector('#password');\r\n\r\n if (togglePassword) {\r\n togglePassword.addEventListener('click', function (e) {\r\n // toggle the type attribute\r\n const type = password.getAttribute('type') === 'password' ? 'text' : 'password';\r\n password.setAttribute('type', type);\r\n // toggle the eye / eye slash icon\r\n this.classList.toggle('bi-eye');\r\n });\r\n }\r\n \r\n\r\n },\r\n toggleRePasswordToText() {\r\n const togglePassword = document.querySelector('#toggleRePassword');\r\n const password = document.querySelector('#confirm_password');\r\n\r\n if (togglePassword) {\r\n togglePassword.addEventListener('click', function (e) {\r\n // toggle the type attribute\r\n const type = password.getAttribute('type') === 'confirm_password' ? 'text' : 'confirm_password';\r\n password.setAttribute('type', type);\r\n // toggle the eye / eye slash icon\r\n this.classList.toggle('bi-eye');\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default HelperCommon;","\r\nimport helperCommon from '../HelperCommon';\r\n\r\nconst BaseNetwork = {\r\n\r\n baseFetch(dataBody, datalink, dataMetod, dataHaders, context) {\r\n\r\n var header = '';\r\n if (dataBody) {\r\n header = {\r\n method: dataMetod,\r\n headers: dataHaders,\r\n body: dataBody\r\n }\r\n } else {\r\n header = {\r\n method: dataMetod,\r\n headers: dataHaders\r\n }\r\n }\r\n\r\n return fetch(datalink, header)\r\n\r\n .then(function (response) {\r\n if (response.status !== 200) {\r\n helperCommon.displaySectionMessage(response.statusText, true);\r\n if (response.status === 401) {\r\n window.location.replace(\"/login\");\r\n }\r\n }\r\n return response.json();\r\n })\r\n .then(function (result) {\r\n if (result) {\r\n if (result.status === 'Success') {\r\n helperCommon.hideLoadingSection();\r\n } else if (result.status === 'Error') {\r\n console.log('Request failed (' + datalink + ')', result.message);\r\n helperCommon.displaySectionMessage(result.message, true);\r\n }\r\n else {\r\n console.log('Request failed (' + datalink + ')', JSON.stringify(result.errors));\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n\r\n } else {\r\n console.log('Request failed (' + datalink + ')', result);\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n helperCommon.hideLoadingSection();\r\n return result;\r\n\r\n })\r\n .catch(function (error) {\r\n console.log('Request failed (' + datalink + ')', JSON.stringify(error));\r\n helperCommon.displaySectionMessage('', true);\r\n helperCommon.hideLoadingSection();\r\n });\r\n \r\n },\r\n}\r\nexport default BaseNetwork;\r\n","import helperCommon from '../HelperCommon';\r\nimport baseNetwork from '../network/BaseNetwork';\r\n\r\nconst CommonNetwork = {\r\n\r\n async sendMessageEmail(dataJson, context, text, phone) {\r\n let dataHaders = {\r\n 'Content-Type': 'application/json'\r\n };\r\n\r\n let method = 'post';\r\n let datalink = `/ContactForms/Create`;\r\n let dataBody = dataJson;\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n return response;\r\n\r\n },\r\n\r\n async getHost(context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json'\r\n };\r\n\r\n let method = 'get';\r\n let datalink = `data/GetHost`;\r\n let dataBody = \"\";\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n return response;\r\n },\r\n\r\n async getMetaData(context, pathname) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Content-Lenght':'0'\r\n\r\n };\r\n\r\n let method = 'get';\r\n let datalink = `data/GetMetaData?name=${pathname}`;\r\n let dataBody = \"\";\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n return response;\r\n },\r\n\r\n checkEmail(email, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json'\r\n };\r\n\r\n let method = 'GET';\r\n let datalink = `data/ValidateEmail/?email=${email}`;\r\n let dataBody = \"\";\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n return response;\r\n },\r\n\r\n async validateEmail(email, idEmail) {\r\n await fetch(`data/ValidateEmail/?email=${email}`, {\r\n method: 'GET',\r\n\r\n })\r\n .then(function (response) {\r\n if (response.status !== 200) {\r\n helperCommon.displaySectionMessage(response.statusText, true);\r\n }\r\n return response.json();\r\n })\r\n .then(function (result) {\r\n\r\n if (result.status === 'Success') {\r\n if (!result.body.isAvailable) {\r\n var feedback_email_contact = document.getElementById(\"feedback_email_contact\");\r\n var feedback_username_contact = document.getElementById(\"feedback_username_contact\");\r\n if (idEmail === 'email') {\r\n feedback_email_contact.style.display = \"block\";\r\n feedback_email_contact.innerHTML = result.message;\r\n } else if (idEmail === 'username') {\r\n feedback_username_contact.style.display = \"block\";\r\n feedback_username_contact.innerHTML = result.message;\r\n }\r\n\r\n } else {\r\n if (idEmail === 'email') {\r\n feedback_email_contact.style.display = \"none\";\r\n } else if (idEmail === 'username') {\r\n feedback_username_contact.style.display = \"none\";\r\n }\r\n }\r\n\r\n } else if (result.status === 'Error') {\r\n console.log('Request failed', result.message);\r\n helperCommon.displaySectionMessage(result.message, true);\r\n }\r\n else {\r\n console.log('Request failed', JSON.stringify(result.errors));\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n\r\n })\r\n .catch(function (error) {\r\n console.log('Request failed', JSON.stringify(error));\r\n helperCommon.displaySectionMessage('', true);\r\n });\r\n },\r\n async PageNotFound(context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json'\r\n };\r\n\r\n let method = 'post';\r\n let datalink = `data/PageNotFound`;\r\n let dataBody = \"\";\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n return response;\r\n },\r\n\r\n \r\n}\r\n\r\nexport default CommonNetwork;","import CommonNetwork from '../network/CommonNetwork';\r\nimport helperCommon from '../HelperCommon';\r\n\r\nconst HeaderRequests = {\r\n async getMetaData(context, pathname) {\r\n try {\r\n let response = await CommonNetwork.getMetaData(context, pathname);\r\n if (response.body) {\r\n context.setState({\r\n title: response.body.title,\r\n metaDescription: response.body.description,\r\n canonical: response.body.canonical,\r\n keywords: response.body.keywords,\r\n });\r\n } else {\r\n helperCommon.hideSectionErrorMessage();\r\n let arrayLink = window.location.href.split(\"/\");\r\n if (arrayLink) {\r\n let lastWordUrl = arrayLink[arrayLink.length - 2];\r\n let url = window.location.href;\r\n context.setState({\r\n title: lastWordUrl,\r\n metaDescription: lastWordUrl,\r\n canonical: url,\r\n keywords: lastWordUrl,\r\n });\r\n } else {\r\n console.log('arrayLink failed');\r\n }\r\n }\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"getMetaData \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n getMetaDataByProductSyng(context, id_product) {\r\n\r\n return fetch(`data/GetMetaDataByProduct?productId=${id_product}`, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n }\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n if (data.body) {\r\n context.setState({\r\n title: data.body.metaTitle,\r\n metaDescription: data.body.metaDescription,\r\n canonical: data.body.canonical,\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default HeaderRequests;","import './css/Global.css';\r\nimport './css/Forms.css';\r\nimport './css/NavMenu.css';\r\nimport './css/Footer.css';\r\nimport React, { Component } from 'react';\r\nimport { NavLink } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport helperCart from './HelperCart';\r\nimport helperSession from './HelperSession';\r\nimport HeaderRequests from './requests/HeaderRequests';\r\nimport DocumentMeta from 'react-document-meta';\r\nimport TagManager from 'react-gtm-module';\r\n\r\nexport class Header extends Component {\r\n static displayName = Header.name;\r\n static pageProduct = false;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.onOpenMobileMenu = this.onOpenMobileMenu.bind(this);\r\n this.onClickLogOut = this.onClickLogOut.bind(this);\r\n\r\n this.state = {\r\n countsProducts: '', logined: false,\r\n title: \"Jenkins Iron & Steel Skid Steer Attachments\",\r\n metaDescription: \"At Jenkins Iron and Steel we manufacture durable, high quality, extremely affordable skid loader attachments.\",\r\n canonical: \"\",\r\n keywords: \"\"\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n var pathname = window.location.pathname;\r\n helperCart.calculeteQuantityCart();\r\n let logined = helperSession.getLogined();\r\n this.setState({\r\n logined: logined\r\n });\r\n\r\n if (!logined) {\r\n helperSession.logOut();\r\n }\r\n\r\n if (pathname.indexOf(\"/products/\") === -1) {\r\n HeaderRequests.getMetaData(this, pathname);\r\n } else {\r\n const myArray = pathname.split(\"/\");\r\n if (myArray) {\r\n const id_product = myArray[3];\r\n HeaderRequests.getMetaDataByProductSyng(this,id_product);\r\n }\r\n }\r\n }\r\n\r\n onClickLogOut() {\r\n helperSession.logOut();\r\n helperSession.cleanCart();\r\n }\r\n\r\n onOpenMobileMenu(event) {\r\n var elms = document.querySelectorAll(\"[id='mobileMenu']\");\r\n\r\n for (var i = 0; i < elms.length; i++) {\r\n if (elms[i].style.display === \"block\") {\r\n elms[i].style.display = \"none\";\r\n } else {\r\n elms[i].style.display = \"block\";\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const meta = {\r\n title: this.state.title,\r\n description: this.state.metaDescription,\r\n canonical: this.state.canonical,\r\n meta: {\r\n charset: 'utf-8',\r\n name: {\r\n keywords: this.state.keywords\r\n }\r\n }\r\n };\r\n\r\n /*TagManager.dataLayer({\r\n dataLayer: {\r\n event: 'pageview',\r\n pagePath: window.location.pathname,\r\n pageTitle: this.state.title,\r\n },\r\n });*/\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 \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\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\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n \r\n 1.855.732.3843\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
About
\r\n
\r\n \r\n
Products
\r\n
\r\n \r\n
Contact
\r\n
\r\n \r\n 1.855.732.3843\r\n \r\n
\r\n\r\n
\r\n \r\n
{!this.state.logined ? 'LOG IN' : 'LOG OUT'}
\r\n
\r\n \r\n
{!this.state.logined ? 'REGISTER' : 'MY ACCOUNT'}
\r\n
\r\n \r\n
\r\n \"jenkins\"\r\n
\r\n \r\n
\r\n 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\n","export class MassageContactForm {\r\n constructor(id, name, email, phone, description, countryId, countryName, stateId, stateName) {\r\n this.id = id;\r\n this.name = name;\r\n this.description = description;\r\n this.email = email;\r\n this.phone = phone;\r\n this.countryId = countryId;\r\n this.countryName = countryName;\r\n this.stateId = stateId;\r\n this.stateName = stateName;\r\n }\r\n}","import helperSession from '../HelperSession';\r\nimport helperCommon from '../HelperCommon';\r\nimport baseNetwork from '../network/BaseNetwork';\r\n\r\nconst UserContactInfoNetworkWork = {\r\n\r\n getAddresses(context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n };\r\n let method = 'post';\r\n let datalink = 'api/Authenticate/GetAddresses';\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n },\r\n\r\n async getCountriesAndStates(context) {\r\n\r\n const response = await fetch('data/GetCountriesAndStates');\r\n response\r\n .json()\r\n .then((response) => {\r\n if (response.status === 'Success') {\r\n context.setState({\r\n listgetCountriesAndStates: response.body\r\n });\r\n context.listgetCountriesAndStates = response.body;\r\n } else {\r\n console.log('Request (getCountriesAndStates) failed', response.message);\r\n helperCommon.displaySectionMessage('', true);\r\n helperCommon.hideLoadingSection();\r\n }\r\n })\r\n .catch((error) => {\r\n console.log('Request (getCountriesAndStates) failed', error);\r\n helperCommon.displaySectionMessage('', true);\r\n helperCommon.hideLoadingSection();\r\n });\r\n },\r\n\r\n createAddress(dataJson, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n };\r\n let method = 'post';\r\n let datalink = 'api/Authenticate/CreateAddress';\r\n let dataBody = dataJson;\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n\r\n },\r\n\r\n getContact(context) {\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n }\r\n let method = 'post';\r\n let datalink = 'api/Authenticate/GetContact';\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n\r\n },\r\n\r\n async updateContact(dataJson, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n };\r\n\r\n let method = 'post';\r\n let datalink = `/api/Authenticate/updateContact`;\r\n let dataBody = dataJson;\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n return response;\r\n\r\n },\r\n\r\n}\r\nexport default UserContactInfoNetworkWork;","import CommonNetwork from '../network/CommonNetwork';\r\nimport UserContactInfoNetwork from '../network/UserContactInfoNetwork';\r\n\r\nconst HomeRequests = {\r\n async sendMessageEmail(dataJson, context,) {\r\n try {\r\n let response = await CommonNetwork.sendMessageEmail(dataJson, context);\r\n if (response) {\r\n context.sendMessage('Thank you for reaching out to us. One of our sales representatives will be reaching out to you shortly. For an immediate response call us at ', '1.855.732.3843');\r\n } else {\r\n console.log(\"sendMessageEmail error\");\r\n }\r\n\r\n } catch (e) {\r\n console.log(\"sendMessageEmail \" + e.message);\r\n }\r\n\r\n },\r\n async getCountriesAndStates(context) {\r\n UserContactInfoNetwork.getCountriesAndStates(context);\r\n },\r\n}\r\n\r\nexport default HomeRequests;","import React, { Component } from 'react';\r\nimport './css/Home.css';\r\nimport Footer from './Footer';\r\nimport { Header } from './Header';\r\nimport helperCommon from './HelperCommon';\r\nimport { MassageContactForm } from './models/MassageContactForm';\r\nimport HomeRequests from './requests/HomeRequests';\r\n\r\nexport class Home extends Component {\r\n static displayName = Home.name;\r\n\r\n static idCountryBilling;\r\n static nameCountryBilling;\r\n static idStateBilling;\r\n static nameStateBilling;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n\r\n this.onChangeCoutryBilling = this.onChangeCoutryBilling.bind(this);\r\n this.onChangeProvinceBilling = this.onChangeProvinceBilling.bind(this);\r\n\r\n this.state = {\r\n listgetCountriesAndStates: [],\r\n listStatesBilling: [],\r\n valitationsBefore: true\r\n }\r\n }\r\n\r\n sendMessage(message, phone) {\r\n this.props.history.push({\r\n pathname: '/cart/thank-you',\r\n state: {\r\n message: message,\r\n phone: phone,\r\n }\r\n });\r\n }\r\n\r\n handleSubmit(e) {\r\n helperCommon.hideSectionErrorMessage();\r\n\r\n if (this.checkValidation(e)) {\r\n this.createMessage(this);\r\n } else {\r\n console.log(\"handleSubmit error:\");\r\n }\r\n e.preventDefault();\r\n }\r\n\r\n checkValidation(e) {\r\n var validation = true;\r\n var form = e.target;\r\n form.classList.add(\"was-validated\");\r\n if (form.checkValidity() === false) {\r\n validation = false;\r\n }\r\n e.preventDefault();\r\n return validation;\r\n }\r\n\r\n\r\n createMessage(currentInput) {\r\n try {\r\n let massageContactForm = new MassageContactForm(0,\r\n currentInput.name.value,\r\n currentInput.email.value,\r\n currentInput.phone.value,\r\n currentInput.message.value,\r\n this.idCountryBilling,\r\n this.nameCountryBilling,\r\n this.idStateBilling,\r\n this.nameStateBilling\r\n );\r\n\r\n let json = JSON.stringify(massageContactForm);\r\n HomeRequests.sendMessageEmail(json, this);\r\n } catch (e) {\r\n console.log(\"createUser \" + e.message);\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n HomeRequests.getCountriesAndStates(this);\r\n helperCommon.hideSectionErrorMessage();\r\n helperCommon.togglePasswordToText();\r\n helperCommon.toggleRePasswordToText();\r\n\r\n\r\n document.querySelectorAll(\"[required]\").forEach(item => {\r\n item.addEventListener('change', event => {\r\n this.checValitationsBeforeActionOnClickButton();\r\n })\r\n item.addEventListener('keyup', event => {\r\n this.checValitationsBeforeActionOnClickButton();\r\n })\r\n })\r\n }\r\n\r\n checValitationsBeforeActionOnClickButton() {\r\n let checked = document.querySelectorAll(\"[required]\");\r\n let arrSelected = [...checked].map(option => option.value);\r\n\r\n let regex = new RegExp('[a-z0-9]+@[a-z]+\\.[a-z]{2,3}');\r\n let checkMail = regex.test(arrSelected[2]);\r\n\r\n let selected = arrSelected.filter(e => e !== '');\r\n this.setState({\r\n valitationsBefore: selected.length === checked.length && checkMail ? false : true\r\n });\r\n }\r\n\r\n onChangeCoutryBilling(event) {\r\n var currentCountryIdPossion = document.getElementById(\"billing_adress_country\").value;\r\n if (currentCountryIdPossion) {\r\n let currentCountry = this.listgetCountriesAndStates[currentCountryIdPossion];\r\n this.nameCountryBilling = currentCountry.name;\r\n this.idCountryBilling = currentCountry.id;\r\n this.listStatesBilling = currentCountry.stateViews;\r\n this.setState({\r\n listStatesBilling: currentCountry.stateViews\r\n });\r\n }\r\n }\r\n onChangeProvinceBilling() {\r\n var currentStateIdPossion = document.getElementById(\"billing_adress_province\").value;\r\n if (currentStateIdPossion) {\r\n let currentState = this.listStatesBilling[currentStateIdPossion];\r\n this.nameStateBilling = currentState.name;\r\n this.idStateBilling = currentState.id;\r\n }\r\n }\r\n\r\n render() {\r\n const listgetCountriesAndStates = this.state.listgetCountriesAndStates;\r\n const listStatesBilling = this.state.listStatesBilling;\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n

American Made, Commercial Grade Skid Steer Attachments.

\r\n

Jenkins Iron & Steel is a family owned and operated skid steer attachment manufacturer. We build the most durable and affordable attachments while delivering professional, knowledgeable, and exceptional customer service that only a family-run manufacturer can provide.

\r\n
\r\n

We believe in our products and stand behind our work 100%.

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

Who We Are

\r\n

Jenkins Iron & Steel is a small family owned and operated manufacturer of a variety of implement attachments located in Long Prairie, MN. The Jenkins family founded the company with one goal in mind; to put out the highest quality, most durable attachments on the market with prices that everyone can afford. This goal is achieved by utilizing state-of-the-art manufacturing techniques, top quality American steel and exceptional quality control through the oversight of every attachment, not only in the design phase, but also in every aspect of production. Simply put, if it has the Jenkins name on it, you can count on it to work, day in and day out, through whatever you can throw at it.

\r\n
\r\n Learn More About Jenkins Iron & Steel\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Attachments

\r\n

We stand behind everything we build. If you do have an issue with anything on your attachment you can call our office and speak to a Jenkins who knows the attachments, puts their name on the attachments and takes care of the customers who buy their attachments.

\r\n

Our attachments are rigorously tested and abused prior to production so you know you are getting the best and most durable attachments possible! We guarantee that when you buy a Jenkins attachment you are not only getting the attachment, but also a level of service that only a family company, who cares deeply about their reputation, can provide!

\r\n
\r\n Browse Our Attachments\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n

Why Choose Us

\r\n
\r\n
\r\n \"jenkins\"\r\n
\r\n
\r\n

Our Passion

\r\n
\r\n

We strive to build the best attachments with USA made components. We build everything in house and to our stringent standards, to ensure you are getting the most quality attachment at the best possible price.

\r\n
\r\n
\r\n\r\n
\r\n \"jenkins\"\r\n
\r\n
\r\n

Our Values

\r\n
\r\n

When we say we are a family manufacturer we mean it. Our company was founded by Marty Jenkins, his wife Karen, and their three sons Kurt, Patrick and Eric. We all live within a few miles of each other and work side by side every day. We have grown our company with our family values and strive to produce the best American made attachments available. We take pride in everything that we build and you can rest assured you are getting the best possible attachment for your hard earned money.

\r\n
\r\n
\r\n\r\n
\r\n \"jenkins\"\r\n
\r\n
\r\n

Our Mission

\r\n
\r\n

Our mission is simple; to provide the highest quality, most durable attachments on the market for prices you can afford, all backed by a name you can depend on.

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

Get In Touch

\r\n
\r\n this.name = name} type=\"text\" autoComplete=\"none\"/>\r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n
\r\n this.phone = phone} autoComplete=\"none\"/>\r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n this.email = email} autoComplete=\"none\"/>\r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport './css/AboutUs.css';\r\nimport { Header } from './Header';\r\nimport Footer from './Footer';\r\n\r\nexport class AboutUs extends Component {\r\n static displayName = AboutUs.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.openProducts = this.openProducts.bind(this);\r\n }\r\n\r\n openProducts() {\r\n this.props.history.push({\r\n pathname: '/categories/all/',\r\n });\r\n window.scrollTo(0, 0)\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \"jenkins\r\n
\r\n
\r\n

About Us

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

What began as a hobby in the family shop has transformed into an extraordinary operation at Jenkins Iron & Steel. With 80+ skilled individuals, 14 robotic welders, 3 laser cutters, and an automated powder-coating booth, we now produce an astounding 125-150 attachments per day. Explore our wide range of 45+ attachment models, designed to cater to diverse project needs.

\r\n

Our family has always believed in hard work and building quality products that stand the test of time, regardless of the abuse they take. We’ve put these qualities into the business model for Jenkins Iron & Steel; everything we do, we do with passion and dedication to putting out the best skid steer attachments on the market.

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

Jenkins Iron & Steel is owned and operated by Marty & Karen Jenkins and their 3 sons, Kurt, Patrick and Eric. Kurt and Patrick went to college to pursue different careers; Patrick went for Engineering, and Kurt obtained a Masters in Clinical Social Work. When it was Eric’s turn, he headed to NDSU, but after 5 days he determined that school wasn’t for him, so he packed up and headed back home and started working with Marty in the shop on the family yard.

\r\n

Being from Minnesota, a number of people were in the market for Snow Bucket attachments for their skid steers. Eric figured he could do that, so he got to work welding hand-cut attachments. When word got out, Eric soon found himself busier than expected and a family friend came in to help him out.

\r\n

Patrick made the decision to head home and help Eric and Marty get the orders out. Using his engineering background, he was able to design new models of attachments including Grapples. Once again the designs were a hit and the orders started rolling in. Kurt ended up leaving his practice and came back to help run sales so the guys could focus on getting the orders out.

\r\n

Marty has been involved in quality control since the beginning and makes sure every design can stand up to any form of abuse you can throw at them. As a true testament to the quality of our attachments, Marty is still using the original Skeleton Grapple, and let’s just say he has put it through the wringer. To this day, you’ll find him working at least 14 hours a day in the shop making sure products are meeting the Jenkins Family standards.

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

What started as a 1 hand-painted bucket a day hobby in the family shop, turned into a 125-150 attachment a day operation that now employs 80+ people, has 14 robotic welders, 3 laser cutters running 24 hours a day and an automated powder-coating booth.

\r\n

We have over 45 different models of skid steer attachments to cover a wide range of project needs. We’re always improving our designs and our processes to put out the best products possible. We’re constantly thinking up new ways to serve our customers and invent new time-saving attachments to get the job done better and faster.

\r\n

Our goal has always been to provide stronger, better attachments and a level of customer service that just can’t be matched. We stand behind absolutely everything we build. When we say we’re a family owned business, it means if you have an issue with anything on your Jenkins attachment, you can call our office and speak to a Jenkins who knows the attachments, puts their name on the attachments and wants to take care of the customers that buy a Jenkins attachment.

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

The Jenkins family founded Jenkins Iron & Steel to produce the highest quality, most durable attachments on\r\n the market.

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

We stand behind absolutely everything we build and you can rest assured that if you do have an issue with anything on your attachment you can call our office and you will speak to a Jenkins who knows the attachments, puts their name on the attachments and takes care of the customers who buy their attachments. That is our promise to our customers. Our attachments are rigorously tested and abused prior to production so you know you are getting the best and most durable attachments possible! We thank you for taking the time to get to know who we are and we guarantee that when you buy a Jenkins attachment you are not only getting the attachment, but also the level of service that only family company who cares dearly about their reputation can provide!

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

See what we are famous for

\r\n
\r\n View Products\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","import React from \"react\";\r\nimport './css/CartRequestQuote.css';\r\n\r\nconst ProducPartItem = ({ description, urlImg, title }) => (\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \"jenkins\"\r\n
\r\n

{title}

\r\n

{description}

\r\n
\r\n
\r\n\r\n);\r\n\r\n\r\nexport default ProducPartItem;\r\n","import React from \"react\";\r\n\r\nconst YoutubeEmbed = ({ url }) => (\r\n
\r\n \r\n
\r\n);\r\n\r\nexport default YoutubeEmbed;\r\n","import helperSession from '../HelperSession';\r\nimport baseNetwork from '../network/BaseNetwork';\r\n\r\n\r\nconst ProductsNetwork = {\r\n\r\n async getListCatalogsData(context) {\r\n let dataHaders = {\r\n 'Content-Type': 'application/json'\r\n };\r\n let method = 'get';\r\n let datalink = `data/GetCategoriesTypeTitle`;\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n\r\n },\r\n\r\n async getAllProducts(context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json'\r\n };\r\n let method = 'get';\r\n let datalink = `data/GetAllProducts`;\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n },\r\n\r\n async getListProductsData(idCatalog, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json'\r\n };\r\n let method = 'get';\r\n let datalink = `data/GetProductsByCategory/${idCatalog}`;\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n\r\n },\r\n\r\n\r\n async GetProduct(id_product, context) {\r\n let dataHaders = {\r\n 'Content-Type': 'application/json'\r\n };\r\n let method = 'get';\r\n let datalink = `data/GetProduct/${id_product}`;\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n },\r\n\r\n async GetRandomProducts(context) {\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n };\r\n let method = 'get';\r\n let datalink = `data/GetRandomProducts/`;\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n },\r\n\r\n async GetOptionsByProduct(id_product, context) {\r\n let dataHaders = {\r\n 'Content-Type': 'application/json'\r\n };\r\n let method = 'get';\r\n let datalink = `data/GetOptionsByProduct?productId=${id_product}`;\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n },\r\n\r\n async GetOptionsByProductWhithPrices(id_product, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n };\r\n let method = 'get';\r\n let datalink = `data/GetOptionsByProductWithPrices?productId=${id_product}`;\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n },\r\n\r\n getProductsForBrochure(context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n };\r\n let method = 'post';\r\n let datalink = 'data/GetProductsForBrochure';\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n },\r\n\r\n \r\n async GetMetaDataByProduct(id_product, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n };\r\n let method = 'get';\r\n let datalink = `data/GetMetaDataByProduct?productId=${id_product}`;\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n },\r\n\r\n \r\n}\r\n\r\nexport default ProductsNetwork;","import ProductsNetwork from '../network/ProductsNetwork';\r\nimport CommonNetwork from '../network/CommonNetwork';\r\n\r\nconst ProductRequests = {\r\n\r\n async GetProduct(id_product, context) {\r\n try {\r\n let response = await ProductsNetwork.GetProduct(id_product, context);\r\n if (!response.body) {\r\n window.location.replace(\"/product-no-longer/\");\r\n return;\r\n }\r\n context.dataCart.nameProduct = response.body.name;\r\n\r\n var specificationsBody = [];\r\n var images = [];\r\n var videos = [];\r\n var metaDescription = \"\";\r\n var canonical = \"\";\r\n\r\n let specifications = JSON.parse(response.body.specifications);\r\n\r\n if (specifications) {\r\n for (let i = 0; i < specifications.length; i++) {\r\n specificationsBody.push(specifications[i]);\r\n }\r\n }\r\n\r\n if (response.body.medias) {\r\n for (let i = 0; i < response.body.medias.length; i++) {\r\n let item = response.body.medias[i];\r\n if (item.type === 0) {\r\n images.push({\r\n original: '/uploads/products/' + item.name,\r\n thumbnail: '/uploads/products/' + item.name,\r\n originalAlt: item.alt,\r\n thumbnailAlt: item.alt,\r\n });\r\n } else if (item.type === 1) {\r\n videos.push(item);\r\n }\r\n }\r\n }\r\n\r\n if (!response.body.canonical) {\r\n canonical = window.location.href;\r\n } else {\r\n canonical = response.body.canonical;\r\n }\r\n\r\n if (!response.body.metaDescription) {\r\n metaDescription = response.body.description;\r\n } else {\r\n metaDescription = response.body.metaDescription;\r\n }\r\n\r\n context.setState({\r\n nameProduct: response.body.name,\r\n description: response.body.description,\r\n imgUrl: response.body.imgUrl,\r\n components: response.body.components,\r\n medias: response.body.medias,\r\n specificationsBody: specificationsBody,\r\n images: images,\r\n videos: videos,\r\n testimonials: response.body.testimonials,\r\n brochures: response.body.brochures,\r\n features: response.body.features,\r\n metaDescription: metaDescription,\r\n canonical: canonical,\r\n title: \"\" + response.body.name + \" | Jenkins\",\r\n keywords: response.body.keywords.map(k => k.name).join(\",\"),\r\n shippingLeadTime: response.body.shippingLeadTime\r\n\r\n });\r\n\r\n for (var i = 0; i < response.body.brochures.length; i++) {\r\n var item = response.body.brochures[i];\r\n if (i === 0) {\r\n context.setState({\r\n idManualBrochures: item.id,\r\n nameManualBrochures: item.name\r\n });\r\n }\r\n if (i === 1) {\r\n context.setState({\r\n idOwnersBrochures: item.id,\r\n nameOwnersBrochures: item.name\r\n });\r\n }\r\n }\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"GetProduct \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async GetRandomProducts(context) {\r\n try {\r\n let response = await ProductsNetwork.GetRandomProducts(context);\r\n context.setState({\r\n customersAlsoViewProducts: response.body,\r\n });\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"GetRandomProducts \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async GetOptionsByProduct(id_product, context) {\r\n try {\r\n let response = await ProductsNetwork.GetOptionsByProduct(id_product, context);\r\n const listOptions = response.body;\r\n const total = 0;\r\n var singleOption = \"\";\r\n if (listOptions.length === 1 && listOptions[0].options.length === 1) {\r\n singleOption = listOptions;\r\n }\r\n context.setState({\r\n listOptions: listOptions,\r\n total: total.toFixed(2),\r\n singleOption: singleOption,\r\n valitationsBefore: singleOption ? false : true\r\n });\r\n context.hideExtraElementsOptionList(\"\");\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"GetOptionsByProduct \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n\r\n\r\n async GetOptionsByProductWhithPrices(id_product, context) {\r\n try {\r\n let response = await ProductsNetwork.GetOptionsByProductWhithPrices(id_product, context);\r\n const listOptions = response.body;\r\n const total = 0;\r\n var arrOptions = listOptions[0].options;\r\n var singleOption = \"\";\r\n\r\n if (listOptions.length === 1 && listOptions[0].options.length === 1) {\r\n singleOption = listOptions;\r\n }\r\n\r\n arrOptions.sort(function (a, b) {\r\n return (a.position === null) - (b.position === null) || +(a.position > b.position) || -(a.position < b.position);\r\n });\r\n\r\n context.setState({\r\n listOptions: listOptions,\r\n total: total.toFixed(2),\r\n singleOption: singleOption\r\n });\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"GetOptionsByProductWhithPrices \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n\r\n async getHost(context) {\r\n try {\r\n let response = await CommonNetwork.getHost(context);\r\n context.setState({\r\n host: response.body\r\n });\r\n this.GetProduct(context.id_product, context);\r\n this.GetRandomProducts(context);\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"getHost \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async GetMetaDataByProduct(id_product, context) {\r\n try {\r\n let response = await ProductsNetwork.GetMetaDataByProduct(id_product, context);\r\n if (response.body) {\r\n context.setState({\r\n title: response.body.title,\r\n metaDescription: response.body.metaDescription,\r\n canonical: response.body.canonical,\r\n });\r\n }\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"GetMetaDataByProduct \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n\r\n}\r\n\r\n\r\nexport default ProductRequests;","import React, { Component } from 'react';\r\nimport './css/Product.css';\r\nimport './css/ui/elements/YoutubeEmbed.css';\r\nimport helperCart from './HelperCart';\r\nimport Footer from './Footer';\r\nimport { Header } from './Header';\r\nimport ProducPartItem from './ProducPartItem';\r\nimport { Table } from \"reactstrap\";\r\nimport YoutubeEmbed from './YoutubeEmbed';\r\nimport helperCommon from './HelperCommon';\r\nimport helperSession from './HelperSession';\r\nimport ImageGallery from 'react-image-gallery';\r\nimport './css/image-gallery.css';\r\nimport PropTypes from \"prop-types\";\r\nimport Slider from \"react-slick\";\r\nimport ProductRequests from './requests/ProductRequests';\r\n\r\n\r\nexport class Product extends Component {\r\n static displayName = Product.name;\r\n static id_product;\r\n static dataCart;\r\n static mainOptionSelected;\r\n static excludingOptionSelected;\r\n static openPoint = false;\r\n\r\n static contextTypes = {\r\n router: PropTypes.object\r\n }\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n let categoryName = \"\";\r\n if (props.location.state) {\r\n categoryName = props.location.state.categoryName\r\n } else {\r\n categoryName = \"All\"\r\n }\r\n\r\n this.state = {\r\n nameProduct: \"\",\r\n specifications: [],\r\n listOptions: [],\r\n description: \"\",\r\n imgUrl: \"\",\r\n components: [],\r\n host: '',\r\n specificationsBody: [],\r\n customersAlsoViewProducts: [],\r\n logined: false,\r\n quantity: 1,\r\n images: [],\r\n videos: [],\r\n medias: [],\r\n testimonials: [],\r\n itemHotMobileIndex: -1,\r\n itemHotMobileImgUrl: \"\",\r\n itemHotMobileDescription: \"\",\r\n brochures: [],\r\n idManualBrochures: '',\r\n idOwnersBrochures: '',\r\n features: [],\r\n nameManualBrochures: '',\r\n nameOwnersBrochures: '',\r\n total: '0.00',\r\n photo: \"\",\r\n loading: false,\r\n categoryName: categoryName,\r\n valitationsBefore: true\r\n };\r\n\r\n\r\n let arrayLink = window.location.href.split(\"/\");\r\n if (arrayLink) {\r\n this.id_product = arrayLink[arrayLink.length - 2];\r\n } else {\r\n console.log('arrayLink failed (constructor)');\r\n }\r\n\r\n this.onChangeOption = this.onChangeOption.bind(this);\r\n this.selectCatalogHotPoint = this.selectCatalogHotPoint.bind(this);\r\n this.onAddToCart = this.onAddToCart.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.viewProduct = this.viewProduct.bind(this);\r\n this.redirectToBrochure = this.redirectToBrochure.bind(this);\r\n\r\n\r\n this.dataCart = { 'idProduct': -1, 'nameProduct': \"\", 'listOptions': [], 'quantity': 0, 'price': 0, 'total': 0 };\r\n this.dataCart.idProduct = this.id_product;\r\n this.openPoint = false;\r\n this.mainOptionSelected = false;\r\n this.excludingOptionSelected = false;\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.setState({\r\n logined: helperSession.getLogined()\r\n });\r\n\r\n if (helperSession.getLogined()) {\r\n ProductRequests.GetOptionsByProductWhithPrices(this.id_product, this);\r\n } else {\r\n ProductRequests.GetOptionsByProduct(this.id_product, this);\r\n }\r\n ProductRequests.getHost(this);\r\n this.displayLabelViewCart(this.id_product);\r\n }\r\n\r\n viewProduct(id, nameProduct) {\r\n let nameProductClean = nameProduct.replace(/\\s+/g, '-');\r\n this.props.history.push({\r\n pathname: '/products/' + nameProductClean + '/' + id + '/'\r\n });\r\n window.location.reload();\r\n window.scrollTo(0, 0)\r\n }\r\n\r\n redirectToBrochure(id) {\r\n if (id !== -1) {\r\n window.open(\"data/GetBrochure/\" + id + '/');\r\n }\r\n }\r\n\r\n checkValidation(e) {\r\n var validation = true;\r\n var form = e.target;\r\n form.classList.add(\"was-validated\");\r\n if (form.checkValidity() === false) {\r\n validation = false;\r\n }\r\n e.preventDefault();\r\n return validation;\r\n }\r\n\r\n handleSubmit(e) {\r\n helperCommon.hideSectionErrorMessage();\r\n\r\n if (this.checkValidation(e)) {\r\n this.onAddToCart(this);\r\n } else {\r\n console.log(\"handleSubmit error:\");\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n e.preventDefault();\r\n }\r\n\r\n onChangeQuantity(value) {\r\n this.setState({\r\n quantity: value\r\n });\r\n\r\n helperCart.changeQuantityInCart(this.id_product, value);\r\n this.onChangeOption(\"\", value);\r\n }\r\n\r\n onChangeOption(event, qty, idOption) {\r\n var quantity = 0;\r\n if (qty > 0) {\r\n quantity = qty;\r\n } else {\r\n quantity = this.state.quantity;\r\n }\r\n\r\n if (event !== \"\") {\r\n let stringIndexs = event.target.value;\r\n let arrayIndexs = stringIndexs.split(\",\");\r\n let idOptionValue = arrayIndexs[2];\r\n this.displayDependensOption(idOptionValue, idOption)\r\n }\r\n\r\n\r\n let selectElement = document.querySelectorAll(\".selected-option\");\r\n var i;\r\n var price = 0;\r\n var total = 0;\r\n this.setState({\r\n total: total.toFixed(2)\r\n });\r\n for (i = 0; i < selectElement.length; i++) {\r\n let element = selectElement[i];\r\n let stringIndexs = element.value;\r\n let arrayIndexs = stringIndexs.split(\",\");\r\n let display = this.isDisplay(element);\r\n\r\n if (arrayIndexs.length > 0 && arrayIndexs[0] && display) {\r\n let indexType = arrayIndexs[0];\r\n let indexTypeGroup = arrayIndexs[1];\r\n\r\n let itemOptionType = this.state.listOptions[indexType];\r\n let itemOptionValue = itemOptionType.options[indexTypeGroup];\r\n\r\n\r\n if (itemOptionValue.priceOptions && itemOptionValue.priceOptions.length > 0) {\r\n price = price + itemOptionValue.priceOptions[0].value;\r\n total = price * quantity;\r\n }\r\n this.setState({\r\n total: total.toFixed(2),\r\n price: price.toFixed(2),\r\n logined: helperSession.getLogined()\r\n });\r\n\r\n }\r\n }\r\n\r\n this.checValitationsBeforeActionOnClickButton();\r\n }\r\n\r\n checValitationsBeforeActionOnClickButton() {\r\n let checked = document.querySelectorAll('.selected-option :checked');\r\n let arrSelected = [...checked].map(option => option.value);\r\n\r\n let selected = arrSelected.filter(e => e !== '');\r\n this.setState({\r\n valitationsBefore: selected.length > 0 ? false : true\r\n });\r\n }\r\n\r\n isDisplay(el) {\r\n var style = window.getComputedStyle(el);\r\n return (style.display === 'block')\r\n }\r\n\r\n hideExtraElementsOptionList(idOptionValue) {\r\n const listOptions = this.state.listOptions;\r\n\r\n const dependent = \"Dependent\";\r\n const independent = \"Independent\";\r\n const addon = \"Add-on\";\r\n const excluding = \"Excluding\";\r\n const alwaysShow = \"Always-Show\";\r\n\r\n for (var i = 0; i < listOptions.length; i++) {\r\n let elementListOption = listOptions[i];\r\n\r\n let listSelectedOpt = elementListOption.options;\r\n\r\n for (var y = 0; y < listSelectedOpt.length; y++) {\r\n let elementOption = listSelectedOpt[y];\r\n\r\n if (elementListOption.isTheMainOne) {\r\n elementOption.active = true;\r\n\r\n } else {\r\n if (elementListOption.displaySetting.name === addon) {\r\n if (this.mainOptionSelected) {\r\n elementOption.active = true;\r\n } else {\r\n elementOption.active = false;\r\n }\r\n } else if (elementListOption.displaySetting.name === alwaysShow) {\r\n elementOption.active = true;\r\n } else if (elementListOption.displaySetting.name === independent) {\r\n if (elementListOption.isTheMainOne === false) {\r\n elementOption.active = true;\r\n }\r\n } else if (elementListOption.displaySetting.name === dependent) {\r\n if (idOptionValue !== elementOption.optionTypeId) {\r\n elementOption.active = false;\r\n } else {\r\n elementOption.active = true;\r\n }\r\n } else if (elementListOption.displaySetting.name === excluding) {\r\n if (this.mainOptionSelected === false) {\r\n elementOption.active = true;\r\n } else {\r\n elementOption.active = false;\r\n }\r\n elementOption.active = true;\r\n } else {\r\n elementOption.active = true;\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n this.setState({\r\n listOptions: listOptions\r\n });\r\n\r\n }\r\n\r\n displayDependensOption(idOptionValue, idOption) {\r\n const excluding = \"Excluding\";\r\n\r\n const listOptions = this.state.listOptions;\r\n\r\n const isTheMainOneSelected = listOptions.filter(e => e.isTheMainOne && e.id === idOption);\r\n const excludingSelected = listOptions.filter(e => e.displaySetting.name === excluding && e.id === idOption);\r\n\r\n const isTheMainOneExist = listOptions.filter(e => e.isTheMainOne);\r\n const excludingExist = listOptions.filter(e => e.displaySetting.name === excluding);\r\n\r\n if (isTheMainOneSelected.length > 0 && idOptionValue) {\r\n this.mainOptionSelected = true;\r\n if (excludingExist.length > 0) {\r\n\r\n for (var i = 0; i < excludingExist.length; i++) {\r\n document.getElementById('selectedOption_' + excludingExist[i].id).options[0].selected = 'selected';\r\n }\r\n\r\n }\r\n } else {\r\n this.mainOptionSelected = false;\r\n }\r\n\r\n if (excludingSelected.length > 0 && idOptionValue) {\r\n this.excludingOptionSelected = true;\r\n if (isTheMainOneExist.length > 0) {\r\n document.getElementById('selectedOption_' + isTheMainOneExist[0].id).options[0].selected = 'selected';\r\n }\r\n\r\n for (var y = 0; y < excludingExist.length; y++) {\r\n let element = excludingExist[y];\r\n if (element.id !== idOption) {\r\n document.getElementById('selectedOption_' + element.id).options[0].selected = 'selected';\r\n }\r\n\r\n }\r\n } else {\r\n this.excludingOptionSelected = false;\r\n }\r\n\r\n if (isTheMainOneSelected.length > 0 || excludingSelected.length > 0) {\r\n this.hideExtraElementsOptionList(parseInt(idOptionValue));\r\n }\r\n }\r\n\r\n onAddToCart() {\r\n let selectElement = document.querySelectorAll(\".selected-option\");\r\n var listOptions = [];\r\n var ListRowOptions = [];\r\n\r\n if (!this.state.singleOption) {\r\n var i;\r\n for (i = 0; i < selectElement.length; i++) {\r\n let element = selectElement[i]\r\n let stringIndexs = element.value;\r\n let arrayIndexs = stringIndexs.split(\",\");\r\n\r\n let display = this.isDisplay(element);\r\n\r\n if (arrayIndexs.length > 0 && arrayIndexs[0] && display) {\r\n let indexType = arrayIndexs[0];\r\n let indexTypeGroup = arrayIndexs[1];\r\n\r\n let itemOptionType = this.state.listOptions[indexType];\r\n let itemOptionValue = itemOptionType.options[indexTypeGroup];\r\n\r\n if (itemOptionValue.optionType) {\r\n ListRowOptions = { typeId: itemOptionType.id, typeName: itemOptionType.name, valueId: itemOptionValue.id, valueName: itemOptionValue.optionType.name };\r\n listOptions.push(ListRowOptions);\r\n this.dataCart.price = this.state.price;\r\n this.dataCart.total = this.state.total;\r\n }\r\n }\r\n }\r\n } else {\r\n\r\n let itemOptionType = this.state.singleOption[0];\r\n let itemOptionValue = this.state.singleOption[0].options[0];\r\n ListRowOptions = { typeId: itemOptionType.id, typeName: itemOptionType.name, valueId: itemOptionValue.id, valueName: itemOptionValue.optionType.name };\r\n\r\n listOptions.push(ListRowOptions);\r\n this.dataCart.price = this.state.price;\r\n this.dataCart.total = this.state.total;\r\n }\r\n\r\n\r\n if (document.getElementById('quantity')) {\r\n this.dataCart.quantity = document.getElementById('quantity').value;\r\n }\r\n\r\n if (this.dataCart.idProduct !== -1 && this.dataCart.quantity > 0 && listOptions.length > 0) {\r\n this.dataCart.listOptions = listOptions;\r\n if (helperCart.addProductToCart(this.dataCart)) {\r\n this.displayLabelViewCart(this.id_product);\r\n } else {\r\n console.log(\"onAddToCart error:\");\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n } else {\r\n console.log(\"onAddToCart error:\");\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n }\r\n\r\n\r\n displayLabelViewCart(id) {\r\n if (helperCart.findProductCart(id)) {\r\n let element = document.querySelector(\".form-submit-note\");\r\n if (element) {\r\n element.style.display = \"block\";\r\n }\r\n }\r\n }\r\n\r\n selectCatalogHotPoint(id) {\r\n this.openPoint = !this.openPoint;\r\n\r\n let selectorsAll = document.querySelectorAll(\".product-part-item\");\r\n var i;\r\n for (i = 0; i < selectorsAll.length; i++) {\r\n\r\n var element = selectorsAll[i];\r\n var idElement = parseInt(element.id);\r\n\r\n if (idElement === id && this.openPoint) {\r\n element.style.display = \"block\";\r\n } else {\r\n element.style.display = \"none\";\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n\r\n const nameProduct = this.state.nameProduct;\r\n const listOptions = this.state.listOptions;\r\n const description = this.state.description;\r\n const imgUrl = this.state.imgUrl;\r\n const components = this.state.components;\r\n const specificationsBody = this.state.specificationsBody;\r\n const customersAlsoViewProducts = this.state.customersAlsoViewProducts;\r\n const images = this.state.images;\r\n const medias = this.state.medias;\r\n const videos = this.state.videos;\r\n const shippingLeadTime = this.state.shippingLeadTime;\r\n\r\n const style = this.state.loading ? {} : { visibility: 'hidden' }\r\n const { loading } = this.state;\r\n\r\n var linkCategoryName = this.state.categoryName.toLowerCase();\r\n\r\n const settings = {\r\n dots: true,\r\n infinite: true,\r\n speed: 500,\r\n slidesToShow: 1,\r\n slidesToScroll: 1\r\n };\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
\r\n \"jenkins\r\n
\r\n
\r\n \r\n

{nameProduct}

\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n {!loading &&
\r\n Loading...\r\n
}\r\n {nameProduct}\r\n this.setState({ loading: true })}\r\n style={style} />\r\n
\r\n\r\n {components.map((item, index) => {\r\n return
this.selectCatalogHotPoint(index)} >\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n })}\r\n
\r\n
\r\n\r\n
\r\n\r\n {this.state.logined === true ?\r\n

{\"$\" + this.state.total}

\r\n : \"\"}\r\n\r\n {!this.state.singleOption &&\r\n
\r\n {listOptions.map((itemlistOptions, indexlistOptions) => {\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 this.onChangeQuantity(e.target.value)} />\r\n
\r\n
\r\n \r\n
\r\n

Estimated Lead Time {shippingLeadTime} Weeks

\r\n
\r\n

Your item has been added to the cart!  \r\n View 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\n {this.state.features.length > 0 || this.state.specificationsBody.length > 0 ?\r\n
\r\n
\r\n {this.state.features.length > 0 &&\r\n
\r\n

Features

\r\n
    \r\n {this.state.features.map((item, index) => {\r\n return
  • \r\n })}\r\n
\r\n
\r\n }\r\n\r\n\r\n {this.state.specificationsBody.length > 0 &&\r\n
\r\n

Specifications

\r\n\r\n \r\n \r\n {specificationsBody.map((item_row, index) => (\r\n \r\n {item_row.map((item_cell, index) => (\r\n index > 0 ?\r\n item_row[0] ?\r\n \r\n : \r\n : null\r\n ))}\r\n \r\n ))}\r\n \r\n
{item_cell}{item_cell}
\r\n
\r\n }\r\n\r\n {this.state.idOwnersBrochures || this.state.idManualBrochures ?\r\n
\r\n
\r\n {this.state.idOwnersBrochures ?\r\n
{ this.redirectToBrochure(this.state.idOwnersBrochures) }} className=\"button\" >{this.state.nameOwnersBrochures}
\r\n : null}\r\n {this.state.idManualBrochures ?\r\n
{ this.redirectToBrochure(this.state.idManualBrochures) }} className=\"button\" >{this.state.nameManualBrochures}
\r\n : null}\r\n
\r\n
\r\n : null}\r\n
\r\n
\r\n : null}\r\n\r\n\r\n {this.state.testimonials.length > 0 &&\r\n
\r\n
\r\n

What our customers say

\r\n \r\n\r\n {this.state.testimonials &&\r\n this.state.testimonials.map((item, index) => (\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {item.name}
\r\n {item.location}\r\n

\r\n
\r\n
\r\n
\r\n ))\r\n }\r\n\r\n \r\n
\r\n
\r\n }\r\n\r\n {medias.length > 0 &&\r\n
\r\n
\r\n

Media

\r\n {images.length > 0 &&\r\n
\r\n \r\n
\r\n }\r\n\r\n {videos.length > 0 &&\r\n
\r\n {videos.map((item, index) => {\r\n return
\r\n \r\n
\r\n })}\r\n
\r\n }\r\n
\r\n
\r\n }\r\n\r\n {this.viewProduct.length > 0 &&\r\n
\r\n
\r\n

Customer also viewed

\r\n\r\n
\r\n {customersAlsoViewProducts.map((item, index) => (\r\n
this.viewProduct(item['id'], item.name)} className=\"product-preview\">\r\n {item.name}\r\n

{item.name}

\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n }\r\n\r\n\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n}\r\n","import CommonNetwork from '../network/CommonNetwork';\r\nimport UserContactInfoNetwork from '../network/UserContactInfoNetwork';\r\n\r\nconst ContactUsreRequests = {\r\n async sendMessageEmail(dataJson, context,) {\r\n try {\r\n let response = await CommonNetwork.sendMessageEmail(dataJson, context);\r\n if (response) {\r\n context.sendMessage('Thank you for reaching out to us. One of our sales representatives will be reaching out to you shortly. For an immediate response call us at ', '1.855.732.3843');\r\n } else {\r\n console.log(\"sendMessageEmail error\" );\r\n }\r\n \r\n } catch (e) {\r\n console.log(\"sendMessageEmail \" + e.message);\r\n }\r\n\r\n },\r\n\r\n async getCountriesAndStates(context) {\r\n UserContactInfoNetwork.getCountriesAndStates(context);\r\n },\r\n}\r\nexport default ContactUsreRequests;","import React, { Component } from 'react';\r\nimport './css/ContactUs.css';\r\nimport { Header } from './Header';\r\nimport Footer from './Footer';\r\nimport helperCommon from './HelperCommon';\r\nimport { MassageContactForm } from './models/MassageContactForm';\r\n\r\nimport ContactUsreRequests from './requests/ContactUsRequests';\r\n\r\n\r\nexport class ContactUs extends Component {\r\n static displayName = ContactUs.name;\r\n\r\n static idCountryBilling;\r\n static nameCountryBilling;\r\n static idStateBilling;\r\n static nameStateBilling;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n\r\n this.onChangeCoutryBilling = this.onChangeCoutryBilling.bind(this);\r\n this.onChangeProvinceBilling = this.onChangeProvinceBilling.bind(this);\r\n\r\n this.state = {\r\n listgetCountriesAndStates: [],\r\n listStatesBilling: [],\r\n valitationsBefore: true\r\n }\r\n }\r\n\r\n sendMessage(message, phone) {\r\n this.props.history.push({\r\n pathname: '/cart/thank-you',\r\n state: {\r\n message: message,\r\n phone: phone,\r\n }\r\n });\r\n }\r\n\r\n\r\n handleSubmit(e) {\r\n helperCommon.hideSectionErrorMessage();\r\n\r\n if (this.checkValidation(e)) {\r\n this.createMessage(this);\r\n } else {\r\n console.log(\"handleSubmit error:\");\r\n }\r\n e.preventDefault();\r\n }\r\n\r\n checkValidation(e) {\r\n var validation = true;\r\n var form = e.target;\r\n form.classList.add(\"was-validated\");\r\n if (form.checkValidity() === false) {\r\n validation = false;\r\n }\r\n e.preventDefault();\r\n return validation;\r\n }\r\n\r\n componentDidMount() {\r\n ContactUsreRequests.getCountriesAndStates(this);\r\n helperCommon.hideSectionErrorMessage();\r\n helperCommon.togglePasswordToText();\r\n helperCommon.toggleRePasswordToText();\r\n\r\n document.querySelectorAll(\"[required]\").forEach(item => {\r\n item.addEventListener('change', event => {\r\n this.checValitationsBeforeActionOnClickButton();\r\n })\r\n item.addEventListener('keyup', event => {\r\n this.checValitationsBeforeActionOnClickButton();\r\n })\r\n })\r\n }\r\n\r\n\r\n checValitationsBeforeActionOnClickButton() {\r\n let checked = document.querySelectorAll(\"[required]\");\r\n let arrSelected = [...checked].map(option => option.value);\r\n\r\n let regex = new RegExp('[a-z0-9]+@[a-z]+\\.[a-z]{2,3}');\r\n let checkMail = regex.test(arrSelected[2]);\r\n\r\n let selected = arrSelected.filter(e => e !== '');\r\n this.setState({\r\n valitationsBefore: selected.length === checked.length && checkMail ? false : true\r\n });\r\n }\r\n\r\n createMessage(currentInput) {\r\n try {\r\n let massageContactForm = new MassageContactForm(0,\r\n currentInput.name.value,\r\n currentInput.email.value,\r\n currentInput.phone.value,\r\n currentInput.message.value,\r\n this.idCountryBilling,\r\n this.nameCountryBilling,\r\n this.idStateBilling,\r\n this.nameStateBilling\r\n );\r\n\r\n let json = JSON.stringify(massageContactForm);\r\n ContactUsreRequests.sendMessageEmail(json, this);\r\n } catch (e) {\r\n console.log(\"createUser \" + e.message);\r\n }\r\n }\r\n\r\n\r\n onChangeCoutryBilling(event) {\r\n var currentCountryIdPossion = document.getElementById(\"billing_adress_country\").value;\r\n if (currentCountryIdPossion) {\r\n let currentCountry = this.listgetCountriesAndStates[currentCountryIdPossion];\r\n this.idCountryBilling = currentCountry.id;\r\n this.nameCountryBilling = currentCountry.name;\r\n this.listStatesBilling = currentCountry.stateViews;\r\n this.setState({\r\n listStatesBilling: currentCountry.stateViews\r\n });\r\n }\r\n }\r\n onChangeProvinceBilling() {\r\n var currentStateIdPossion = document.getElementById(\"billing_adress_province\").value;\r\n if (currentStateIdPossion) {\r\n let currentState = this.listStatesBilling[currentStateIdPossion];\r\n this.idStateBilling = currentState.id;\r\n this.nameStateBilling = currentState.name;\r\n }\r\n }\r\n\r\n\r\n render() {\r\n const listgetCountriesAndStates = this.state.listgetCountriesAndStates;\r\n const listStatesBilling = this.state.listStatesBilling;\r\n\r\n return (\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Get in Touch

\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Office/Mailing Address
\r\n 23023 US 71
Long Prairie, MN 56347
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n Manufacturing Plant
\r\n inbound and outbound trucking
\r\n 22401 County 36
Long Prairie, MN 56347
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n 1.855.732.3843\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Monday–Friday
\r\n 8am–5pm\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n this.name = name} type=\"text\" autoComplete=\"none\"/>\r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n
\r\n this.phone = phone} autoComplete=\"none\"/>\r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n this.email = email} autoComplete=\"none\"/>\r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n}","import React from 'react';\r\nimport { LazyLoadImage } from 'react-lazy-load-image-component';\r\n\r\nconst ProductImg = ({ url, alt }) => (\r\n
\r\n attributes as props\r\n />\r\n
\r\n);\r\n\r\nexport default ProductImg;","import CommonNetwork from '../network/CommonNetwork';\r\nimport ProductsNetwork from '../network/ProductsNetwork';\r\n\r\n\r\nconst ProductListRequests = {\r\n async getProductsForBrochure(context) {\r\n try {\r\n let response = await ProductsNetwork.getProductsForBrochure(context);\r\n\r\n context.setState({\r\n products: response.body,\r\n }, () => {\r\n context.openBrochure()\r\n })\r\n\r\n } catch (e) {\r\n console.log(\"getProductsForBrochure \" + e.message);\r\n }\r\n },\r\n\r\n async getHost(context) {\r\n try {\r\n let response = await CommonNetwork.getHost(context);\r\n context.setState({\r\n host: response.body\r\n });\r\n this.getListCatalogsData(context);\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"getHost \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async getListCatalogsData(context) {\r\n\r\n try {\r\n let response = await ProductsNetwork.getListCatalogsData(context);\r\n\r\n const listCatalogsTitle = response.body;\r\n context.setState({\r\n listCatalogsTitle: listCatalogsTitle\r\n });\r\n\r\n let arrayLink = window.location.href.split(\"/\");\r\n if (arrayLink) {\r\n let nameGroup = arrayLink[arrayLink.length - 2];\r\n\r\n let itemTitleGroup = listCatalogsTitle.filter(e => e.name === nameGroup.toUpperCase())\r\n\r\n if (itemTitleGroup.length) {\r\n context.selectCatalog(itemTitleGroup[0].id, itemTitleGroup[0].name)\r\n } else {\r\n context.selectCatalog('-1', 'All')\r\n }\r\n } else {\r\n console.log('getListCatalogsData');\r\n }\r\n return true;\r\n } catch (e) {\r\n console.log(\"getListCatalogsData \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async getAllProducts(context) {\r\n\r\n try {\r\n let response = await ProductsNetwork.getAllProducts(context);\r\n\r\n const listProductsTitle = response.body;\r\n context.setState({\r\n listProductsTitle: listProductsTitle\r\n });\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"getHost \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async getListProductsData(idCatalog, context) {\r\n try {\r\n let response = await ProductsNetwork.getListProductsData(idCatalog, context);\r\n\r\n const listProductsTitle = response.body;\r\n context.setState({\r\n listProductsTitle: listProductsTitle\r\n });\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"getHost \" + e.message);\r\n }\r\n return false;\r\n }\r\n}\r\n\r\nexport default ProductListRequests;","import React, { Component } from 'react';\r\nimport './css/ProductList.css';\r\nimport Footer from './Footer';\r\nimport { Header } from './Header';\r\nimport ProductImg from './ProductImg';\r\nimport ProductListRequests from './requests/ProductListRequests';\r\nimport helperSession from './HelperSession';\r\nimport HeaderRequests from './requests/HeaderRequests';\r\nimport DocumentMeta from 'react-document-meta';\r\n\r\n\r\nexport class ProductList extends Component {\r\n static displayName = ProductList.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n document.title = \"Products\";\r\n this.state = { listCatalogsTitle: [], listProductsTitle: [], active_group: 'deactivate_group', nameGroup: 'All', host: '' };\r\n this.viewProduct = this.viewProduct.bind(this);\r\n this.selectCatalog = this.selectCatalog.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n ProductListRequests.getHost(this);\r\n let logined = helperSession.getLogined();\r\n this.setState({\r\n logined: logined\r\n });\r\n }\r\n\r\n viewProduct(id, nameProduct, categoryName) {\r\n let nameProductClean = nameProduct.replace(/\\s+/g, '-');\r\n this.props.history.push({\r\n pathname: '/products/' + nameProductClean + '/' + id + '/',\r\n state: {\r\n categoryName: categoryName,\r\n }\r\n });\r\n window.scrollTo(0, 0)\r\n }\r\n\r\n selectCatalog(id, nameGroup) {\r\n var selectorsAll = document.querySelectorAll(\".active-underline-group\");\r\n var i;\r\n let idString = id.toString();\r\n for (i = 0; i < selectorsAll.length; i++) {\r\n selectorsAll[i].className = \"deactivate_group\";\r\n }\r\n var selectorsAllDeact = document.querySelectorAll(\".deactivate_group\");\r\n\r\n for (i = 0; i < selectorsAllDeact.length; i++) {\r\n var idElement = selectorsAllDeact[i].id;\r\n if (idElement === idString) {\r\n selectorsAllDeact[i].className = \"active-underline-group\";\r\n }\r\n }\r\n this.setState({\r\n nameGroup: nameGroup\r\n });\r\n if (idString === \"-1\") {\r\n ProductListRequests.getAllProducts(this);\r\n } else {\r\n ProductListRequests.getListProductsData(idString, this);\r\n }\r\n\r\n let nameGroupClean = nameGroup.replace(' ', '-').toLowerCase()\r\n let pathname = '/categories/' + nameGroupClean + '/';\r\n\r\n this.props.history.push({\r\n pathname: pathname\r\n });\r\n\r\n HeaderRequests.getMetaData(this, pathname);\r\n \r\n }\r\n\r\n render() {\r\n const listCatalogsTitle = this.state.listCatalogsTitle;\r\n const listProductsTitle = this.state.listProductsTitle;\r\n const nameGroup = this.state.nameGroup;\r\n\r\n const meta = {\r\n title: this.state.title,\r\n description: this.state.metaDescription,\r\n canonical: this.state.canonical,\r\n meta: {\r\n charset: 'utf-8',\r\n name: {\r\n keywords: this.state.keywords\r\n }\r\n }\r\n };\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

Attachments

\r\n

At Jenkins Iron & Steel, we make commercial-grade, heavy-duty attachments to get any job done better and faster. We proudly put our name on everything we build and stand behind our workmanship. Everything we produce is put through gruelling tests before ever making it into production. Being from Minnesota, we understand how important it is to have your equipment work through extreme weather conditions and we build some of the toughest equipment you’ll find on the market.

\r\n

All Jenkins hydraulic attachments come with hoses, cylinders and flat face couplers so you can get hooked up and start working right away.

\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n { this.selectCatalog('-1', 'All') }} > All\r\n
\r\n\r\n {listCatalogsTitle.map((itemCatalog, index) => (\r\n
\r\n { this.selectCatalog(itemCatalog['id'], itemCatalog['name']) }}>{itemCatalog['name']}\r\n
\r\n ))}\r\n
\r\n
\r\n\r\n
\r\n
\r\n \"jenkins\r\n
\r\n
\r\n \r\n

{nameGroup}

\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n {listProductsTitle.map((itemProduct, index) => (\r\n\r\n
this.viewProduct(itemProduct['id'], itemProduct.name, itemProduct.categoryName == null ? \"ALL\": itemProduct.categoryName )} className=\"product-preview\" >\r\n
\r\n \r\n

{itemProduct.name}

\r\n
\r\n\r\n ))}\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n

Most Jenkins Iron attachments can be modified to fit a variety of tractor loaders with varying mounting styles such as John Deere, Westendorf or any global/euro model. Please call with your tractor loader model for price and availability.

\r\n\r\n
\r\n View our Product Catalog\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","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport './css/CartRequestQuote.css';\r\nimport helperCart from './HelperCart';\r\nimport helperCommon from './HelperCommon';\r\n\r\nconst CartItem = ({ idProduct, nameProduct, listOptions, quantity, price, total }) => (\r\n
\r\n
removeItem(event, idProduct)} className='close-button remove-cart-item'>\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n

{nameProduct}

\r\n\r\n {listOptions.length > 0 &&\r\n listOptions.map((item, index) => (\r\n\r\n
\r\n {item.typeName}\r\n {item.valueName}\r\n
\r\n\r\n ))\r\n }\r\n
\r\n\r\n
\r\n
\r\n Quantity\r\n \r\n onChangeQuantity(event, idProduct, price)} placeholder=\"Quantity\" type=\"number\" name=\"Quantity\" defaultValue={quantity} />\r\n \r\n
\r\n
\r\n Price each\r\n {price}\r\n
\r\n
\r\n Total\r\n {total}\r\n
\r\n
\r\n
\r\n
\r\n);\r\n\r\n\r\nCartItem.propTypes = {\r\n nameProduct: PropTypes.string.isRequired,\r\n quantity: PropTypes.string.isRequired,\r\n price: PropTypes.string.isRequired,\r\n};\r\n\r\n\r\nfunction onChangeQuantity(event, idProduct, price) {\r\n\r\n if (idProduct) {\r\n var quantity = event.target.value;\r\n if (price) {\r\n var elementTotal = document.getElementById(\"total_\" + idProduct);\r\n price = price.replace(\"$\", \"\");\r\n var sumTotalItem = quantity * price;\r\n elementTotal.innerHTML = \"$\" + (sumTotalItem).toFixed(2);\r\n\r\n helperCart.changeQuantityInCart(idProduct, quantity);\r\n } else {\r\n helperCart.changeQuantityInCart(idProduct, quantity);\r\n }\r\n } else {\r\n\r\n console.log('Something is wrong! (onChangeQuantity)');\r\n }\r\n}\r\n\r\n\r\nfunction removeItem(event, idProduct) {\r\n if (helperCart.removeProductFromCart(idProduct)) {\r\n var elementProduct = document.getElementById(\"idProduct_\" + idProduct);\r\n elementProduct.style.display = \"none\";\r\n var elementTotal = document.getElementById(\"total_\" + idProduct);\r\n elementTotal.classList.remove(\"total\");\r\n } else {\r\n alert(\"Something is wrong! (removeItem)\");\r\n }\r\n helperCart.calculeteTotal();\r\n helperCart.redirectToEmptyCart();\r\n}\r\n\r\nexport default CartItem;\r\n","\r\nimport './css/Home.css';\r\nimport React, { Component } from 'react';\r\nimport helperCart from './HelperCart';\r\nimport helperSession from './HelperSession';\r\n\r\nexport class CartTotal extends Component {\r\n static displayName = CartTotal.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n listProductCart: [], total: 0, listTaxes: []\r\n };\r\n\r\n this.state.listProductCart = helperCart.getCart();\r\n this.componentDidMount = this.componentDidMount.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n let logined = helperSession.getLogined();\r\n if (logined) {\r\n this.GetTaxesByClientGroup();\r\n helperCart.calculeteTotal();\r\n }\r\n }\r\n\r\n async GetTaxesByClientGroup() {\r\n const response = await fetch(`data/GetTaxesByClientGroup`, helperSession.getRequestAuthorizationOptions());\r\n response\r\n .json()\r\n .then((response) => {\r\n this.setState({\r\n listTaxes: response\r\n });\r\n helperCart.calculeteTotal();\r\n })\r\n .catch((error) => {\r\n console.debug(error);\r\n });\r\n }\r\n\r\n render() {\r\n const listTaxes = this.state.listTaxes;\r\n return (\r\n\r\n\r\n
\r\n\r\n
\r\n Subtotal\r\n 0.00\r\n
\r\n\r\n {listTaxes.length > 0 &&\r\n listTaxes.map((item, index) => (\r\n
\r\n {item.taxType.name + \"(\" + item.value + \"%)\"}\r\n
\r\n \r\n {item.value}\r\n
\r\n
\r\n\r\n ))\r\n }\r\n\r\n
\r\n Total\r\n 0.00\r\n
\r\n\r\n
\r\n\r\n\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport './css/CartRequestQuote.css';\r\n\r\nexport class CartIsEmpty extends Component {\r\n static displayName = CartIsEmpty.name;\r\n static listProductCart;\r\n static id_user;\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n

Your Cart is Empty

\r\n
\r\n View Products\r\n
\r\n
\r\n
\r\n\r\n );\r\n }\r\n\r\n}\r\n\r\n\r\n","import helperSession from '../HelperSession';\r\nimport baseNetwork from '../network/BaseNetwork';\r\n\r\nconst UserShoppingNetworkNetwork = {\r\n\r\n reguestCreateOrder(dataJson, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n }\r\n let method = 'post';\r\n let datalink = '/data/SetOrder';\r\n let dataBody = dataJson;\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n\r\n },\r\n\r\n async reguestCreateQuote(dataJson, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json'\r\n }\r\n let method = 'post';\r\n let datalink = '/data/SetQuote';\r\n let dataBody = dataJson;\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n },\r\n\r\n getHystoryOrders(context) {\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n }\r\n let method = 'post';\r\n let datalink = 'api/Authenticate/GetOrders';\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n\r\n },\r\n\r\n getOptionsFromQuote(quoteId, customerId, context) {\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n }\r\n let method = 'post';\r\n let datalink = `data/getOptionsFromQuote?quoteId=${quoteId}&customerId=${customerId }`;\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n\r\n },\r\n}\r\n\r\nexport default UserShoppingNetworkNetwork; ","export class ItemQuoteOptions {\r\n constructor(optionId, quantity) {\r\n this.optionId = optionId;\r\n this.quantity = quantity;\r\n }\r\n}","export class OrderBody {\r\n constructor(APIOrderOptions, billingAddressId, shippingAddressId, description, billingEmail, po) {\r\n this.APIOrderOptions = APIOrderOptions;\r\n this.billingAddressId = billingAddressId;\r\n this.shippingAddressId = shippingAddressId;\r\n this.description = description;\r\n this.billingEmail = billingEmail;\r\n this.po = po;\r\n }\r\n}"," export class RegistrAccount {\r\n constructor(companyName, contactName,email, phone) {\r\n this.companyName = companyName;\r\n this.contactName = contactName;\r\n this.phone = phone;\r\n this.email = email;\r\n }\r\n\r\n}\r\n"," export class Address {\r\n constructor(id, countryId, stateId, city, street, street2,unit, postCode) {\r\n this.id = id;\r\n this.countryId = countryId;\r\n this.stateId = stateId;\r\n this.city = city;\r\n this.street = street;\r\n this.street2 = street2;\r\n this.unit = unit;\r\n this.postCode = postCode;\r\n }\r\n}","export class QuoteBody {\r\n constructor(username, email, password, account, address, description, quoteOptions, billingEmail, po) {\r\n this.username = username;\r\n this.email = email;\r\n this.password = password;\r\n this.account = account;\r\n this.address = address;\r\n this.description = description;\r\n this.quoteOptions = quoteOptions;\r\n this.billingEmail = billingEmail;\r\n this.po = po;\r\n }\r\n}","import helperCommon from '../HelperCommon';\r\nimport { ItemQuoteOptions } from '../models/ItemQuoteOptions';\r\nimport { OrderBody } from '../models/OrderBody';\r\nimport { RegistrAccount } from '../models/RegistrAccount';\r\nimport { Address } from '../models/Address';\r\nimport { QuoteBody } from '../models/QuoteBody';\r\n\r\nconst UserShioppingRepositories = {\r\n\r\n \r\n createOredrBody(currentInput, context) {\r\n try {\r\n\r\n let listProductCart = context.state.listProductCart;\r\n var APIOrderOptions = [];\r\n\r\n for (let item of listProductCart) {\r\n let listOptions = item.listOptions ;\r\n for (let itemOption of listOptions) {\r\n let itemQuoteOptions = new ItemQuoteOptions(itemOption.valueId, item.quantity)\r\n APIOrderOptions.push(itemQuoteOptions)\r\n }\r\n }\r\n\r\n console.log(currentInput.add_comment.value);\r\n\r\n let billingAddressId = context.state.currentBillingAddress.id;\r\n let shippingAddressId = context.state.currentShippingAddress.id;\r\n let description = currentInput.add_comment.value;\r\n let billingEmail = currentInput.order_email_address.value;\r\n let po = currentInput.order_no.value;\r\n\r\n let quoteBody = new OrderBody(\r\n APIOrderOptions, billingAddressId, shippingAddressId, description, billingEmail, po);\r\n\r\n return JSON.stringify(quoteBody);\r\n\r\n\r\n } catch (e) {\r\n console.log(\"createOredrBody \" + e.message);\r\n helperCommon.displaySectionMessage('', true);\r\n helperCommon.hideLoadingSection();\r\n }\r\n\r\n return '';\r\n },\r\n\r\n createQuoteBody(currentInput, context) {\r\n try {\r\n\r\n let account = new RegistrAccount(\r\n currentInput.contact_name.value,\r\n currentInput.contact_name.value,\r\n currentInput.email.value,\r\n currentInput.phone.value);\r\n\r\n let address = new Address(\r\n 0,\r\n context.idCountryBilling,\r\n context.idStateBilling,\r\n '',\r\n '',\r\n '',\r\n null,\r\n '');\r\n\r\n let listProductCart = context.state.listProductCart;\r\n var quoteOptions = [];\r\n\r\n for (let item of listProductCart) {\r\n let listOptions = item.listOptions;\r\n for (let itemOption of listOptions) {\r\n let itemQuoteOptions = new ItemQuoteOptions(itemOption.valueId, item.quantity)\r\n quoteOptions.push(itemQuoteOptions)\r\n }\r\n\r\n }\r\n\r\n console.log(currentInput);\r\n\r\n let quoteBody = new QuoteBody(\r\n currentInput.email.value,\r\n currentInput.email.value,\r\n '',\r\n account,\r\n address,\r\n currentInput.description.value,\r\n quoteOptions,\r\n );\r\n\r\n return JSON.stringify(quoteBody);\r\n\r\n } catch (e) {\r\n console.log(\"setAccountBody \" + e.message);\r\n helperCommon.displaySectionMessage('', true);\r\n helperCommon.hideLoadingSection();\r\n}\r\n return '';\r\n }\r\n\r\n}\r\n\r\nexport default UserShioppingRepositories;","import UserContactInfoNetwork from '../network/UserContactInfoNetwork';\r\nimport UserShoppingNetwork from '../network/UserShoppingNetwork';\r\nimport helperSession from '../HelperSession';\r\nimport UserShioppingRepositories from '../repositories/UserShioppingRepositories';\r\n\r\n\r\nconst CartRequestQuoteRequests = {\r\n\r\n getCountriesAndStates(context) {\r\n UserContactInfoNetwork.getCountriesAndStates(context);\r\n },\r\n\r\n async reguestCreateQuote(dataJson, context) {\r\n\r\n try {\r\n let response = await UserShoppingNetwork.reguestCreateQuote(dataJson, context);\r\n if (response) {\r\n helperSession.cleanCart();\r\n context.sendMessage(\"Thank you for your quote. It has been placed, and you will receive a confirmation email shortly. Full invoices for all your orders can be viewed in Your Account. 1-855-732-3843\");\r\n }\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"reguestCreateQuote \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async checkValidateEmail(email, allInputs, context) {\r\n try {\r\n let json = UserShioppingRepositories.createQuoteBody(allInputs, context);\r\n this.reguestCreateQuote(json, context);\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"checkValidateEmail \" + e.message);\r\n }\r\n return false;\r\n },\r\n}\r\n\r\nexport default CartRequestQuoteRequests;","import React, { Component } from 'react';\r\nimport './css/CartRequestQuote.css';\r\nimport helperCart from './HelperCart';\r\nimport CartItem from './CartItem';\r\nimport Footer from './Footer';\r\nimport { Header } from './Header';\r\nimport { CartTotal } from './CartTotal';\r\nimport { CartIsEmpty } from './CartIsEmpty';\r\nimport helperCommon from './HelperCommon';\r\nimport helperSession from './HelperSession';\r\nimport CartRequestQuoteRequests from './requests/CartRequestQuoteRequests';\r\n\r\n\r\nexport class CartRequestQuote extends Component {\r\n static displayName = CartRequestQuote.name;\r\n static listProductCart;\r\n static listgetCountriesAndStates = [];\r\n static listStatesBilling = [];\r\n static idCountryBilling;\r\n static idStateBilling;\r\n\r\n constructor(props) {\r\n super(props);\r\n document.title = \"Cart Quote\";\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.onChangeCoutryBilling = this.onChangeCoutryBilling.bind(this);\r\n this.onChangeProvinceBilling = this.onChangeProvinceBilling.bind(this);\r\n this.sendMessage = this.sendMessage.bind(this);\r\n\r\n this.state = {\r\n listProductCart: [], total: 0, listTaxes: [], logined: false, listgetCountriesAndStates: [], listStatesBilling: [], valitationsBefore: true\r\n };\r\n this.state.listProductCart = helperCart.getCart();\r\n }\r\n\r\n componentDidMount() {\r\n CartRequestQuoteRequests.getCountriesAndStates(this);\r\n helperCommon.hideSectionErrorMessage();\r\n this.setState({\r\n logined: helperSession.getLogined()\r\n });\r\n helperCommon.hideLoadingSection();\r\n\r\n document.querySelectorAll(\"[required]\").forEach(item => {\r\n item.addEventListener('change', event => {\r\n this.checValitationsBeforeActionOnClickButton();\r\n })\r\n item.addEventListener('keyup', event => {\r\n this.checValitationsBeforeActionOnClickButton();\r\n })\r\n })\r\n }\r\n\r\n checValitationsBeforeActionOnClickButton() {\r\n let checked = document.querySelectorAll(\"[required]\");\r\n let arrSelected = [...checked].map(option => option.value);\r\n\r\n let regex = new RegExp('[a-z0-9]+@[a-z]+\\.[a-z]{2,3}');\r\n let checkMail = regex.test(arrSelected[2]);\r\n\r\n let selected = arrSelected.filter(e => e !== '');\r\n this.setState({\r\n valitationsBefore: selected.length === checked.length && checkMail ? false : true\r\n });\r\n }\r\n\r\n sendMessage(message) {\r\n this.props.history.push({\r\n pathname: '/cart/thank-you',\r\n state: {\r\n message: message\r\n }\r\n });\r\n }\r\n\r\n checkValidation(e) {\r\n var validation = true;\r\n var form = e.target;\r\n form.classList.add(\"was-validated\");\r\n if (form.checkValidity() === false) {\r\n validation = false;\r\n }\r\n e.preventDefault();\r\n return validation;\r\n }\r\n\r\n openCheckOut() {\r\n window.location.replace(\"/cart/check-out\");\r\n }\r\n\r\n handleSubmit(e) {\r\n let allInputs = e.target;\r\n helperCommon.hideSectionErrorMessage();\r\n helperCommon.displayLoadingSection();\r\n\r\n if (this.checkValidation(e)) {\r\n if (this.state.logined) {\r\n this.openCheckOut();\r\n } else {\r\n const email = document.getElementById(\"email\").value;\r\n if (email) {\r\n CartRequestQuoteRequests.checkValidateEmail(email, allInputs, this);\r\n }\r\n }\r\n\r\n } else {\r\n console.log(\"checkValidation error:\");\r\n helperCommon.displaySectionMessage(\"Please enter all the correct fields\", true);\r\n helperCommon.hideLoadingSection();\r\n }\r\n e.preventDefault();\r\n }\r\n\r\n onChangeCoutryBilling(event) {\r\n var currentCountryIdPossion = document.getElementById(\"billing-adress-country\").value;\r\n if (currentCountryIdPossion) {\r\n let currentCountry = this.listgetCountriesAndStates[currentCountryIdPossion];\r\n this.idCountryBilling = currentCountry.id;\r\n this.listStatesBilling = currentCountry.stateViews;\r\n this.setState({\r\n listStatesBilling: currentCountry.stateViews\r\n });\r\n }\r\n }\r\n\r\n onChangeProvinceBilling() {\r\n var currentStateIdPossion = document.getElementById(\"billing-adress-province\").value;\r\n if (currentStateIdPossion) {\r\n let currentState = this.listStatesBilling[currentStateIdPossion];\r\n this.idStateBilling = currentState.id;\r\n }\r\n }\r\n\r\n render() {\r\n const listProductCart = this.state.listProductCart;\r\n const listgetCountriesAndStates = this.state.listgetCountriesAndStates;\r\n const listStatesBilling = this.state.listStatesBilling;\r\n\r\n\r\n if (listProductCart && listProductCart.length > 0) {\r\n return (\r\n\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

Your Cart

\r\n\r\n\r\n
\r\n\r\n {listProductCart &&\r\n listProductCart.map((item, index) => (\r\n \r\n\r\n \r\n ))\r\n }\r\n\r\n {!this.state.logined ?\r\n\r\n
\r\n
\r\n this.contact_name = contact_name} autoComplete=\"none\"/>\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n this.email = email} autoComplete=\"none\"/>\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n this.phone = phone} autoComplete=\"none\"/>\r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n this field is required\r\n
\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\n
\r\n

Current lead time on attachmentsCall for our current lead times

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

Lead times are estimated and are a current average. Some products may ship out earlier while others could take longer as lead times are tied to complexity of the product as well as current stock. For more accurate lead times, please reach out to our sales team at sales@jenkinsiron.com or 1-855-732-3843

\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n You must agree before submitting.\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\n } else {\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\r\n }\r\n\r\n}","import React from \"react\";\r\nimport './css/CartCheckOut.css';\r\n\r\nconst AddressItem = ({ address, cityAndState, countryAndPost, type, context, index }) => (\r\n
\r\n \r\n
context.onUseThisAddress(index, type)} >Use this address
\r\n
\r\n\r\n);\r\n\r\nexport default AddressItem;\r\n","import React from \"react\";\r\nimport './css/CartCheckOut.css';\r\nimport ReactModal from 'react-modal';\r\nimport AddressItem from './AddressItem';\r\n\r\nconst AddressList = ({ context, listClientAddresses, customStyles, nameTypeAddress, numberTypeAddress }) => (\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n

{\"List of \" + nameTypeAddress}

\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 {listClientAddresses && listClientAddresses.length > 0 &&\r\n listClientAddresses.map((item, index) => (\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 Add New Address\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 AddressList;\r\n","import React from \"react\";\r\nimport './css/CartCheckOut.css';\r\nimport ReactModal from 'react-modal';\r\n\r\nconst AddAdressItem = ({ context, customStyles, listStates, listgetCountriesAndStates, nameTypeAddress, numberTypeAddress }) => (\r\n\r\n\r\n\r\n \r\n\r\n
\r\n
\r\n

{\"New \" + nameTypeAddress}

\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
context.handleSubmitAddAddress(e, numberTypeAddress)} autoComplete=\"none\" className=\"needs-validation\" noValidate >\r\n\r\n
\r\n context.handleChange(e)} name=\"street\" value={context.state.street} placeholder=\"Street Address*\" type=\"text\" ref={(adress_street_address) => context.adress_street_address = adress_street_address} />\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n context.handleChange(e)} name=\"city\" value={context.state.city} placeholder=\"City*\" type=\"text\" ref={(adress_city) => context.adress_city = adress_city} />\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n context.handleChange(e)} name=\"postCode\" value={context.state.postCode} placeholder=\"ZIP/Postal Code*\" type=\"text\" ref={(adress_postal_code) => context.adress_postal_code = adress_postal_code} />\r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n);\r\n\r\nexport default AddAdressItem;\r\n","import UserContactInfoNetwork from '../network/UserContactInfoNetwork';\r\nimport UserShoppingNetwork from '../network/UserShoppingNetwork';\r\nimport helperSession from '../HelperSession';\r\n\r\n\r\nconst CartCheckOutRequests = {\r\n\r\n async getAddresses(context) {\r\n\r\n try {\r\n let response = await UserContactInfoNetwork.getAddresses(context);\r\n\r\n let shipping = response.body.find(a => a.shipping);\r\n let billing = response.body.find(a => a.billing);\r\n\r\n context.setState({\r\n listClientAddressesBilling: response.body,\r\n listClientAddressesShipping: response.body,\r\n currentBillingAddress: billing,\r\n currentShippingAddress: shipping\r\n });\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"getAddresses \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n getCountriesAndStates(context) {\r\n UserContactInfoNetwork.getCountriesAndStates(context);\r\n },\r\n\r\n createAddress(dataJson, context) {\r\n UserContactInfoNetwork.createAddress(dataJson, context);\r\n },\r\n\r\n async reguestCreateOrder(dataJson, context) {\r\n\r\n try {\r\n let response = await UserShoppingNetwork.reguestCreateOrder(dataJson, context);\r\n if (response) {\r\n helperSession.cleanCart();\r\n context.sendMessage(\"Thank You for your order. One of our representatives will reach out shortly to confirm all details and payment information.\");\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } catch (e) {\r\n console.log(\"reguestCreateQuote \" + e.message);\r\n }\r\n return false;\r\n }\r\n}\r\n\r\nexport default CartCheckOutRequests;","export class AddressView {\r\n constructor(id, countryId, stateId, city, street, street2, unit, postCode, CountryName, StateName, Billing, Shipping) {\r\n this.id = id;\r\n this.countryId = countryId;\r\n this.CountryName = CountryName;\r\n this.stateId = stateId;\r\n this.StateName = StateName;\r\n this.city = city;\r\n this.street = street;\r\n this.street2 = street2;\r\n this.unit = unit;\r\n this.postCode = postCode;\r\n this.Billing = Billing;\r\n this.Shipping = Shipping;\r\n }\r\n}","export class ByDefaultAdderss {\r\n constructor(id) {\r\n this.id = id;\r\n }\r\n\r\n}\r\n"," export class Account {\r\n constructor(BusinessName) {\r\n this.BusinessName = BusinessName;\r\n }\r\n\r\n}\r\n","\r\nexport class Contact {\r\n constructor(id, name, contactTypeId, value) {\r\n this.id = id;\r\n this.name = name;\r\n this.value = value;\r\n this.ContactTypeId = contactTypeId;\r\n }\r\n\r\n}","\r\nimport { AddressView } from '../models/AddressView';\r\nimport { ByDefaultAdderss } from '../models/ByDefaultAdderss';\r\nimport { Account } from '../models/Account';\r\nimport { Contact } from '../models/Contact';\r\n\r\nconst UserContactInfoRepositories = {\r\n\r\n createAddressBody(currentInput, numberTypeAddress, idCountryBilling, idStateBilling) {\r\n try {\r\n\r\n let addressView = new AddressView(\r\n 0,\r\n idCountryBilling,\r\n idStateBilling,\r\n currentInput.adress_city.value,\r\n currentInput.adress_street_address.value,\r\n currentInput.adress_street_address.value,\r\n null,\r\n currentInput.adress_postal_code.value,\r\n \"Country\",\r\n \"State\",\r\n numberTypeAddress === 0 ? true : false,\r\n numberTypeAddress === 1 ? true : false\r\n );\r\n\r\n return JSON.stringify(addressView);\r\n } catch (e) {\r\n console.log(\"createAddressBody \" + e.message);\r\n }\r\n return '';\r\n },\r\n\r\n createByDefaultAdderssBody(id) {\r\n try {\r\n let model = new ByDefaultAdderss(id);\r\n return JSON.stringify(model);\r\n } catch (e) {\r\n console.log(\"byDefaultAdderss \" + e.message);\r\n }\r\n return '';\r\n },\r\n\r\n createAccountBody(currentInput) {\r\n try {\r\n let account = new Account(\r\n currentInput.company_name.value);\r\n\r\n return JSON.stringify(account);\r\n } catch (e) {\r\n console.log(\"setAccountBody \" + e.message);\r\n }\r\n return '';\r\n },\r\n\r\n createContactBody(id, contactTypeId, currentInput) {\r\n try {\r\n let account = new Contact(id,\r\n currentInput.company_name.value,\r\n contactTypeId,\r\n currentInput.account_phone.value,);\r\n\r\n return JSON.stringify(account);\r\n } catch (e) {\r\n console.log(\"setAccountBody \" + e.message);\r\n }\r\n return '';\r\n }\r\n\r\n\r\n}\r\n\r\nexport default UserContactInfoRepositories;","import helperSession from '../HelperSession';\r\nimport helperCommon from '../HelperCommon';\r\nimport baseNetwork from '../network/BaseNetwork';\r\n\r\nconst UserAccountNetwork = {\r\n\r\n\r\n async createAccount(dataJson, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n };\r\n\r\n let method = 'post';\r\n let datalink = `api/Authenticate/register`;\r\n let dataBody = dataJson;\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n return response;\r\n\r\n },\r\n async updateAccount(dataJson, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n };\r\n\r\n let method = 'post';\r\n let datalink = `/api/Authenticate/UpdateClient`; \r\n let dataBody = dataJson;\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n return response;\r\n\r\n },\r\n\r\n\r\n async getClientAccount(context) {\r\n await fetch('/data/GetClientAccount', {\r\n method: 'post',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n },\r\n })\r\n .then(function (response) {\r\n if (response.status !== 200) {\r\n helperCommon.displaySectionMessage(response.statusText, true);\r\n if (response.status === 401) {\r\n window.location.replace(\"/login\");\r\n }\r\n }\r\n return response.json();\r\n })\r\n .then(function (result) {\r\n if (result) {\r\n if (result.status === 'Success') {\r\n var positionBillingCountry = context.getPositionCoutry(result.body.billing.countryId);\r\n var positionBillingState = context.getPositionStateBilling(result.body.billing.stateId, positionBillingCountry);\r\n\r\n var positionShippingCountry = context.getPositionCoutry(result.body.shipping.countryId);\r\n var positionShippingState = context.getPositionStateShipping(result.body.shipping.stateId, positionShippingCountry);\r\n\r\n context.idCountryBilling = result.body.billing.countryId;\r\n context.idStateBilling = result.body.billing.stateId;\r\n\r\n context.idCountryShipping = result.body.shipping.countryId;\r\n context.idStateShipping = result.body.shipping.stateId;\r\n\r\n\r\n context.setState({\r\n companyName: result.body.account.companyName,\r\n contactName: result.body.account.contactName,\r\n accountEmail: result.body.account.email,\r\n accountPhone: result.body.account.phone,\r\n apiOrders: result.body.account.apiOrders,\r\n dataOrders: result.body.account.apiOrders,\r\n\r\n billingStreet: result.body.billing.street,\r\n billingCity: result.body.billing.city,\r\n billingStateId: positionBillingState,\r\n billingCountryId: positionBillingCountry,\r\n billingPostCode: result.body.billing.postCode,\r\n\r\n shippingStreet: result.body.shipping.street,\r\n shippingCity: result.body.shipping.city,\r\n shippingStateId: positionShippingState,\r\n shippingCountryId: positionShippingCountry,\r\n shippingPostCode: result.body.shipping.postCode,\r\n\r\n username: result.body.username,\r\n\r\n });\r\n\r\n } else if (result.status === 'Error') {\r\n console.log('Request failed (getClientAccount)', result.message);\r\n helperCommon.displaySectionMessage(result.message, true);\r\n }\r\n else {\r\n console.log('Request failed (getClientAccount)', JSON.stringify(result.errors));\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n\r\n } else {\r\n console.log('Request failed (getClientAccount)', result);\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n\r\n })\r\n .catch(function (error) {\r\n console.log('Request failed (getClientAccount)', JSON.stringify(error));\r\n helperCommon.displaySectionMessage('', true);\r\n });\r\n },\r\n\r\n async setBillingAddress(dataJson, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n };\r\n let method = 'post';\r\n let datalink = `/api/Authenticate/SetBillingAddress`;\r\n let dataBody = dataJson;\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n return response;\r\n\r\n \r\n },\r\n\r\n async setShippingAddress(dataJson, context) {\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n };\r\n let method = 'post';\r\n let datalink = `/api/Authenticate/SetShippingAddress`;\r\n let dataBody = dataJson;\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n return response;\r\n\r\n },\r\n\r\n getClient(context) {\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n };\r\n let method = 'post';\r\n let datalink = 'api/Authenticate/GetClient';\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n },\r\n\r\n async GetProductsByClientGroupForBrochure(id_client, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n };\r\n let method = 'post';\r\n let datalink = `data/GetProductsByClientGroupForBrochure?clientGroupId=${id_client}`;\r\n let dataBody = '';\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n },\r\n \r\n}\r\n\r\nexport default UserAccountNetwork;","import helperSession from '../HelperSession';\r\nimport helperCommon from '../HelperCommon';\r\nimport baseNetwork from '../network/BaseNetwork';\r\n\r\nconst UserAuthNetwork = {\r\n\r\n login(dataJson) {\r\n\r\n return fetch('api/Authenticate/login', {\r\n method: 'post',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: dataJson\r\n })\r\n .then(function (response) {\r\n if (response.status !== 200) {\r\n helperCommon.displaySectionMessage(response.statusText, true);\r\n }\r\n return response.json();\r\n })\r\n .then(function (result) {\r\n if (result) {\r\n if (result.token) {\r\n helperCommon.hideLoadingSection();\r\n } else {\r\n helperCommon.displaySectionMessage(result.message, true);\r\n helperCommon.hideLoadingSection();\r\n console.log('Request failed (login)', result.message);\r\n }\r\n return result;\r\n }\r\n })\r\n .catch(function (error) {\r\n console.log('Request failed (login)', error);\r\n helperCommon.hideLoadingSection();\r\n helperCommon.displaySectionMessage(\"\", true);\r\n });\r\n\r\n },\r\n\r\n async confirmUser(context) {\r\n var url = new URL(window.location.href);\r\n var code = url.searchParams.get(\"code\");\r\n var userId = url.searchParams.get(\"userId\");\r\n\r\n await fetch(`api/Authenticate/RegisterConfirmation?code=${code}&userId=${userId}`, {\r\n method: 'post',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n\r\n })\r\n .then(function (response) {\r\n console.log('Response failed (confirmUser)', response);\r\n if (response.status !== 200) {\r\n helperCommon.displaySectionMessage(response.statusText, true);\r\n }\r\n return response.json();\r\n })\r\n .then(function (result) {\r\n if (result.status === 'Success') {\r\n context.redirectToAccountComfirmed();\r\n } else {\r\n helperCommon.displaySectionMessage(result.status, true);\r\n console.log('Request failed (confirmUser)', result.message);\r\n }\r\n\r\n })\r\n .catch(function (error) {\r\n console.log('Request failed (confirmUser)', error);\r\n helperCommon.displaySectionMessage(error, true);\r\n });\r\n\r\n },\r\n\r\n async resetPassord(email, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json'\r\n };\r\n let method = 'post';\r\n let datalink = `api/Authenticate/reset?email=${email}`;\r\n let dataBody = \"\";\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n },\r\n\r\n changePassword(json, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n };\r\n let method = 'post';\r\n let datalink = 'api/Authenticate/changePassword';\r\n let dataBody = json;\r\n\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n },\r\n\r\n async resetPasswordByLink(json, context) {\r\n\r\n let dataHaders = {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'Bearer ' + helperSession.getToken('token')\r\n };\r\n let method = 'post';\r\n let datalink = `api/Authenticate/ResetConfirmation`;\r\n let dataBody = json\r\n let response = baseNetwork.baseFetch(dataBody, datalink, method, dataHaders, context);\r\n\r\n return response;\r\n\r\n }\r\n\r\n\r\n}\r\n\r\nexport default UserAuthNetwork;","import UserContactInfoNetwork from '../network/UserContactInfoNetwork';\r\nimport UserAccountNetwork from '../network/UserAccountNetwork';\r\nimport UserAuthNetwork from '../network/UserAuthNetwork';\r\nimport UserShoppingNetwork from '../network/UserShoppingNetwork';\r\nimport helperSession from '../HelperSession';\r\nimport CommonNetwork from '../network/CommonNetwork';\r\n\r\n\r\nconst MyAccountRequests = {\r\n\r\n async getCountriesAndStates(context) {\r\n\r\n UserContactInfoNetwork.getCountriesAndStates(context);\r\n },\r\n\r\n async login(dataJson, context) {\r\n\r\n UserContactInfoNetwork.getCountriesAndStates(context);\r\n try {\r\n let response = await UserAuthNetwork.login(dataJson, context);\r\n helperSession.setToken('token', response.token, response.expiration);\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"login \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async getAddresses(context) {\r\n\r\n try {\r\n let response = await UserContactInfoNetwork.getAddresses(context);\r\n\r\n let shipping = response.body.find(a => a.shipping);\r\n let billing = response.body.find(a => a.billing);\r\n\r\n context.setState({\r\n listClientAddressesBilling: response.body,\r\n listClientAddressesShipping: response.body,\r\n currentBillingAddress: billing,\r\n currentShippingAddress: shipping\r\n\r\n });\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"getAddresses \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async createAddress(dataJson, context) {\r\n\r\n try {\r\n let response = await UserContactInfoNetwork.createAddress(dataJson, context);\r\n if (response.body) {\r\n this.getAddresses(context);\r\n context.handleCloseAddAddressBilling();\r\n context.handleCloseAddAddressShipping();\r\n } else {\r\n console.log(\"GetContact error\");\r\n }\r\n } catch (e) {\r\n console.log(\"createAddress \" + e.message);\r\n }\r\n },\r\n\r\n async updateAccount(dataJson, context) {\r\n try {\r\n await UserAccountNetwork.updateAccount(dataJson, context);\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"updateAccount \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async getClientAccount(context) {\r\n return UserAccountNetwork.getClientAccount(context);\r\n },\r\n\r\n async setBillingAddress(dataJson, context) {\r\n try {\r\n await UserAccountNetwork.setBillingAddress(dataJson, context);\r\n return true;\r\n } catch (e) {\r\n console.log(\"setBillingAddress \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async setShippingAddress(idAddress, context) {\r\n try {\r\n await UserAccountNetwork.setShippingAddress(idAddress, context);\r\n return true;\r\n } catch (e) {\r\n console.log(\"setShippingAddress \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async getClient(context) {\r\n try {\r\n let response = await UserAccountNetwork.getClient(context);\r\n\r\n context.setState({\r\n responseDataUser: response.body,\r\n company_name: response.body.businessName,\r\n });\r\n return true;\r\n } catch (e) {\r\n console.log(\"GetContact \" + e.message);\r\n }\r\n\r\n return false;\r\n },\r\n\r\n async getContact(context) {\r\n\r\n try {\r\n let response = await UserContactInfoNetwork.getContact(context);\r\n let userEmail = response.body.filter(e => e.contactTypeId === 3)[0];\r\n let userPhone = response.body.filter(e => e.contactTypeId === 2)[0];\r\n context.setState({\r\n userEmail: userEmail.value,\r\n userName: userEmail.name,\r\n accountPhone: userPhone.value,\r\n contactName: userPhone.name,\r\n idPhone: userPhone.id,\r\n phoneContactTypeId: userPhone.contactTypeId,\r\n \r\n });\r\n } catch (e) {\r\n console.log(\"GetContact \" + e.message);\r\n }\r\n },\r\n\r\n async getHystoryOrders(context) {\r\n try {\r\n let response = await UserShoppingNetwork.getHystoryOrders(context);\r\n context.setState({\r\n responseDataOrders: response.body.orders,\r\n });\r\n } catch (e) {\r\n console.log(\"GetContact \" + e.message);\r\n }\r\n },\r\n\r\n async changePassword(dataJson, context) {\r\n try {\r\n await UserAuthNetwork.changePassword(dataJson, context);\r\n context.closeModalMyAccountUpdatePassword();\r\n\r\n } catch (e) {\r\n console.log(\"ChangePassword \" + e.message);\r\n }\r\n },\r\n\r\n async updateContact(dataJson, context) {\r\n try {\r\n await UserContactInfoNetwork.updateContact(dataJson, context);\r\n context.closeModalMyAccountUpdate();\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"updateContact \" + e.message);\r\n }\r\n return false;\r\n },\r\n async checkValidateEmail(email, idEmail) {\r\n CommonNetwork.validateEmail(email, idEmail);\r\n },\r\n\r\n\r\n}\r\n\r\nexport default MyAccountRequests;","import React, { Component } from 'react';\r\nimport './css/CartCheckOut.css';\r\nimport './css/CartRequestQuote.css';\r\nimport helperCart from './HelperCart';\r\nimport CartItem from './CartItem';\r\nimport { CartTotal } from './CartTotal';\r\nimport Footer from './Footer';\r\nimport { Header } from './Header';\r\nimport helperCommon from './HelperCommon';\r\nimport helperSession from './HelperSession';\r\nimport AddressList from './AddressList';\r\nimport AddAdressItem from './AddAdressItem';\r\nimport cartCheckOutRequests from './requests/CartCheckOutRequests';\r\nimport userContactInfoRepositories from './repositories/UserContactInfoRepositories';\r\nimport myAccountRequests from './requests/MyAccountRequests';\r\nimport UserShioppingRepositories from './repositories/UserShioppingRepositories';\r\n\r\n\r\n\r\nexport class CartCheckOut extends Component {\r\n static displayName = CartCheckOut.name;\r\n\r\n static listgetCountriesAndStates = [];\r\n static listStates = [];\r\n static listStatesShipping = [];\r\n\r\n static idCountryShipping;\r\n static idCountryBilling;\r\n static idStateShipping;\r\n static idStateBilling;\r\n\r\n static description;\r\n\r\n constructor(props) {\r\n super(props);\r\n document.title = \"Cart Check Out\";\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.onChangeCoutryBilling = this.onChangeCoutryBilling.bind(this);\r\n this.onChangeCoutryShipping = this.onChangeCoutryShipping.bind(this);\r\n this.onChangeProvinceShipping = this.onChangeProvinceShipping.bind(this);\r\n this.onChangeProvinceBilling = this.onChangeProvinceBilling.bind(this);\r\n\r\n this.handleOpenAddAddressBilling = this.handleOpenAddAddressBilling.bind(this);\r\n this.handleOpenAddAddressShipping = this.handleOpenAddAddressShipping.bind(this);\r\n\r\n this.handleSubmitAddAddress = this.handleSubmitAddAddress.bind(this);\r\n this.handleCloseAddAddressBilling = this.handleCloseAddAddressBilling.bind(this);\r\n this.handleCloseAddAddressShipping = this.handleCloseAddAddressShipping.bind(this);\r\n this.onUseThisAddress = this.onUseThisAddress.bind(this);\r\n\r\n this.state = {\r\n listProductCart: [],\r\n logined: true,\r\n listgetCountriesAndStates: [],\r\n listStates: [],\r\n listStatesShipping: [],\r\n listClientAddressesBilling: [],\r\n listClientAddressesShipping: [],\r\n billingStateId: \"\",\r\n currentBillingAddress: [],\r\n currentShippingAddress: [],\r\n };\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n\r\n this.state = {\r\n showModalSelectAddresses: false,\r\n showModalSelectAddressesShipping: false,\r\n };\r\n\r\n this.handleOpenModalSelectAddressesShipping = this.handleOpenModalSelectAddressesShipping.bind(this);\r\n this.handleCloseModalSelectAddressesShipping = this.handleCloseModalSelectAddressesShipping.bind(this);\r\n\r\n this.handleOpenModalSelectAddressesBilling = this.handleOpenModalSelectAddressesBilling.bind(this);\r\n this.handleCloseModalSelectAddresses = this.handleCloseModalSelectAddresses.bind(this);\r\n this.sendMessage = this.sendMessage.bind(this);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n helperCommon.hideSectionErrorMessage();\r\n helperCommon.hideLoadingSection();\r\n cartCheckOutRequests.getCountriesAndStates(this);\r\n cartCheckOutRequests.getAddresses(this);\r\n this.setState({\r\n logined: helperSession.getLogined(),\r\n listProductCart: helperCart.getCart()\r\n\r\n });\r\n }\r\n\r\n sendMessage(message) {\r\n this.props.history.push({\r\n pathname: '/cart/thank-you',\r\n state: {\r\n message: message\r\n }\r\n });\r\n }\r\n\r\n handleOpenModalSelectAddressesShipping() {\r\n this.setState({ showModalSelectAddressesShipping: true });\r\n }\r\n\r\n handleCloseModalSelectAddressesShipping() {\r\n this.setState({ showModalSelectAddressesShipping: false });\r\n }\r\n\r\n handleOpenModalSelectAddressesBilling() {\r\n this.setState({ showModalSelectAddresses: true });\r\n }\r\n\r\n handleCloseModalSelectAddresses() {\r\n this.setState({ showModalSelectAddresses: false });\r\n }\r\n\r\n\r\n handleOpenAddAddressBilling() {\r\n\r\n this.setState({ showModalhandleOpenAddAddressBilling: true });\r\n }\r\n\r\n handleCloseAddAddressBilling() {\r\n this.setState({ showModalhandleOpenAddAddressBilling: false });\r\n }\r\n\r\n handleOpenAddAddressShipping() {\r\n this.setState({ showModalhandleOpenAddAddressShipping: true });\r\n }\r\n\r\n handleCloseAddAddressShipping() {\r\n this.setState({ showModalhandleOpenAddAddressShipping: false });\r\n }\r\n\r\n\r\n\r\n onChangeCoutryBilling(event) {\r\n var currentCountryIdPossion = document.getElementById(\"billing_adress_country\").value;\r\n if (currentCountryIdPossion) {\r\n let currentCountry = this.listgetCountriesAndStates[currentCountryIdPossion];\r\n this.idCountryBilling = currentCountry.id;\r\n this.listStates = currentCountry.stateViews;\r\n this.setState({\r\n listStates: currentCountry.stateViews\r\n });\r\n }\r\n }\r\n\r\n onChangeCoutryShipping(event) {\r\n var currentCountryIdPossion = document.getElementById(\"shipping_adress_country\").value;\r\n if (currentCountryIdPossion) {\r\n let currentCountry = this.listgetCountriesAndStates[currentCountryIdPossion];\r\n this.idCountryShipping = currentCountry.id;\r\n this.listStatesShipping = currentCountry.stateViews;\r\n this.setState({\r\n listStatesShipping: currentCountry.stateViews\r\n });\r\n }\r\n }\r\n\r\n\r\n onChangeProvinceShipping() {\r\n var currentStateIdPossion = document.getElementById(\"shipping_adress_province\").value;\r\n if (currentStateIdPossion) {\r\n let currentState = this.listStatesShipping[currentStateIdPossion];\r\n this.idStateShipping = currentState.id;\r\n }\r\n }\r\n\r\n onChangeProvinceBilling() {\r\n var currentStateIdPossion = document.getElementById(\"billing_adress_province\").value;\r\n if (currentStateIdPossion) {\r\n let currentState = this.listStates[currentStateIdPossion];\r\n this.idStateBilling = currentState.id;\r\n }\r\n }\r\n\r\n onUseThisAddress(index, type) {\r\n if (parseInt(type) === 0) {\r\n let selectAddress = this.state.listClientAddressesBilling[index];\r\n this.setState({\r\n currentBillingAddress: selectAddress,\r\n });\r\n this.handleCloseModalSelectAddresses();\r\n } else if (parseInt(type) === 1) {\r\n let selectAddress = this.state.listClientAddressesShipping[index];\r\n this.setState({\r\n currentShippingAddress: selectAddress,\r\n });\r\n this.handleCloseModalSelectAddressesShipping();\r\n }\r\n }\r\n\r\n checkValidation(e) {\r\n var validation = true;\r\n var form = e.target;\r\n form.classList.add(\"was-validated\");\r\n if (form.checkValidity() === false) {\r\n validation = false;\r\n }\r\n e.preventDefault();\r\n return validation;\r\n }\r\n\r\n handleSubmit(e) {\r\n console.log(\"handleSubmit\"+e.name);\r\n e.stopPropagation();\r\n let allInputs = e.target;\r\n helperCommon.displayLoadingSection();\r\n helperCommon.hideSectionErrorMessage();\r\n\r\n if (this.checkValidation(e)) {\r\n let json = UserShioppingRepositories.createOredrBody(allInputs, this);\r\n cartCheckOutRequests.reguestCreateOrder(json, this);\r\n } else {\r\n console.log(\"checkValidation error:\");\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n \r\n }\r\n\r\n handleSubmitAddAddress(e, numberTypeAddress) {\r\n console.log(\"handleSubmitAddAddress \" + e.name);\r\n e.stopPropagation();\r\n let allInputs = e.target;\r\n helperCommon.hideSectionErrorMessage();\r\n\r\n if (this.checkValidation(e)) {\r\n\r\n let json = userContactInfoRepositories.createAddressBody(allInputs, numberTypeAddress, this.idCountryBilling, this.idStateBilling);\r\n myAccountRequests.createAddress(json, this);\r\n } else {\r\n console.log(\"checkValidation error:\");\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n \r\n }\r\n\r\n\r\n handleChange(evt) {\r\n const value = evt.target.value;\r\n this.setState({\r\n [evt.target.name]: value\r\n });\r\n }\r\n\r\n render() {\r\n const listProductCart = this.state.listProductCart;\r\n const listClientAddressesBilling = this.state.listClientAddressesBilling;\r\n const listClientAddressesShipping = this.state.listClientAddressesShipping;\r\n\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n width: '50%',\r\n height: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n },\r\n }\r\n\r\n return (\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Checkout

\r\n
\r\n

Thank you for placing your order with Jenkins Iron & Steel. Below is your order as well as shipping and billing address.

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

Addresses

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

Billing Address

\r\n
\r\n

\r\n {this.state.currentBillingAddress && this.state.currentBillingAddress.street}
\r\n {this.state.currentBillingAddress && this.state.currentBillingAddress.city + \", \" + this.state.currentBillingAddress.stateName}
\r\n {this.state.currentBillingAddress && this.state.currentBillingAddress.countryName + \", \" + this.state.currentBillingAddress.postCode}\r\n

\r\n
\r\n
\r\n
Change Address
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n

Shipping Address

\r\n
\r\n

\r\n {this.state.currentShippingAddress && this.state.currentShippingAddress.street}
\r\n {this.state.currentShippingAddress && this.state.currentShippingAddress.city + \", \" + this.state.currentShippingAddress.stateName}
\r\n {this.state.currentShippingAddress && this.state.currentShippingAddress.countryName + \", \" + this.state.currentShippingAddress.postCode}\r\n

\r\n
\r\n
\r\n
Change Address
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n

Order Information

\r\n
\r\n
\r\n \r\n this.order_email_address = order_email_address} />\r\n
\r\n
\r\n \r\n this.order_no = order_no} />\r\n
\r\n
\r\n\r\n\r\n\r\n

Order Summary

\r\n {listProductCart && listProductCart.length > 0 &&\r\n listProductCart.map((item, index) => (\r\n \r\n\r\n \r\n ))\r\n }\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Current lead time on attachments1 Week & 1 Day

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

Your order will remain in your cart until you finalize or make changes to it. Once you finalize your order, you will receive confirmation from our sales staff. Full invoices will be available in Your Account shortly after initializing.

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

Additional Comments

\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n By placing this order, I confirm that all information above is accurate, and I am responsible for any incorrect information\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\n );\r\n }\r\n\r\n}\r\n\r\n\r\n","import UserAuthNetwork from '../network/UserAuthNetwork';\r\nimport helperSession from '../HelperSession';\r\nimport helperCommon from '../HelperCommon';\r\nimport helperCookie from '../HelperCookie';\r\n\r\nconst LoginRequests = {\r\n async login(dataJson, context) {\r\n\r\n try {\r\n let response = await UserAuthNetwork.login(dataJson, context);\r\n\r\n if (response.token) {\r\n helperSession.setToken('token', response.token, response.expiration);\r\n\r\n let username = document.getElementById('username').value;\r\n let password = document.getElementById('password').value;\r\n let rememberMe = document.getElementById('remember-me');\r\n if (rememberMe.checked) {\r\n let encodeLogin = helperCommon.encodedString(username);\r\n let encodePass = helperCommon.encodedString(password);\r\n\r\n helperCookie.setCookie('login', encodeLogin, helperSession.getSessionTimeHours());\r\n helperCookie.setCookie('password', encodePass, helperSession.getSessionTimeHours());\r\n helperCookie.setCookie('remember_me', rememberMe.checked, helperSession.getSessionTimeHours());\r\n }\r\n window.location.replace(\"/\");\r\n\r\n } else {\r\n console.log('Request failed (resetPassword)', response.message);\r\n helperCommon.displaySectionMessage(response.message, true);\r\n }\r\n } catch (e) {\r\n console.log(\"login \" + e.message);\r\n }\r\n\r\n },\r\n}\r\n\r\nexport default LoginRequests;","export class PasswordModel {\r\n constructor(OldPassword, NewPassword) {\r\n this.OldPassword = OldPassword;\r\n this.NewPassword = NewPassword;\r\n }\r\n}"," export class User {\r\n constructor(username, password) {\r\n this.username = username;\r\n this.password = password;\r\n }\r\n}"," export class AccountBody {\r\n constructor(username, email, password, account, billing, shipping, quoteId, customerId) {\r\n this.username = username;\r\n this.email = email;\r\n this.password = password;\r\n this.account = account;\r\n this.billing = billing;\r\n this.shipping = shipping;\r\n this.quoteId = quoteId;\r\n this.customerId = customerId;\r\n }\r\n}","export class PasswordResetBody {\r\n constructor(email, code, password) {\r\n this.email = email;\r\n this.code = code;\r\n this.password = password;\r\n }\r\n\r\n}\r\n","\r\nimport { PasswordModel } from '../models/PasswordModel';\r\nimport { User } from '../models/User';\r\nimport { Address } from '../models/Address';\r\nimport { AccountBody } from '../models/AccountBody';\r\nimport { RegistrAccount } from '../models/RegistrAccount';\r\nimport { PasswordResetBody } from '../models/PasswordResetBody';\r\n\r\n\r\nconst UserAuthRepositories = {\r\n\r\n createPasswordBody(currentInput) {\r\n try {\r\n\r\n let model = new PasswordModel(\r\n currentInput.old_password.value,\r\n currentInput.password.value,\r\n );\r\n\r\n return JSON.stringify(model);\r\n } catch (e) {\r\n console.log(\"createPasswordBody \" + e.message);\r\n }\r\n\r\n return '';\r\n },\r\n\r\n passwordResetBody(password, email, code) {\r\n try {\r\n\r\n let model = new PasswordResetBody(\r\n email,\r\n code,\r\n password\r\n );\r\n\r\n return JSON.stringify(model);\r\n } catch (e) {\r\n console.log(\"passwordResetBody \" + e.message);\r\n }\r\n\r\n return '';\r\n },\r\n\r\n createUser(currentInput) {\r\n try {\r\n let model = new User(\r\n currentInput.username.value,\r\n currentInput.password.value);\r\n return JSON.stringify(model);\r\n } catch (e) {\r\n console.log(\"createUser \" + e.message);\r\n }\r\n return '';\r\n },\r\n\r\n createAccountBody(currentInput, context) {\r\n try {\r\n\r\n let account = new RegistrAccount(\r\n currentInput.company_name.value,\r\n currentInput.contact_name.value,\r\n currentInput.email.value,\r\n currentInput.phone.value);\r\n\r\n let addressBilling = new Address(\r\n 0,\r\n context.idCountryBilling,\r\n context.idStateBilling,\r\n currentInput.billing_adress_city.value,\r\n currentInput.billing_adress_street_address.value,\r\n currentInput.billing_adress_street_address.value,\r\n null,\r\n currentInput.billing_adress_postal_code.value);\r\n\r\n let addressShipping = new Address(\r\n 0,\r\n context.idCountryShipping,\r\n context.idStateShipping,\r\n currentInput.shipping_adress_city.value,\r\n currentInput.shipping_adress_street_address.value,\r\n currentInput.shipping_adress_street_address.value,\r\n null,\r\n currentInput.shipping_adress_postal_code.value);\r\n\r\n\r\n let accountBody = new AccountBody(\r\n currentInput.email.value,\r\n currentInput.email.value,\r\n currentInput.password.value,\r\n account,\r\n addressBilling,\r\n addressShipping);\r\n\r\n return JSON.stringify(accountBody);\r\n } catch (e) {\r\n console.log(\"createAccountBody \" + e.message);\r\n }\r\n return '';\r\n },\r\n\r\n createAccountBodyComplete(currentInput, context) {\r\n try {\r\n\r\n let account = new RegistrAccount(\r\n '',\r\n '',\r\n currentInput.username.value,\r\n '');\r\n\r\n let addressBilling = new Address(\r\n 0,\r\n context.idCountryBilling,\r\n context.idStateBilling,\r\n currentInput.billing_adress_city.value,\r\n currentInput.billing_adress_street_address.value,\r\n currentInput.billing_adress_street_address.value,\r\n null,\r\n currentInput.billing_adress_postal_code.value);\r\n\r\n let addressShipping = new Address(\r\n 0,\r\n context.idCountryShipping,\r\n context.idStateShipping,\r\n currentInput.shipping_adress_city.value,\r\n currentInput.shipping_adress_street_address.value,\r\n currentInput.shipping_adress_street_address.value,\r\n null,\r\n currentInput.shipping_adress_postal_code.value);\r\n\r\n\r\n let accountBody = new AccountBody(\r\n currentInput.username.value,\r\n currentInput.username.value,\r\n currentInput.password.value,\r\n account,\r\n addressBilling,\r\n addressShipping,\r\n context.quoteId,\r\n context.customerId,\r\n\r\n );\r\n\r\n return JSON.stringify(accountBody);\r\n } catch (e) {\r\n console.log(\"createAccountBody \" + e.message);\r\n }\r\n return '';\r\n }\r\n}\r\n\r\nexport default UserAuthRepositories;","import React, { Component } from 'react';\r\nimport './css/CartRequestQuote.css';\r\nimport Footer from './Footer';\r\nimport { Header } from './Header';\r\nimport helperCommon from './HelperCommon';\r\nimport helperCookie from './HelperCookie';\r\nimport LoginRequests from './requests/LoginRequests';\r\nimport UserAuthRepositories from './repositories/UserAuthRepositories';\r\n\r\n\r\nexport class Login extends Component {\r\n static displayName = Login.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.onLostPassword = this.onLostPassword.bind(this);\r\n this.onRegister = this.onRegister.bind(this);\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.rememberMe = this.rememberMe.bind(this);\r\n }\r\n\r\n\r\n componentDidMount() {\r\n helperCommon.hideSectionErrorMessage();\r\n helperCommon.hideLoadingSection();\r\n helperCommon.togglePasswordToText();\r\n }\r\n\r\n rememberMe() {\r\n let username = document.getElementById('username').value;\r\n let password = document.getElementById('password').value;\r\n let rememberMe = document.getElementById('remember-me');\r\n if (rememberMe.checked) {\r\n let encodeLogin = helperCommon.encodedString(username);\r\n let encodePass = helperCommon.encodedString(password);\r\n\r\n helperCookie.setCookie('login', encodeLogin);\r\n helperCookie.setCookie('password', encodePass);\r\n }\r\n }\r\n\r\n handleSubmit(e) {\r\n helperCommon.hideSectionErrorMessage();\r\n helperCommon.displayLoadingSection();\r\n\r\n if (this.checkValidation(e)) {\r\n LoginRequests.login(UserAuthRepositories.createUser(this));\r\n } else {\r\n console.log(\"handleSubmit error:\");\r\n helperCommon.displaySectionMessage('', true);\r\n helperCommon.hideLoadingSection();\r\n }\r\n e.preventDefault();\r\n }\r\n\r\n checkValidation(e) {\r\n var validation = true;\r\n var form = e.target;\r\n form.classList.add(\"was-validated\");\r\n if (form.checkValidity() === false) {\r\n validation = false;\r\n }\r\n e.preventDefault();\r\n return validation;\r\n }\r\n\r\n onRegister(event) {\r\n window.location.replace(\"/register\");\r\n }\r\n onLostPassword(event) {\r\n window.location.replace(\"/lostPassword\");\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Login

\r\n\r\n
\r\n\r\n
\r\n this.username = username} />\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n this.password = password} autoComplete='off'/>\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n Forgot Password | \r\n Register\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","import UserContactInfoNetwork from '../network/UserContactInfoNetwork';\r\nimport UserAccountNetwork from '../network/UserAccountNetwork';\r\nimport CommonNetwork from '../network/CommonNetwork';\r\n\r\nconst RegisterRequests = {\r\n\r\n async getCountriesAndStates(context) {\r\n UserContactInfoNetwork.getCountriesAndStates(context);\r\n },\r\n\r\n async reguestCreateAccount(dataJson, context) {\r\n\r\n try {\r\n let response = await UserAccountNetwork.createAccount(dataJson, context);\r\n if (response) {\r\n context.sendMessage(\"Thank you for registering. Please check your email to verify your account.\");\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n \r\n } catch (e) {\r\n console.log(\"login \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async checkValidateEmail(email, idEmail) {\r\n CommonNetwork.validateEmail(email, idEmail);\r\n },\r\n\r\n}\r\n\r\nexport default RegisterRequests;","import React, { Component } from 'react';\r\nimport Footer from './Footer';\r\nimport { Header } from './Header';\r\nimport helperCommon from './HelperCommon';\r\nimport UserAuthRepositories from './repositories/UserAuthRepositories';\r\nimport RegisterRequests from './requests/RegisterRequests';\r\n\r\n\r\nexport class Register extends Component {\r\n static displayName = Register.name;\r\n static listgetCountriesAndStates = [];\r\n static listStatesBilling = [];\r\n static listStatesShipping = [];\r\n\r\n static idCountryShipping;\r\n static idCountryBilling;\r\n static idStateShipping;\r\n static idStateBilling;\r\n\r\n constructor(props) {\r\n super(props);\r\n document.title = \"Register\";\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.onChangeCoutryBilling = this.onChangeCoutryBilling.bind(this);\r\n this.onChangeCoutryShipping = this.onChangeCoutryShipping.bind(this);\r\n this.onChangeProvinceShipping = this.onChangeProvinceShipping.bind(this);\r\n this.onChangeProvinceBilling = this.onChangeProvinceBilling.bind(this);\r\n this.copyBillingAddress = this.copyBillingAddress.bind(this);\r\n\r\n this.state = {\r\n listgetCountriesAndStates: [], listStatesBilling: [], listStatesShipping: []\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n RegisterRequests.getCountriesAndStates(this);\r\n helperCommon.hideSectionErrorMessage();\r\n helperCommon.togglePasswordToText();\r\n helperCommon.toggleRePasswordToText();\r\n }\r\n\r\n\r\n sendMessage(message) {\r\n this.props.history.push({\r\n pathname: '/cart/thank-you',\r\n state: {\r\n message: message\r\n }\r\n });\r\n }\r\n\r\n onChangeCoutryBilling(event) {\r\n var currentCountryIdPossion = document.getElementById(\"billing_adress_country\").value;\r\n if (currentCountryIdPossion) {\r\n let currentCountry = this.listgetCountriesAndStates[currentCountryIdPossion];\r\n this.idCountryBilling = currentCountry.id;\r\n this.listStatesBilling = currentCountry.stateViews;\r\n this.setState({\r\n listStatesBilling: currentCountry.stateViews\r\n });\r\n }\r\n }\r\n\r\n onChangeCoutryShipping(event) {\r\n var currentCountryIdPossion = document.getElementById(\"shipping_adress_country\").value;\r\n if (currentCountryIdPossion) {\r\n let currentCountry = this.listgetCountriesAndStates[currentCountryIdPossion];\r\n this.idCountryShipping = currentCountry.id;\r\n this.listStatesShipping = currentCountry.stateViews;\r\n this.setState({\r\n listStatesShipping: currentCountry.stateViews\r\n });\r\n }\r\n }\r\n\r\n\r\n onChangeProvinceShipping() {\r\n var currentStateIdPossion = document.getElementById(\"shipping_adress_province\").value;\r\n if (currentStateIdPossion) {\r\n let currentState = this.listStatesShipping[currentStateIdPossion];\r\n this.idStateShipping = currentState.id;\r\n }\r\n }\r\n\r\n onChangeProvinceBilling() {\r\n var currentStateIdPossion = document.getElementById(\"billing_adress_province\").value;\r\n if (currentStateIdPossion) {\r\n let currentState = this.listStatesBilling[currentStateIdPossion];\r\n this.idStateBilling = currentState.id;\r\n }\r\n }\r\n\r\n onClickOpenLogin(event) {\r\n window.location.replace(\"/login\");\r\n }\r\n\r\n \r\n\r\n checkValidation(e) {\r\n var validation = true;\r\n var form = e.target;\r\n form.classList.add(\"was-validated\");\r\n if (form.checkValidity() === false) {\r\n validation = false;\r\n }\r\n var password = document.getElementById(\"password\");\r\n var confirmPassword = document.getElementById(\"confirm_password\");\r\n if (password.value !== confirmPassword.value) {\r\n validation = false;\r\n confirmPassword.value = \"\";\r\n }\r\n e.preventDefault();\r\n return validation;\r\n }\r\n\r\n handleSubmit(e) {\r\n let allInputs = e.target;\r\n helperCommon.hideSectionErrorMessage();\r\n\r\n if (this.checkValidation(e)) {\r\n let json = UserAuthRepositories.createAccountBody(allInputs, this);\r\n RegisterRequests.reguestCreateAccount(json, this);\r\n } else {\r\n console.log(\"checkValidation error:\");\r\n helperCommon.displaySectionMessage('Please enter all the correct fields', true);\r\n }\r\n e.preventDefault();\r\n }\r\n\r\n copyBillingAddress(e) {\r\n\r\n if (this.listStatesBilling) {\r\n var billingAdress = document.querySelectorAll(\".billing-adress\");\r\n var shippingAdress = document.querySelectorAll(\".shipping-adress\");\r\n\r\n this.setState({\r\n listStatesShipping: this.listStatesBilling\r\n }, () => {\r\n try {\r\n for (var i = 0; i < billingAdress.length; i++) {\r\n var currentInput = billingAdress[i];\r\n shippingAdress[i].value = currentInput.value;\r\n }\r\n } catch (e) {\r\n console.log(\"copyBillingAddress \" + e.message + 'currentInput.id ' + currentInput.id);\r\n }\r\n });\r\n\r\n this.idCountryShipping = this.idCountryBilling;\r\n this.idStateShipping = this.idStateBilling;\r\n this.listStatesShipping = this.listStatesBilling;\r\n }\r\n }\r\n\r\n onValidateEmail(e) {\r\n if (e.target.value && e.target.id) {\r\n RegisterRequests.checkValidateEmail(e.target.value, e.target.id);\r\n }\r\n }\r\n\r\n render() {\r\n const listgetCountriesAndStates = this.state.listgetCountriesAndStates;\r\n const listStatesBilling = this.state.listStatesBilling;\r\n const listStatesShipping = this.state.listStatesShipping;\r\n\r\n return (\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Create Account

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

1. Account Info

\r\n\r\n
\r\n this.company_name = company_name} />\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n this.contact_name = contact_name} />\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n this.phone = phone} />\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n

2. Billing Address

\r\n\r\n
\r\n this.billing_adress_street_address = billing_adress_street_address} />\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n this.billing_adress_city = billing_adress_city} />\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n this.billing_adress_postal_code = billing_adress_postal_code} />\r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Use as shipping address
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n

3. Shipping Address

\r\n\r\n
\r\n this.shipping_adress_street_address = shipping_adress_street_address} />\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n this.shipping_adress_city = shipping_adress_city} />\r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n this.shipping_adress_postal_code = shipping_adress_postal_code} />\r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n

4. Account Login

\r\n\r\n
\r\n this.email = email} />\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n this.password = password} autoComplete = 'off'/>\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n this.confirm_password = confirm_password} autoComplete='off'/>\r\n \r\n
\r\n passwords do not match\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n You must agree before submitting.\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n Already have an account?   \r\n Login\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}","import UserAuthNetwork from '../network/UserAuthNetwork';\r\nimport helperCommon from '../HelperCommon';\r\nimport helperCookie from '../HelperCookie';\r\n\r\nconst LostPasswordRequests = {\r\n\r\n async resetPassord(email, context) {\r\n\r\n try {\r\n let response = await UserAuthNetwork.resetPassord(email, context);\r\n if (response) {\r\n let username = document.getElementById('username').value;\r\n let rememberMe = helperCookie.getCookie('remember_me');\r\n\r\n if (rememberMe) {\r\n let encodeUsername = helperCommon.encodedString(username);\r\n helperCookie.setCookie('login', encodeUsername);\r\n }\r\n\r\n context.setState({\r\n sentMessage: true\r\n });\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n } catch (e) {\r\n console.log(\"login \" + e.message);\r\n }\r\n return false;\r\n },\r\n}\r\n\r\nexport default LostPasswordRequests;","import React, { Component } from 'react';\r\nimport './css/CartRequestQuote.css';\r\nimport Footer from './Footer';\r\nimport { Header } from './Header';\r\nimport helperCommon from './HelperCommon';\r\nimport LostPasswordRequests from './requests/LostPasswordRequests';\r\n\r\nexport class LostPassword extends Component {\r\n static displayName = LostPassword.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n\r\n this.state = {\r\n sentMessage: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.hideSectionSentEmail();\r\n helperCommon.hideSectionErrorMessage();\r\n helperCommon.hideLoadingSection();\r\n }\r\n\r\n checkValidation(e) {\r\n var validation = true;\r\n var form = e.target;\r\n form.classList.add(\"was-validated\");\r\n if (form.checkValidity() === false) {\r\n validation = false;\r\n }\r\n e.preventDefault();\r\n return validation;\r\n }\r\n\r\n handleSubmit(e) {\r\n helperCommon.hideSectionErrorMessage();\r\n\r\n if (this.checkValidation(e)) {\r\n LostPasswordRequests.resetPassord(this.username.value, this);\r\n } else {\r\n console.log(\"handleSubmit error:\");\r\n helperCommon.displaySectionMessage(\"Please enter a correct Email\", true);\r\n }\r\n e.preventDefault();\r\n }\r\n\r\n hideSectionSentEmail() {\r\n var element = document.getElementById(\"sent-email\");\r\n if (element) {\r\n element.style.display = \"none\";\r\n }\r\n }\r\n\r\n displaySectionSentEmail() {\r\n var element = document.getElementById(\"sent-email\");\r\n if (element) {\r\n element.style.display = \"block\";\r\n }\r\n }\r\n\r\n\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Forgot Password?

\r\n\r\n {!this.state.sentMessage ?\r\n
\r\n\r\n
\r\n this.username = username} />\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n :\r\n
\r\n An email to reset your password has been sent to your inbox\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\nimport UserAuthNetwork from '../network/UserAuthNetwork';\r\nimport helperCommon from '../HelperCommon';\r\n\r\nconst ResetPasswordRequests = {\r\n\r\n async resetPasswordByLink(json, context) {\r\n\r\n try {\r\n let response = await UserAuthNetwork.resetPasswordByLink(json, context);\r\n if (response.status === 'Success') {\r\n window.location.replace(\"/login\");\r\n } else {\r\n console.log('Request failed (resetPassword)', response.message);\r\n helperCommon.displaySectionMessage(response.message, true);\r\n }\r\n \r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"login \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n}\r\n\r\nexport default ResetPasswordRequests;","import React, { Component } from 'react';\r\nimport './css/CartRequestQuote.css';\r\nimport Footer from './Footer';\r\nimport { Header } from './Header';\r\nimport helperCommon from './HelperCommon';\r\nimport ResetPasswordRequests from './requests/ResetPasswordRequests';\r\nimport UserAuthRepositories from './repositories/UserAuthRepositories';\r\n\r\n\r\nexport class ResetPassword extends Component {\r\n static displayName = ResetPassword.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n }\r\n\r\n handleSubmit(e) {\r\n helperCommon.hideSectionErrorMessage();\r\n\r\n if (this.checkValidation(e)) {\r\n\r\n var url = new URL(window.location.href);\r\n var code = url.searchParams.get(\"code\");\r\n var email = url.searchParams.get(\"email\");\r\n let json = UserAuthRepositories.passwordResetBody(this.password.value, email, code);\r\n ResetPasswordRequests.resetPasswordByLink(json, this) ;\r\n\r\n } else {\r\n console.log(\"handleSubmit error:\");\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n e.preventDefault();\r\n }\r\n\r\n\r\n checkValidation(e) {\r\n var validation = true;\r\n var form = e.target;\r\n form.classList.add(\"was-validated\");\r\n if (form.checkValidity() === false) {\r\n validation = false;\r\n }\r\n var password = document.getElementById(\"password\");\r\n var confirmPassword = document.getElementById(\"confirm_password\");\r\n if (password.value !== confirmPassword.value) {\r\n validation = false;\r\n confirmPassword.value = \"\";\r\n }\r\n e.preventDefault();\r\n\r\n return validation;\r\n }\r\n\r\n componentDidMount() {\r\n helperCommon.hideSectionErrorMessage();\r\n helperCommon.hideLoadingSection();\r\n helperCommon.togglePasswordToText();\r\n helperCommon.toggleRePasswordToText();\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Reset Password

\r\n\r\n
\r\n\r\n
\r\n this.password = password} />\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n this.confirm_password = confirm_password} />\r\n \r\n
\r\n passwords do not match\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\n }\r\n\r\n}\r\n\r\n\r\n","import UserAuthNetwork from '../network/UserAuthNetwork';\r\n\r\nconst ConfirmUserRequests = {\r\n confirmUser(context) {\r\n UserAuthNetwork.confirmUser(context);\r\n }\r\n}\r\n\r\nexport default ConfirmUserRequests;","import React, { Component } from 'react';\r\nimport Footer from './Footer';\r\nimport { Header } from './Header';\r\nimport helperCommon from './HelperCommon';\r\nimport ConfirmUserRequests from './requests/ConfirmUserRequests';\r\n\r\nexport class ConfirmUser extends Component {\r\n static displayName = ConfirmUser.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.redirectToAccountComfirmed = this.redirectToAccountComfirmed.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n document.title = \"Confirm User\";\r\n\r\n helperCommon.hideSectionErrorMessage();\r\n helperCommon.hideLoadingSection();\r\n\r\n var url = new URL(window.location.href);\r\n var code = url.searchParams.get(\"code\");\r\n if (!code) {\r\n this.redirectToAccountComfirmed();\r\n }\r\n }\r\n\r\n redirectToAccountComfirmed() {\r\n this.props.history.push({\r\n pathname: '/account-comfirmed',\r\n });\r\n }\r\n\r\n handleSubmit(e) {\r\n ConfirmUserRequests.confirmUser(this);\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Confirm Account

\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\n\r\n}\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport './css/ThankYou.css';\r\nimport { Header } from './Header';\r\nimport Footer from './Footer';\r\n\r\n\r\nexport class ThankYou extends Component {\r\n static displayName = ThankYou.name;\r\n static isMobile = false;\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n this.state = {\r\n message: \"\",\r\n phone: \"\"\r\n };\r\n\r\n try {\r\n this.state.message = props.location.state.message;\r\n this.state.phone = props.location.state.phone;\r\n } catch (err) {\r\n this.state.message = \"Than you!\";\r\n this.state.phone = \"\";\r\n console.log(err.message);\r\n }\r\n this.isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\r\n }\r\n\r\n render() {\r\n\r\n const twitter = 'https://twitter.com/JenkinsIron';\r\n const youtube = 'https://www.youtube.com/channel/UCs16D1Lw49IuCRwJrJdQLvQ';\r\n const instagram = 'https://www.instagram.com/jenkinsironandsteel/';\r\n const facebook = 'https://www.facebook.com/JenkinsIronandSteel';\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Thank You

\r\n\r\n
\r\n {this.state.message}\r\n {this.state.phone}\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\nimport React from \"react\";\r\nimport ReactModal from 'react-modal';\r\n\r\nconst myAccountUpdate = ({ context, customStyles }) => (\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n

Update Account

\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
context.handleSubmitMyAccountUpdate(e)} autoComplete=\"none\" className=\"needs-validation\" noValidate >\r\n
\r\n \r\n context.handleChange(e)} placeholder=\"Company Name*\" type=\"text\" ref={(company_name) => context.company_name = company_name} />\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n context.handleChange(e)} name=\"contactName\" placeholder=\"Contact Name*\" type=\"text\" ref={(contact_name) => context.contact_name = contact_name} />\r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n \r\n context.handleChange(e)} name= \"accountPhone\" placeholder=\"Phone\" type=\"text\" ref={(account_phone) => context.account_phone = account_phone} />\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 myAccountUpdate;","\r\nimport React from \"react\";\r\nimport ReactModal from 'react-modal';\r\n\r\n\r\nconst myAccountUpdatePassword = ({ context, customStyles }) => (\r\n\r\n \r\n\r\n\r\n
\r\n
\r\n

Password Update

\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
context.handleSubmitUpdatePassword(e)} autoComplete=\"none\" className=\"needs-validation\" noValidate >\r\n
\r\n
\r\n \r\n context.username = username} />\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n \r\n context.old_password = old_password} />\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n context.password = password} />\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n \r\n context.confirm_password = confirm_password} />\r\n \r\n
\r\n passwords do not match\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\nfunction togglePasswordToText() {\r\n const togglePassword = document.getElementById('toggePassword');\r\n const password = document.getElementById('password');\r\n toggleType(togglePassword, password);\r\n}\r\n\r\nfunction toggleOldPasswordToText(e) {\r\n const togglePassword = document.getElementById('toggleOldPassword');\r\n const password = document.getElementById('old_password');\r\n\r\n toggleType(togglePassword, password);\r\n}\r\n\r\nfunction toggleConfirmPasswordToText(e){\r\n const togglePassword = document.getElementById('toggConfirmRePassword');\r\n const password = document.getElementById('confirm_password');\r\n\r\n toggleType(togglePassword, password);\r\n}\r\n\r\nfunction toggleType(togglePassword, password) {\r\n if (togglePassword && password) {\r\n const type = password.getAttribute('type') === 'password' ? 'text' : 'password';\r\n password.setAttribute('type', type);\r\n // toggle the eye / eye slash icon\r\n togglePassword.classList.toggle('bi-eye');\r\n }\r\n}\r\n\r\n\r\nexport default myAccountUpdatePassword;","import React, { Component } from 'react';\r\nimport './css/CartRequestQuote.css';\r\nimport Footer from './Footer';\r\nimport { Header } from './Header';\r\nimport './css/Account.css';\r\nimport helperCommon from './HelperCommon';\r\nimport { Table } from \"reactstrap\";\r\nimport AddressList from './AddressList';\r\nimport AddAdressItem from './AddAdressItem';\r\nimport myAccountRequests from './requests/MyAccountRequests';\r\nimport MyAccountUpdate from './MyAccountUpdate';\r\nimport MyAccountUpdatePassword from './MyAccountUpdatePassword';\r\nimport userAuthRepositories from './repositories/UserAuthRepositories';\r\nimport userContactInfoRepositories from './repositories/UserContactInfoRepositories';\r\nimport RegisterRequests from './requests/RegisterRequests';\r\n\r\nexport class MyAccount extends Component {\r\n static displayName = MyAccount.name;\r\n\r\n static listgetCountriesAndStates = [];\r\n static listStatesBilling = [];\r\n static listStatesShipping = [];\r\n static listClientAddresses = [];\r\n\r\n static idCountryShipping;\r\n static idCountryBilling;\r\n static idStateShipping;\r\n static idStateBilling;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n document.title = \"My Account\";\r\n\r\n this.onChangeCoutryBilling = this.onChangeCoutryBilling.bind(this);\r\n this.onChangeCoutryShipping = this.onChangeCoutryShipping.bind(this);\r\n this.onChangeProvinceShipping = this.onChangeProvinceShipping.bind(this);\r\n this.onChangeProvinceBilling = this.onChangeProvinceBilling.bind(this);\r\n this.copyBillingAddress = this.copyBillingAddress.bind(this);\r\n this.onValidateEmail = this.onValidateEmail.bind(this);\r\n\r\n this.getPositionCoutry = this.getPositionCoutry.bind(this);\r\n this.getPositionStateShipping = this.getPositionStateShipping.bind(this);\r\n this.viewOrder = this.viewOrder.bind(this);\r\n this.showMoreOrders = this.showMoreOrders.bind(this);\r\n this.searchTable = this.searchTable.bind(this);\r\n this.closeMoreOrders = this.closeMoreOrders.bind(this);\r\n\r\n this.handleOpenAddAddress = this.handleOpenAddAddress.bind(this);\r\n this.handleSubmitAddAddress = this.handleSubmitAddAddress.bind(this);\r\n this.handleCloseAddAddress = this.handleCloseAddAddress.bind(this);\r\n this.handleOpenModalSelectAddresses = this.handleOpenModalSelectAddresses.bind(this);\r\n this.handleCloseModalSelectAddresses = this.handleCloseModalSelectAddresses.bind(this);\r\n\r\n\r\n this.handleOpenModalSelectAddressesBilling = this.handleOpenModalSelectAddressesBilling.bind(this);\r\n this.handleOpenModalSelectAddressesShipping = this.handleOpenModalSelectAddressesShipping.bind(this);\r\n\r\n this.handleCloseModalSelectAddressesShipping = this.handleCloseModalSelectAddressesShipping.bind(this);\r\n this.handleCloseModalSelectAddressesShipping = this.handleCloseModalSelectAddressesShipping.bind(this);\r\n\r\n\r\n this.handleOpenAddAddressBilling = this.handleOpenAddAddressBilling.bind(this);\r\n this.handleCloseAddAddressBilling = this.handleCloseAddAddressBilling.bind(this);\r\n\r\n\r\n this.handleOpenAddAddressShipping = this.handleOpenAddAddressShipping.bind(this);\r\n this.handleCloseAddAddressShipping = this.handleCloseAddAddressShipping.bind(this);\r\n\r\n this.onUseThisAddress = this.onUseThisAddress.bind(this);\r\n this.handleOpenModalMyAccountUpdate = this.handleOpenModalMyAccountUpdate.bind(this);\r\n this.closeModalMyAccountUpdate = this.closeModalMyAccountUpdate.bind(this);\r\n \r\n this.handleOpenModalMyAccountUpdatePassword = this.handleOpenModalMyAccountUpdatePassword.bind(this);\r\n this.closeModalMyAccountUpdatePassword = this.closeModalMyAccountUpdatePassword.bind(this);\r\n\r\n this.handleSubmitUpdatePassword = this.handleSubmitUpdatePassword.bind(this);\r\n\r\n \r\n this.state = {\r\n listgetCountriesAndStates: [], listStatesBilling: [], listStatesShipping: [], apiOrders: [],\r\n responseDataUser: [],\r\n responseDataOrders: [],\r\n listClientAddresses: [],\r\n userContactInfo: [],\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n helperCommon.hideSectionErrorMessage();\r\n helperCommon.hideLoadingSection();\r\n\r\n myAccountRequests.getCountriesAndStates(this);\r\n myAccountRequests.getAddresses(this);\r\n myAccountRequests.getClient(this);\r\n myAccountRequests.getContact(this);\r\n myAccountRequests.getHystoryOrders(this);\r\n\r\n helperCommon.togglePasswordToText();\r\n helperCommon.toggleRePasswordToText();\r\n }\r\n\r\n onUseThisAddress(index, type) {\r\n if (type === 0) {\r\n let selectAddress = this.state.listClientAddressesBilling[index];\r\n myAccountRequests.setBillingAddress(userContactInfoRepositories.createByDefaultAdderssBody(selectAddress.id), this);\r\n this.setState({\r\n currentBillingAddress: selectAddress,\r\n });\r\n this.handleCloseModalSelectAddresses();\r\n } else if (type === 1) {\r\n let selectAddress = this.state.listClientAddressesBilling[index];\r\n myAccountRequests.setShippingAddress(userContactInfoRepositories.createByDefaultAdderssBody(selectAddress.id), this);\r\n this.setState({\r\n currentShippingAddress: selectAddress,\r\n });\r\n this.handleCloseModalSelectAddressesShipping();\r\n }\r\n }\r\n\r\n viewOrder(id, orderId) {\r\n console.log(orderId);\r\n window.open('/Report/Order?id=' + id + '&orderId=' + orderId, \"_blank\");\r\n }\r\n\r\n showMoreOrders() {\r\n let selectorsAll = document.querySelectorAll(\".hide-order\");\r\n var i;\r\n for (i = 0; i < selectorsAll.length; i++) {\r\n var element = selectorsAll[i];\r\n element.classList.remove(\"hide-order\");\r\n element.classList.add(\"active-order\");\r\n }\r\n let elementSeemore = document.getElementById(\"see-more\");\r\n if (elementSeemore) {\r\n elementSeemore.style.display = \"none\";\r\n }\r\n\r\n }\r\n\r\n closeMoreOrders() {\r\n let selectorsAll = document.querySelectorAll(\".active-order\");\r\n var i;\r\n for (i = 0; i < selectorsAll.length; i++) {\r\n var element = selectorsAll[i];\r\n element.classList.remove(\"active-order\");\r\n element.classList.add(\"hide-order\");\r\n }\r\n let elementSeemore = document.getElementById(\"see-more\");\r\n if (elementSeemore) {\r\n elementSeemore.style.display = \"block\";\r\n }\r\n }\r\n\r\n \r\n getPositionCoutry(countryId) {\r\n var position = -1;\r\n for (var i = 0; i < this.listgetCountriesAndStates.length; i++) {\r\n var item = this.listgetCountriesAndStates[i];\r\n if (item.id === countryId) {\r\n position = i;\r\n break;\r\n }\r\n }\r\n return position;\r\n }\r\n\r\n getPositionStateShipping(stateId, currentCountryIdPossion) {\r\n\r\n let currentCountry = this.listgetCountriesAndStates[currentCountryIdPossion];\r\n this.idCountryShipping = currentCountry.id;\r\n this.listStatesShipping = currentCountry.stateViews;\r\n this.setState({\r\n listStatesShipping: currentCountry.stateViews\r\n });\r\n\r\n var position = -1;\r\n for (var i = 0; i < this.listStatesShipping.length; i++) {\r\n var item = this.listStatesShipping[i];\r\n if (item.id === stateId) {\r\n position = i;\r\n break;\r\n }\r\n }\r\n return position;\r\n }\r\n\r\n getPositionStateBilling(stateId, currentCountryIdPossion) {\r\n\r\n let currentCountry = this.listgetCountriesAndStates[currentCountryIdPossion];\r\n this.idCountryBilling = currentCountry.id;\r\n this.listStatesBilling = currentCountry.stateViews;\r\n this.setState({\r\n listStatesBilling: currentCountry.stateViews\r\n });\r\n\r\n var position = -1;\r\n for (var i = 0; i < this.listStatesBilling.length; i++) {\r\n var item = this.listStatesBilling[i];\r\n if (item.id === stateId) {\r\n position = i;\r\n break;\r\n }\r\n }\r\n return position;\r\n }\r\n \r\n onChangeCoutryBilling(event) {\r\n var currentCountryIdPossion = document.getElementById(\"billing_adress_country\").value;\r\n if (currentCountryIdPossion) {\r\n let currentCountry = this.listgetCountriesAndStates[currentCountryIdPossion];\r\n this.idCountryBilling = currentCountry.id;\r\n this.listStates = currentCountry.stateViews;\r\n this.setState({\r\n listStates: currentCountry.stateViews\r\n });\r\n }\r\n }\r\n\r\n onChangeCoutryShipping(event) {\r\n var currentCountryIdPossion = document.getElementById(\"shipping_adress_country\").value;\r\n if (currentCountryIdPossion) {\r\n let currentCountry = this.listgetCountriesAndStates[currentCountryIdPossion];\r\n this.idCountryShipping = currentCountry.id;\r\n this.listStatesShipping = currentCountry.stateViews;\r\n this.setState({\r\n listStatesShipping: currentCountry.stateViews\r\n });\r\n }\r\n }\r\n\r\n onChangeProvinceShipping() {\r\n var currentStateIdPossion = document.getElementById(\"shipping_adress_province\").value;\r\n if (currentStateIdPossion) {\r\n let currentState = this.listStatesShipping[currentStateIdPossion];\r\n this.idStateShipping = currentState.id;\r\n }\r\n }\r\n\r\n onChangeProvinceBilling() {\r\n var currentStateIdPossion = document.getElementById(\"billing_adress_province\").value;\r\n if (currentStateIdPossion) {\r\n let currentState = this.listStates[currentStateIdPossion];\r\n this.idStateBilling = currentState.id;\r\n }\r\n }\r\n\r\n onClickOpenLogin(event) {\r\n window.location.replace(\"/login\");\r\n }\r\n\r\n checkValidation(e) {\r\n var validation = true;\r\n var form = e.target;\r\n form.classList.add(\"was-validated\");\r\n if (form.checkValidity() === false) {\r\n validation = false;\r\n }\r\n e.preventDefault();\r\n return validation;\r\n }\r\n\r\n handleSubmitAddAddress(e, numberTypeAddress) {\r\n let allInputs = e.target;\r\n helperCommon.hideSectionErrorMessage();\r\n\r\n if (this.checkValidation(e)) {\r\n let json = userContactInfoRepositories.createAddressBody(allInputs, numberTypeAddress, this.idCountryBilling, this.idStateBilling);\r\n myAccountRequests.createAddress(json, this);\r\n } else {\r\n console.log(\"checkValidation error:\");\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n e.preventDefault();\r\n }\r\n\r\n handleSubmitUpdatePassword(e) {\r\n let allInputs = e.target;\r\n helperCommon.hideSectionErrorMessage();\r\n\r\n if (this.checkValidation(e)) {\r\n let json = userAuthRepositories.createPasswordBody(allInputs);\r\n myAccountRequests.changePassword(json, this);\r\n } else {\r\n console.log(\"checkValidation error:\");\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n e.preventDefault();\r\n }\r\n\r\n handleSubmitMyAccountUpdate(e) {\r\n let allInputs = e.target;\r\n helperCommon.hideSectionErrorMessage();\r\n\r\n if (this.checkValidation(e)) {\r\n let jsonAccount = userContactInfoRepositories.createAccountBody(allInputs);\r\n myAccountRequests.updateAccount(jsonAccount, this);\r\n\r\n let jsonContact = userContactInfoRepositories.createContactBody(this.state.idPhone, this.state.phoneContactTypeId, allInputs);\r\n myAccountRequests.updateContact(jsonContact, this);\r\n\r\n \r\n } else {\r\n console.log(\"checkValidation error:\");\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n e.preventDefault();\r\n }\r\n\r\n copyBillingAddress(e) {\r\n if (this.listStatesBilling) {\r\n var billingAdress = document.querySelectorAll(\".billing-adress\");\r\n var shippingAdress = document.querySelectorAll(\".shipping-adress\");\r\n\r\n this.setState({\r\n listStatesShipping: this.listStatesBilling\r\n }, () => {\r\n try {\r\n for (var i = 0; i < billingAdress.length; i++) {\r\n var currentInput = billingAdress[i];\r\n shippingAdress[i].value = currentInput.value;\r\n }\r\n } catch (e) {\r\n console.log(\"copyBillingAddress \" + e.message + 'currentInput.id ' + currentInput.id);\r\n }\r\n });\r\n\r\n this.idCountryShipping = this.idCountryBilling;\r\n this.idStateShipping = this.idStateBilling;\r\n this.listStatesShipping = this.listStatesBilling;\r\n }\r\n\r\n }\r\n\r\n onValidateEmail(e) {\r\n if (e.target.value && e.target.id) {\r\n RegisterRequests.checkValidateEmail(e.target.value, e.target.id);\r\n }\r\n }\r\n\r\n searchTable() {\r\n\r\n var input, filter, table, tr, td, i, td1, td2;\r\n input = document.getElementById(\"searchOrder\");\r\n filter = input.value.toUpperCase();\r\n table = document.getElementById(\"myTable\");\r\n tr = table.getElementsByTagName(\"tr\");\r\n for (i = 0; i < tr.length; i++) {\r\n td = tr[i].getElementsByTagName(\"td\")[0];\r\n td1 = tr[i].getElementsByTagName(\"td\")[1];\r\n td2 = tr[i].getElementsByTagName(\"td\")[2];\r\n\r\n if (td || td1 || td2) {\r\n if ((td.innerHTML.toUpperCase().indexOf(filter) > -1)\r\n || (td1.innerHTML.toUpperCase().indexOf(filter) > -1)\r\n || (td2.innerHTML.toUpperCase().indexOf(filter) > -1)) { \r\n tr[i].style.display = \"\";\r\n } else {\r\n tr[i].style.display = \"none\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n handleOpenModalMyAccountUpdatePassword(e) {\r\n this.setState({ showModalMyAccountUpdatePassword: true });\r\n e.stopPropagation();\r\n }\r\n\r\n closeModalMyAccountUpdatePassword(e) {\r\n this.setState({ showModalMyAccountUpdatePassword: false });\r\n e.stopPropagation();\r\n\r\n }\r\n\r\n handleOpenModalMyAccountUpdate(e) {\r\n this.setState({ showModalMyAccountUpdate: true });\r\n e.stopPropagation();\r\n }\r\n\r\n closeModalMyAccountUpdate(e) {\r\n this.setState({ showModalMyAccountUpdate: false });\r\n e.stopPropagation();\r\n }\r\n\r\n\r\n handleOpenModalSelectAddressesBilling() {\r\n this.setState({ showModalSelectAddresses: true });\r\n }\r\n\r\n handleOpenModalSelectAddressesShipping() {\r\n this.setState({ showModalSelectAddressesShipping: true });\r\n }\r\n\r\n\r\n handleCloseModalSelectAddressesShipping() {\r\n this.setState({ showModalSelectAddressesShipping: false });\r\n }\r\n\r\n\r\n\r\n handleOpenAddAddressBilling() {\r\n this.setState({ showModalhandleOpenAddAddressBilling: true });\r\n }\r\n\r\n handleCloseAddAddressBilling() {\r\n this.setState({ showModalhandleOpenAddAddressBilling: false });\r\n }\r\n\r\n\r\n handleOpenAddAddressShipping() {\r\n this.setState({ showModalhandleOpenAddAddressShipping: true });\r\n }\r\n\r\n handleCloseAddAddressShipping() {\r\n this.setState({ showModalhandleOpenAddAddressShipping: false });\r\n }\r\n\r\n\r\n handleOpenAddAddress() {\r\n this.setState({ showModalhandleOpenAddAddress: true });\r\n }\r\n\r\n handleCloseAddAddress() {\r\n this.setState({ showModalhandleOpenAddAddress: false });\r\n }\r\n\r\n handleOpenModalSelectAddresses() {\r\n this.setState({ showModalSelectAddresses: true });\r\n }\r\n\r\n handleCloseModalSelectAddresses() {\r\n this.setState({ showModalSelectAddresses: false });\r\n }\r\n\r\n handleChange(evt) {\r\n const value = evt.target.value;\r\n this.setState({\r\n [evt.target.name]: value\r\n });\r\n }\r\n\r\n render() {\r\n const listClientAddressesBilling = this.state.listClientAddressesBilling;\r\n const listClientAddressesShipping = this.state.listClientAddressesShipping;\r\n\r\n const customStyles = {\r\n content: {\r\n top: '50%',\r\n left: '50%',\r\n right: 'auto',\r\n bottom: 'auto',\r\n marginRight: '-50%',\r\n width: '50%',\r\n height: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n },\r\n }\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

Account: {this.state.responseDataUser.businessName}

\r\n \r\n
\r\n {this.state.userEmail}\r\n   |  \r\n \r\n Update Password\r\n \r\n \r\n   |  \r\n \r\n Update Account\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n

Addresses

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

Billing Address

\r\n
\r\n

\r\n {this.state.currentBillingAddress && this.state.currentBillingAddress.street}
\r\n {this.state.currentBillingAddress && this.state.currentBillingAddress.city + \", \" + this.state.currentBillingAddress.stateName}
\r\n {this.state.currentBillingAddress && this.state.currentBillingAddress.countryName + \", \" + this.state.currentBillingAddress.postCode}\r\n

\r\n
\r\n\r\n
\r\n
Change Address
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n

Shipping Address

\r\n
\r\n

\r\n {this.state.currentShippingAddress && this.state.currentShippingAddress.street}
\r\n {this.state.currentShippingAddress && this.state.currentShippingAddress.city + \", \" + this.state.currentShippingAddress.stateName}
\r\n {this.state.currentShippingAddress && this.state.currentShippingAddress.countryName + \", \" + this.state.currentShippingAddress.postCode}\r\n

\r\n
\r\n\r\n\r\n
\r\n
Change Address
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n {this.state.responseDataOrders.length > 0 &&\r\n
\r\n
\r\n

Orders

\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {this.state.responseDataOrders.map((item, index) => (\r\n 5 ? \"hide-order\" : ''}>\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
OrderDateTotalView
{'#' + item.id} { item.creationDate }{\"$\" + item.total} this.viewOrder(item['id'], item['orderId'])}>VIEW ORDER
\r\n\r\n
\r\n \r\n See More\r\n \r\n \r\n Less\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","import React, { Component } from 'react';\r\nimport './css/CartRequestQuote.css';\r\n\r\nimport Footer from './Footer';\r\nimport { Header } from './Header';\r\n\r\nexport class PrivacyPolicy extends Component {\r\n static displayName = PrivacyPolicy.name;\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \"jenkins\r\n
\r\n
\r\n

Privacy Policy

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

This privacy policy has been compiled to better serve those who are concerned with how their ‘Personally identifiable information’ (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.

\r\n\r\n

What personal information do we collect from the people that visit our blog, website or app?

\r\n

When ordering or registering on our site, as appropriate, you may be asked to enter your name, email address, mailing address, phone number, credit card information or other details to help you with your experience.

\r\n\r\n

When do we collect information?

\r\n

We collect information from you when you register on our site, place an order, subscribe to a newsletter, respond to a survey, fill out a form, Use Live Chat or enter information on our site.

\r\n

Provide us with feedback on our products or services

\r\n\r\n

How do we use your information?

\r\n

We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:

\r\n
    \r\n
  • To personalize user’s experience and to allow us to deliver the type of content and product offerings in which you are most interested.
  • \r\n
  • To improve our website in order to better serve you.
  • \r\n
  • To allow us to better service you in responding to your customer service requests.
  • \r\n
  • To quickly process your transactions.
  • \r\n
  • To ask for ratings and reviews of services or products
  • \r\n
  • To follow up with them after correspondence (live chat, email or phone inquiries)
  • \r\n
\r\n\r\n

How do we protect visitor information?

\r\n

We do not use vulnerability scanning and/or scanning to PCI standards.

\r\n

We do collect credit card information but we didn’t know we needed security scans.

\r\n

We use regular Malware Scanning.

\r\n

Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.

\r\n

We implement a variety of security measures when a user places an order enters, submits, or accesses their information to maintain the safety of your personal information.

\r\n

All transactions are processed through a gateway provider and are not stored or processed on our servers.

\r\n\r\n

Do we use ‘cookies’?

\r\n

Yes. Cookies are small files that a site or its service provider transfers to your computer’s hard drive through your Web browser (if you allow) that enables the site’s or service provider’s systems to recognize your browser and capture and remember certain information. For instance, we use cookies to help us remember and process the items in your shopping cart. They are also used to help us understand your preferences based on previous or current site activity, which enables us to provide you with improved services. We also use cookies to help us compile aggregate data about site traffic and site interaction so that we can offer better site experiences and tools in the future.

\r\n\r\n

We use cookies to:

\r\n
    \r\n
  • Help remember and process the items in the shopping cart.
  • \r\n
  • Understand and save user’s preferences for future visits.
  • \r\n
  • Compile aggregate data about site traffic and site interactions in order to offer better site experiences and tools in the future. We may also use trusted third-party services that track this information on our behalf.
  • \r\n
\r\n

You can choose to have your computer warn you each time a cookie is being sent, or you can choose to turn off all cookies. You do this through your browser (like Internet Explorer) settings. Each browser is a little different, so look at your browser’s Help menu to learn the correct way to modify your cookies.

\r\n

If you disable cookies off, some features will be disabled It won’t affect the user’s experience that make your site experience more efficient and some of our services will not function properly.

\r\n

However, you can still place orders.

\r\n\r\n

Third - party disclosure

\r\n

We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information unless we provide users with advance notice. This does not include website hosting partners and other parties who assist us in operating our website, conducting our business, or serving our users, so long as those parties agree to keep this information confidential. We may also release information when it’s release is appropriate to comply with the law, enforce our site policies, or protect ours or others’ rights, property, or safety.

\r\n

However, non-personally identifiable visitor information may be provided to other parties for marketing, advertising, or other uses.

\r\n\r\n

Third-party links

\r\n

We do not include or offer third-party products or services on our website.

\r\n\r\n

Google

\r\n

Google’s advertising requirements can be summed up by Google’s Advertising Principles. They are put in place to provide a positive experience for users. https://support.google.com/adwordspolicy/answer/1316548?hl=en

\r\n

We use Google AdSense Advertising on our website.

\r\n

Google, as a third-party vendor, uses cookies to serve ads on our site. Google’s use of the DART cookie enables it to serve ads to our users based on previous visits to our site and other sites on the Internet. Users may opt-out of the use of the DART cookie by visiting the Google Ad and Content Network privacy policy.

\r\n\r\n

We have implemented the following:

\r\n
    \r\n
  • Remarketing with Google AdSense
  • \r\n
  • Google Display Network Impression Reporting
  • \r\n
  • Demographics and Interests Reporting
  • \r\n
\r\n

We along with third-party vendors, such as Google use first-party cookies (such as the Google Analytics cookies) and third-party cookies (such as the DoubleClick cookie) or other third-party identifiers together to compile data regarding user interactions with ad impressions and other ad service functions as they relate to our website.

\r\n

Opting out: Users can set preferences for how Google advertises to you using the Google Ad Settings page. Alternatively, you can opt out by visiting the Network Advertising initiative opt out page or permanently using the Google Analytics Opt Out Browser add on.

\r\n\r\n

California Online Privacy Protection Act

\r\n

CalOPPA is the first state law in the nation to require commercial websites and online services to post a privacy policy. The law’s reach stretches well beyond California to require a person or company in the United States (and conceivably the world) that operates websites collecting personally identifiable information from California consumers to post a conspicuous privacy policy on its website stating exactly the information being collected and those individuals with whom it is being shared, and to comply with this policy. – See more at: https://consumercal.org/california-online-privacy-protection-act-caloppa/#sthash.0FdRbT51.dpuf

\r\n\r\n

According to CalOPPA we agree to the following:

\r\n

Users can visit our site anonymously.

\r\n

Once this privacy policy is created, we will add a link to it on our home page or as a minimum on the first significant page after entering our website.

\r\n

Our Privacy Policy link includes the word ‘Privacy’ and can be easily be found on the page specified above.

\r\n

Users will be notified of any privacy policy changes:

\r\n

On our Privacy Policy Page

\r\n

Users are able to change their personal information:

\r\n
    \r\n
  • By emailing us
  • \r\n
  • By calling us
  • \r\n
  • By chatting with us or sending us a ticket
  • \r\n
\r\n\r\n

How does our site handle do not track signals?

\r\n

We honour do not track signals and do not track, plant cookies, or use advertising when a Do Not Track (DNT) browser mechanism is in place.

\r\n\r\n

Does our site allow third-party behavioural tracking?

\r\n

It’s also important to note that we do not allow third-party behavioural tracking

\r\n\r\n

COPPA (Children Online Privacy Protection Act)

\r\n

When it comes to the collection of personal information from children under 13, the Children’s Online Privacy Protection Act (COPPA) puts parents in control. The Federal Trade Commission, the nation’s consumer protection agency, enforces the COPPA Rule, which spells out what operators of websites and online services must do to protect children’s privacy and safety online.

\r\n

We do not specifically market to children under 13.

\r\n\r\n

Fair Information Practices

\r\n

The Fair Information Practices Principles form the backbone of privacy law in the United States and the concepts they include have played a significant role in the development of data protection laws around the globe. Understanding the Fair Information Practice Principles and how they should be implemented is critical to comply with the various privacy laws that protect personal information.

\r\n

In order to be in line with Fair Information Practices we will take the following responsive action, should a data breach occur:

\r\n\r\n

We will notify the users via email within 7 business days

\r\n

We will notify the users via in-site notification within 7 business days

\r\n

We also agree to the Individual Redress Principle, which requires that individuals have a right to pursue legally enforceable rights against data collectors and processors who fail to adhere to the law. This principle requires not only that individuals have enforceable rights against data users, but also that individuals have recourse to courts or government agencies to investigate and/or prosecute non-compliance by data processors.

\r\n\r\n

CAN SPAM Act

\r\n

The CAN-SPAM Act is a law that sets the rules for commercial email, establishes requirements for commercial messages, gives recipients the right to have emails stopped from being sent to them, and spells out tough penalties for violations.

\r\n

We collect your email address in order to:

\r\n

To be in accordance with CANSPAM we agree to the following:

\r\n

If at any time you would like to unsubscribe from receiving future emails, you can email us at info@jenkinsiron.com and we will promptly remove you from ALL correspondence.

\r\n\r\n

Contacting Us

\r\n

If there are any questions regarding this privacy policy you may contact us using the information below.

\r\n

22401 County 36
Long Prairie, MN 56347
1-855-732-3843

\r\n

https://jenkinsironandsteel.com/contact

\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport Footer from './Footer';\r\nimport { Header } from './Header';\r\n\r\nexport class AccountComfirmed extends Component {\r\n static displayName = AccountComfirmed.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n }\r\n\r\n handleSubmit(e) {\r\n this.props.history.push({\r\n pathname: '/login',\r\n });\r\n }\r\n\r\n render() {\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Account Confirmed

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

Your account was successfully created!

\r\n

Please login to continue.

\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n}\r\n\r\n\r\n","import ProductsNetwork from '../network/ProductsNetwork';\r\nimport CommonNetwork from '../network/CommonNetwork';\r\nimport UserAccountNetwork from '../network/UserAccountNetwork';\r\n\r\nconst BrochureRequests = {\r\n async getProductsForBrochure(context) {\r\n try {\r\n let response = await ProductsNetwork.getProductsForBrochure(context);\r\n\r\n context.setState({\r\n products: response.body,\r\n }, () => {\r\n //window.print()\r\n })\r\n\r\n } catch (e) {\r\n console.log(\"getProductsForBrochure \" + e.message);\r\n }\r\n\r\n },\r\n async getHost(context) {\r\n try {\r\n let response = await CommonNetwork.getHost(context);\r\n context.setState({\r\n host: response.body\r\n });\r\n this.getProductsForBrochure(context);\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"getHost \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async GetProductsByClientGroupForBrochure(idClient, context) {\r\n try {\r\n let response = await UserAccountNetwork.GetProductsByClientGroupForBrochure(idClient, context);\r\n\r\n context.setState({\r\n products: response.body,\r\n }, () => {\r\n //window.print()\r\n })\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"GetProductsByClientGroupForBrochure \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async getHostByClientGroupForBrochure(idClient, context) {\r\n try {\r\n let response = await CommonNetwork.getHost(context);\r\n context.setState({\r\n host: response.body\r\n });\r\n this.GetProductsByClientGroupForBrochure(idClient, context);\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"getHost \" + e.message);\r\n }\r\n return false;\r\n },\r\n}\r\n\r\nexport default BrochureRequests;","import React, { Component } from 'react';\r\nimport './css/Brochure.css';\r\nimport BrochureRequests from './requests/BrochureRequests';\r\n\r\nexport class Brochure extends Component {\r\n static displayName = Brochure.name;\r\n static countImages = 0;\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n products: [],\r\n };\r\n this.countImages = 0;\r\n }\r\n\r\n handleImageLoaded() {\r\n this.countImages++;\r\n let products = this.state.products;\r\n if (products.length === this.countImages) {\r\n window.print();\r\n }\r\n \r\n }\r\n\r\n componentDidMount() {\r\n BrochureRequests.getHost(this);\r\n }\r\n\r\n render() {\r\n const products = this.state.products;\r\n const host = this.state.host;\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
\r\n \"brochure\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"Jenkins\r\n
\r\n
\r\n

Jenkins Iron and Steel

\r\n

American made, commercial grade skid steer attachments

\r\n \"tire\r\n
\r\n
\r\n
\r\n\r\n
\r\n {products.map((product, index) => (\r\n
\r\n
\r\n \"\"\r\n\r\n
\r\n\r\n
\r\n

{product.name}

\r\n
    \r\n {product.features.map((feature, index) => (\r\n
  • \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n \r\n {product.optionGroups.map((optionGroup, index) => (\r\n <>\r\n {optionGroup.options.map((option) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n ))}\r\n
{option.optionType.name}${option.priceOptions.length > 0 ? option.priceOptions[0].value : 0.00}
\r\n
\r\n
\r\n ))}\r\n
\r\n\r\n
\r\n
DESIGNED BY FARMERS FOR FARMERS
\r\n
\r\n
\r\n DISTRIBUTED BY\r\n \"Thunderstruck\r\n
\r\n
info@thunderstrucksales.com
\r\n
thunderstruckag.com
\r\n
1 855 752-5525
\r\n
\r\n \"tire\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n );\r\n }\r\n}","import UserContactInfoNetwork from '../network/UserContactInfoNetwork';\r\nimport helperSession from '../HelperSession';\r\nimport UserAccountNetwork from '../network/UserAccountNetwork';\r\nimport UserShoppingNetwork from '../network/UserShoppingNetwork';\r\nimport helperCart from '../HelperCart';\r\nimport UserAuthNetwork from '../network/UserAuthNetwork';\r\nimport UserAuthRepositories from '../repositories/UserAuthRepositories';\r\nimport UserShioppingRepositories from '../repositories/UserShioppingRepositories';\r\n\r\nconst CartRequestQuoteCompleteRequests = {\r\n\r\n async getCountriesAndStates(context) {\r\n\r\n UserContactInfoNetwork.getCountriesAndStates(context);\r\n },\r\n\r\n async reguestCreateAccount(allInputs, context) {\r\n\r\n try {\r\n let json = UserAuthRepositories.createAccountBodyComplete(allInputs, context);\r\n let response = await UserAccountNetwork.createAccount(json, context);\r\n if (response) {\r\n CartRequestQuoteCompleteRequests.login(allInputs, context);\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } catch (e) {\r\n console.log(\"reguestCreateAccount \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n\r\n async reguestCreateOrder(dataJson, context) {\r\n\r\n try {\r\n let response = await UserShoppingNetwork.reguestCreateOrder(dataJson, context);\r\n if (response) {\r\n helperSession.cleanCart();\r\n context.sendMessage(\"Thank You for your order. One of our representatives will reach out shortly to confirm all details and payment information.\");\r\n\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n\r\n } catch (e) {\r\n console.log(\"reguestCreateQuote \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async getOptionsFromQuote(quoteId, customerId, context) {\r\n\r\n try {\r\n let response = await UserShoppingNetwork.getOptionsFromQuote(quoteId, customerId, context);\r\n \r\n let listItems = response.body.quoteOptions;\r\n var listProducts = [];\r\n var tempProductId = \"\";\r\n var itemOptions = [];\r\n\r\n for (var i = 0; i < listItems.length; i++) {\r\n let element = listItems[i]; \r\n itemOptions.push({ typeId: element.optionTypeId, typeName: element.optionGruopName, valueId: element.optionId, valueName: element.optionTypeName });\r\n\r\n if (element.productId.toString() !== tempProductId.toString()) {\r\n var itemProduct = { idProduct: \"\", nameProduct: \"\", price: '', quantity: '', total: 0, listOptions: itemOptions };\r\n\r\n itemProduct.idProduct = element.productId;\r\n itemProduct.nameProduct = element.productName;\r\n itemProduct.price = '' + element.price;\r\n itemProduct.quantity = '' + element.quantity;\r\n itemProduct.total = itemProduct.price * itemProduct.quantity;\r\n\r\n listProducts.push(itemProduct);\r\n helperCart.addProductToCart(itemProduct)\r\n } else {\r\n itemOptions = [];\r\n }\r\n }\r\n context.setState({\r\n listProductCart: helperCart.getCart()\r\n });\r\n return listProducts;\r\n\r\n } catch (e) {\r\n console.log(\"getOptionsFromQuote \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async login(allInputs, context) {\r\n\r\n try {\r\n let json = UserAuthRepositories.createUser(allInputs);\r\n let response = await UserAuthNetwork.login(json, context);\r\n\r\n helperSession.setToken('token', response.token, response.expiration);\r\n this.getAddresses(allInputs, context);\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"login \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n async getAddresses(allInputs, context) {\r\n\r\n try {\r\n let response = await UserContactInfoNetwork.getAddresses(context);\r\n\r\n let shipping = response.body.find(a => a.shipping);\r\n let billing = response.body.find(a => a.billing);\r\n\r\n context.setState({\r\n listClientAddressesBilling: response.body,\r\n listClientAddressesShipping: response.body,\r\n currentBillingAddress: billing,\r\n currentShippingAddress: shipping\r\n\r\n });\r\n\r\n let json = UserShioppingRepositories.createOredrBody(allInputs, context);\r\n\r\n CartRequestQuoteCompleteRequests.reguestCreateOrder(json, context);\r\n return true;\r\n\r\n } catch (e) {\r\n console.log(\"getAddresses \" + e.message);\r\n }\r\n return false;\r\n },\r\n\r\n}\r\n\r\nexport default CartRequestQuoteCompleteRequests;","import React, { Component } from 'react';\r\nimport './css/CartCheckOut.css';\r\nimport './css/CartRequestQuote.css';\r\nimport helperCart from './HelperCart';\r\nimport CartItem from './CartItem';\r\nimport { CartTotal } from './CartTotal';\r\nimport Footer from './Footer';\r\nimport { Header } from './Header';\r\nimport helperCommon from './HelperCommon';\r\nimport cartCheckOutRequests from './requests/CartCheckOutRequests';\r\nimport CartRequestQuoteCompleteRequests from './requests/CartRequestQuoteCompleteRequests';\r\n\r\n\r\nexport class CartRequestQuoteComplete extends Component {\r\n static displayName = CartRequestQuoteComplete.name;\r\n\r\n static listgetCountriesAndStates = [];\r\n static listStatesBilling = [];\r\n static listStatesShipping = [];\r\n\r\n static idCountryShipping;\r\n static idCountryBilling;\r\n static idStateShipping;\r\n static idStateBilling;\r\n static quoteId;\r\n static customerId;\r\n\r\n\r\n constructor(props) {\r\n super(props);\r\n document.title = \"Cart Quote\";\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.onChangeCoutryBilling = this.onChangeCoutryBilling.bind(this);\r\n this.onChangeCoutryShipping = this.onChangeCoutryShipping.bind(this);\r\n this.onChangeProvinceShipping = this.onChangeProvinceShipping.bind(this);\r\n this.onChangeProvinceBilling = this.onChangeProvinceBilling.bind(this);\r\n\r\n this.state = {\r\n listProductCart: [],\r\n logined: true,\r\n listgetCountriesAndStates: [],\r\n listStatesBilling: [],\r\n listStatesShipping: [],\r\n billingStateId: \"\",\r\n currentBillingAddress: [],\r\n currentShippingAddress: [],\r\n responseQuote: [],\r\n };\r\n\r\n this.state.listProductCart = helperCart.getCart();\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n\r\n this.state = {\r\n showModalSelectAddresses: false,\r\n showModalSelectAddressesShipping: false,\r\n };\r\n\r\n this.sendMessage = this.sendMessage.bind(this);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n helperCommon.hideSectionErrorMessage();\r\n helperCommon.hideLoadingSection();\r\n cartCheckOutRequests.getCountriesAndStates(this);\r\n\r\n\r\n let url = new URL(window.location.href);\r\n this.quoteId = url.searchParams.get(\"QuoteId\");\r\n this.customerId = url.searchParams.get(\"CustomerId\");\r\n let email = url.searchParams.get(\"Email\");\r\n\r\n this.setState({\r\n email: email\r\n });\r\n CartRequestQuoteCompleteRequests.getOptionsFromQuote(this.quoteId, this.customerId, this);\r\n helperCommon.togglePasswordToText();\r\n helperCommon.toggleRePasswordToText();\r\n \r\n }\r\n\r\n componentDidUpdate() {\r\n helperCart.calculeteTotal();\r\n }\r\n\r\n sendMessage(message) {\r\n this.props.history.push({\r\n pathname: '/cart/thank-you',\r\n state: {\r\n message: message\r\n }\r\n });\r\n }\r\n\r\n onChangeCoutryBilling(event) {\r\n var currentCountryIdPossion = document.getElementById(\"billing_adress_country\").value;\r\n if (currentCountryIdPossion) {\r\n let currentCountry = this.listgetCountriesAndStates[currentCountryIdPossion];\r\n this.idCountryBilling = currentCountry.id;\r\n this.listStatesBilling = currentCountry.stateViews;\r\n this.setState({\r\n listStatesBilling: currentCountry.stateViews\r\n });\r\n }\r\n }\r\n\r\n onChangeCoutryShipping(event) {\r\n var currentCountryIdPossion = document.getElementById(\"shipping_adress_country\").value;\r\n if (currentCountryIdPossion) {\r\n let currentCountry = this.listgetCountriesAndStates[currentCountryIdPossion];\r\n this.idCountryShipping = currentCountry.id;\r\n this.listStatesShipping = currentCountry.stateViews;\r\n this.setState({\r\n listStatesShipping: currentCountry.stateViews\r\n });\r\n }\r\n }\r\n\r\n\r\n onChangeProvinceShipping() {\r\n var currentStateIdPossion = document.getElementById(\"shipping_adress_province\").value;\r\n if (currentStateIdPossion) {\r\n let currentState = this.listStatesShipping[currentStateIdPossion];\r\n this.idStateShipping = currentState.id;\r\n }\r\n }\r\n\r\n onChangeProvinceBilling() {\r\n var currentStateIdPossion = document.getElementById(\"billing_adress_province\").value;\r\n if (currentStateIdPossion) {\r\n let currentState = this.listStatesBilling[currentStateIdPossion];\r\n this.idStateBilling = currentState.id;\r\n }\r\n }\r\n\r\n\r\n checkValidation(e) {\r\n var validation = true;\r\n var form = e.target;\r\n form.classList.add(\"was-validated\");\r\n if (form.checkValidity() === false) {\r\n validation = false;\r\n }\r\n var password = document.getElementById(\"password\");\r\n var confirmPassword = document.getElementById(\"confirm_password\");\r\n if (password.value !== confirmPassword.value) {\r\n validation = false;\r\n confirmPassword.value = \"\";\r\n }\r\n e.preventDefault();\r\n return validation;\r\n }\r\n\r\n handleSubmit(e) {\r\n let allInputs = e.target;\r\n helperCommon.displayLoadingSection();\r\n helperCommon.hideSectionErrorMessage();\r\n\r\n if (this.checkValidation(e)) {\r\n if (CartRequestQuoteCompleteRequests.reguestCreateAccount(allInputs, this)) {\r\n\r\n \r\n } else {\r\n console.log(\"checkValidation error:\");\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n\r\n\r\n } else {\r\n console.log(\"checkValidation error:\");\r\n helperCommon.displaySectionMessage('', true);\r\n }\r\n e.preventDefault();\r\n }\r\n\r\n\r\n handleChange(evt) {\r\n const value = evt.target.value;\r\n this.setState({\r\n [evt.target.name]: value\r\n });\r\n }\r\n\r\n render() {\r\n const listProductCart = this.state.listProductCart;\r\n\r\n const listgetCountriesAndStates = this.state.listgetCountriesAndStates;\r\n const listStatesBilling = this.state.listStatesBilling;\r\n const listStatesShipping = this.state.listStatesShipping;\r\n\r\n return (\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Order Confirmation

\r\n
\r\n

Thank you for placing your order with Jenkins Iron & Steel. Below is your order as well as shipping and billing address.

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

Addresses

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

Billing Address

\r\n
\r\n
\r\n \r\n this.billing_adress_street_address = billing_adress_street_address} />\r\n
\r\n\r\n
\r\n
\r\n \r\n this.billing_adress_city = billing_adress_city} />\r\n
\r\n
\r\n \r\n this.billing_adress_postal_code = billing_adress_postal_code} />\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

Shipping Address

\r\n
\r\n
\r\n \r\n this.shipping_adress_street_address = shipping_adress_street_address} />\r\n
\r\n\r\n
\r\n
\r\n City\r\n this.shipping_adress_city = shipping_adress_city} />\r\n
\r\n
\r\n Postal Code\r\n this.shipping_adress_postal_code = shipping_adress_postal_code} />\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

Account Login

\r\n\r\n
\r\n \r\n this.username = username} disabled />\r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n this.order_no = password} />\r\n \r\n
\r\n this field is required\r\n
\r\n
\r\n\r\n
\r\n \r\n this.order_no = confirm_password} />\r\n \r\n
\r\n passwords do not match\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n

Order Information

\r\n\r\n
\r\n
\r\n \r\n this.order_email_address = order_email_address} />\r\n
\r\n
\r\n \r\n this.order_no = order_no} />\r\n
\r\n
\r\n\r\n\r\n\r\n

Order Summary

\r\n\r\n {listProductCart && listProductCart.length > 0 &&\r\n listProductCart.map((item, index) => (\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

Current lead time on attachments1 Week & 1 Day

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

Your order will remain in your cart until you finalize or make changes to it. Once you finalize your order, you will receive confirmation from our sales staff. Full invoices will be available in Your Account shortly after initializing.

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

Additional Comments

\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n By placing this order, I confirm that all information above is accurate, and I am responsible for any incorrect information\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\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport './css/Page404.css';\r\n\r\n\r\nexport class Page404 extends Component {\r\n static displayName = Page404.name;\r\n\r\n \r\n componentDidMount() {\r\n\r\n window.location.replace('/pageNotFound/');\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n );\r\n }\r\n}","\r\nimport React, { Component } from 'react';\r\nimport './css/Brochure.css';\r\nimport BrochureRequests from './requests/BrochureRequests';\r\n\r\nexport class BrochureByClient extends Component {\r\n static displayName = BrochureByClient.name;\r\n static countImages = 0;\r\n static id_client = -1;\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n products: [],\r\n };\r\n this.countImages = 0;\r\n\r\n let arrayLink = window.location.href.split(\"/\");\r\n if (arrayLink) {\r\n this.id_client = arrayLink[arrayLink.length - 1];\r\n } else {\r\n console.log('arrayLink failed (constructor)');\r\n }\r\n }\r\n\r\n handleImageLoaded() {\r\n this.countImages++;\r\n let products = this.state.products;\r\n if (products.length === this.countImages) {\r\n window.print();\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n BrochureRequests.getHostByClientGroupForBrochure(this.id_client, this);\r\n }\r\n\r\n render() {\r\n const products = this.state.products;\r\n const host = this.state.host;\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
\r\n \"brochure\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"Jenkins\r\n
\r\n
\r\n

Jenkins Iron and Steel

\r\n

American made, commercial grade skid steer attachments

\r\n \"tire\r\n
\r\n
\r\n
\r\n\r\n
\r\n {products.map((product, index) => (\r\n
\r\n
\r\n \"\"\r\n\r\n
\r\n\r\n
\r\n

{product.name}

\r\n
    \r\n {product.features.map((feature, index) => (\r\n
  • \r\n ))}\r\n
\r\n
\r\n\r\n
\r\n \r\n {product.optionGroups.map((optionGroup, index) => (\r\n <>\r\n {optionGroup.options.map((option) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n ))}\r\n
{option.optionType.name}${option.priceOptions.length > 0? option.priceOptions[0].value : 0.00}
\r\n
\r\n
\r\n ))}\r\n
\r\n\r\n
\r\n
DESIGNED BY FARMERS FOR FARMERS
\r\n
\r\n
\r\n DISTRIBUTED BY\r\n \"Thunderstruck\r\n
\r\n
info@thunderstrucksales.com
\r\n
thunderstruckag.com
\r\n
1 855 752-5525
\r\n
\r\n \"tire\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { Header } from './Header';\r\nimport Footer from './Footer';\r\n\r\n\r\nexport class ProductNoLonger extends Component {\r\n static isMobile = false;\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\r\n }\r\n\r\n render() {\r\n\r\n const twitter = 'https://twitter.com/JenkinsIron';\r\n const youtube = 'https://www.youtube.com/channel/UCs16D1Lw49IuCRwJrJdQLvQ';\r\n const instagram = 'https://www.instagram.com/jenkinsironandsteel/';\r\n const facebook = 'https://www.facebook.com/JenkinsIronandSteel';\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Product No Longer Exists

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

One or more product in quote Is no longer available, please contact a sales rep for more info

\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}","import React, { Component } from 'react';\r\nimport { Route } from 'react-router';\r\nimport { Layout } from './components/Layout';\r\nimport { Home } from './components/Home';\r\nimport { AboutUs } from './components/AboutUs';\r\nimport { Product } from './components/Product';\r\nimport { ContactUs } from './components/ContactUs';\r\nimport { ProductList } from './components/ProductList';\r\nimport { CartRequestQuote } from './components/CartRequestQuote';\r\nimport { CartCheckOut } from './components/CartCheckOut';\r\nimport { Login } from './components/Login';\r\nimport { Register } from './components/Register';\r\nimport { LostPassword } from './components/LostPassword';\r\nimport { ResetPassword } from './components/ResetPassword';\r\nimport { ConfirmUser } from './components/ConfirmUser';\r\nimport { ThankYou } from './components/ThankYou';\r\nimport { CartIsEmpty } from './components/CartIsEmpty';\r\nimport { MyAccount } from './components/MyAccount';\r\nimport { PrivacyPolicy } from './components/PrivacyPolicy';\r\nimport { AccountComfirmed } from './components/AccountComfirmed';\r\nimport { Brochure } from './components/Brochure';\r\nimport { CartRequestQuoteComplete } from './components/CartRequestQuoteComplete';\r\nimport { Page404 } from './components/404';\r\nimport { Redirect, Switch } from 'react-router-dom';\r\nimport './custom.css'\r\nimport TagManager from 'react-gtm-module'\r\nimport { BrochureByClient } from './components/BrochureByClient';\r\nimport { ProductNoLonger } from './components/ProductNoLonger';\r\n\r\n\r\n\r\nexport default class App extends Component {\r\n static displayName = App.name;\r\n //GTM-NZQ54F7 PRODUCTION\r\n //GTM-5T3R6CS QA\r\n componentDidMount() {\r\n const tagManagerArgs = {\r\n gtmId: 'GTM-NZQ54F7'\r\n }\r\n TagManager.initialize(tagManagerArgs);\r\n }\r\n\r\n render() {\r\n TagManager.dataLayer({\r\n dataLayer: {\r\n event: 'gtm.historyChange',\r\n },\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 \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\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\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\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\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}","// In production, we register a service worker to serve assets from local cache.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on the \"N+1\" visit to a page, since previously\r\n// cached resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\r\n// This link also includes instructions on opting out of this behavior.\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport default function register () {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Lets check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl);\r\n } else {\r\n // Is not local host. Just register service worker\r\n registerValidSW(swUrl);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW (swUrl) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the old content will have been purged and\r\n // the fresh content will have been added to the cache.\r\n // It's the perfect time to display a \"New content is\r\n // available; please refresh.\" message in your web app.\r\n console.log('New content is available; please refresh.');\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker (swUrl) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n if (\r\n response.status === 404 ||\r\n response.headers.get('content-type').indexOf('javascript') === -1\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister () {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import 'bootstrap/dist/css/bootstrap.css';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport App from './App';\r\nimport registerServiceWorker from './registerServiceWorker';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href');\r\nconst rootElement = document.getElementById('root');\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n rootElement);\r\n\r\n//registerServiceWorker();\r\n\r\n//index page is Route exact path.\r\n if (window.location.href.includes('index')) {\r\n registerServiceWorker();\r\n } else {\r\n unregisterAndReload();\r\n }\r\n\r\nfunction unregisterAndReload() {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n}"],"sourceRoot":""}