{"version":3,"sources":["webpack:///./../../Deploy/PWS/ViewModels/Products.js","webpack:///./../../Deploy/PWS/ViewModels/Components/ProductBrowse/ProductBrowse.js","webpack:///./../../Deploy/PWS/ViewModels/Components/ProductBrowse/ProductBrowseActions.js","webpack:///./../../Deploy/PWS/ViewModels/Components/ProductBrowse/ProductBrowseStore.js","webpack:///./../../Deploy/PWS/ViewModels/Components/ProductBrowse/CategoryArea.js","webpack:///./../../Deploy/PWS/ViewModels/Components/ProductBrowse/CategoryAccordion.js","webpack:///./../../Deploy/PWS/ViewModels/Components/ProductBrowse/CategorySelectBlock.js","webpack:///./../../Deploy/PWS/ViewModels/Components/ProductBrowse/CategoryDropdown.js","webpack:///./../../Deploy/PWS/ViewModels/Components/ProductBrowse/BreadCrumbs.js","webpack:///./../../Deploy/PWS/ViewModels/Components/ProductBrowse/ProductGrid.js","webpack:///./~/react-loader/lib/react-loader.js","webpack:///./~/spin.js/spin.js","webpack:///./../../Deploy/PWS/ViewModels/Components/ProductBrowse/SearchField.js"],"names":["MainContainer","window","jenkon","resources","ReactDOM","render","document","getElementById","ajax","require","locationOrigin","consultantRoot","cdnbaseurl","attr","cdnimageurl","ProductBrowse","props","state","ProductBrowseStore","getState","getCurrentCategoryDescription","bind","getCurrentCategoryLongDescription","setBannerImage","fileExists","getBannerImageUrl","addDefaultSrc","setState","gridClass","handlescroll","addEventListener","listen","onChange","ProductBrowseActions","initialSetup","cart","CartStore","cartCurrency","primaryCurrency","si","getCartCurency","sendData","categoryID","currentCategoryID","currency","page","searchTerm","SearchTerms","resultCount","fillInitialPages","getCategories","removeEventListener","unlisten","docHeight","height","h","innerHeight","wTop","scrollTop","offset","canSearch","isLoading","currentPage","getMoreProducts","setURL","getNewProducts","data","code","categoryInfo","selectedParentCategory","selectedParentCategoryName","selectedCategoryName","description","selectedCategoryID","location","replace","encodeURIComponent","join","isProductSearch","length","prodLoaded","hasResults","ProductList","breadcrumb","resetAll","offerCode","e","CartActions","getCart","addButton","target","closest","gridItem","gridItemImg","find","gridItemImgPosition","undefined","dupeImg","clone","append","addButtonPosition","css","border","position","top","left","width","opacity","zIndex","appendTo","miniCart","miniCartPosition","animate","borderWidth","delay","remove","addItemToCart","term","index","indexOf","searchList","splice","SearchCategories","categoryCode","defaultValue","result","i","CategoryList","longDescription","file_url","http","XMLHttpRequest","open","send","status","banner_url","culture","default_banner_url","no_banner_no_culture_url","image_exists","ev","src","categoryImageUrl","display","currentBannerImageUrl","getProductsForCategory","AddToCart","deleteSearchTerm","React","Component","callback","getProductCategories","then","categoriesSuccess","categoriesFailure","searchTerms","findProducts","products","productsSuccess","productsFailure","moreProductsSuccess","CategoryID","setParentCategory","categories","sentData","productData","alt","createActions","originalResultCount","decoded","decodedCriteria","info","Category","isPageSearch","breadcrumbList","hash","decodeURIComponent","split","parseInt","SearchField","bindListeners","categoriesChanged","CATEGORIES_SUCCESS","categoriesLoadFailed","CATEGORIES_FAILURE","productsChanged","PRODUCTS_SUCCESS","productsLoadFailed","PRODUCTS_FAILURE","productsPageChanged","MORE_PRODUCTS_SUCCESS","RESET_ALL","INITIAL_SETUP","SET_PARENT_CATEGORY","message","Error","concat","categoryList","catCode","pc","items","returnCategoryDescription","parent","push","CategoryName","createStore","w","CategoryArea","isExpanded","mobilize","hide","closeAccordionSection","openAccordionSection","handleResize","resize","nw","documentWidth","topbarContentWidth","outerWidth","addClass","removeClass","slideUp","slideDown","arrowData","Size","Fill","name","changeCollapseExpand","getExpandCollapse","ActiveCategories","breadcrumbsList","Accordion","Accordions","categoryCrumb","filter","c","ActiveClass","map","createCategoryList","category","createAccordions","CategorySelectBlock","CategoryBlock","createCategoryBlock","CategoryDropdown","showCategories","renderCategoryList","renderCategory","handleClickOutsideDropdown","setDropdownRef","dropdownRef","contains","node","padding","currentCategoryCode","BreadCrumbs","crumb","Divider","ParentCategory","createBreadcrumbs","protocol","hostname","port","pathname","ProductGrid","itemType","expandCategories","depth","expandedCategories","categoriesCopy","slice","cat","x","shape","newClass","label","product","gridIconData","listIconData","loader","showSearchTerms","showNoResults","loaded","float","paddingTop","createLabels","changeGridClass","ResetCategories","createProducts","which","submitSearch","trim","terms","refs","value","SearchIconData","handleChange","searchKeyPress"],"mappings":"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,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA,eAAc,2BAA2B;AACzC,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA;AACA,MAAK;;AAEL;AACA,sBAAqB,gBAAgB;AACrC,MAAK;;AAEL;AACA,2BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;;AAEP,sBAAqB,mCAAmC;AACxD,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;;AAEA;AACA,kBAAiB;AACjB;AACA,QAAO;AACP,kBAAiB;AACjB;;AAEA;AACA;AACA,IAAG;;AAEH;;AAEA,EAAC;;;;;;;;AC9HD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAC;AACD;;AAEA;AACA,sBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0CAAyC,OAAO;AAChD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA4C;AAC5C,aAAY,kBAAkB;AAC9B,oBAAmB,sBAAsB;AACzC,2BAA0B,UAAU;AACpC,kCAAiC,sBAAsB;AACvD,eAAc,kBAAkB;AAChC,WAAU;;AAEV;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAe,qBAAqB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA6B;AAC7B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0CAAyC,uBAAuB;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;;AAEP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAS;AACT;AACA,0BAAyB,aAAa;AACtC;;AAEA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;;AAEA,aAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;;AAET,mEAAkE,WAAW;AAC7E;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAG;;;AAGH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,YAAW;AACX;AACA;;AAEA;AACA,2BAA0B,gDAAgD;AAC1E;;AAEA;AACA;AACA;AACA;AACA,yBAAwB,gDAAgD;AACxE;AACA;AACA,mCAAkC,mBAAmB;AACrD,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,gDAAgD;AAC3E,8BAA6B,WAAW;AACxC;AACA;AACA;AACA;;AAEA;AACA,oBAAmB,cAAc;AACjC;AACA;;AAEA,kBAAiB,cAAc;AAC/B;AAC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","file":"Products.bundle.js","sourcesContent":["import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport RenderHeader from 'ViewModels/Components/RenderHeader';\r\n\r\nimport ProductBrowse from 'ViewModels/Components/ProductBrowse/ProductBrowse';\r\nimport ExternalShoppingValidator from 'ViewModels/Shared/ExternalShoppingValidator';\r\n\r\nconst MainContainer = () => {\r\n return (\r\n \r\n \r\n \r\n )\r\n};\r\n\r\nReactDOM.render(, document.getElementById('main-content'));\r\n\n\n\n// WEBPACK FOOTER //\n// ./../../Deploy/PWS/ViewModels/Products.js","import React from 'react';\r\nimport debounce from 'lodash.debounce';\r\nimport Icon from '../Icons/Icon';\r\n\r\nimport $ from 'jquery';\r\nimport si from 'si';\r\n\r\nimport ProductBrowseActions from './ProductBrowseActions';\r\nimport ProductBrowseStore from './ProductBrowseStore';\r\nimport CartActions from '../Cart/CartActions';\r\nimport CartStore from '../Cart/CartStore';\r\n\r\nimport CategoryArea from './CategoryArea'; //need to move to ProductGrid.js, not use here\r\nimport CategoryDropdown from './CategoryDropdown';\r\nconst ajax = require('ajax');\r\n/*\r\nwindow.onload = function() {\r\n if (window.jQuery) { \r\n //console.log('jQuery is loaded');\r\n } else {\r\n //console.log('jQuery IS NOT loaded!');\r\n }\r\n}\r\n\r\nvar bootstrap_enabled = (typeof $().modal == 'function');\r\nif(bootstrap_enabled === false) {\r\n //console.log('Bootstrap IS NOT loaded!');\r\n} else {\r\n //console.log('Bootstrap is loaded');\r\n}\r\n\r\n$('.user-welcome-msg').html('jQuery Loaded');\r\n*/\r\n\r\n\r\n\r\nimport BreadCrumbs from './BreadCrumbs';\r\nimport ProductGrid from './ProductGrid';\r\n\r\n\r\n\r\nconst locationOrigin = window.jenkon.consultantRoot + \"Products\";\r\n\r\nconst cdnbaseurl = $('body').attr('data-cdnbaseurl');\r\n//alert(cdnbaseurl);\r\nconst cdnimageurl = $('body').attr('data-cdnimageurl');\r\n//alert(cdnimageurl);\r\n\r\nexport default class ProductBrowse extends React.Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n \r\n this.state = ProductBrowseStore.getState();\r\n \r\n this.getCurrentCategoryDescription = this.getCurrentCategoryDescription.bind(this);\r\n\r\n this.getCurrentCategoryLongDescription = this.getCurrentCategoryLongDescription.bind(this);\r\n\r\n this.setBannerImage = this.setBannerImage.bind(this);\r\n\r\n this.fileExists = this.fileExists.bind(this);\r\n\t\tthis.getBannerImageUrl = this.getBannerImageUrl.bind(this);\r\n\t\tthis.addDefaultSrc = this.addDefaultSrc.bind(this);\r\n\t}\r\n\r\n\tcomponentWillMount(){\r\n\t\tthis.setState({\r\n\t\t\tgridClass: 'product-grid',\r\n\t\t\tresources: this.props.resources,\r\n\t\t});\r\n\t\tthis.handlescroll = debounce(this.handlescroll, 100);\r\n //console.log(this.cart);\r\n\r\n \r\n\r\n \r\n\t}\r\n\r\n componentDidMount() {\r\n\r\n\t\twindow.addEventListener('scroll', this.handlescroll.bind(this));\r\n\t\tProductBrowseStore.listen(this.onChange.bind(this));\r\n\t\r\n\t\tProductBrowseActions.initialSetup(() => {\r\n\t\t this.cart = CartStore.getState();\r\n\t\t let cartCurrency = this.cart.primaryCurrency;\r\n\t\t if (typeof cartCurrency === 'undefined') {\r\n\t\t cartCurrency= si.getCartCurency();\r\n\t\t \r\n\r\n\t\t }\r\n\t\t\t\tlet sendData = {\r\n\t\t\t\tcategoryID: this.state.currentCategoryID,\r\n\t\t\t\tcurrency: cartCurrency,\r\n\t\t\t\tpage: 1,\r\n\t\t\t\tsearchTerm: this.state.SearchTerms,\r\n\t\t\t\tresultCount: this.state.resultCount\r\n };\r\n\r\n \r\n\t\tthis.fillInitialPages(sendData);\r\n ProductBrowseActions.getCategories();\r\n \r\n });\r\n\r\n}\r\n\r\ncomponentWillUnmount() {\r\n\twindow.removeEventListener('scroll', this.handlescroll.bind(this));\r\n\tProductBrowseStore.unlisten(this.onChange.bind(this));\r\n }\r\n\r\n\r\n\r\n\r\nonChange(state) {\r\n\tthis.setState(state);\r\n}\r\n\r\nhandlescroll(){\r\n\tlet docHeight = $(document).height(),\r\n\t\th = window.innerHeight,\r\n\t\twTop = $(window).scrollTop(),\r\n\t\toffset = 150;\r\n\tif (this.state.canSearch && wTop > (docHeight - h - offset) && !this.state.isLoading) {\r\n\t\tthis.setState({\r\n\t\t\tisLoading: true,\r\n\t\t\tcurrentPage: this.state.currentPage + 1\r\n }, () => {\r\n\t\t\tlet sendData = {\r\n\t\t\t\tcategoryID: this.state.currentCategoryID,\r\n\t\t\t\tcurrency: this.cart.primaryCurrency,\r\n\t\t\t\tpage: this.state.currentPage,\r\n\t\t\t\tsearchTerm: this.state.SearchTerms,\r\n\t\t\t\tresultCount: this.state.resultCount\r\n\t\t\t};\r\n\t\tProductBrowseActions.getMoreProducts(sendData);\r\n\t\tthis.setURL();\r\n\t})\r\n\t\t}\r\n}\r\n\r\nfillInitialPages(sendData){\r\n ProductBrowseActions.getNewProducts(sendData);\r\n \r\n}\r\n\r\n getProductsForCategory(data) {\r\n //console.log('data:');\r\n //console.log(data);\r\n\r\n\tthis.setState({\r\n currentCategoryID: data.code,\r\n categoryInfo: {\r\n selectedParentCategory: 0,\r\n selectedParentCategoryName: '',\r\n selectedCategoryName: data.description,\r\n selectedCategoryID: 0\r\n }\r\n\t}, () => {\r\n\t\tlet sendData = {\r\n\t\t\tcategoryID: this.state.currentCategoryID,\r\n\t\t\tcurrency: this.cart.primaryCurrency,\r\n\t\t\tpage: this.state.currentPage,\r\n\t\t\tsearchTerm: this.state.SearchTerms,\r\n\t\t\tresultCount: this.state.resultCount\r\n\t\t};\r\n\tProductBrowseActions.getNewProducts(sendData);\r\n\tthis.setURL();\r\n})\r\n};\r\n\r\n\r\n//Replace the current History Record with the new values\r\nsetURL(){\r\n\twindow.location.replace(`${locationOrigin}#${encodeURIComponent(this.state.SearchTerms.join(','))}|${this.state.currentCategoryID}|${this.state.currentPage}`);\r\nthis.setState({\r\n\tisProductSearch: this.state.SearchTerms.length > 0\r\n});\r\n}\r\n\r\nresetAll(){\r\n\tthis.setState({\r\n\t\tcurrentCategoryID: 0,\r\n\t\tcurrentPage: 1,\r\n\t\tisLoading: true,\r\n\t\tprodLoaded: false,\r\n\t\thasResults: true,\r\n\t\tcanSearch: true,\r\n\t\tProductList: [],\r\n\t\tSearchTerms: [],\r\n\t\tbreadcrumb: [],\r\n\t\tcategoryInfo: {\r\n\t\t\tselectedParentCategory: 0,\r\n\t\t\tselectedParentCategoryName: '',\r\n\t\t\tselectedCategoryName: '',\r\n\t\t\tselectedCategoryID: 0\r\n\t\t}\r\n\t}, () => {\r\n\t\tthis.setURL();\r\n\tProductBrowseActions.resetAll();\r\n\tlet sendData = {\r\n\t\tcategoryID: 0,\r\n\t\tcurrency: this.cart.primaryCurrency,\r\n\t\tpage: 1,\r\n\t\tsearchTerm: [],\r\n\t\tresultCount: this.state.resultCount\r\n\t};\r\n\tProductBrowseActions.getNewProducts(sendData);\r\n})\r\n}\r\n\r\n//Add To Cart. This must pull in the Cart Data from Local Storage and send the cartCode, offerCode and qty to the AddItemToCart Api Request. qty is Defaulted to 1\r\n\tAddToCart(offerCode, e) {\r\n\t\tlet cart = CartActions.getCart();\r\n\t\tif(cart && cart.code){\r\n\t\t\tvar addButton = $(e.target).closest('.add-to-cart-btn');\r\n\t\t\tvar gridItem = addButton.closest('.product-grid-item');\r\n\t\t\tvar gridItemImg = gridItem.find('.product-grid-image img');\r\n\t\t\tvar gridItemImgPosition = gridItemImg.offset();\r\n\t\t\tif(gridItemImgPosition != undefined) {\r\n\t\t\t\tvar dupeImg = gridItemImg.clone();\r\n\t\t\t\t$('#site-wrapper').append(dupeImg);\r\n\r\n\t\t\t\tvar addButtonPosition = addButton.offset();\r\n\t\t\t\tdupeImg.css({\r\n\t\t\t\t\tborder:'solid 1px #e08',\r\n\t\t\t\t\tposition: 'absolute',\r\n\t\t\t\t\ttop: gridItemImgPosition.top,\r\n\t\t\t\t\tleft: gridItemImgPosition.left,\r\n\t\t\t\t\theight: 'auto',\r\n\t\t\t\t\twidth: gridItemImg.width(),\r\n\t\t\t\t\topacity: '1',\r\n\t\t\t\t\tzIndex:999\r\n\t\t\t\t}).appendTo('#site-wrapper');\r\n\r\n\t\t\t\tvar miniCart = $('.navbar .miniCart-container');\r\n\t\t\t\tvar miniCartPosition = miniCart.offset();\r\n\r\n\t\t\t\tdupeImg.animate({\r\n\t\t\t\t\tborderWidth: 6,\r\n\t\t\t\t\ttop: gridItemImgPosition.top - 10,\r\n\t\t\t\t\tleft: gridItemImgPosition.left - 10,\r\n\t\t\t\t\twidth: gridItemImg.width() + 20\r\n\t\t\t\t}, 100, 'swing', function() {\r\n\t\t\t\t\tdupeImg.delay(200).animate({\r\n\t\t\t\t\t\ttop: miniCartPosition.top,\r\n\t\t\t\t\t\tleft: miniCartPosition.left,\r\n\t\t\t\t\t\twidth: miniCart.width(),\r\n\t\t\t\t\t\topacity: '0'\r\n }, 500, 'swing', function () {\r\n\t\t\t\t\t\t$(this).remove();\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tCartActions.addItemToCart(cart.code, offerCode, 1);\r\n\t\t}\r\n\t}\r\n\r\ndeleteSearchTerm(term) {\r\n\tvar index = this.state.SearchTerms.indexOf(term);\r\n\tlet searchList = this.state.SearchTerms\r\n\tif (index > -1) {\r\n\t\tsearchList.splice(index, 1);\r\n\t}\r\n\tthis.setState({\r\n\t\tcurrentPage: 1,\r\n\t\tisLoading: true,\r\n\t\tprodLoaded: false,\r\n\t\thasResults: true,\r\n\t\tcanSearch: true,\r\n\t\tProductList: [],\r\n\t\tSearchTerms: searchList\r\n\t}, () => {\r\n\t\tlet sendData = {\r\n\t\t\tcategoryID: this.state.currentCategoryID,\r\n\t\t\tcurrency: this.cart.primaryCurrency,\r\n\t\t\tpage: 1,\r\n\t\t\tsearchTerm: this.state.SearchTerms,\r\n\t\t\tresultCount: this.state.resultCount,\r\n\t\t};\r\n\tProductBrowseActions.getNewProducts(sendData);\r\n\tthis.setURL();\r\n})\r\n\r\n}\r\n\r\nSearchCategories(data) { //added this from CategoryAreas.js\r\n this.props.SearchCategories(data);\r\n }\r\n\t\r\n getCurrentCategoryDescription(categoryCode, defaultValue) {\r\n let result = defaultValue;\r\n for (var i in this.state.CategoryList) {\r\n if (this.state.CategoryList[i].code === categoryCode)\r\n result = this.state.CategoryList[i].description;\r\n }\r\n return result;\r\n }\r\n\r\n getCurrentCategoryLongDescription(categoryCode, defaultValue) {\r\n let result = defaultValue;\r\n for (var i in this.state.CategoryList) {\r\n if (this.state.CategoryList[i].code === categoryCode)\r\n result = this.state.CategoryList[i].longDescription;\r\n }\r\n return result;\r\n\t}\r\n\r\n\tfileExists(file_url) {\r\n\t\ttry {\r\n\t\t\tvar http = new XMLHttpRequest();\r\n\t\t\thttp.open('HEAD', file_url, false);\r\n\t\t\thttp.send();\r\n\t\t\treturn http.status !== 404;\r\n\t\t} catch (e) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n setBannerImage(categoryCode) {\r\n\r\n var banner_url = cdnimageurl.replace(/(^\\w+:|^)\\/\\//, '//') + \"/category-banners/\" + window.jenkon.culture + \"/\" + categoryCode + \".jpg\";\r\n //console.log('setBannerImage banner_url: ' + banner_url);\r\n\r\n var default_banner_url = cdnimageurl.replace(/(^\\w+:|^)\\/\\//, '//') + \"/category-banners/\" + window.jenkon.culture + \"/\" + this.state.currentCategoryID + \".jpg\";\r\n //console.log('default_banner_url: ' + default_banner_url);\r\n\r\n var no_banner_no_culture_url = cdnimageurl.replace(/(^\\w+:|^)\\/\\//, '//') + \"/category-banners/\" + \"en-US\" + \"/\" + \"0\" + \".jpg\";\r\n\r\n //NOTE: the below causes a CORS error (from localhost at least) when image is missing, even though server is open to \"*\"\r\n //able to test using \"Moesif Origins & CORS Changer\" plugin for Chrome\r\n //BUT need to test on an actual server...\r\n \r\n //test that category image exists for this theme...\r\n var image_exists = this.fileExists(banner_url);\r\n //console.log('test_url: ' + banner_url);\r\n //console.log('image_exists: ' + image_exists);\r\n\r\n //if not, try the deafult theme directory...\r\n if (image_exists === false) {\r\n\t\t\tif (banner_url != default_banner_url) {\r\n\t image_exists = this.fileExists(default_banner_url);\r\n\t\t\t} \r\n //console.log('test_url: ' + default_banner_url);\r\n //console.log('image_exists: ' + image_exists);\r\n }\r\n \r\n //set category-banner display to none if both are missing\r\n if (image_exists === false) {\r\n\t\t\tbanner_url = no_banner_no_culture_url;\r\n }\r\n\r\n return banner_url;\r\n }\r\n\r\n\tgetBannerImageUrl(categoryCode) {\r\n\t\tif (categoryCode)\r\n \treturn cdnimageurl.replace(/(^\\w+:|^)\\/\\//, '//') + \"/category-banners/\" + window.jenkon.culture + \"/\" + categoryCode + \".jpg\";\r\n\t\telse \r\n\t\t\treturn cdnimageurl.replace(/(^\\w+:|^)\\/\\//, '//') + \"/category-banners/\" + \"en-US\" + \"/\" + \"0\" + \".jpg\";\r\n\t}\r\n\r\n\taddDefaultSrc(ev){\r\n\t\tev.target.src = this.getBannerImageUrl(null);\r\n\t}\r\n\r\n\r\n render() {\r\n\t\tconst categoryImageUrl = this.getBannerImageUrl(this.state.currentCategoryID);\r\n\r\n\t\treturn(\r\n
\r\n
\r\n\t\t\t\t\t{this.state.currentCategoryID}\r\n\r\n
\r\n
{this.getCurrentCategoryDescription(this.state.currentCategoryID, this.state.resources[\"PWS.Products.DefaultCategoryBannerTitle\"] )}
\r\n
{this.getCurrentCategoryLongDescription(this.state.currentCategoryID, this.state.resources[\"PWS.Products.DefaultCategoryBannerDescription\"] )}
\r\n
\r\n
\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./../../Deploy/PWS/ViewModels/Components/ProductBrowse/ProductBrowse.js","import alt from '../alt';\r\nimport $ from 'jQuery';\r\nimport si from 'si';\r\n\r\nclass ProductBrowseActions {\r\n\tgetCategories(callback) {\r\n\t\tsi.getProductCategories().then(this.categoriesSuccess, this.categoriesFailure);\r\n\t\treturn true;\r\n\t}\r\n\r\n\tgetNewProducts(sendData) {\r\n\t\tif($(\"#products-area\").length > 0){\r\n\t\t\tlet searchTerms = sendData.searchTerm.length == 1 && sendData.searchTerm[0] === '' ? [] : sendData.searchTerm\r\n\t\t\tsi.findProducts(sendData, searchTerms).then((products) => {\r\n\t\t\t\tthis.productsSuccess(products, sendData);\r\n\t\t\t}, this.productsFailure);\r\n\r\n\t\t} else {\r\n\t\t\tlet term = sendData.searchTerm !== \"undefined\" ? sendData.searchTerm : '';\r\n\t\t\twindow.location = window.jenkon.consultantRoot + \"Products#\" + term + \"|0|1\";\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\r\n\tgetMoreProducts(sendData) {\r\n\t\tlet searchTerms = sendData.searchTerm.length == 1 && sendData.searchTerm[0] === '' ? [] : sendData.searchTerm\r\n\t\tsi.findProducts(sendData, searchTerms).then(this.moreProductsSuccess, this.productsFailure);\r\n\t\treturn true;\r\n\t}\r\n\r\n\tgetProductsForCategory(CategoryID, callback) {\r\n\t\tthis.setParentCategory(CategoryID);\r\n\t\treturn {\r\n\t\t\tCategoryID: CategoryID,\r\n\t\t\tcallback: callback\r\n\t\t};\r\n\r\n\t}\r\n\r\n\tcategoriesSuccess(categories) {\r\n\t\treturn categories;\r\n\t}\r\n\r\n\tcategoriesFailure() {\r\n\t\treturn \"The categories could not be loaded\";\r\n\t}\r\n\r\n\tproductsSuccess(products, sentData) {\r\n\t\tthis.setParentCategory(sentData.categoryID);\r\n\t\tlet productData = {\r\n\t\t\tproducts: products,\r\n\t\t\tsentData: sentData\r\n\t\t}\r\n\t\treturn productData;\r\n\t}\r\n\r\n\tproductsFailure() {\r\n\t\treturn \"The products could not be loaded\";\r\n\t}\r\n\r\n\tmoreProductsSuccess(products) {\r\n\t\treturn products;\r\n\t}\r\n\r\n\tresetAll(){\r\n\t\treturn true;\r\n\t}\r\n\r\n\tinitialSetup(callback){\r\n\t\treturn callback;\r\n\t}\r\n\tsetParentCategory(CategoryID){\r\n\t\treturn CategoryID;\r\n\t}\r\n}\r\n\r\nexport default alt.createActions(ProductBrowseActions);\r\n\n\n\n// WEBPACK FOOTER //\n// ./../../Deploy/PWS/ViewModels/Components/ProductBrowse/ProductBrowseActions.js","import alt from '../alt';\r\nimport ProductBrowseActions from './ProductBrowseActions';\r\n\r\nconst originalResultCount = 25;\r\n\r\nclass ProductBrowseStore {\r\n\tconstructor() {\r\n\t\tlet decoded, decodedCriteria;\r\n\t\tlet info = {\r\n\t\t\tCategory: 0,\r\n\t\t\tSearchTerms: [],\r\n\t\t\tisPageSearch: false,\r\n\t\t\tcurrentPage: 1,\r\n\t\t\tresultCount: originalResultCount\r\n\t\t}\r\n\t\tthis.breadcrumbList = [];\r\n\t\tif (window.location.hash.replace('#', '').length > 0) {\r\n\t\t\tlet decoded = decodeURIComponent(window.location.hash).replace('#', '');\r\n\t\t\tif (window.location.hash.replace('#', '').length > 0) {\r\n\t\t\t\tdecoded = decodeURIComponent(window.location.hash).replace('#', '');\r\n\t\t\t\tif (decoded.length > 0) {\r\n\t\t\t\t\tdecoded = decoded.split('|');\r\n\t\t\t\t\tdecodedCriteria = decoded[0].split(',');\r\n\r\n\t\t\t\t\tif (decodedCriteria.length >= 1 && decodedCriteria[0] !== ''){\r\n\t\t\t\t\t\t\tinfo.SearchTerms = decodedCriteria;\r\n\t\t\t\t\t\t\tinfo.isProductSearch = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (decoded[1] !== undefined) {\r\n\t\t\t\t\t\tif (decoded[1].length > 0) {\r\n\t\t\t\t\t\t\tinfo.Category = decoded[1]\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (decoded[2] !== undefined && decoded[2].length > 0) {\r\n\t\t\t\t\t\t\tinfo.currentPage = typeof parseInt(decoded[2]) === \"number\" ? parseInt(decoded[2]) : 1;\r\n\t\t\t\t\t\t\tinfo.resultCount = info.currentPage == 1 ? originalResultCount : info.currentPage * originalResultCount;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.state = {\r\n\t\t\tCategoryList: [],\r\n\t\t\tProductList: [],\r\n\t\t\tSearchTerms: info.SearchTerms,\r\n\t\t\thasResults: false,\r\n\t\t\tisLoading: false,\r\n\t\t\tprodLoaded: false,\r\n\t\t\tresultCount: info.resultCount,\r\n\t\t\tisProductSearch: false,\r\n\t\t\tcanSearch: true,\r\n\t\t\tisPageSearch: info.isProductSearch,\r\n\t\t\tcurrentPage: info.currentPage,\r\n\t\t\tSearchField: '',\r\n\t\t\tcurrentCategoryID: info.Category,\r\n\t\t\tcategoryInfo: {\r\n\t\t\t\tselectedParentCategory: info.Category,\r\n\t\t\t\tselectedParentCategoryName: '',\r\n\t\t\t\tselectedCategoryName: '',\r\n\t\t\t\tselectedCategoryID: info.Category\r\n\t\t\t},\r\n\t\t\tbreadcrumb: []\r\n\t\t};\r\n\t\tthis.bindListeners({\r\n\t\t\tcategoriesChanged: ProductBrowseActions.CATEGORIES_SUCCESS,\r\n\t\t\tcategoriesLoadFailed: ProductBrowseActions.CATEGORIES_FAILURE,\r\n\t\t\tproductsChanged: ProductBrowseActions.PRODUCTS_SUCCESS,\r\n\t\t\tproductsLoadFailed: ProductBrowseActions.PRODUCTS_FAILURE,\r\n\t\t\tproductsPageChanged: ProductBrowseActions.MORE_PRODUCTS_SUCCESS,\r\n\t\t\tresetAll: ProductBrowseActions.RESET_ALL,\r\n\t\t\tinitialSetup: ProductBrowseActions.INITIAL_SETUP,\r\n\t\t\tsetParentCategory: ProductBrowseActions.SET_PARENT_CATEGORY\r\n\t\t});\r\n\t}\r\n\r\n\tcategoriesChanged(categories) {\r\n\t\tthis.setState({\r\n\t\t\tCategoryList: categories.categories\r\n\t\t});\r\n\t}\r\n\r\n\tcategoriesLoadFailed(message) {\r\n\t\tthis.setState({\r\n\t\t\tCategoryList: [{Error: message}],\r\n\t\t});\r\n\t}\r\n\r\n\tproductsChanged(productData) {\r\n\t\tthis.setState({\r\n\t\t\tProductList: productData.products.length > 0 ? productData.products : [],\r\n\t\t\tcanSearch: productData.products.length < this.state.resultCount ? false : true,\r\n\t\t\tisLoading: false,\r\n\t\t\tprodLoaded: true,\r\n\t\t\thasResults: productData.products.length > 0 ? true : false,\r\n\t\t\tisPageSearch: false,\r\n\t\t\tcurrentPage: 1,\r\n\t\t\tresultCount: originalResultCount,\r\n\t\t\tsearchTerms: productData.sentData.searchTerm,\r\n\t\t\tcurrentCategoryID: productData.sentData.categoryID\r\n\t\t})\r\n\t}\r\n\r\n\tproductsLoadFailed(message) {\r\n\t\tthis.setState({\r\n\t\t\tProductList: [{Error: message}],\r\n\t\t\tisLoading: false,\r\n\t\t\tprodLoaded: true,\r\n\t\t\thasResults: false,\r\n\t\t\tcanSearch: false,\r\n\t\t\tisPageSearch: false,\r\n\t\t\tcurrentPage: 1,\r\n\t\t\tresultCount: originalResultCount\r\n\t\t});\r\n\t}\r\n\r\n\tproductsPageChanged(products) {\r\n\t\tlet ProductList = this.state.ProductList;\r\n\t\tif (products.length > 0 || this.state.ProductList > 0) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tProductList: ProductList.concat(products),\r\n\t\t\t\tcanSearch: products.length < this.state.resultCount ? false : true,\r\n\t\t\t\tisLoading: false,\r\n\t\t\t\thasResults: true,\r\n\t\t\t\tisPageSearch: false,\r\n\t\t\t\tcurrentPage: this.state.currentPage + 1,\r\n\t\t\t\tresultCount: originalResultCount\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false,\r\n\t\t\t\thasResults: false,\r\n\t\t\t\tcanSearch: false,\r\n\t\t\t\tisPageSearch: false,\r\n\t\t\t\tcurrentPage: this.state.currentPage,\r\n\t\t\t\tresultCount: originalResultCount\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tresetAll(){\r\n\t\tthis.setState({\r\n\t\t\tSearchTerms: [],\r\n\t\t\tcurrentCategoryID: 0,\r\n\t\t\tcurrentPage: 1,\r\n\t\t\tisLoading: true,\r\n\t\t\tprodLoaded: false,\r\n\t\t\thasResults: true,\r\n\t\t\tcanSearch: true,\r\n\t\t\tProductList: [],\r\n\t\t\tbreadcrumb: [],\r\n\t\t\tcategoryInfo: {\r\n\t\t\t\tselectedParentCategory: 0,\r\n\t\t\t\tselectedParentCategoryName: '',\r\n\t\t\t\tselectedCategoryName: '',\r\n\t\t\t\tselectedCategoryID: 0\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\r\n\tinitialSetup(callback) {\r\n\t\tcallback()\r\n\t\tthis.setState({\r\n\t\t\tresultCount: originalResultCount\r\n\t\t})\r\n\t}\r\n\r\n\treturnCategoryDescription(categoryList, catCode) {\r\n\t\tfor (let pc = 0; pc < categoryList.length; pc++){\r\n\t\t\tif (categoryList[pc].code !== catCode && categoryList[pc].items.length > 0){\r\n\t\t\t\tthis.returnCategoryDescription(categoryList[pc].items, catCode);\r\n\t\t\t} else if (categoryList[pc].code === catCode) {\r\n\t\t\t\tif (categoryList[pc].parent != null)\r\n\t\t\t\t\tthis.returnCategoryDescription(this.state.CategoryList, categoryList[pc].parent);\r\n\t\t\t\tthis.breadcrumbList.push({CategoryName: categoryList[pc].description, CategoryID: categoryList[pc].code})\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tbreadcrumb: this.breadcrumbList\r\n \t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tsetParentCategory(CategoryID){\r\n\t\tthis.breadcrumbList = [];\r\n\t\tthis.returnCategoryDescription(this.state.CategoryList, CategoryID);\r\n\t}\r\n}\r\n\r\nexport default alt.createStore(ProductBrowseStore, 'ProductBrowseStore');\r\n\n\n\n// WEBPACK FOOTER //\n// ./../../Deploy/PWS/ViewModels/Components/ProductBrowse/ProductBrowseStore.js","import React from 'react';\r\nimport Icon from '../Icons/Icon';\r\nimport $ from 'jquery';\r\n\r\nimport Accordion from './CategoryAccordion';\r\nimport CategorySelectBlock from './CategorySelectBlock';\r\nimport CategoryDropdown from './CategoryDropdown';\r\n\r\n\r\nlet w = $(window).width();\r\nexport default class CategoryArea extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n isExpanded: true,\r\n resources: props.resources\r\n }\r\n }\r\n\r\n componentDidMount(){\r\n this.mobilize();\r\n $('#mobile-menu-wrapper').hide();\r\n if (w < 900) {\r\n this.closeAccordionSection();\r\n } else {\r\n this.openAccordionSection();\r\n }\r\n this.handleResize();\r\n $(window).resize(this.handleResize.bind(this));\r\n }\r\n\r\n handleResize() {\r\n let nw = $(window).width();\r\n if (w !== nw) {\r\n $(document).scrollTop(0);\r\n }\r\n this.mobilize();\r\n $('#mobile-menu-wrapper').hide();\r\n if (nw < 900) {\r\n this.closeAccordionSection();\r\n this.setState({\r\n isExpanded: false\r\n })\r\n } else {\r\n this.openAccordionSection();\r\n this.setState({\r\n isExpanded: true\r\n })\r\n }\r\n }\r\n\r\n changeCollapseExpand(){\r\n let documentWidth = $(document).width();\r\n let topbarContentWidth = $('#mainNav').outerWidth() + $('#search').outerWidth() + $('#cartLink').outerWidth() + 40;\r\n if (topbarContentWidth > documentWidth){\r\n $('#siteWrapper').addClass('mobile');\r\n //close_accordion_section();\r\n } else {\r\n $('#siteWrapper').removeClass('mobile');\r\n }\r\n this.setState({\r\n isExpanded: !this.state.isExpanded\r\n }, () => {\r\n if(this.state.isExpanded){\r\n this.openAccordionSection();\r\n } else {\r\n this.closeAccordionSection()\r\n }\r\n })\r\n\r\n }\r\n\r\n closeAccordionSection(){\r\n $('.accordion .accordion-section-title').removeClass('active');\r\n $('.accordion .accordion-section-content').slideUp(300).removeClass('open');\r\n }\r\n\r\n openAccordionSection(){\r\n $('.accordion .accordion-section-title').addClass('active');\r\n $('.accordion .accordion-section-content').slideDown(300).addClass('open');\r\n }\r\n\r\n mobilize(){\r\n let documentWidth = $(document).width();\r\n let topbarContentWidth = $('#mainNav').outerWidth() + $('#search').outerWidth() + $('#cartLink').outerWidth() + 40;\r\n if (topbarContentWidth > documentWidth){\r\n $('#siteWrapper').addClass('mobile');\r\n //close_accordion_section();\r\n } else {\r\n $('#siteWrapper').removeClass('mobile');\r\n }\r\n }\r\n\r\n getExpandCollapse(){\r\n if(this.state.isExpanded){\r\n let arrowData = {\r\n Size: 11,\r\n Fill: '#666666',\r\n name: 'ArrowUp'\r\n }\r\n return(\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n {this.state.resources[\"PWS.CategoryArea.CollapseAll\"]}\r\n \r\n\t\t\t)\r\n\t\t} else {\r\n\t\t\tlet arrowData = {\r\n\t\t\t Size: 11,\r\n\t\t\t Fill: '#666666',\r\n\t\t\t name: 'ArrowDown'\r\n\t\t\t}\r\n return(\r\n \r\n \r\n{this.state.resources[\"PWS.CategoryArea.ExpandAll\"]}\r\n\r\n\t\t\t)\r\n}\r\n}\r\n\r\n\tSearchCategories(data) {\r\n\t this.props.SearchCategories(data);\r\n\t this.handleResize();\r\n\t}\r\n\r\nrender(){\r\n\r\n return(\r\n
\r\n
\r\n {/*{this.state.resources[\"PWS.CategoryArea.ResetAll\"]}*/}\r\n\r\n {this.getExpandCollapse()}\r\n\r\n
\r\n {/* */}\r\n {/**/}\r\n \r\n
\r\n\t\t)\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./../../Deploy/PWS/ViewModels/Components/ProductBrowse/CategoryArea.js","import React from 'react';\r\nimport Icon from '../Icons/Icon';\r\nimport 'idempotent-babel-polyfill';\r\n\r\nexport default class Accordion extends React.Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tresources: props.resources\r\n\t\t}\r\n\t}\r\n\r\n\tcreateAccordions(Accordions, i) {\r\n\t\tlet categoryID = {\r\n\t\t\tcategoryID: Accordions.code\r\n\t\t}\r\n\t\tlet categoryCrumb = this.props.breadcrumbsList.filter(c => c.CategoryID == Accordions.code);\r\n\t\tlet ActiveClass = categoryCrumb.length > 0 ? 'category-name active' : 'category-name';\r\n\t\treturn(\r\n\t\t\t
  • \r\n\t\t\t\t
    \r\n\t\t\t\t\t{Accordions.description}\r\n\t\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
  • \r\n\t\t)\r\n\t}\r\n\r\n\tcreateCategoryList(category, i){\r\n\t\tlet categoryID = {\r\n\t\t\tcategoryID: category.code\r\n\t\t}\r\n\t\tlet categoryCrumb = this.props.breadcrumbsList.filter(c => c.CategoryID == category.code);\r\n\t\tlet ActiveClass = categoryCrumb.length > 0 ? 'subcategory-name active' : 'subcategory-name';\r\n if (category.items.length > 0)\r\n return (\r\n \t
  • \r\n
    \r\n\t\t\t\t {category.description}\r\n
    \r\n \r\n\t\t\t
  • \r\n );\r\n else\r\n\t\t return(\r\n\t\t\t
  • \r\n
    \r\n\t\t\t\t {category.description}\r\n
    \r\n\t\t\t
  • \r\n\t\t );\r\n }\r\n\r\n\trender(){\r\n\t\treturn(\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t{this.state.resources[\"PWS.CategoryArea.CategoryListCategoryTitle\"]}\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t{this.props.CategoryList.map(this.createAccordions.bind(this))}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t)\r\n\t}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./../../Deploy/PWS/ViewModels/Components/ProductBrowse/CategoryAccordion.js","import React from 'react';\r\nimport Icon from '../Icons/Icon';\r\nimport 'idempotent-babel-polyfill';\r\n\r\nexport default class CategorySelectBlock extends React.Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tresources: props.resources\r\n\t\t}\r\n\t}\r\n\r\n\tcreateCategoryBlock(CategoryBlock, i) {\r\n\t\tlet categoryID = {\r\n\t\t categoryID: CategoryBlock.code\r\n\t\t}\r\n\t\tlet categoryCrumb = this.props.breadcrumbsList.filter(c => c.CategoryID == CategoryBlock.code);\r\n\t\tlet ActiveClass = categoryCrumb.length > 0 ? 'category-name active' : 'category-name';\r\n\t\treturn(\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t{CategoryBlock.description}\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t{CategoryBlock.items.map(this.createCategoryList.bind(this))}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t)\r\n\t}\r\n\r\n\tcreateCategoryList(category, i){\r\n\t\tlet categoryID = {\r\n\t\t\tcategoryID: category.code\r\n\t\t}\r\n\t\tlet categoryCrumb = this.props.breadcrumbsList.filter(c => c.CategoryID == category.code);\r\n\t\tlet ActiveClass = categoryCrumb.length > 0 ? 'subcategory-name active' : 'subcategory-name';\r\n if (category.items.length > 0)\r\n return (\r\n \t
    \r\n
    \r\n\t\t\t\t {category.description}\r\n
    \r\n
    \r\n\t\t\t\t {category.items.map(this.createCategoryList.bind(this))}\r\n
    \r\n\t\t\t
    \r\n );\r\n else\r\n\t\t return(\r\n\t\t\t
    \r\n
    \r\n\t\t\t\t {category.description}\r\n
    \r\n\t\t\t
    \r\n\t\t );\r\n }\r\n\r\n\trender(){\r\n\t\treturn(\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t{/*{this.state.resources[\"PWS.CategoryArea.CategoryListCategoryTitle\"]}*/}\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{this.props.CategoryList.map(this.createCategoryBlock.bind(this))}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t)\r\n\t}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./../../Deploy/PWS/ViewModels/Components/ProductBrowse/CategorySelectBlock.js","import React from 'react';\r\nimport Icon from '../Icons/Icon';\r\nimport 'idempotent-babel-polyfill';\r\n\r\nexport default class CategoryDropdown extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n resources: props.resources,\r\n showCategories: false\r\n };\r\n this.renderCategoryList = this.renderCategoryList.bind(this);\r\n this.renderCategory = this.renderCategory.bind(this);\r\n this.handleClickOutsideDropdown = this.handleClickOutsideDropdown.bind(this);\r\n this.setDropdownRef = this.setDropdownRef.bind(this);\r\n this.getCurrentCategoryDescription = this.getCurrentCategoryDescription.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener('click', this.handleClickOutsideDropdown);\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('click', this.handleClickOutsideDropdown);\r\n }\r\n\r\n handleClickOutsideDropdown(e) {\r\n if (this.dropdownRef && !this.dropdownRef.contains(e.target)) {\r\n this.setState({ showCategories : false });\r\n }\r\n }\r\n \r\n setDropdownRef(node) {\r\n this.dropdownRef = node;\r\n }\r\n\r\n renderCategoryList(categories){\r\n return (\r\n \r\n );\r\n }\r\n\r\n\r\n renderCategory(category, i) {\r\n let categoryID = {\r\n categoryID: category.code\r\n }\r\n // if (category.depth && category.depth > 0) {\r\n // var prefix = \"\";\r\n // for (var i = 0; i < (category.depth || 0); i++) {\r\n // prefix = prefix + \"-\";\r\n // }\r\n // category.description = prefix + category.description;\r\n // }\r\n return (\r\n
  • \r\n {category.description}\r\n
  • \r\n );\r\n }\r\n getCurrentCategoryDescription(categoryCode, defaultValue){\r\n let result = defaultValue;\r\n for(var i in this.props.CategoryList){\r\n if(this.props.CategoryList[i].code == categoryCode)\r\n result = this.props.CategoryList[i].description;\r\n }\r\n return result;\r\n }\r\n\r\nrender() {\r\n return (\r\n
    \r\n
    \r\n \r\n { this.state.showCategories ? this.renderCategoryList(this.props.CategoryList) : null }\r\n
    \r\n
    \r\n );\r\n}\r\n}\n\n\n// WEBPACK FOOTER //\n// ./../../Deploy/PWS/ViewModels/Components/ProductBrowse/CategoryDropdown.js","import React from 'react';\r\nimport Icon from '../Icons/Icon';\r\n\r\nexport default class BreadCrumbs extends React.Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tresources: props.resources\r\n\t\t}\r\n\t}\r\n\r\n\tcreateBreadcrumbs(crumb, i) {\r\n\t\tlet categoryID = {\r\n\t\t\tcategoryID: crumb.CategoryID\r\n\t\t}\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
    »
    \r\n\t\t\t\t{crumb.CategoryName}\r\n\t\t\t
    \r\n\t\t)\r\n\t}\r\n\r\n\trender(){\r\n\r\n\t\tlet Divider =
    »
    ;\r\n\r\n\t\tlet ParentCategory = typeof this.props.ActiveCategories !== \"undefined\" && this.props.ActiveCategories.selectedParentCategoryName.length > 0 ? {this.props.ActiveCategories.selectedParentCategoryName} : '';\r\n\r\n\t\tlet Category = typeof this.props.ActiveCategories !== \"undefined\" && this.props.ActiveCategories.selectedCategoryID.length > 0 ? {this.props.ActiveCategories.selectedCategoryName} : '';\r\n\r\n\t\treturn(\r\n\t\t\t
    \r\n\t\t\t\t{this.state.resources[\"PWS.CategoryArea.BreadcrumbPageTitle\"]}\r\n\t\t\t\t{this.props.breadcrumbsList.map(this.createBreadcrumbs.bind(this))}\r\n\t\t\t
    \r\n\t\t)\r\n\t}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./../../Deploy/PWS/ViewModels/Components/ProductBrowse/BreadCrumbs.js","import React from 'react';\r\nimport Icon from '../Icons/Icon';\r\nimport ProductListItem from './ProductsListItem'\r\nimport Loader from 'react-loader';\r\nimport SearchField from './SearchField';\r\n\r\nimport {DropdownButton} from 'react-bootstrap';\r\nimport {MenuItem} from 'react-bootstrap';\r\n\r\n//import CategoryArea from './CategoryArea';\r\nimport CategoryDropdown from './CategoryDropdown';\r\n\r\n\r\n\r\n\r\n\r\nconst locationOrigin = window.location.protocol + \"//\" + window.location.hostname + window.location.port + window.location.pathname;\r\nexport default class ProductGrid extends React.Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tresources: props.resources,\r\n\t\t\tgridClass: 'categories-filters clearfix product-grid',\r\n\t\t\titemType: 'grid'\r\n\t\t}\r\n\r\n\t\tthis.expandCategories = this.expandCategories.bind(this);\r\n\t}\r\n\r\n\texpandCategories(categories, depth) {\r\n\t\tdepth = depth || 0;\r\n\t\tif (!categories || categories.length === 0) return [];\r\n\t\tvar expandedCategories = [];\r\n\t\tvar categoriesCopy = categories.slice();\r\n\t\tfor(var i in categoriesCopy) {\r\n\t\t\tvar cat = categoriesCopy[i];\r\n\t\t\tcat.depth = depth;\r\n\t\t\t//var subcategories = this.expandCategories(cat.items, depth + 1);\r\n\r\n\t\t\tif(expandedCategories.find(x => x.code == cat.code)=== undefined)\r\n\t\t\t\texpandedCategories = expandedCategories.concat(cat);\r\n\r\n\t\t\tif (cat.items.length > 0)\r\n\t\t\t\tthis.expandCategories(cat.items, depth + 1);\r\n\t\t}\r\n\t\treturn expandedCategories;\r\n\t}\r\n\r\n\tchangeGridClass(shape) {\r\n\t\tlet newClass = '';\r\n\t\tswitch (shape) {\r\n\t\t\tcase 'list':\r\n\t\t\t\tnewClass = 'categories-filters clearfix product-grid-list'\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'grid':\r\n\t\t\t\tnewClass = 'categories-filters clearfix product-grid'\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tnewClass = 'categories-filters clearfix product-grid'\r\n\t\t}\r\n\t\tthis.setState({\r\n\t\t\tgridClass: newClass,\r\n\t\t\titemType: shape\r\n\t\t})\r\n\t}\r\n\r\n\tcreateLabels(label, i){\r\n\t\tif(label !== ''){\r\n\t\t\treturn (\r\n\t\t\t\t
  • \r\n\t\t\t\t\t{label}\r\n\t\t\t\t\tx\r\n\t\t\t\t
  • \r\n\t\t\t)\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tcreateProducts(product, i){\r\n\t\treturn \r\n\t\t}\r\n\r\n\tSearchCategories(data) {\r\n\t this.props.SearchCategories(data);\r\n\t}\r\n\r\n\r\n\trender(){\r\n\t //console.log('-----------------');\r\n\t //console.log(this.props.CategoryList);\r\n\t\tlet gridIconData = {\r\n\t\t\tFill: '#666666',\r\n\t\t\tname: 'Grid',\r\n\t\t\tSize: 26\r\n\t\t}\r\n\r\n\t\tlet listIconData = {\r\n\t\t\tFill: '#666666',\r\n\t\t\tname: 'List',\r\n\t\t\tSize: 26\r\n\t\t}\r\n\t\tlet loader = this.props.isLoading ? : '';\r\n\t\tlet showSearchTerms = this.props.SearchTerms.length > 0 ? {display: 'block'} : {display: 'none'}\r\n\t\tlet showNoResults = !this.props.loaded || this.props.hasResults && this.props.ProductList.length > 0 ? null :
    {this.state.resources[\"PWS.Products.NoResultsMessage\"]}
    ;\r\n\t\treturn(\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    {this.state.resources[\"PWS.ProductSearch.SearchCriteriaLabel\"] + \": \"}   
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t{this.props.SearchTerms.map(this.createLabels.bind(this))}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{this.state.resources[\"PWS.ProductSearch.ClearCategorySelection\"]}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\t{showNoResults}\r\n\t\t\t\t\t\t{/*
      \r\n\t\t\t\t\t\t{this.props.ProductList.map(this.createProducts.bind(this))}\r\n\t\t\t\t\t
    */}\r\n\r\n\t\t\t\t\t
      \r\n\t\t\t\t\t\t{this.props.ProductList.map(this.createProducts.bind(this))}\r\n\r\n
    \r\n\t\t\t
    \r\n\t\t)\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./../../Deploy/PWS/ViewModels/Components/ProductBrowse/ProductGrid.js","(function (root, factory) {\r\n\r\n if (typeof define === 'function' && define.amd) {\r\n define(['react', 'react-dom', 'spin.js', 'prop-types', 'create-react-class'], factory);\r\n } else if (typeof module === 'object' && typeof module.exports === 'object') {\r\n module.exports = factory(require('react'), require('react-dom'), require('spin.js'), require('prop-types'), require('create-react-class'));\r\n } else {\r\n root.Loader = factory(root.React, root.ReactDOM, root.Spinner, root.PropTypes, root.createReactClass);\r\n }\r\n\r\n}(this, function (React, ReactDOM, Spinner, PropTypes, createReactClass) {\r\n\r\n var Loader = createReactClass({\r\n propTypes: {\r\n className: PropTypes.string,\r\n color: PropTypes.string,\r\n component: PropTypes.any,\r\n corners: PropTypes.number,\r\n direction: PropTypes.oneOf([1, -1]),\r\n fps: PropTypes.number,\r\n hwaccell: PropTypes.bool,\r\n left: PropTypes.string,\r\n length: PropTypes.number,\r\n lines: PropTypes.number,\r\n loaded: PropTypes.bool,\r\n loadedClassName: PropTypes.string,\r\n opacity: PropTypes.number,\r\n options: PropTypes.object,\r\n parentClassName: PropTypes.string,\r\n position: PropTypes.string,\r\n radius: PropTypes.number,\r\n rotate: PropTypes.number,\r\n scale: PropTypes.number,\r\n shadow: PropTypes.bool,\r\n speed: PropTypes.number,\r\n top: PropTypes.string,\r\n trail: PropTypes.number,\r\n width: PropTypes.number,\r\n zIndex: PropTypes.number\r\n },\r\n\r\n getDefaultProps: function () {\r\n return {\r\n component: 'div',\r\n loadedClassName: 'loadedContent',\r\n parentClassName: 'loader'\r\n };\r\n },\r\n\r\n getInitialState: function () {\r\n return { loaded: false, options: {} };\r\n },\r\n\r\n componentDidMount: function () {\r\n this.updateState(this.props);\r\n },\r\n\r\n componentWillReceiveProps: function (nextProps) {\r\n this.updateState(nextProps);\r\n },\r\n\r\n componentWillUnmount: function () {\r\n this.setState({ loaded: false });\r\n },\r\n\r\n updateState: function (props) {\r\n props || (props = {});\r\n\r\n var loaded = this.state.loaded;\r\n var options = this.state.options;\r\n\r\n // update loaded state, if supplied\r\n if ('loaded' in props) {\r\n loaded = !!props.loaded;\r\n }\r\n\r\n // update spinner options, if supplied\r\n var allowedOptions = Object.keys(this.constructor.propTypes);\r\n allowedOptions.splice(allowedOptions.indexOf('loaded'), 1);\r\n allowedOptions.splice(allowedOptions.indexOf('options'), 1);\r\n\r\n // allows passing options as either props or as an option object\r\n var propsOrObjectOptions = 'options' in props ? props.options : props;\r\n\r\n allowedOptions.forEach(function (key) {\r\n if (key in propsOrObjectOptions) {\r\n options[key] = propsOrObjectOptions[key];\r\n }\r\n });\r\n\r\n this.setState({ loaded: loaded, options: options }, this.spin);\r\n },\r\n\r\n spin: function () {\r\n var canUseDOM = !!(\r\n typeof window !== 'undefined' &&\r\n window.document &&\r\n window.document.createElement\r\n );\r\n\r\n if (canUseDOM && !this.state.loaded) {\r\n var spinner = new Spinner(this.state.options);\r\n var target = ReactDOM.findDOMNode(this.refs.loader);\r\n\r\n // clear out any other spinners from previous renders\r\n target.innerHTML = '';\r\n spinner.spin(target);\r\n }\r\n },\r\n\r\n render: function () {\r\n var props, children;\r\n\r\n if (this.state.loaded) {\r\n props = { key: 'content', className: this.props.loadedClassName };\r\n children = this.props.children;\r\n } else {\r\n props = { key: 'loader', ref: 'loader', className: this.props.parentClassName };\r\n }\r\n\r\n return React.createElement(this.props.component, props, children);\r\n }\r\n });\r\n\r\n return Loader;\r\n\r\n}));\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/react-loader/lib/react-loader.js\n// module id = 619\n// module chunks = 17","/**\r\n * Copyright (c) 2011-2014 Felix Gnass\r\n * Licensed under the MIT license\r\n * http://spin.js.org/\r\n *\r\n * Example:\r\n var opts = {\r\n lines: 12 // The number of lines to draw\r\n , length: 7 // The length of each line\r\n , width: 5 // The line thickness\r\n , radius: 10 // The radius of the inner circle\r\n , scale: 1.0 // Scales overall size of the spinner\r\n , corners: 1 // Roundness (0..1)\r\n , color: '#000' // #rgb or #rrggbb\r\n , opacity: 1/4 // Opacity of the lines\r\n , rotate: 0 // Rotation offset\r\n , direction: 1 // 1: clockwise, -1: counterclockwise\r\n , speed: 1 // Rounds per second\r\n , trail: 100 // Afterglow percentage\r\n , fps: 20 // Frames per second when using setTimeout()\r\n , zIndex: 2e9 // Use a high z-index by default\r\n , className: 'spinner' // CSS class to assign to the element\r\n , top: '50%' // center vertically\r\n , left: '50%' // center horizontally\r\n , shadow: false // Whether to render a shadow\r\n , hwaccel: false // Whether to use hardware acceleration (might be buggy)\r\n , position: 'absolute' // Element positioning\r\n }\r\n var target = document.getElementById('foo')\r\n var spinner = new Spinner(opts).spin(target)\r\n */\r\n;(function (root, factory) {\r\n\r\n /* CommonJS */\r\n if (typeof module == 'object' && module.exports) module.exports = factory()\r\n\r\n /* AMD module */\r\n else if (typeof define == 'function' && define.amd) define(factory)\r\n\r\n /* Browser global */\r\n else root.Spinner = factory()\r\n}(this, function () {\r\n \"use strict\"\r\n\r\n var prefixes = ['webkit', 'Moz', 'ms', 'O'] /* Vendor prefixes */\r\n , animations = {} /* Animation rules keyed by their name */\r\n , useCssAnimations /* Whether to use CSS animations or setTimeout */\r\n , sheet /* A stylesheet to hold the @keyframe or VML rules. */\r\n\r\n /**\r\n * Utility function to create elements. If no tag name is given,\r\n * a DIV is created. Optionally properties can be passed.\r\n */\r\n function createEl (tag, prop) {\r\n var el = document.createElement(tag || 'div')\r\n , n\r\n\r\n for (n in prop) el[n] = prop[n]\r\n return el\r\n }\r\n\r\n /**\r\n * Appends children and returns the parent.\r\n */\r\n function ins (parent /* child1, child2, ...*/) {\r\n for (var i = 1, n = arguments.length; i < n; i++) {\r\n parent.appendChild(arguments[i])\r\n }\r\n\r\n return parent\r\n }\r\n\r\n /**\r\n * Creates an opacity keyframe animation rule and returns its name.\r\n * Since most mobile Webkits have timing issues with animation-delay,\r\n * we create separate rules for each line/segment.\r\n */\r\n function addAnimation (alpha, trail, i, lines) {\r\n var name = ['opacity', trail, ~~(alpha * 100), i, lines].join('-')\r\n , start = 0.01 + i/lines * 100\r\n , z = Math.max(1 - (1-alpha) / trail * (100-start), alpha)\r\n , prefix = useCssAnimations.substring(0, useCssAnimations.indexOf('Animation')).toLowerCase()\r\n , pre = prefix && '-' + prefix + '-' || ''\r\n\r\n if (!animations[name]) {\r\n sheet.insertRule(\r\n '@' + pre + 'keyframes ' + name + '{' +\r\n '0%{opacity:' + z + '}' +\r\n start + '%{opacity:' + alpha + '}' +\r\n (start+0.01) + '%{opacity:1}' +\r\n (start+trail) % 100 + '%{opacity:' + alpha + '}' +\r\n '100%{opacity:' + z + '}' +\r\n '}', sheet.cssRules.length)\r\n\r\n animations[name] = 1\r\n }\r\n\r\n return name\r\n }\r\n\r\n /**\r\n * Tries various vendor prefixes and returns the first supported property.\r\n */\r\n function vendor (el, prop) {\r\n var s = el.style\r\n , pp\r\n , i\r\n\r\n prop = prop.charAt(0).toUpperCase() + prop.slice(1)\r\n if (s[prop] !== undefined) return prop\r\n for (i = 0; i < prefixes.length; i++) {\r\n pp = prefixes[i]+prop\r\n if (s[pp] !== undefined) return pp\r\n }\r\n }\r\n\r\n /**\r\n * Sets multiple style properties at once.\r\n */\r\n function css (el, prop) {\r\n for (var n in prop) {\r\n el.style[vendor(el, n) || n] = prop[n]\r\n }\r\n\r\n return el\r\n }\r\n\r\n /**\r\n * Fills in default values.\r\n */\r\n function merge (obj) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var def = arguments[i]\r\n for (var n in def) {\r\n if (obj[n] === undefined) obj[n] = def[n]\r\n }\r\n }\r\n return obj\r\n }\r\n\r\n /**\r\n * Returns the line color from the given string or array.\r\n */\r\n function getColor (color, idx) {\r\n return typeof color == 'string' ? color : color[idx % color.length]\r\n }\r\n\r\n // Built-in defaults\r\n\r\n var defaults = {\r\n lines: 12 // The number of lines to draw\r\n , length: 7 // The length of each line\r\n , width: 5 // The line thickness\r\n , radius: 10 // The radius of the inner circle\r\n , scale: 1.0 // Scales overall size of the spinner\r\n , corners: 1 // Roundness (0..1)\r\n , color: '#000' // #rgb or #rrggbb\r\n , opacity: 1/4 // Opacity of the lines\r\n , rotate: 0 // Rotation offset\r\n , direction: 1 // 1: clockwise, -1: counterclockwise\r\n , speed: 1 // Rounds per second\r\n , trail: 100 // Afterglow percentage\r\n , fps: 20 // Frames per second when using setTimeout()\r\n , zIndex: 2e9 // Use a high z-index by default\r\n , className: 'spinner' // CSS class to assign to the element\r\n , top: '50%' // center vertically\r\n , left: '50%' // center horizontally\r\n , shadow: false // Whether to render a shadow\r\n , hwaccel: false // Whether to use hardware acceleration (might be buggy)\r\n , position: 'absolute' // Element positioning\r\n }\r\n\r\n /** The constructor */\r\n function Spinner (o) {\r\n this.opts = merge(o || {}, Spinner.defaults, defaults)\r\n }\r\n\r\n // Global defaults that override the built-ins:\r\n Spinner.defaults = {}\r\n\r\n merge(Spinner.prototype, {\r\n /**\r\n * Adds the spinner to the given target element. If this instance is already\r\n * spinning, it is automatically removed from its previous target b calling\r\n * stop() internally.\r\n */\r\n spin: function (target) {\r\n this.stop()\r\n\r\n var self = this\r\n , o = self.opts\r\n , el = self.el = createEl(null, {className: o.className})\r\n\r\n css(el, {\r\n position: o.position\r\n , width: 0\r\n , zIndex: o.zIndex\r\n , left: o.left\r\n , top: o.top\r\n })\r\n\r\n if (target) {\r\n target.insertBefore(el, target.firstChild || null)\r\n }\r\n\r\n el.setAttribute('role', 'progressbar')\r\n self.lines(el, self.opts)\r\n\r\n if (!useCssAnimations) {\r\n // No CSS animation support, use setTimeout() instead\r\n var i = 0\r\n , start = (o.lines - 1) * (1 - o.direction) / 2\r\n , alpha\r\n , fps = o.fps\r\n , f = fps / o.speed\r\n , ostep = (1 - o.opacity) / (f * o.trail / 100)\r\n , astep = f / o.lines\r\n\r\n ;(function anim () {\r\n i++\r\n for (var j = 0; j < o.lines; j++) {\r\n alpha = Math.max(1 - (i + (o.lines - j) * astep) % f * ostep, o.opacity)\r\n\r\n self.opacity(el, j * o.direction + start, alpha, o)\r\n }\r\n self.timeout = self.el && setTimeout(anim, ~~(1000 / fps))\r\n })()\r\n }\r\n return self\r\n }\r\n\r\n /**\r\n * Stops and removes the Spinner.\r\n */\r\n , stop: function () {\r\n var el = this.el\r\n if (el) {\r\n clearTimeout(this.timeout)\r\n if (el.parentNode) el.parentNode.removeChild(el)\r\n this.el = undefined\r\n }\r\n return this\r\n }\r\n\r\n /**\r\n * Internal method that draws the individual lines. Will be overwritten\r\n * in VML fallback mode below.\r\n */\r\n , lines: function (el, o) {\r\n var i = 0\r\n , start = (o.lines - 1) * (1 - o.direction) / 2\r\n , seg\r\n\r\n function fill (color, shadow) {\r\n return css(createEl(), {\r\n position: 'absolute'\r\n , width: o.scale * (o.length + o.width) + 'px'\r\n , height: o.scale * o.width + 'px'\r\n , background: color\r\n , boxShadow: shadow\r\n , transformOrigin: 'left'\r\n , transform: 'rotate(' + ~~(360/o.lines*i + o.rotate) + 'deg) translate(' + o.scale*o.radius + 'px' + ',0)'\r\n , borderRadius: (o.corners * o.scale * o.width >> 1) + 'px'\r\n })\r\n }\r\n\r\n for (; i < o.lines; i++) {\r\n seg = css(createEl(), {\r\n position: 'absolute'\r\n , top: 1 + ~(o.scale * o.width / 2) + 'px'\r\n , transform: o.hwaccel ? 'translate3d(0,0,0)' : ''\r\n , opacity: o.opacity\r\n , animation: useCssAnimations && addAnimation(o.opacity, o.trail, start + i * o.direction, o.lines) + ' ' + 1 / o.speed + 's linear infinite'\r\n })\r\n\r\n if (o.shadow) ins(seg, css(fill('#000', '0 0 4px #000'), {top: '2px'}))\r\n ins(el, ins(seg, fill(getColor(o.color, i), '0 0 1px rgba(0,0,0,.1)')))\r\n }\r\n return el\r\n }\r\n\r\n /**\r\n * Internal method that adjusts the opacity of a single line.\r\n * Will be overwritten in VML fallback mode below.\r\n */\r\n , opacity: function (el, i, val) {\r\n if (i < el.childNodes.length) el.childNodes[i].style.opacity = val\r\n }\r\n\r\n })\r\n\r\n\r\n function initVML () {\r\n\r\n /* Utility function to create a VML tag */\r\n function vml (tag, attr) {\r\n return createEl('<' + tag + ' xmlns=\"urn:schemas-microsoft.com:vml\" class=\"spin-vml\">', attr)\r\n }\r\n\r\n // No CSS transforms but VML support, add a CSS rule for VML elements:\r\n sheet.addRule('.spin-vml', 'behavior:url(#default#VML)')\r\n\r\n Spinner.prototype.lines = function (el, o) {\r\n var r = o.scale * (o.length + o.width)\r\n , s = o.scale * 2 * r\r\n\r\n function grp () {\r\n return css(\r\n vml('group', {\r\n coordsize: s + ' ' + s\r\n , coordorigin: -r + ' ' + -r\r\n })\r\n , { width: s, height: s }\r\n )\r\n }\r\n\r\n var margin = -(o.width + o.length) * o.scale * 2 + 'px'\r\n , g = css(grp(), {position: 'absolute', top: margin, left: margin})\r\n , i\r\n\r\n function seg (i, dx, filter) {\r\n ins(\r\n g\r\n , ins(\r\n css(grp(), {rotation: 360 / o.lines * i + 'deg', left: ~~dx})\r\n , ins(\r\n css(\r\n vml('roundrect', {arcsize: o.corners})\r\n , { width: r\r\n , height: o.scale * o.width\r\n , left: o.scale * o.radius\r\n , top: -o.scale * o.width >> 1\r\n , filter: filter\r\n }\r\n )\r\n , vml('fill', {color: getColor(o.color, i), opacity: o.opacity})\r\n , vml('stroke', {opacity: 0}) // transparent stroke to fix color bleeding upon opacity change\r\n )\r\n )\r\n )\r\n }\r\n\r\n if (o.shadow)\r\n for (i = 1; i <= o.lines; i++) {\r\n seg(i, -2, 'progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)')\r\n }\r\n\r\n for (i = 1; i <= o.lines; i++) seg(i)\r\n return ins(el, g)\r\n }\r\n\r\n Spinner.prototype.opacity = function (el, i, val, o) {\r\n var c = el.firstChild\r\n o = o.shadow && o.lines || 0\r\n if (c && i + o < c.childNodes.length) {\r\n c = c.childNodes[i + o]; c = c && c.firstChild; c = c && c.firstChild\r\n if (c) c.opacity = val\r\n }\r\n }\r\n }\r\n\r\n if (typeof document !== 'undefined') {\r\n sheet = (function () {\r\n var el = createEl('style', {type : 'text/css'})\r\n ins(document.getElementsByTagName('head')[0], el)\r\n return el.sheet || el.styleSheet\r\n }())\r\n\r\n var probe = css(createEl('group'), {behavior: 'url(#default#VML)'})\r\n\r\n if (!vendor(probe, 'transform') && probe.adj) initVML()\r\n else useCssAnimations = vendor(probe, 'animation')\r\n }\r\n\r\n return Spinner\r\n\r\n}));\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/spin.js/spin.js\n// module id = 620\n// module chunks = 17","import React from 'react';\r\nimport Icon from '../Icons/Icon';\r\nimport $ from 'jQuery';\r\n\r\nimport ProductBrowseActions from './ProductBrowseActions';\r\nimport ProductBrowseStore from './ProductBrowseStore';\r\nimport CartStore from '../Cart/CartStore';\r\nexport default class SearchField extends React.Component {\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = ProductBrowseStore.getState();\r\n\t\tthis.cart = CartStore.getState();\r\n\t}\r\n\t\r\n\tcomponentWillMount() {\r\n\t\tthis.setState({\r\n\t\t\tresources: this.props.resources\r\n\t\t});\r\n\t}\r\n\t\r\n\tcomponentDidMount(){\r\n\t\tProductBrowseStore.listen(this.onChange.bind(this));\r\n\t}\r\n\t\r\n\tcomponentWillUnmount(){\r\n\t\tProductBrowseStore.unlisten(this.onChange.bind(this));\r\n\t}\r\n\t\r\n\tonChange(state) {\r\n\t\tthis.setState(state);\r\n\t}\r\n\t\r\n\tsearchKeyPress(e){\r\n\t\tif(e.which === 13) {\r\n\t\t\tthis.submitSearch();\r\n\t\t}\r\n\t}\r\n\r\n\tsubmitSearch() {\r\n\t\tif (this.state.SearchField.trim().length > 0) {\r\n\t\t\tlet terms = this.state.SearchTerms;\r\n\t\t\tterms.push(this.state.SearchField);\r\n\t\t\tlet sendData = {\r\n\t\t\t\tcategoryID: this.state.currentCategoryID,\r\n\t\t\t\tcurrency: this.cart.primaryCurrency,\r\n\t\t\t\tpage: 1,\r\n\t\t\t\tsearchTerm: terms,\r\n\t\t\t\tresultCount: this.state.resultCount\r\n\t\t\t};\r\n\t\t\tProductBrowseActions.getNewProducts(sendData);\r\n\t\t\tif ($(\"#products-area\"))\r\n\t\t\t\tthis.setURL(terms);\r\n\t\t}\r\n\t}\r\n\r\n\t//Replace the current History Record with the new values\r\n\tsetURL(terms){\r\n\t\twindow.location.replace(`${window.jenkon.consultantRoot}Products#${encodeURIComponent(terms.join(','))}|${this.state.currentCategoryID}|1`);\r\n\t}\r\n\t\r\n\thandleChange() {\r\n\t\tthis.setState({\r\n\t\t\tSearchField: this.refs.SearchField.value\r\n\t\t});\r\n\t}\r\n\t\r\n\trender(){\r\n\t\tlet SearchIconData = {\r\n\t\t\tSize: 21,\r\n\t\t\tFill: '#666666',\r\n\t\t\tname: 'Search'\r\n\t\t} \r\n\t\treturn(\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t)\r\n\t}\r\n}\n\n\n// WEBPACK FOOTER //\n// ./../../Deploy/PWS/ViewModels/Components/ProductBrowse/SearchField.js"],"sourceRoot":""}