{"version":3,"sources":["webpack:///./src/templates/index.js"],"names":["createSearchObjects","openBooks","map","ob","Sections","reduce","akku","sec","Id","Parent","toLowerCase","Keywords","pageContext","useState","searchObjects","setSearchObjects","useEffect","searchTerm","setSearchTerm","setSearchResults","results","terms","trim","replace","split","obSearchObjects","i","j","length","every","term","includes","push","filterSearchResults","searchResults","openBookStore","index","openbook","key","className","to","Url","src","Image","alt","Title","Description","Supported","s","Text","style","Edition","Year","localPath","Intl","NumberFormat","format","type","id","placeholder","onChange","event","target","value","onClick","result","resultParts","obs","find","section","folderpath","Folderpath","name","content"],"mappings":"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","file":"component---src-templates-index-js-260742eab9a00bcbb071.js","sourcesContent":["import { Link } from 'gatsby';\r\nimport Helmet from 'react-helmet';\r\nimport Menu from '../components/menu';\r\nimport Layout from '../components/layout';\r\nimport React, { useEffect, useState } from 'react';\r\nimport SectionDisplay from '../components/sectiondisplay';\r\n\r\nfunction createSearchObjects(openBooks) {\r\n return openBooks.map(ob => {\r\n return ob.Sections.reduce(function(akku, sec) {\r\n return [...akku, `${sec.Id}_${sec.Parent.toLowerCase()}_${sec.Keywords.toLowerCase()}`];\r\n }, []);\r\n });\r\n}\r\n\r\nfunction filterSearchResults(searchTerm, searchObjects) {\r\n const results = [];\r\n if(searchTerm) {\r\n const terms = searchTerm.trim().replace(/\\s+/g, ' ').toLowerCase().split(' ');\r\n for (var i = 0; i < searchObjects.length; i++) {\r\n const obSearchObjects = searchObjects[i];\r\n for (var j= 0; j < obSearchObjects.length; j++) {\r\n if(terms.every(term => obSearchObjects[j].includes(term))) {\r\n results.push(obSearchObjects[j]);\r\n }\r\n }\r\n }\r\n }\r\n return results;\r\n}\r\n\r\nexport default ({ pageContext: { openBooks }}) => {\r\n\r\n const [searchObjects, setSearchObjects] = useState(createSearchObjects(openBooks));\r\n useEffect(() => {\r\n setSearchObjects(createSearchObjects(openBooks));\r\n }, [openBooks]);\r\n\r\n const [searchTerm, setSearchTerm] = useState('');\r\n useEffect(() => {\r\n if (searchTerm) {\r\n setSearchResults(filterSearchResults(searchTerm, searchObjects));\r\n }\r\n }, [searchTerm]);\r\n\r\n const [searchResults, setSearchResults] = useState([]);\r\n\r\n function handleSearchChange(event) {\r\n if (event.target.value.length > 3) {\r\n setSearchTerm(event.target.value);\r\n }\r\n }\r\n\r\n function onCrossClick(event) {\r\n setSearchResults([]);\r\n setSearchTerm('');\r\n }\r\n\r\n function createSupportTextTag(openbook) {\r\n if(!openbook.Supported) return '';\r\n return openbook.Supported.map(s =>
{s.Text}
);\r\n }\r\n\r\n const openBookStore = openBooks.map((ob, index) => {\r\n return{ob.Title}, {ob.Edition !== \"1\" && `${ob.Edition}/`}{ob.Year}
\r\n\r\n Die OpenBooks auf dieser Seite werden unter der Lizenz CC BY-SA zur Verfügung gestellt.\r\n Aktuell sind {new Intl.NumberFormat('de-DE').format(openBooks.length)} OpenBooks verfügbar!\r\n
\r\n