{"version":3,"sources":["webpack:///./src/components/PuxAnchor/PuxAnchor.tsx","webpack:///./src/components/PuxRepeater/PuxRepeaterFilters/controls/ReferenceFilterControlItem.tsx","webpack:///./src/components/PuxRepeater/PuxRepeaterFilters/controls/ReferenceFilterControlGroup.tsx","webpack:///./src/components/PuxRepeater/PuxRepeaterFilters/PuxDesignReferenceFilter.tsx","webpack:///./src/components/reference/reference-card.tsx","webpack:///./src/components/PuxRepeater/PuxRepeater.tsx","webpack:///./src/templates/referenceList.tsx","webpack:///./src/components/BreadCrumbs.tsx"],"names":["PuxAnchor","props","className","rootClass","id","children","ReferenceFilterControlItem","type","formComponent","name","groupId","value","checked","activeFilter","onChange","e","target","controlHandler","handleClick","htmlFor","dt","label","ReferenceFilterControlGroup","React","useState","showAll","setShowAll","allItems","controlItems","visibleItems","undefined","length","slice","indexOf","sort","a","b","parseInt","map","item","idx","key","onClick","pascalize","str","charAt","toUpperCase","replace","PuxDesignReferenceFilter","data","completeData","isOpen","setOpen","rsType","rsFocus","rsLabels","rsPrice","labelsData","getDataByKey","activeFilters","focusData","labelsSort","setBindingTable","field","isReseting","updateUrl","filterValue","filterId","filteredData","clearFilter","ReferenceCard","useInView","threshold","triggerOnce","ref","inView","motion","div","contentItemId","animate","variants","visible","opacity","y","hidden","transition","duration","ease","hrefLang","getHrefLang","path","to","getLocalizedUrl","style","backgroundImage","puxDesignReferencePreviewImage","puxMediaSelectorImage","resizePaths","puxDesignReferenceType","puxDesignReferenceDisplayTitle","displayText","resourceString","dataByKey","cleanedDataForSelect","Object","keys","forEach","filter","p","Array","isArray","includes","itemByKey","arrayItem","push","Set","count","bindingTable","PuxRepeaterPager","pagesCount","pageCount","location","useLocation","getPagerLink","page","href","url","URL","searchParams","set","toString","pathname","search","getPagerButton","currentPage","getPagerSpacer","pagerOptions","loadMoreHandler","apply","PuxRepeater","pagedDataArray","pagedItems","itemsOriginal","repeaterData","initialState","items","filters","itemsCount","defaultPage","simpleRepeaterPagerOptions","simpleRepeaterOnePageOnly","URLSearchParams","get","Number","getDefaultPage","state","setState","pageSize","Math","min","simpleRepeaterPageSize","paramKeys","delete","navigate","setBindingTableHandler","table","useEffect","newState","puxSimpleFilter","puxFilterIsHidden","filteredFields","param","console","log","origItems","newFilters","newItems","filteredField","setFilter","document","querySelector","scrollIntoView","getFilter","contentType","reduce","resultArray","index","pageIndex","floor","concat","ceil","isNaN","ReferenceList","pageContext","orchard","puxDesignReferenceList","mappedItems","labels","puxDesignReferencePriceList","contentItems","price","puxDesignReferencePriceLabel","localizedPath","localization","localizations","PuxMetaTags","metaTagsData","BreadCrumbs","default","center","puxDesignReferenceListDisplayTitle","theme","localizedHomepageUrl","getFromConfig","process","home"],"mappings":"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","file":"component---src-templates-reference-list-tsx-1ddb168b98f429ed0e3b.js","sourcesContent":["import './PuxAnchor.scss'\r\n\r\nimport React, { FunctionComponent } from 'react'\r\n\r\ninterface PuxAnchorType {\r\n id: string\r\n children: React.ReactNode\r\n}\r\n\r\nconst rootClass = `pux-anchor`\r\n\r\nconst PuxAnchor: FunctionComponent = (props) => (\r\n
\r\n \r\n {props.children}\r\n
\r\n)\r\n\r\nexport default PuxAnchor\r\n","import React, { FunctionComponent } from 'react'\r\nimport { dt } from '../../../shared/dynamic-rs'\r\nimport {navigate } from 'gatsby'\r\n\r\ninterface ReferenceFilterControlItemProps {\r\n controlHandler: (filterValue: string, filterId: string) => void\r\n activeFilter: string\r\n groupId: string\r\n formComponent: 'radio' | 'checkbox'\r\n value: string\r\n label: string\r\n count: string\r\n}\r\n\r\nconst ReferenceFilterControlItem: FunctionComponent = props => {\r\n const handleClick = (e: any) => {\r\n if (e.target.value === props.activeFilter) {\r\n props.controlHandler('', props.groupId)\r\n } else {\r\n props.controlHandler(e.target.value, props.groupId)\r\n }\r\n }\r\n return (\r\n <>\r\n handleClick(e)}\r\n \r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nexport default ReferenceFilterControlItem\r\n","import React, { FunctionComponent } from 'react'\r\nimport ReferenceFilterControlItem from './ReferenceFilterControlItem'\r\nimport { t } from 'ttag'\r\n\r\ninterface ReferenceFilterControlGroupProps {\r\n // controlGroup: string\r\n // controlItem: PuxFilterControlItemValue\r\n // dynamicHandler: (e: React.ChangeEvent) => void\r\n // dynamicControls: DynamicControls\r\n controlHandler: (filterValue: string, filterId: string) => void\r\n activeFilter: string\r\n groupId: string\r\n formComponent: 'checkbox' | 'radio'\r\n controlItems: object[]\r\n}\r\n\r\nconst ReferenceFilterControlGroup: FunctionComponent = props => {\r\n const [showAll, setShowAll] = React.useState(false)\r\n const allItems = props.controlItems\r\n let visibleItems = undefined\r\n\r\n if (allItems.length) {\r\n if (!showAll) {\r\n visibleItems = allItems.slice(0, 5)\r\n } else {\r\n visibleItems = allItems\r\n }\r\n\r\n if (props.groupId.indexOf(\"price\") > -1) { \r\n visibleItems.sort((a: object, b: object) => {\r\n return parseInt(a.value) - parseInt(b.value)\r\n })\r\n } \r\n\r\n return (\r\n
\r\n {visibleItems.map((item, idx) => (\r\n \r\n ))}\r\n {allItems.length > 5 && !showAll && (\r\n setShowAll(true)}\r\n >{t`Puxdesign.Filter.ShowMore`}\r\n )}\r\n
\r\n )\r\n }\r\n\r\n return null\r\n}\r\n\r\nexport default ReferenceFilterControlGroup\r\n","import React, { FunctionComponent, useState } from 'react'\r\nimport Select from 'react-select'\r\nimport { dt } from '../../shared/dynamic-rs'\r\nimport { t } from 'ttag'\r\n\r\nimport { FilterInputType, getDataByKey, getLocalizedSelectValue } from '../PuxRepeater'\r\nimport ReferenceFilterControlGroup from './controls/ReferenceFilterControlGroup'\r\n\r\nconst rootClass = `reference-filter`\r\n\r\nconst pascalize = (str: string): string => {\r\n return str.charAt(0).toUpperCase() + str.replace(`w`, `W`).slice(1)\r\n}\r\n\r\nconst PuxDesignReferenceFilter: FunctionComponent = (props) => {\r\n const data = props.completeData\r\n const [isOpen, setOpen] = useState(false)\r\n\r\n const rsType = dt(`Pux.RepeaterFilter.Reference.Type`)\r\n const rsFocus = dt(`Pux.RepeaterFilter.Reference.IndustryFocus`)\r\n const rsLabels = dt(`Pux.RepeaterFilter.Reference.IWantToSee`)\r\n const rsPrice = dt(`Pux.RepeaterFilter.Reference.Price`)\r\n const typeData = getDataByKey(data, props.activeFilters, `puxDesignReferenceType`, rsType)\r\n const labelsData = getDataByKey(data, props.activeFilters, `labels`, rsLabels)\r\n const focusData = getDataByKey(data, props.activeFilters, `puxDesignReferenceIndustryFocus`, rsFocus)\r\n\r\n const labelsSort = [\r\n `presentationweb`,\r\n `eshop`,\r\n `portal`,\r\n `enterprise`,\r\n `print`,\r\n `webdesign`,\r\n `content`,\r\n `identity`,\r\n `research`,\r\n `marketing`,\r\n ]\r\n labelsData?.sort((a, b) => (labelsSort.indexOf(a.value) > labelsSort.indexOf(b.value) ? 1 : -1))\r\n\r\n props.setBindingTable({\r\n 'filter-referencetype': {\r\n field: `puxDesignReferenceType`,\r\n },\r\n 'filter-industryfocus': {\r\n field: `puxDesignReferenceIndustryFocus`,\r\n },\r\n 'filter-labels': {\r\n field: `labels`,\r\n },\r\n 'filter-price-identity': {\r\n field: `puxDesignReferenceIdentityPrice`,\r\n },\r\n 'filter-price-content': {\r\n field: `puxDesignReferenceContentPrice`,\r\n },\r\n 'filter-price-enterprise': {\r\n field: `puxDesignReferenceEnterprisePrice`,\r\n },\r\n 'filter-price-eshop': {\r\n field: `puxDesignReferenceEshopPrice`,\r\n },\r\n 'filter-price-industry': {\r\n field: `puxDesignReferenceIndustryFocus`,\r\n },\r\n 'filter-price-marketing': {\r\n field: `puxDesignReferenceMarketingPrice`,\r\n },\r\n 'filter-price-portal': {\r\n field: `puxDesignReferencePortalPrice`,\r\n },\r\n 'filter-price-presentationweb': {\r\n field: `puxDesignReferencePresentationWebPrice`,\r\n },\r\n 'filter-price-print': {\r\n field: `puxDesignReferencePrintPrice`,\r\n },\r\n 'filter-price-research': {\r\n field: `puxDesignReferenceResearchPrice`,\r\n },\r\n 'filter-price-webdesign': {\r\n field: `puxDesignReferenceWebdesignPrice`,\r\n },\r\n })\r\n\r\n // reset urls in case of hidden filters\r\n if (\r\n !props.isReseting &&\r\n (!props.activeFilters || !props.activeFilters[`labels`])\r\n ) {\r\n props.updateUrl(``, `filter-industryfocus`)\r\n props.updateUrl(``, `filter-price-identity`)\r\n props.updateUrl(``, `filter-price-content`)\r\n props.updateUrl(``, `filter-price-enterprise`)\r\n props.updateUrl(``, `filter-price-eshop`)\r\n props.updateUrl(``, `filter-price-industry`)\r\n props.updateUrl(``, `filter-price-marketing`)\r\n props.updateUrl(``, `filter-price-portal`)\r\n props.updateUrl(``, `filter-price-presentationweb`)\r\n props.updateUrl(``, `filter-price-print`)\r\n props.updateUrl(``, `filter-price-research`)\r\n props.updateUrl(``, `filter-price-webdesign`)\r\n }\r\n\r\n const controlHandler = (filterValue: string, filterId: string) => {\r\n props.updateUrl(filterValue, filterId)\r\n }\r\n\r\n return (\r\n <>\r\n setOpen(!isOpen)}\r\n >{t`Pux.RepeaterFilter.OpenFilter`}\r\n
\r\n
\r\n {t`Pux.RepeaterFilter.Reference.IWantToSee.Label`}\r\n \r\n {/* props.updateUrl(selectedOption.value, `filter-labels`)}\r\n /> */}\r\n
\r\n {/*
\r\n {t`Pux.RepeaterFilter.Reference.Type.Label`}\r\n \r\n {/* props.updateUrl(selectedOption.value, `filter-referencetype`)}\r\n />\r\n
*/}\r\n { props.activeFilters &&\r\n props.activeFilters[`labels`] &&\r\n //props.activeFilters[`puxDesignReferenceType`] &&\r\n props.filteredData &&\r\n props.filteredData.length > 0 && (\r\n <>\r\n
\r\n {t`Pux.RepeaterFilter.Reference.Price.Label`}\r\n \r\n {/* \r\n props.updateUrl(selectedOption.value, `filter-price-` + props.activeFilters[`labels`])\r\n }\r\n /> */}\r\n
\r\n
\r\n {t`Pux.RepeaterFilter.Reference.IndustryFocus.Label`}\r\n \r\n {/* props.updateUrl(selectedOption.value, `filter-industryfocus`)}\r\n /> */}\r\n
\r\n \r\n )}\r\n {t`Pux.RepeaterFilter.Clear`}\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default PuxDesignReferenceFilter\r\n","import { Link } from 'gatsby'\r\nimport React, { FunctionComponent } from 'react'\r\nimport { Reference } from '../../types/reference.types'\r\nimport { t } from 'ttag'\r\nimport { useInView } from 'react-intersection-observer'\r\nimport { motion } from 'framer-motion'\r\nimport { getHrefLang, getLocalizedUrl } from '../../utils/localeURL'\r\n\r\ninterface ReferenceCardProps {\r\n item: Reference\r\n}\r\n\r\nexport const ReferenceCard: FunctionComponent = props => {\r\n const [ref, inView] = useInView({\r\n threshold: 0.3,\r\n triggerOnce: true,\r\n })\r\n\r\n const variants = {\r\n visible: { opacity: 1, y: 0 },\r\n hidden: {\r\n opacity: 0,\r\n y: 100,\r\n },\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {props.item.puxDesignReferenceType === `casestudy` && (\r\n
{t`PuxDesign.CaseStudy`}
\r\n )}\r\n \r\n
\r\n
{props.item.puxDesignReferenceDisplayTitle ? props.item.puxDesignReferenceDisplayTitle : props.item.displayText}
\r\n {/*\r\n
\r\n */}\r\n \r\n \r\n \r\n )\r\n}\r\n","import './PuxRepeater.scss'\r\n\r\nimport { useLocation } from '@reach/router'\r\nimport { Link, navigate } from 'gatsby'\r\nimport React, { FunctionComponent, ReactNode, useEffect } from 'react'\r\nimport { dt } from '../shared/dynamic-rs'\r\nimport { t } from 'ttag'\r\n\r\nimport PuxAnchor from '../PuxAnchor/PuxAnchor'\r\nimport PuxDesignReferenceFilter from './PuxRepeaterFilters/PuxDesignReferenceFilter'\r\nimport { PuxFilterGridItem } from '../../types/pux-filter.types'\r\nimport { ReferenceCard } from '../reference/reference-card'\r\n\r\ntype TaxonomyContentItemType = PuxFilterGridItem\r\n\r\nexport interface FilterType {\r\n [field: string]: string\r\n}\r\n\r\nexport interface BindingTableType {\r\n id: string\r\n field: string\r\n}\r\n\r\nexport interface FilterInputType {\r\n completeData: TaxonomyContentItemType[]\r\n filteredData: TaxonomyContentItemType[]\r\n updateUrl: any\r\n clearFilter: any\r\n activeFilters: FilterType\r\n setBindingTable: any\r\n}\r\n\r\nexport interface PuxRepeaterType {\r\n repeaterData: TaxonomyContentItemType[]\r\n simpleRepeaterPageSize: number\r\n simpleRepeaterPagerOptions: 'pages' | 'loadmore' | 'showall'\r\n simpleRepeaterOnePageOnly: boolean\r\n puxSimpleFilter: {\r\n puxFilterIsHidden: boolean\r\n }\r\n contentItemId: string\r\n}\r\n\r\nexport function getDataByKey(\r\n data: TaxonomyContentItemType[],\r\n activeFilters: FilterType,\r\n key: string,\r\n resourceString: string\r\n) {\r\n const dataByKey: string[] = []\r\n const cleanedDataForSelect: object[] = []\r\n\r\n if (!data) {\r\n return null\r\n }\r\n\r\n // filters out data by all filters EXCEPT currently calculated filter\r\n let filteredData = data\r\n if (activeFilters != undefined) {\r\n Object.keys(activeFilters).forEach(filter => {\r\n if (activeFilters[filter] && activeFilters[filter].length) {\r\n filteredData = filteredData.filter(\r\n p =>\r\n (Array.isArray(p[filter as keyof TaxonomyContentItemType])\r\n ? (p[filter as keyof TaxonomyContentItemType] as string[]).includes(activeFilters[filter])\r\n : p[filter as keyof TaxonomyContentItemType] == activeFilters[filter]) || filter == key\r\n )\r\n }\r\n })\r\n }\r\n\r\n filteredData.map(item => {\r\n const itemByKey: string = item[key as keyof TaxonomyContentItemType]\r\n if (Array.isArray(itemByKey)) {\r\n ; (itemByKey as string[]).forEach(arrayItem => dataByKey.push(arrayItem))\r\n } else {\r\n dataByKey.push(itemByKey)\r\n }\r\n })\r\n\r\n const cleanedData = [...new Set(dataByKey.filter(item => item !== null))]\r\n\r\n // cleanedDataForSelect.push({\r\n // value: ``,\r\n // label: resourceString,\r\n // })\r\n\r\n cleanedData.map((item) =>\r\n cleanedDataForSelect.push({\r\n value: item,\r\n label: dt(`Pux.RepeaterFilter.Item.${item}`),\r\n count: dataByKey.filter((p) => p == item)?.length,\r\n })\r\n )\r\n\r\n return cleanedDataForSelect\r\n}\r\n\r\nexport function getLocalizedSelectValue(selectValue: string, defaultLabel: string) {\r\n if (selectValue !== `` && selectValue !== undefined) {\r\n const rslabel = dt(selectValue)\r\n\r\n return {\r\n value: selectValue,\r\n label: rslabel,\r\n }\r\n }\r\n\r\n return {\r\n value: selectValue,\r\n label: dt(defaultLabel),\r\n }\r\n}\r\n\r\nconst rootClass = `pux-repeater`\r\nlet bindingTable = null\r\n\r\nconst PuxRepeater: FunctionComponent = props => {\r\n const location = useLocation()\r\n const itemsOriginal = props.repeaterData\r\n\r\n const getDefaultPage = () => {\r\n let defaultPage: string\r\n if (props.simpleRepeaterPagerOptions === `pages` && props.simpleRepeaterOnePageOnly === false) {\r\n defaultPage = new URLSearchParams(location.search).get(`page`) ?? `1`\r\n } else {\r\n defaultPage = `1`\r\n }\r\n\r\n return Number.parseInt(defaultPage)\r\n }\r\n\r\n const initialState = {\r\n items: props.repeaterData ?? [],\r\n filters: {},\r\n itemsCount: props.repeaterData?.length ?? 0,\r\n currentPage: getDefaultPage(),\r\n isReseting: false,\r\n }\r\n\r\n const [state, setState] = React.useState(initialState)\r\n\r\n const getPageSize = () => {\r\n if (props.simpleRepeaterPagerOptions === `showall` || props.simpleRepeaterPagerOptions === null) {\r\n return initialState.itemsCount\r\n } else {\r\n return Math.min(initialState.itemsCount, props.simpleRepeaterPageSize)\r\n }\r\n }\r\n\r\n const pageSize = getPageSize()\r\n\r\n const getPageCount = () => {\r\n const count = Math.ceil(state.itemsCount / pageSize)\r\n\r\n if (!Number.isNaN(count)) {\r\n return count\r\n }\r\n\r\n return 0\r\n }\r\n\r\n const getPagedDataArray = (data: TaxonomyContentItemType[]) => {\r\n if (data.length) {\r\n return data.reduce((resultArray: TaxonomyContentItemType[][], item, index) => {\r\n const pageIndex = Math.floor(index / pageSize)\r\n\r\n if (!resultArray[pageIndex]) {\r\n resultArray[pageIndex] = []\r\n }\r\n\r\n resultArray[pageIndex].push(item)\r\n\r\n return resultArray\r\n }, [])\r\n }\r\n\r\n return [[]]\r\n }\r\n\r\n const buildPagedData = (page: number) => {\r\n const pagedDataArray = getPagedDataArray(state.items)\r\n let pagedItems = pagedDataArray[0]\r\n\r\n if (page != 1 && props.simpleRepeaterOnePageOnly === false) {\r\n if (props.simpleRepeaterPagerOptions === `pages`) {\r\n pagedItems.length = 0\r\n }\r\n pagedItems = pagedItems.concat(pagedDataArray[page - 1])\r\n }\r\n\r\n return pagedItems.map((item, idx) => {\r\n switch (item?.contentType) {\r\n case `PuxDesignReference`:\r\n return \r\n default:\r\n return null\r\n }\r\n })\r\n }\r\n\r\n const clearFilter = () => {\r\n const url = new URL(location.href)\r\n\r\n const paramKeys: string[] = []\r\n for (const key of url.searchParams.keys()) {\r\n paramKeys.push(key)\r\n }\r\n\r\n const filteredKeys = paramKeys.filter(key => key.includes(`filter`))\r\n filteredKeys.map(key => url.searchParams.delete(key))\r\n\r\n setState({\r\n ...state,\r\n items: initialState.items,\r\n itemsCount: initialState.itemsCount,\r\n filters: initialState.filters,\r\n isReseting: true,\r\n })\r\n\r\n navigate(url.pathname + url.search)\r\n }\r\n\r\n const setFilter = (filteredFields, origItems) => {\r\n const newFilters = initialState.filters\r\n let newItems = origItems\r\n\r\n if (filteredFields.length) {\r\n filteredFields.map(filteredField => {\r\n newFilters[filteredField.field] = filteredField.param\r\n })\r\n\r\n Object.keys(newFilters).forEach(filter => {\r\n if (newFilters[filter] && newFilters[filter].length) {\r\n newItems = newItems.filter(p =>\r\n Array.isArray(p[filter as keyof TaxonomyContentItemType])\r\n ? (p[filter as keyof TaxonomyContentItemType] as string[]).includes(newFilters[filter])\r\n : p[filter as keyof TaxonomyContentItemType] == newFilters[filter]\r\n )\r\n }\r\n })\r\n }\r\n\r\n return {\r\n filters: newFilters,\r\n items: newItems,\r\n itemsCount: newItems?.length ?? 0,\r\n }\r\n }\r\n\r\n const updateUrl = (value: string, key: string) => {\r\n if (location.href != undefined) {\r\n const url = new URL(location.href)\r\n url.searchParams.set(`page`, `1`)\r\n\r\n if (value === `` && url.searchParams.get(key)) {\r\n url.searchParams.delete(key)\r\n navigate(url.pathname + url.search)\r\n } else if (value !== ``) {\r\n url.searchParams.set(key, value)\r\n navigate(url.pathname + url.search)\r\n }\r\n }\r\n }\r\n\r\n const setBindingTableHandler = (table: BindingTableType[]) => {\r\n bindingTable = table\r\n }\r\n\r\n const getFilter = (type: string) => {\r\n switch (type) {\r\n case `PuxDesignReference`:\r\n return (\r\n \r\n )\r\n default:\r\n return null\r\n }\r\n }\r\n\r\n const loadMore = () => {\r\n setState({\r\n ...state,\r\n currentPage: state.currentPage + 1,\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n let newState = {\r\n items: state.items,\r\n filters: state.filters,\r\n itemsCount: state.itemsCount,\r\n currentPage: state.currentPage,\r\n }\r\n\r\n const searchParams = new URLSearchParams(location.search)\r\n if (props.simpleRepeaterPagerOptions === `pages`) {\r\n newState.currentPage = Number.parseInt(searchParams.get(`page`) ?? `1`)\r\n }\r\n\r\n if (!props.puxSimpleFilter.puxFilterIsHidden) {\r\n const paramKeys: string[] = []\r\n const filteredFields: any[] = []\r\n for (const key of searchParams.keys()) {\r\n paramKeys.push(key)\r\n }\r\n\r\n const filteredKeys = paramKeys.filter(key => key.includes(`filter`))\r\n\r\n filteredKeys.map(key => {\r\n const param: string | null = searchParams.get(key)\r\n const field: string = bindingTable[key].field\r\n\r\n if (field) {\r\n filteredFields.push({\r\n field,\r\n param,\r\n })\r\n }\r\n })\r\n\r\n console.log(`🚀 ~ file: PuxRepeater.tsx ~ line 329 ~ useEffect ~ filteredFields`, filteredFields)\r\n newState = {\r\n ...newState,\r\n ...setFilter(filteredFields, itemsOriginal),\r\n }\r\n }\r\n\r\n if (location.search !== `` && props.simpleRepeaterPagerOptions === `pages`) {\r\n document.querySelector(`#repeater-${props.contentItemId}`)?.scrollIntoView()\r\n }\r\n\r\n setState({\r\n ...newState,\r\n isReseting: false,\r\n })\r\n }, [location.search])\r\n\r\n return (\r\n \r\n
\r\n {!props.puxSimpleFilter.puxFilterIsHidden && (\r\n
\r\n {itemsOriginal && itemsOriginal.length > 0 && getFilter(itemsOriginal[0].contentType)}\r\n
\r\n )}\r\n
{buildPagedData(state.currentPage)}
\r\n {!props.simpleRepeaterOnePageOnly && (\r\n \r\n )}\r\n
\r\n
\r\n )\r\n}\r\n\r\ninterface PuxRepeaterPagerType {\r\n pageCount: number\r\n currentPage: number\r\n pagerOptions: 'pages' | 'loadmore' | 'showall'\r\n loadMoreHandler: () => void\r\n}\r\n\r\nconst PuxRepeaterPager: FunctionComponent = props => {\r\n const location = useLocation()\r\n\r\n const getPagerArray = (pageCount: number): any[] => {\r\n const buttonsArray = Array.apply(null, Array(pageCount))\r\n return buttonsArray\r\n }\r\n\r\n const getPagerLink = (page: number) => {\r\n if (location.href !== undefined) {\r\n const url = new URL(location.href)\r\n url.searchParams.set(`page`, page.toString())\r\n\r\n return url.pathname + url.search\r\n }\r\n\r\n return ``\r\n }\r\n\r\n const getPagerButton = (page: number, currentPage: number): ReactNode => {\r\n if (location.href !== undefined) {\r\n return (\r\n \r\n {page}\r\n \r\n )\r\n }\r\n\r\n return null\r\n }\r\n\r\n const getPagerSpacer = (page: number): ReactNode => {\r\n return
...
\r\n }\r\n\r\n const buildPager = (data: any[]): ReactNode => {\r\n const pagesCount = data.length\r\n\r\n return data.map((page, idx) => {\r\n page = idx + 1\r\n if (page < 2) return getPagerButton(page, props.currentPage)\r\n\r\n if (props.currentPage > 3 && page == 2) return getPagerSpacer(page)\r\n\r\n if (page == props.currentPage || page == props.currentPage - 1 || page == props.currentPage + 1)\r\n return getPagerButton(page, props.currentPage)\r\n\r\n if (props.currentPage < pagesCount - 2 && page == pagesCount - 1) return getPagerSpacer(page)\r\n\r\n if (page > pagesCount - 1) return getPagerButton(page, props.currentPage)\r\n })\r\n }\r\n\r\n if (props.pagerOptions === `loadmore` && props.currentPage < props.pageCount) {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n\r\n if (props.pagerOptions === `pages`) {\r\n return
{buildPager(getPagerArray(props.pageCount))}
\r\n }\r\n\r\n return null\r\n}\r\n\r\nexport default PuxRepeater\r\n","import React from 'react'\r\nimport { graphql } from 'gatsby'\r\nimport Layout from '../components/layout/layout'\r\nimport PuxMetaTags from '../components/shared/PuxMetaTags'\r\nimport WidgetBuilder from '../components/builders/widget-builder'\r\nimport { Icon } from '../components/builders/icon-builder'\r\nimport { Reference, ReferenceListPageProps } from '../types/reference.types'\r\nimport { PuxFilter } from '../components/filter/pux-filter'\r\nimport BreadCrumbs from '../components/BreadCrumbs'\r\nimport PuxRepeater from '../components/PuxRepeater/PuxRepeater'\r\n\r\nconst ReferenceList = ({ data, pageContext }: ReferenceListPageProps) => {\r\n const page = data.orchard.puxDesignReferenceList[0]\r\n\r\n const mappedItems = pageContext.items.map(p => {\r\n p.labels = p.puxDesignReferencePriceList?.contentItems?.map(price => price.puxDesignReferencePriceLabel)\r\n return p\r\n })\r\n\r\n return (\r\n \r\n \r\n \r\n\r\n
\r\n

{page.puxDesignReferenceListDisplayTitle}

\r\n
\r\n
\r\n \r\n
\r\n {/* */}\r\n
\r\n )\r\n}\r\n\r\nexport default ReferenceList\r\n\r\nexport const query = graphql`\r\n query($pagePath: String = \"\") {\r\n orchard {\r\n puxDesignReferenceList(first: 1, where: { path: $pagePath }) {\r\n path\r\n displayText\r\n puxDesignReferenceListDisplayTitle\r\n localization {\r\n localizations {\r\n ... on Orchard_PuxDesignReferenceList {\r\n path\r\n published\r\n localization {\r\n culture\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n`\r\n","import React, { FunctionComponent } from 'react'\r\nimport { Link } from 'gatsby'\r\nimport { getFromConfig, getHrefLang, getLocalizedUrl } from '../utils/localeURL'\r\n\r\nexport interface BreadCrumbsProps {\r\n default?: boolean\r\n theme?: string\r\n center?: boolean\r\n items: [BreadCrumb]\r\n}\r\n\r\nexport interface BreadCrumb {\r\n displayText: string\r\n path: string\r\n}\r\n\r\nexport default function BreadCrumbs(props: BreadCrumbsProps) {\r\n const { items, theme, center } = props\r\n\r\n const localizedHomepageUrl = `/${getFromConfig(process.env.LOCALE ?? `cs`, `urlPrefix`, `PuxDesignGatsby`)}`\r\n\r\n const home = (\r\n \r\n PUXDESIGN\r\n \r\n )\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {props.default && (\r\n <>\r\n {home}\r\n \r\n {items[0].displayText}\r\n \r\n \r\n )}\r\n {!props.default &&\r\n items?.map((item, index) => {\r\n if (index === 0) {\r\n return (\r\n <>\r\n {home}\r\n \r\n {item.displayText}\r\n \r\n \r\n )\r\n } else {\r\n return (\r\n \r\n {item.displayText}\r\n \r\n )\r\n }\r\n })}\r\n
\r\n
\r\n
\r\n )\r\n}\r\n"],"sourceRoot":""}