{"version":3,"file":"ProductsListingRoot.bundle.js","sources":["../../../Static/src/react/components/products-listing/ProductsList.jsx","../../../Static/src/react/components/products-listing/CategoriesSidebar.jsx","../../../Static/src/react/components/products-listing/OptionsBar.jsx","../../../Static/src/react/components/products-listing/PaginationList.jsx","../../../Static/src/react/components/products-listing/ProductsListingRoot.jsx"],"sourcesContent":["import React from 'react';\r\nimport uniqueId from 'lodash.uniqueid';\r\nimport classNames from 'classnames';\r\n\r\nconst ProductsList = (props) => {\r\n const\r\n productItems = props.productsList.map((product) => makeProductItem(product)),\r\n productListClasses = classNames(\r\n 'flowList',\r\n 'flowList--products',\r\n 'few',\r\n {\r\n 'flowList--horizontal': props.layoutType === ProductsList.layoutTypes.list,\r\n 'loading': props.isLoading\r\n });\r\n\r\n return (\r\n
\r\n

Product list

\r\n \r\n
\r\n );\r\n};\r\n\r\nProductsList.layoutTypes = {list: 'list', grid: 'grid'};\r\n\r\nfunction makeProductItem(product) {\r\n const\r\n isArticle = product.Number.toString().toLowerCase().startsWith('article'),\r\n hasImage = product.ImageUrl.trim().length > 0,\r\n imageContainerClasses = classNames('img-flow', 'ratio-16-9', {'img-flow--no-img': !hasImage});\r\n\r\n return (\r\n
  • \r\n
    \r\n \r\n
    \r\n {hasImage\r\n ? {product.Name}/\r\n : null\r\n }\r\n
    \r\n
    \r\n
    \r\n {product.SupersedesProductInfo &&\r\n

    {product.SupersedesProductInfo}

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

    {product.Name}

    \r\n

    {product.Description}

    \r\n {isArticle\r\n ? null\r\n :

    Product number: {product.Number}

    \r\n }\r\n
    \r\n
  • \r\n )\r\n}\r\n\r\nexport default ProductsList;\r\n\r\n\r\n","import React, {Component} from 'react';\r\nimport classNames from 'classnames';\r\nimport {checkIfDesktop} from '../../utils';\r\n\r\n\r\nexport default class CategoriesSidebar extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.isMobile = !checkIfDesktop();\r\n\r\n this.state = {\r\n isCategorySelectOpen: false\r\n };\r\n\r\n this.toggleCategorySelect = this.toggleCategorySelect.bind(this);\r\n this.handleCategoryChange = this.handleCategoryChange.bind(this);\r\n }\r\n\r\n toggleCategorySelect() {\r\n this.setState((prevState) => ({isCategorySelectOpen: !prevState.isCategorySelectOpen}))\r\n }\r\n\r\n handleCategoryChange(e, category) {\r\n e.preventDefault();\r\n\r\n this.setState({isCategorySelectOpen: false});\r\n\r\n this.props.onCategoryChange(e, category);\r\n }\r\n\r\n renderCategories() {\r\n const categoriesList = this.props.subcategoriesList;\r\n\r\n let categories = categoriesList.map(category => (\r\n
  • \r\n this.handleCategoryChange(e, category.Term)}\r\n className={classNames({'active': category.Term === this.props.activeCategory})}\r\n >\r\n {category.Term} ({category.Count})\r\n \r\n
  • \r\n ));\r\n\r\n if (categoriesList.length > 1) {\r\n const allProductsCount = categoriesList.reduce((total, item) => {\r\n total += item.Count;\r\n return total;\r\n }, 0);\r\n\r\n const mainCategory = (\r\n
  • \r\n this.handleCategoryChange(e, this.props.categoryId)}\r\n className={classNames({'active': this.props.activeCategory === ''})}\r\n >\r\n All ({allProductsCount})\r\n \r\n
  • \r\n );\r\n\r\n categories = [mainCategory, ...categories];\r\n }\r\n\r\n return categories;\r\n }\r\n\r\n render() {\r\n const\r\n sidebarClasses = classNames(\r\n 'searchFilter',\r\n 'searchFilter--product-catalogue',\r\n {'open': this.state.isCategorySelectOpen}\r\n ),\r\n headingClasses = classNames(\r\n 'boxHeading',\r\n {'boxHeading--no-dropdown': this.isMobile && this.props.subcategoriesList.length <= 1}\r\n );\r\n\r\n return (\r\n
    \r\n

    \r\n \r\n Categories\r\n \r\n

    \r\n \r\n
    \r\n )\r\n }\r\n}","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport ProductsList from './ProductsList';\r\nimport CustomSelect from '../common/CustomSelect';\r\n\r\nconst OptionsBar = (props) => {\r\n\r\n const\r\n listLayoutClass = classNames('list-view-btn', {'list-view-btn--active': props.layoutType === ProductsList.layoutTypes.list}),\r\n gridLayoutClass = classNames('tiles-view-btn', {'tiles-view-btn--active': props.layoutType === ProductsList.layoutTypes.grid});\r\n\r\n const {\r\n itemsPerPage,\r\n onItemsQuantityChange,\r\n onLayoutChange\r\n } = props;\r\n\r\n const selectLabelId = 'itemsPerPageLabel';\r\n\r\n return (\r\n
    \r\n
    \r\n Results on the page\r\n \r\n
    \r\n\r\n
    \r\n View\r\n onLayoutChange(e, ProductsList.layoutTypes.list)}\r\n />\r\n onLayoutChange(e, ProductsList.layoutTypes.grid)}\r\n />\r\n
    \r\n
    \r\n )\r\n};\r\n\r\nOptionsBar.itemsQuantities = ['12', '24', '48'];\r\n\r\nexport default OptionsBar;\r\n","import React from 'react';\r\n\r\nconst PaginationList = ({numberOfPages, currentPageNumber, onPageChange, onPrev, onNext}) => {\r\n if (numberOfPages <= 1) {\r\n return null;\r\n } else {\r\n const pageNumbers = getPageNumbers(numberOfPages, currentPageNumber);\r\n const pages = pageNumbers.map((number, i) =>\r\n \r\n );\r\n\r\n return (\r\n \r\n );\r\n }\r\n};\r\n\r\nconst PaginationItem = ({pageNumber, currentPageNumber, handlePageChange}) => {\r\n let item;\r\n\r\n if (pageNumber === currentPageNumber) {\r\n item = (\r\n
  • e.preventDefault()}>\r\n \r\n {pageNumber}\r\n \r\n
  • \r\n );\r\n } else if(pageNumber === \"...\") {\r\n item = (\r\n
  • \r\n e.preventDefault()}>\r\n {pageNumber}\r\n \r\n
  • \r\n );\r\n } else if (pageNumber !== currentPageNumber) {\r\n item = (\r\n
  • \r\n handlePageChange(pageNumber)}>\r\n {pageNumber}\r\n \r\n
  • \r\n );\r\n } else {\r\n item = null;\r\n }\r\n\r\n return item;\r\n};\r\n\r\nfunction getPageNumbers(numberOfPages, currentPageNumber) {\r\n const\r\n firstPageNumber = 1,\r\n placeholderForNotVisibleNumbers = '...',\r\n lastPageNumber = numberOfPages,\r\n maxNumberOfConsecutivePages = 5,\r\n maxPositionOfActiveElement = maxNumberOfConsecutivePages - 1;\r\n\r\n let pageNumbers = [];\r\n\r\n if (numberOfPages <= 1) {\r\n return null;\r\n\r\n } else if (numberOfPages <= maxNumberOfConsecutivePages) {\r\n pageNumbers = createPageNumbers(firstPageNumber, lastPageNumber);\r\n\r\n } else if (numberOfPages > maxNumberOfConsecutivePages) {\r\n\r\n if (currentPageNumber < maxPositionOfActiveElement) {\r\n pageNumbers = [\r\n ...createPageNumbers(firstPageNumber, maxNumberOfConsecutivePages),\r\n placeholderForNotVisibleNumbers,\r\n lastPageNumber\r\n ];\r\n }\r\n\r\n if ((currentPageNumber >= maxPositionOfActiveElement) && (currentPageNumber <= lastPageNumber - maxPositionOfActiveElement)) {\r\n pageNumbers = [\r\n firstPageNumber,\r\n placeholderForNotVisibleNumbers,\r\n currentPageNumber - 1,\r\n currentPageNumber,\r\n currentPageNumber + 1,\r\n placeholderForNotVisibleNumbers,\r\n lastPageNumber];\r\n }\r\n if ((currentPageNumber >= maxPositionOfActiveElement) && (currentPageNumber > lastPageNumber - maxPositionOfActiveElement)) {\r\n pageNumbers = [\r\n firstPageNumber,\r\n placeholderForNotVisibleNumbers,\r\n ...createPageNumbers(lastPageNumber - maxPositionOfActiveElement, lastPageNumber)\r\n ];\r\n }\r\n }\r\n\r\n return pageNumbers;\r\n}\r\n\r\nfunction createPageNumbers(startPageNumber, endPageNumber) {\r\n const numberOfPages = endPageNumber - startPageNumber;\r\n let pageNumbers = [],\r\n currentPageNumber = startPageNumber;\r\n\r\n for (let i = 0; i <= numberOfPages; i++) {\r\n pageNumbers[i] = currentPageNumber;\r\n currentPageNumber++;\r\n }\r\n\r\n return pageNumbers;\r\n}\r\n\r\nexport default PaginationList;","import React, {Component} from 'react';\r\nimport axios from 'axios';\r\nimport {checkIfDesktop, getCookie, setCookie} from '../../utils';\r\nimport ProductsList from './ProductsList';\r\nimport CategoriesSidebar from './CategoriesSidebar';\r\nimport OptionsBar from './OptionsBar';\r\nimport PaginationList from './PaginationList';\r\n\r\nexport default class ProductsListingRoot extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n const\r\n layoutTypeFromCookies = getCookie('layoutType'),\r\n initialLayoutType = layoutTypeFromCookies ? layoutTypeFromCookies : ProductsList.layoutTypes.list,\r\n itemsPerPageFromCookies = getCookie('itemsPerPage'),\r\n initialItemsPerPage = itemsPerPageFromCookies ? itemsPerPageFromCookies : OptionsBar.itemsQuantities[0];\r\n\r\n this.state = {\r\n searchTerm: this.props.searchTerm,\r\n categoryId: this.props.categoryId,\r\n itemsPerPage: initialItemsPerPage,\r\n layoutType: initialLayoutType,\r\n isLoading: true,\r\n isInitialRender: true,\r\n activeCategory: '',\r\n productsList: [],\r\n subcategoriesList: [],\r\n currentPageNumber: 1,\r\n numberOfPages: 0\r\n };\r\n\r\n this.handleCategoryChange = this.handleCategoryChange.bind(this);\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.handleNext = this.handleNext.bind(this);\r\n this.handlePrev = this.handlePrev.bind(this);\r\n this.handleItemsQuantityChange = this.handleItemsQuantityChange.bind(this);\r\n this.handleLayoutChange = this.handleLayoutChange.bind(this);\r\n this.setActiveCategory = this.setActiveCategory.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.fetchData();\r\n\r\n if (!checkIfDesktop()) {\r\n this.setState({layoutType: ProductsList.layoutTypes.grid});\r\n }\r\n }\r\n\r\n fetchData() {\r\n this.setState({isLoading: true});\r\n\r\n const {\r\n categoryId,\r\n currentPageNumber,\r\n itemsPerPage,\r\n searchTerm,\r\n activeCategory\r\n } = this.state;\r\n\r\n const params = {\r\n categoryId: categoryId,\r\n pageNo: currentPageNumber,\r\n itemsPerPage: itemsPerPage,\r\n term: searchTerm,\r\n categoryFacet: activeCategory\r\n };\r\n\r\n axios.get(this.props.rootUrl, {params})\r\n .then(result => {\r\n const\r\n productsList = result.data.Results,\r\n numberOfPages = result.data.TotalPages,\r\n subcategoriesList = result.data.Categories;\r\n\r\n this.setState({\r\n productsList,\r\n numberOfPages\r\n });\r\n\r\n if (this.state.isInitialRender) {\r\n this.setState({\r\n subcategoriesList,\r\n isInitialRender: false\r\n }, this.setActiveCategory);\r\n }\r\n })\r\n .then(() => this.setState({isLoading: false}))\r\n .catch( (error) => {\r\n this.setState({isLoading: false});\r\n this.handleFetchError(error);\r\n });\r\n }\r\n\r\n setActiveCategory() {\r\n const {subcategoriesList} = this.state;\r\n\r\n if (subcategoriesList.length === 1) {\r\n this.setState({activeCategory: subcategoriesList[0].Term})\r\n }\r\n }\r\n\r\n handleFetchError(error) {\r\n if (error.response) {\r\n console.log(error.response.data);\r\n console.log(error.response.status);\r\n console.log(error.response.headers);\r\n } else if (error.request) {\r\n console.log(error.request);\r\n } else {\r\n console.log('Error', error.message);\r\n }\r\n console.log(error.config);\r\n }\r\n\r\n handleCategoryChange(e, category) {\r\n e.preventDefault();\r\n\r\n // When user clicks \"All\" which represents main category\r\n if (category === this.state.categoryId) {\r\n this.setState({\r\n activeCategory: '',\r\n currentPageNumber: 1\r\n },\r\n () => this.fetchData()\r\n );\r\n } else {\r\n this.setState({\r\n activeCategory: category,\r\n currentPageNumber: 1\r\n },\r\n () => this.fetchData()\r\n );\r\n }\r\n }\r\n\r\n handleItemsQuantityChange(quantity) {\r\n this.setState({\r\n currentPageNumber: 1,\r\n itemsPerPage: quantity\r\n },\r\n () => this.fetchData()\r\n );\r\n\r\n setCookie('itemsPerPage', quantity, 30, '/product-catalogue/');\r\n }\r\n\r\n handleLayoutChange(e, layoutType) {\r\n e.preventDefault();\r\n\r\n this.setState({layoutType});\r\n\r\n setCookie('layoutType', layoutType, 30, '/product-catalogue/' );\r\n }\r\n\r\n handlePageChange(pageNumber) {\r\n this.setState(\r\n {currentPageNumber: pageNumber},\r\n () => this.fetchData()\r\n );\r\n }\r\n\r\n handlePrev() {\r\n this.setState((prevState) => ({\r\n currentPageNumber: prevState.currentPageNumber - 1\r\n }), () => this.fetchData())\r\n }\r\n\r\n handleNext() {\r\n this.setState((prevState) => ({\r\n currentPageNumber: prevState.currentPageNumber + 1\r\n }), () => this.fetchData())\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n productsList,\r\n subcategoriesList,\r\n activeCategory,\r\n categoryId,\r\n isLoading,\r\n layoutType,\r\n itemsPerPage,\r\n numberOfPages,\r\n currentPageNumber\r\n } = this.state;\r\n\r\n\r\n if ((productsList.length === 0 && isLoading === false)) {\r\n return

    No results

    ;\r\n }\r\n\r\n if (productsList.length > 0) {\r\n return (\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

    Loading in progress.

    \r\n
    \r\n
    \r\n )\r\n }\r\n }\r\n}"],"names":["ProductsList","props","productItems","product","makeProductItem","productListClasses","classNames","jsx","isArticle","hasImage","imageContainerClasses","jsxs","uniqueId","ProductsList$1","CategoriesSidebar","Component","checkIfDesktop","prevState","category","categoriesList","categories","e","allProductsCount","total","item","sidebarClasses","headingClasses","OptionsBar","listLayoutClass","gridLayoutClass","itemsPerPage","onItemsQuantityChange","onLayoutChange","selectLabelId","CustomSelect","OptionsBar$1","PaginationList","numberOfPages","currentPageNumber","onPageChange","onPrev","onNext","pages","getPageNumbers","number","i","PaginationItem","pageNumber","handlePageChange","placeholderForNotVisibleNumbers","lastPageNumber","maxNumberOfConsecutivePages","maxPositionOfActiveElement","pageNumbers","createPageNumbers","startPageNumber","endPageNumber","PaginationList$1","ProductsListingRoot","layoutTypeFromCookies","getCookie","initialLayoutType","itemsPerPageFromCookies","initialItemsPerPage","categoryId","searchTerm","activeCategory","params","axios","result","productsList","subcategoriesList","error","quantity","setCookie","layoutType","isLoading"],"mappings":"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"}