{"version":3,"file":"newsroom_search.js","sources":["../../../../../src/components/Newsroom/NewsroomResult.jsx","../../../../../src/components/Newsroom/NewsroomSearch.jsx","../../../../../src/components/Newsroom/NewsroomFilter.jsx","../../../../../src/newsroom_search.js"],"sourcesContent":["import {useState} from \"react\";\nimport {Modal} from \"../Modal.jsx\";\n\nexport const NewsroomResult = (props) => {\n const [showModal,setShowModal] = useState(false)\n\n const getTeaser = () => {\n const teaser =
\n\n if (props.result.locked) {\n return teaser\n }\n\n return {teaser}\n }\n\n const onClick = (e) => {\n if (showModal) {\n return\n }\n e.preventDefault()\n setShowModal(true)\n }\n\n return (\n \n {props.result.image !== '' &&
\n {props.result.title}\n\n
}\n
\n
\n {props.result.publishedAt}\n | {props.result.category}\n
\n
\n {props.result.title}\n
\n\n
\n {getTeaser()}\n
\n\n
\n
\n {props.result.tags.map(tag =>\n {tag}\n )}\n
\n
\n {props.result.readingTime !== '' ?\n : ''}\n
\n
\n
\n {(showModal) &&\n \n }\n
\n )\n}\n","import {useCallback, useEffect, useRef, useState} from \"react\"\nimport {loadSolrResults} from \"../../services/solr.service.js\"\nimport {NewsroomResult} from \"./NewsroomResult.jsx\"\nimport {getTranslations} from \"../../services/language.service.js\";\n\n\nexport const NewsroomSearch = () => {\n const [search, setSearch] = useState('')\n const [filter, setFilter] = useState({})\n const [items, setItems] = useState([])\n const [isLoading, setIsLoading] = useState(false);\n const [hasMore, setHasMore] = useState(true);\n const [currentPage, setCurrentPage] = useState(1);\n const container = useRef(null);\n const LANG = getTranslations()\n\n const mapResults = {\n tags: (element) => {\n const tags = []\n\n for (const e of element.children) {\n tags.push(e.textContent)\n }\n\n return tags\n },\n content: 'string',\n teaser: 'string',\n title: 'string',\n url: 'string',\n image: 'string',\n category: 'string',\n readingTime: 'string',\n publishedAt: 'string',\n score: 'number',\n locked: 'boolean',\n stickyNews: 'boolean',\n userRoles: (element) => {\n const userRoles = []\n\n if (element === undefined) {\n return userRoles\n }\n\n for (const e of element.children) {\n userRoles.push(e.textContent)\n }\n\n return userRoles\n },\n loginUrl: 'string'\n }\n\n useEffect(() => {\n document.addEventListener('filter', (e) => {\n setFilter(e.detail)\n setCurrentPage(1);\n setItems([])\n setHasMore(true)\n })\n\n document.addEventListener('search', (e) => {\n setSearch(e.detail)\n setCurrentPage(1);\n setItems([])\n setHasMore(true)\n })\n\n document.addEventListener('reset', () => {\n setSearch('')\n setCurrentPage(1);\n setItems([])\n setHasMore(true)\n loadResponse()\n })\n },[])\n\n useEffect(() => {\n setIsLoading(true);\n loadResponse()\n }, [search, filter]);\n\n useEffect(() => {\n setIsLoading(true);\n }, []);\n\n const loadNextItems = useCallback(async () => {\n if (isLoading) return;\n\n setIsLoading(true);\n\n loadResponse()\n }, [currentPage, isLoading]);\n\n const loadResponse = () => {\n if (!hasMore) {\n return\n }\n\n const solrParams = {\n q: search === '' ? '*' : search.replace('*', ''),\n page: currentPage\n }\n\n const filters = {\n ...filter,\n type: '10'\n }\n\n loadSolrResults(solrParams, filters, mapResults).then((response) => {\n setItems((prevItems) => [...prevItems, ...response.results]);\n setCurrentPage((prevIndex) => prevIndex + 1);\n if (!response.hasMore) {\n setHasMore(false)\n }\n document.dispatchEvent(new CustomEvent('facets', {\n detail: response.facets\n }))\n setIsLoading(false)\n })\n }\n\n useEffect(() => {\n const handleScroll = () => {\n const {clientHeight} =\n document.documentElement;\n const {top, height} =\n container.current.getBoundingClientRect();\n if (top + height - clientHeight < 400) {\n void loadNextItems();\n\n }\n };\n if (hasMore) {\n window.addEventListener(\"scroll\", handleScroll);\n }\n return () => {\n window.removeEventListener(\"scroll\", handleScroll);\n };\n }, [loadNextItems]);\n\n return (\n
\n {items.map(result => )}\n {(items.length < 1 && !isLoading) &&

{LANG.noResults}

}\n {isLoading && }\n
\n )\n\n}\n","import {SolrSearchInput} from \"../SolrSearchInput.jsx\";\nimport {useEffect, useRef, useState} from \"react\";\nimport {futureDate, getDateStringFromInput, isValidDate, pastDate} from \"../../services/date.service.js\";\nimport {getShowMoreText, getURLParams, setURLParams} from \"../../services/filter.service.js\";\nimport {getTranslations} from \"../../services/language.service.js\";\n\nconst INITIAL_FILTER = {\n magazines: undefined,\n magazineType: undefined,\n tags: undefined,\n creationDateRange: undefined,\n startDate: undefined,\n endDate: undefined,\n search: undefined\n}\n\nexport const NewsroomFilter = () => {\n const [filter, setFilter] = useState(Object.assign({}, INITIAL_FILTER, getURLParams()))\n const [facets, setFacets] = useState(undefined)\n const fromInput = useRef()\n const toInput = useRef()\n const [showMoreTags, setShowMoreTags] = useState(false)\n const [showAllTags, setShowAllTags] = useState(false)\n const LANG = getTranslations()\n const [showMobileFilters, setShowMobileFilters] = useState(false)\n\n useEffect(() => {\n document.addEventListener('facets', (e) => {\n setFacets(e.detail)\n })\n document.addEventListener('facets', () => {\n setFilter(Object.assign({}, INITIAL_FILTER, getURLParams()))\n if (filter.startDate !== undefined) {\n fromInput.current.value = filter.startDate;\n }\n if (filter.endDate !== undefined) {\n toInput.current.value = filter.endDate;\n }\n setTimeout(() => {\n if (filter.search !== undefined) {\n onSearch(filter.search)\n }\n }, 300)\n }, {once: true})\n }, [])\n\n useEffect(() => {\n setURLParams(filter)\n document.dispatchEvent(new CustomEvent('filter', {\n detail: filter\n }))\n }, [filter])\n\n const isFilter = (name, value) => {\n return filter[name] === value\n }\n\n const toggleFilter = (name, value) => {\n setFilter((current) => {\n return {\n ...current,\n [name]: filter[name] === value ? undefined : value\n }\n })\n }\n\n const setDate = () => {\n let startDate = undefined;\n let endDate = undefined;\n if (isValidDate(fromInput.current.value)) {\n startDate = fromInput.current.value;\n }\n if (isValidDate(toInput.current.value)) {\n endDate = toInput.current.value;\n }\n setFilter((current) => {\n return {\n ...current,\n startDate: startDate,\n endDate: endDate,\n }\n })\n if (isValidDate(fromInput.current.value) || isValidDate(toInput.current.value)) {\n const from = isValidDate(fromInput.current.value) ? getDateStringFromInput(fromInput.current.value) : pastDate\n const to = isValidDate(toInput.current.value) ? getDateStringFromInput(toInput.current.value, '2359') : futureDate\n\n setFilter((current) => {\n return {\n ...current,\n creationDateRange: `${from}-${to}`\n }\n })\n } else if (filter.creationDateRange !== undefined) {\n setFilter((current) => {\n return {\n ...current,\n creationDateRange: undefined\n }\n })\n }\n }\n\n const onSearch = (search) => {\n filter.search = search;\n setURLParams(filter)\n document.dispatchEvent(new CustomEvent('search', {\n detail: search\n }))\n }\n\n const onReset = () => {\n document.dispatchEvent(new CustomEvent('reset'))\n\n fromInput.current.value = ''\n toInput.current.value = ''\n setFilter(INITIAL_FILTER)\n setURLParams(filter)\n }\n\n const onShowMore = () => {\n if (!showMoreTags) {\n setShowMoreTags(true)\n if (facets && facets.find(f => f.name === 'tags').options.length <= 30) {\n setShowAllTags(true)\n }\n return\n }\n if (!showAllTags) {\n setShowAllTags(true)\n return\n }\n setShowAllTags(false)\n setShowMoreTags(false)\n }\n\n return
\n \n\n
\n
\n
\n
{LANG.categories}
\n
\n {facets && facets.find(f => f.name === 'categories').options.map(option =>\n
\n \n
\n )}\n
\n
\n
\n
{LANG.freeSearch}
\n
\n onSearch(e)} searchvalue={filter.search}>\n
\n
\n
\n\n
\n\n
\n
\n
{LANG.tags}
\n
\n {facets && facets.find(f => f.name === 'tags').options.map((option, index) => {\n if (showAllTags || isFilter('tags', option.value) || index < 15 || index < 30 && showMoreTags)\n return
\n \n
\n }\n )}\n
\n {(facets && facets.find(f => f.name === 'tags').options.length > 15) &&\n }\n
\n
\n
{LANG.date}
\n
\n
\n setDate()}/>\n
\n
\n\n setDate()}/>\n
\n
\n
\n
\n\n\n
\n
\n
\n \n \n
\n \n
\n}\n","import React from 'react'\nimport ReactDOM from 'react-dom/client'\nimport {NewsroomSearch} from \"./components/Newsroom/NewsroomSearch.jsx\"\nimport {NewsroomFilter} from \"./components/Newsroom/NewsroomFilter.jsx\"\n\nconst initFilter = () => {\n const element = document.querySelector('.solr-newsroom-filter')\n\n if (element === null) {\n return\n }\n\n const root = ReactDOM.createRoot(element)\n root.render(\n React.createElement(React.StrictMode, null,\n React.createElement(NewsroomFilter)\n )\n )\n}\n\nconst initResults = () => {\n const element = document.querySelector('.solr-newsroom-results')\n\n if (element === null) {\n return\n }\n\n const root = ReactDOM.createRoot(element)\n root.render(\n React.createElement(React.StrictMode, null,\n React.createElement(NewsroomSearch)\n )\n )\n}\n\nwindow.onload = () => {\n initFilter()\n initResults()\n}\n"],"names":["NewsroomResult","props","showModal","setShowModal","useState","getTeaser","teaser","jsx","onClick","e","jsxs","tag","Modal","NewsroomSearch","search","setSearch","filter","setFilter","items","setItems","isLoading","setIsLoading","hasMore","setHasMore","currentPage","setCurrentPage","container","useRef","LANG","getTranslations","mapResults","element","tags","userRoles","useEffect","loadResponse","loadNextItems","useCallback","solrParams","filters","loadSolrResults","response","prevItems","prevIndex","handleScroll","clientHeight","top","height","result","INITIAL_FILTER","NewsroomFilter","getURLParams","facets","setFacets","fromInput","toInput","showMoreTags","setShowMoreTags","showAllTags","setShowAllTags","showMobileFilters","setShowMobileFilters","onSearch","setURLParams","isFilter","name","value","toggleFilter","current","setDate","startDate","endDate","isValidDate","from","getDateStringFromInput","pastDate","to","futureDate","onReset","onShowMore","f","option","SolrSearchInput","index","getShowMoreText","initFilter","ReactDOM","React","initResults"],"mappings":"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"}