{"version":3,"file":"client.js","sources":["webpack:///./content/client.js","webpack:///./content/components/LoadingIndicator.jsx","webpack:///./content/components/context/UrlContext.jsx","webpack:///./content/components/index.js","webpack:///./content/components/locales/de/messages.js","webpack:///./content/components/locales/fr/messages.js","webpack:///./content/components/searchfield/SearchFieldMultiselect.jsx","webpack:///./content/components/serie/Serie.jsx","webpack:///./content/components/serie/SerieList.jsx","webpack:///./content/components/serie/SerieListItem.jsx","webpack:///./content/components/serie/SerieSearchFields.jsx","webpack:///./content/components/shared/Pager.jsx","webpack:///./content/components/shared/PagerItem.jsx","webpack:///./content/components/stores/GlobalStore.jsx","webpack:///./content/js/cms.ajax.js","webpack:///./content/js/init.js","webpack:///./content/js/navigation-desktop-menu.js","webpack:///./content/js/navigation-mobile.js"],"sourcesContent":["import \"@babel/polyfill\";\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\n\r\nglobal.React = React;\r\nglobal.ReactDOM = ReactDOM;\r\n\r\nimport styles from './styles/_styles.scss';\r\n\r\nimport jquery from 'jquery';\r\nwindow.$ = jquery;\r\nwindow.jQuery = jquery;\r\n\r\n//CMS AJAX Library\r\nimport './js/cms.ajax';\r\n\r\n//import 'bootstrap';\r\n//import './js/bootstrap';\r\n//import './js/bootstrap/dropdown';\r\n//import './js/bootstrap/modal';\r\n//import './js/bootstrap/button';\r\n//import './js/bootstrap/collapse';\r\n//import './js/bootstrap/carousel';\r\nimport 'bootstrap/js/src/carousel';\r\n\r\nimport Components from './components';\r\nglobal.Components = Components;\r\n//console.log(Components);\r\n\r\n//Konfiguration Übersetzungen\r\nimport catalogDe from './components/locales/de/messages';\r\nimport catalogFr from './components/locales/fr/messages';\r\nglobal.Catalogs = { de: catalogDe, fr: catalogFr };\r\n\r\nimport './js/navigation-desktop-menu';\r\nimport './js/navigation-mobile';\r\nimport './js/init';\r\n\r\n//font awesome import symbols\r\nimport { library, dom } from '@fortawesome/fontawesome-svg-core';\r\n\r\n//import { faSearch, faUser, faLock, faCheck, faChevronRight, faSpinner, faPlus, faPencil, faArrows, faCopy, faUnlock, faTrash, faBars, faSignIn, faSignOut, faTimes, faChevronCircleRight, faChevronCircleLeft, faCircle } from '@fortawesome/pro-solid-svg-icons';\r\n\r\nimport { faSearch } from '@fortawesome/pro-solid-svg-icons/faSearch';\r\nimport { faUser } from '@fortawesome/pro-solid-svg-icons/faUser';\r\nimport { faLock } from '@fortawesome/pro-solid-svg-icons/faLock';\r\nimport { faCheck } from '@fortawesome/pro-solid-svg-icons/faCheck';\r\nimport { faChevronRight } from '@fortawesome/pro-solid-svg-icons/faChevronRight';\r\nimport { faSpinner } from '@fortawesome/pro-solid-svg-icons/faSpinner';\r\nimport { faPlus } from '@fortawesome/pro-solid-svg-icons/faPlus';\r\nimport { faPencil } from '@fortawesome/pro-solid-svg-icons/faPencil';\r\nimport { faArrows } from '@fortawesome/pro-solid-svg-icons/faArrows';\r\nimport { faBatteryBolt } from '@fortawesome/pro-solid-svg-icons/faBatteryBolt';\r\nimport { faWeightHanging } from '@fortawesome/pro-solid-svg-icons/faWeightHanging';\r\nimport { faCopy } from '@fortawesome/pro-solid-svg-icons/faCopy';\r\nimport { faUnlock } from '@fortawesome/pro-solid-svg-icons/faUnlock';\r\nimport { faTrash } from '@fortawesome/pro-solid-svg-icons/faTrash';\r\nimport { faBars } from '@fortawesome/pro-solid-svg-icons/faBars';\r\nimport { faSignIn } from '@fortawesome/pro-solid-svg-icons/faSignIn';\r\nimport { faSignOut } from '@fortawesome/pro-solid-svg-icons/faSignOut';\r\nimport { faTimes } from '@fortawesome/pro-solid-svg-icons/faTimes';\r\nimport { faChevronCircleRight } from '@fortawesome/pro-solid-svg-icons/faChevronCircleRight';\r\nimport { faChevronCircleLeft } from '@fortawesome/pro-solid-svg-icons/faChevronCircleLeft';\r\nimport { faCircle } from '@fortawesome/pro-solid-svg-icons/faCircle';\r\n\r\nimport { faYoutube } from '@fortawesome/free-brands-svg-icons/faYoutube';\r\nimport { faFacebook } from '@fortawesome/free-brands-svg-icons/faFacebook';\r\nimport { faInstagram } from '@fortawesome/free-brands-svg-icons/faInstagram';\r\n\r\nlibrary.add(\r\n faSearch,\r\n faUser,\r\n faLock,\r\n faCheck,\r\n faChevronRight,\r\n faSpinner,\r\n faPlus,\r\n faPencil,\r\n faArrows,\r\n faBatteryBolt,\r\n faWeightHanging,\r\n faCopy,\r\n faUnlock,\r\n faTrash,\r\n faBars,\r\n faSignIn,\r\n faSignOut,\r\n faTimes,\r\n faChevronCircleRight,\r\n faChevronCircleLeft,\r\n faCircle,\r\n\r\n faFacebook,\r\n faYoutube,\r\n faInstagram\r\n);\r\ndom.watch();\r\n//console.log(library);\r\n","import React, { Fragment } from \"react\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faSpinner } from '@fortawesome/pro-solid-svg-icons/faSpinner';\r\n\r\nconst LoadingIndicator = (props) => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default LoadingIndicator;","import React from 'react';\r\n\r\nconst UrlContext = React.createContext({});\r\n\r\nexport const UrlProvider = UrlContext.Provider;\r\nexport const UrlConsumer = UrlContext.Consumer;\r\nexport default UrlContext;","import Serie from './serie/Serie';\r\n\r\nexport default {\r\n Serie\r\n};\r\n","/* eslint-disable */module.exports={languageData:{\"plurals\":function(n,ord){var s=String(n).split(\".\"),v0=!s[1];if(ord)return\"other\";return n==1&&v0?\"one\":\"other\"}},messages:{\"multiselect.noSearchResults\":\"Keine Eintr\\xE4ge<0/>f\\xFCr diesen Suchbegriff!\",\"multiselect.resetSelection\":\"L\\xF6schen\",\"multiselect.schliessen\":\"Schliessen\",\"multiselect.suchbegriff\":\"Suchbegriff\",\"serien.detail\":\"Detail\",\"serien.einbruchschutz\":\"Einbruchschutz...\",\"serien.feuerschutz\":\"Feuerschutz...\",\"serien.kategorie\":\"Kategorie...\",\"serien.keinResultat\":\"Leider konnten keine Serien gefunden werden.\",\"serien.resetFilters\":\"Alle Filter l\\xF6schen\",\"serien.versicherungssumme\":\"Versicherungssumme...\",\"serien.versicherungsumme\":\"Versicherungsumme...\",\"serien.wertsachenGegenstand\":\"Wertsachen / Gegenstand...\"}};","/* eslint-disable */module.exports={languageData:{\"plurals\":function(n,ord){if(ord)return n==1?\"one\":\"other\";return n>=0&&n<2?\"one\":\"other\"}},messages:{\"multiselect.noSearchResults\":\"Keine Eintr\\xE4ge<0/>f\\xFCr diesen Suchbegriff!\",\"multiselect.resetSelection\":\"Effacer\",\"multiselect.schliessen\":\"Fermer\",\"multiselect.suchbegriff\":\"Terme de recherche\",\"serien.detail\":\"D\\xE9tail\",\"serien.einbruchschutz\":\"Anti-effraction\",\"serien.feuerschutz\":\"Anti-feu\",\"serien.kategorie\":\"Cat\\xE9gorie\",\"serien.keinResultat\":\"Aucun r\\xE9sultat\",\"serien.resetFilters\":\"R\\xE9initialiser le filtre\",\"serien.versicherungssumme\":\"Somme d\\u2019assurance\",\"serien.versicherungsumme\":\"Somme assur\\xE9e\",\"serien.wertsachenGegenstand\":\"Objets de valeur\"}};","import React, { Fragment } from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport PropTypes from 'prop-types';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { I18nProvider } from '@lingui/react';\r\nimport { I18n } from \"@lingui/react\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faCaretDown } from '@fortawesome/pro-solid-svg-icons/faCaretDown';\r\nimport { faCheck } from '@fortawesome/pro-solid-svg-icons/faCheck';\r\nimport { faSearch } from \"@fortawesome/pro-light-svg-icons/faSearch\";\r\nimport { faTimes } from \"@fortawesome/pro-light-svg-icons/faTimes\";\r\nimport { faTrashAlt } from \"@fortawesome/pro-light-svg-icons/faTrashAlt\";\r\nimport { Input, CustomInput, Dropdown, DropdownToggle, DropdownMenu, DropdownItem, InputGroup, InputGroupAddon, InputGroupText, Button } from 'reactstrap';\r\nimport Enumerable from 'linq';\r\nimport { debounce } from \"debounce\";\r\n\r\n\r\nclass SearchFieldMultiselect extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.dropdownToggleRef = React.createRef();\r\n }\r\n\r\n state = {\r\n selectedValues: [],\r\n selectedValuesFromProps: null,\r\n items: this.props.items,\r\n isOpen: false,\r\n searchTextboxValue: '',\r\n searchQuery: '',\r\n selectionIsModified: false\r\n }\r\n\r\n static getDerivedStateFromProps(props, state) {\r\n var result = { items: props.items };\r\n\r\n //console.log('getDerivedStateFromProps ' + props.placeholder, props.selectedValues, state.selectedValuesFromProps);\r\n if (props.selectedValues !== state.selectedValuesFromProps) {\r\n result.selectedValues = props.selectedValues || [];\r\n result.selectedValuesFromProps = props.selectedValues;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n componentDidMount = () => {\r\n const node = ReactDOM.findDOMNode(this.dropdownToggleRef.current);\r\n if (node && node.offsetWidth) {\r\n this.setState({ dropdownMinWidth: node.offsetWidth });\r\n }\r\n }\r\n\r\n dropdownOnToggle = () => {\r\n var open = !this.state.isOpen;\r\n if (open) {\r\n this.setState({ selectionIsModified: false });\r\n document.body.classList.add('multiselect-open');\r\n } else {\r\n document.body.classList.remove('multiselect-open');\r\n if (this.state.selectionIsModified) {\r\n this.props.onSelectionChanged(this.state.selectedValues);\r\n }\r\n }\r\n this.setState({ isOpen: open });\r\n }\r\n\r\n searchTextboxOnChange = (e) => {\r\n this.setState({ searchTextboxValue: e.target.value }, () => this.setSearchQueryDebounced(this.state.searchTextboxValue));\r\n }\r\n\r\n setSearchQueryDebounced = debounce((v) => this.setState({ searchQuery: v }), 300)\r\n\r\n resetSearchQuery = () => {\r\n this.setState({ searchQuery: '', searchTextboxValue: '' });\r\n }\r\n\r\n toggleSelected = (value) => {\r\n if (this.state.selectedValues.includes(value)) {\r\n this.setState(prevState => ({ selectionIsModified: true, selectedValues: prevState.selectedValues.filter(p => p !== value) }));\r\n } else {\r\n this.setState(prevState => ({ selectionIsModified: true, selectedValues: [...prevState.selectedValues, value] }));\r\n }\r\n }\r\n\r\n clearSelection = () => {\r\n this.setState({ selectionIsModified: true, selectedValues: [] });\r\n }\r\n\r\n render() {\r\n //console.log('render ' + this.props.placeholder, this.state.selectedValues, this.state.selectedValuesFromProps);\r\n const query = this.state.searchQuery.toLowerCase();\r\n const filteredItems = this.state.searchQuery ? Enumerable.from(this.state.items).where(p => p.text.toLowerCase().indexOf(query) > -1).orderBy(p => p.text).toArray() : this.state.items;\r\n const selection = this.state.selectedValues.length > 0 ? Enumerable.from(this.state.items).where(p => this.state.selectedValues.includes(p.value)).select(p => p.text).toArray().join(', ') : '';\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n 0}>\r\n
{selection}
\r\n
\r\n \r\n
{this.props.placeholder}
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n {this.props.placeholder}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {({ i18n }) => (\r\n e.target.select()}\r\n disabled={this.props.disabled}\r\n />\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n Keine Einträge
für diesen Suchbegriff!
\r\n
\r\n
\r\n \r\n \r\n \r\n this.toggleSelected(item.value)} active={this.state.selectedValues.includes(item.value)} disabled={item.disabled}>\r\n \r\n \r\n \r\n \r\n \r\n 0 && !this.state.searchQuery ? item.level * 20 : null }}>{item.text}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nSearchFieldMultiselect.propTypes = {\r\n disabled: PropTypes.bool,\r\n enableSearch: PropTypes.bool,\r\n items: PropTypes.array,\r\n name: PropTypes.string,\r\n onSelectionChanged: PropTypes.func,\r\n placeholder: PropTypes.string,\r\n selectedValues: PropTypes.array\r\n};\r\n\r\nexport default SearchFieldMultiselect;","import React, { Fragment } from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport axios from 'axios';\r\nimport URI from 'urijs';\r\nimport { I18nProvider, I18n } from '@lingui/react';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { getGlobalStore } from '../stores/GlobalStore';\r\nimport SerieSearchFields from './SerieSearchFields';\r\nimport SerieList from './SerieList';\r\nimport LoadingIndicator from '../LoadingIndicator';\r\nimport Pager from '../shared/Pager';\r\nimport { UrlProvider } from '../context/UrlContext';\r\n\r\nconst loadingMsgDelay = 300;\r\n\r\nclass Serie extends React.Component {\r\n globalStore = getGlobalStore();\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.refList = React.createRef();\r\n\r\n // Initales Suchresultat laden\r\n this.state = {\r\n isLoading: false,\r\n searchParameters: props.searchResult.searchParameters,\r\n totalRecordCount: props.searchResult.totalRecordCount,\r\n items: props.searchResult.items,\r\n searchFieldData: props.searchResult.searchFieldData\r\n };\r\n }\r\n\r\n onPageChange = (page) => {\r\n this.setState(prevState => ({\r\n searchParameters: { ...prevState.searchParameters, currentPage: page }\r\n }), () => {\r\n this.executeSearch(false);\r\n this.scrollToView();\r\n });\r\n }\r\n\r\n onFilterChange = (newFilterValues) => {\r\n var filterValues = { ...this.state.searchParameters.filterValues, ...newFilterValues };\r\n\r\n this.setState(prevState => ({\r\n searchParameters: {\r\n ...prevState.searchParameters,\r\n filterValues: filterValues,\r\n currentPage: 1\r\n }\r\n }), () => this.executeSearch(true));\r\n }\r\n\r\n executeSearch = () => {\r\n const data = { ...this.state.searchParameters };\r\n //this.setState({ isLoading: true });\r\n var timer = setTimeout(() => { this.setState({ isLoading: true }); }, loadingMsgDelay);\r\n axios({\r\n method: 'post',\r\n url: '/api/seriesearch/search',\r\n headers: { 'accept-language': this.globalStore.languageId },\r\n data: data\r\n }).then(res => {\r\n var newState = {\r\n searchParameters: res.data.searchParameters,\r\n totalRecordCount: this.props.limited ? res.data.items.length : res.data.totalRecordCount,\r\n items: res.data.items,\r\n searchFieldData: res.data.searchFieldData\r\n };\r\n\r\n clearTimeout(timer);\r\n this.setState(newState, () => this.updateQueryParameters(true));\r\n }).finally(() => {\r\n clearTimeout(timer);\r\n this.setState({ isLoading: false });\r\n });\r\n };\r\n\r\n updateQueryParameters = (clearHash) => {\r\n var uri = new URI();\r\n var query = uri.query(true);\r\n query.page = this.state.searchParameters.currentPage > 1 ? this.state.searchParameters.currentPage : undefined;\r\n Object.keys(this.state.searchParameters.filterValues).map(key => {\r\n var v = this.state.searchParameters.filterValues[key];\r\n if (Array.isArray(v)) {\r\n query[key.toLowerCase()] = v.length ? v : undefined;\r\n } else if (typeof v === 'boolean') {\r\n query[key.toLowerCase()] = v === true ? v : undefined;\r\n } else if (v !== null && typeof v.getMonth === 'function') {\r\n query[key.toLowerCase()] = v.toISOString();\r\n } else {\r\n query[key.toLowerCase()] = v !== null && v !== undefined ? v : undefined;\r\n }\r\n });\r\n uri.setQuery(query);\r\n if (clearHash) {\r\n uri.hash('');\r\n }\r\n window.history.replaceState(null, '', uri.href());\r\n }\r\n\r\n scrollToView = () => {\r\n this.refList.current.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'start',\r\n inline: 'start'\r\n });\r\n }\r\n\r\n searchfieldOnSelectionChanged = (newFilterValues) => {\r\n var filterValues = { ...this.state.searchParameters.filterValues, ...newFilterValues };\r\n this.setState(prevState => ({ searchParameters: { ...prevState.searchParameters, filterValues: filterValues, currentPage: 1 } }), () => this.executeSearch(true));\r\n }\r\n\r\n searchfieldOnResetFilters = () => {\r\n var filters = { ...this.state.searchParameters.filterValues };\r\n Object.keys(filters).map(key => filters[key] = null);\r\n this.setState(prevState => ({ searchParameters: { ...prevState.searchParameters, filterValues: filters, start: 0 } }), () => this.executeSearch(true));\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n 0}>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n

Leider konnten keine Serien gefunden werden.

\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nSerie.propTypes = {\r\n defaultUrl: PropTypes.string.isRequired,\r\n searchResult: PropTypes.objectOf(PropTypes.any).isRequired\r\n};\r\n\r\nexport default Serie;\r\n","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport SerieListItem from './SerieListItem';\r\n\r\nconst SerieList = (props) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nSerieList.propTypes = {\r\n items: PropTypes.arrayOf(PropTypes.object).isRequired\r\n};\r\n\r\nexport default SerieList;\r\n","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport { I18n } from \"@lingui/react\";\r\nimport { Trans } from '@lingui/macro';\r\n\r\nconst SerieListItem = (props) => {\r\n return (\r\n \r\n {({ i18n }) => (\r\n
\r\n
\r\n \r\n \r\n
\r\n {props.item.name}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n {props.item.name}\r\n
Detail
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nSerieListItem.propTypes = {\r\n item: PropTypes.shape({\r\n fachpersonId: PropTypes.number,\r\n name: PropTypes.string.isRequired,\r\n anschrift: PropTypes.string,\r\n telefon: PropTypes.string,\r\n fax: PropTypes.string,\r\n email: PropTypes.string,\r\n websiteUrl: PropTypes.string,\r\n zertifikate: PropTypes.arrayOf(PropTypes.string),\r\n qualifikationen: PropTypes.string,\r\n facharzttitel: PropTypes.arrayOf(PropTypes.string),\r\n regionen: PropTypes.arrayOf(PropTypes.string),\r\n muttersprachen: PropTypes.arrayOf(PropTypes.string),\r\n sprachen: PropTypes.arrayOf(PropTypes.string),\r\n verfuegbarkeiten: PropTypes.arrayOf(PropTypes.string)\r\n }).isRequired\r\n};\r\n\r\nexport default SerieListItem;\r\n","import React, { Fragment } from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport { I18n } from \"@lingui/react\";\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faTrashAlt } from '@fortawesome/pro-light-svg-icons/faTrashAlt';\r\nimport { Row, Col, Button } from 'reactstrap';\r\nimport SearchFieldMultiselect from '../searchfield/SearchFieldMultiselect';\r\n\r\nconst SerieSearchFields = (props) => {\r\n return (\r\n \r\n {({ i18n }) => (\r\n \r\n \r\n \r\n props.onSelectionChanged({ einbruchschutz: sel })}\r\n placeholder={i18n._(t('serien.einbruchschutz')`Einbruchschutz...`)}\r\n />\r\n \r\n \r\n props.onSelectionChanged({ feuerschutz: sel })}\r\n placeholder={i18n._(t('serien.feuerschutz')`Feuerschutz...`)}\r\n />\r\n \r\n \r\n props.onSelectionChanged({ kategorie: sel })}\r\n placeholder={i18n._(t('serien.kategorie')`Kategorie...`)}\r\n />\r\n \r\n \r\n props.onSelectionChanged({ versicherungssumme: sel })}\r\n placeholder={i18n._(t('serien.versicherungssumme')`Versicherungsumme...`)}\r\n />\r\n \r\n \r\n props.onSelectionChanged({ wertsachenGegenstand: sel })}\r\n placeholder={i18n._(t('serien.wertsachenGegenstand')`Wertsachen / Gegenstand...`)}\r\n />\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nSerieSearchFields.propTypes = {\r\n filterValues: PropTypes.object,\r\n onResetFilters: PropTypes.func,\r\n onSelectionChanged: PropTypes.func\r\n};\r\n\r\nexport default SerieSearchFields;","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport URI from 'urijs';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faChevronLeft } from '@fortawesome/pro-solid-svg-icons/faChevronLeft';\r\nimport { faChevronRight } from '@fortawesome/pro-solid-svg-icons/faChevronRight';\r\n\r\nimport PagerItem from './PagerItem';\r\nimport { UrlConsumer } from '../context/UrlContext';\r\n\r\nconst Pager = (props) => {\r\n if (props.total <= props.pageSize) {\r\n return null;\r\n }\r\n\r\n var totalPages = Math.ceil(props.total / props.pageSize);\r\n var isFirstPage = props.currentPage <= 1;\r\n var isLastPage = props.currentPage >= totalPages;\r\n var prevPage = props.currentPage - 1;\r\n var nextPage = props.currentPage + 1;\r\n\r\n var prevCss = 'page-item';\r\n if (isFirstPage) {\r\n prevCss += ' disabled';\r\n prevPage = 1;\r\n }\r\n\r\n var nextCss = 'page-item';\r\n if (isLastPage) {\r\n nextCss += ' disabled';\r\n nextPage = totalPages;\r\n }\r\n\r\n var pages = [];\r\n var minPage = 1;\r\n var maxPage = 10;\r\n if (props.currentPage > 6) {\r\n minPage = props.currentPage - 5;\r\n maxPage = minPage + 9;\r\n }\r\n if (maxPage > totalPages) {\r\n maxPage = totalPages;\r\n }\r\n if (props.currentPage > totalPages - 4) {\r\n if (totalPages - 9 >= 1)\r\n minPage = totalPages - 9;\r\n else\r\n minPage = 1;\r\n }\r\n\r\n for (var i = minPage; i <= maxPage; i++) {\r\n pages.push(i);\r\n }\r\n\r\n\r\n function remap(urlStr, page) {\r\n var url = new URI(urlStr);\r\n url.setSearch('page', page);\r\n return url.path() + '?' + url.query();\r\n }\r\n\r\n return (\r\n \r\n {(url) => (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nPager.propTypes = {\r\n currentPage: PropTypes.number.isRequired,\r\n onPageChange: PropTypes.func.isRequired,\r\n pageSize: PropTypes.number.isRequired,\r\n total: PropTypes.number.isRequired\r\n};\r\n\r\nexport default Pager;\r\n","import React from \"react\";\r\nimport PropTypes from 'prop-types';\r\nimport URI from 'urijs';\r\n\r\nimport { UrlConsumer } from '../context/UrlContext';\r\n\r\nconst PagerItem = (props) => {\r\n var css = props.linkClass;\r\n\r\n if (!css) {\r\n css = 'page-item';\r\n if (props.currentPage === props.page)\r\n css += ' active';\r\n if (props.page === 1)\r\n css += ' first';\r\n }\r\n\r\n function remap(urlStr) {\r\n var url = new URI(urlStr);\r\n url.setSearch('page', props.page);\r\n return url.path() + '?' + url.query();\r\n }\r\n\r\n return (\r\n \r\n {(url) => (\r\n
  • \r\n { e.preventDefault(); props.currentPage !== props.page ? props.onPageChange(props.page) : null; }}>\r\n \r\n {props.page}\r\n \r\n \r\n {props.children}\r\n \r\n \r\n
  • \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nPagerItem.propTypes = {\r\n currentPage: PropTypes.number.isRequired,\r\n hidePage: PropTypes.bool,\r\n linkClass: PropTypes.string,\r\n onPageChange: PropTypes.func.isRequired,\r\n page: PropTypes.number.isRequired\r\n};\r\n\r\nexport default PagerItem;\r\n","//https://mattiamanzati.github.io/mobx-state-tree-playground/index.html\r\nimport { types } from \"mobx-state-tree\";\r\nconst GlobalStore = types\r\n .model('GlobalStore', {\r\n languageId: types.optional(types.string, 'de'),\r\n uiCulture: types.optional(types.string, 'de-CH')\r\n });\r\n\r\nlet store = null;\r\n\r\nconst getGlobalStore = () => {\r\n if (!store || (typeof window === 'undefined' && global.__SERVER__)) {\r\n let initialData = {};\r\n if (typeof window !== 'undefined') {\r\n if (window.__GlobalStore_InitialData !== undefined) {\r\n initialData = window.__GlobalStore_InitialData;\r\n }\r\n } else if (typeof global.__GlobalStore_InitialData !== undefined) {\r\n if (global.__GlobalStore_InitialData !== undefined) {\r\n initialData = global.__GlobalStore_InitialData;\r\n }\r\n }\r\n\r\n store = GlobalStore.create(initialData);\r\n }\r\n\r\n return store;\r\n};\r\n\r\nexport { getGlobalStore, GlobalStore };","import jQuery from 'jquery';\r\n\r\n(function ($, window) {\r\n\tvar cms = window.cms = window.cms || {};\r\n\r\n\tvar data_click = \"unobtrusiveAjaxClick\",\r\n\t\tdata_target = \"unobtrusiveAjaxClickTarget\",\r\n\t\tdata_validation = \"unobtrusiveValidation\";\r\n\r\n\tcms.AJAX_DEFAULT_OPTIONS = {\r\n\t\tscope: undefined,\r\n\t\tconfirm: undefined,\r\n\r\n\t\tloading: undefined,\r\n\t\tloadingDuration: 0,\r\n\t\tloadingDelay: 0,\r\n\r\n\t\tupdate: undefined,\r\n\t\tmode: undefined,\r\n\r\n\t\tdata: [],\r\n\t\theaders: {},\r\n\r\n\t\tdestroyKendeui: false,\r\n\r\n\t\tprepareRequest: undefined,\r\n\t\trequestAborted: undefined,\r\n\t\tbeforeSend: undefined,\r\n\t\tcomplete: undefined,\r\n\t\tcompleteInternal: undefined,\r\n\t\tbeforeUpdateContent: undefined,\r\n\t\tbeforeUpdateContentInternal: undefined,\r\n\t\tsuccess: undefined,\r\n\t\terror: undefined\r\n\t}\r\n\r\n\tcms.ajax = function (element, settings, options) {\r\n\t\tvar options = $.extend({}, cms.AJAX_DEFAULT_OPTIONS, options);\r\n\t\tvar confirm, loading, method, duration, loadingDelay, loadingDelayTimeout, loadingIsVisible;\r\n\r\n\t\tconfirm = (element && element.getAttribute(\"data-ajax-confirm\")) || options.confirm;\r\n\t\tif (confirm && !window.confirm(confirm)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tloading = $((element && element.getAttribute(\"data-ajax-loading\")) || options.loading);\r\n\t\tduration = parseInt((element && element.getAttribute(\"data-ajax-loading-duration\")), 10) || options.loadingDuration;\r\n\t\tloadingDelay = parseInt((element && element.getAttribute(\"data-ajax-loading-delay\")), 10) || options.loadingDelay;\r\n\r\n\t\t$.extend(settings, {\r\n\t\t\turl: (element && element.getAttribute(\"data-ajax-url\")) || undefined,\r\n\t\t\ttype: (element && element.getAttribute(\"data-ajax-method\")) || undefined,\r\n\t\t\tcache: !!(element && element.getAttribute(\"data-ajax-cache\")),\r\n\r\n\t\t\tbeforeSend: function (xhr) {\r\n\t\t\t\tvar result;\r\n\t\t\t\tasyncOnBeforeSend(xhr, method);\r\n\t\t\t\tresult = getFunction((element && element.getAttribute(\"data-ajax-begin\")), [\"xhr\"]).apply(element, arguments);\r\n\t\t\t\tif (result !== false && options.beforeSend) {\r\n\t\t\t\t\tresult = options.beforeSend.apply(options.scope || window, [xhr, element, settings, options]);\r\n\t\t\t\t}\r\n\t\t\t\tif (result !== false) {\r\n\t\t\t\t\tif (loadingDelay > 0) {\r\n\t\t\t\t\t\tloadingDelayTimeout = setTimeout(function () { loadingIsVisible = true; loading.show(duration); }, loadingDelay);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tloading.show(duration);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn result;\r\n\t\t\t},\r\n\t\t\tcomplete: function (xhr, status) {\r\n\t\t\t\tif (loadingDelay > 0 && loadingDelayTimeout) {\r\n\t\t\t\t\tclearTimeout(loadingDelayTimeout);\r\n\t\t\t\t\tif (loadingIsVisible) {\r\n\t\t\t\t\t\tloading.hide(duration);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tloading.hide(duration);\r\n\t\t\t\t}\r\n\t\t\t\tgetFunction((element && element.getAttribute(\"data-ajax-complete\")), [\"xhr\", \"status\"]).apply(element, [xhr, status]);\r\n\t\t\t\tif (options.complete) {\r\n\t\t\t\t\toptions.complete.apply(options.scope || window, [xhr, status, element, settings, options]);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (options.completeInternal) {\r\n\t\t\t\t\toptions.completeInternal.apply(options.scope || window, [xhr, status, element, settings, options]);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tsuccess: function (data, status, xhr) {\r\n\t\t\t\tif (options.beforeUpdateContent) {\r\n\t\t\t\t\toptions.beforeUpdateContent.apply(options.scope || window, [data, status, xhr, element, settings, options]);\r\n\t\t\t\t}\r\n\t\t\t\tif (options.beforeUpdateContentInternal) {\r\n\t\t\t\t\toptions.beforeUpdateContentInternal.apply(options.scope || window, [data, status, xhr, element, settings, options]);\r\n\t\t\t\t}\r\n\t\t\t\tasyncOnSuccess(element, data, xhr.getResponseHeader(\"Content-Type\") || \"text/html\", options);\r\n\t\t\t\tgetFunction((element && element.getAttribute(\"data-ajax-success\")), [\"data\", \"status\", \"xhr\"]).apply(element, [data, status, xhr]);\r\n\t\t\t\tif (options.success) {\r\n\t\t\t\t\toptions.success.apply(options.scope || window, [data, status, xhr, element, settings, options]);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\terror: function (xhr, status, errorThrown) {\r\n\t\t\t\tgetFunction((element && element.getAttribute(\"data-ajax-failure\")), [\"xhr\", \"status\", \"error\"]).apply(element, [xhr, status, errorThrown]);\r\n\t\t\t\tif (options.error) {\r\n\t\t\t\t\toptions.error.apply(options.scope || window, [xhr, status, errorThrown, element, settings, options]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t//show error message\r\n\t\t\t\t\tdocument.write(xhr.responseText);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t//settings.data.push({ name: \"X-Requested-With\", value: \"XMLHttpRequest\" });\r\n\r\n\t\tmethod = settings.type.toUpperCase();\r\n\t\tif (!isMethodProxySafe(method)) {\r\n\t\t\tsettings.type = \"POST\";\r\n\t\t\tsettings.headers['X-HTTP-Method-Override'] = method;\r\n\t\t\t//settings.data.push({ name: \"X-HTTP-Method-Override\", value: method });\r\n\t\t}\r\n\r\n\t\t//console.log('before prepareRequest settings', settings);\r\n\t\tvar executeRequest = true;\r\n\t\tif (options.prepareRequest) {\r\n\t\t\texecuteRequest = options.prepareRequest.apply(options.scope || window, [element, settings, options]);\r\n\t\t}\r\n\r\n\t\tif (executeRequest !== false) {\r\n\t\t\t//console.log('settings on execute:', settings);\r\n\t\t\t$.ajax(settings);\r\n\t\t} else {\r\n\t\t\tif (options.requestAborted) {\r\n\t\t\t\toptions.requestAborted.apply(options.scope || window, [element, settings, options]);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tfunction getFunction(code, argNames) {\r\n\t\tvar fn = window, parts = (code || \"\").split(\".\");\r\n\t\twhile (fn && parts.length) {\r\n\t\t\tfn = fn[parts.shift()];\r\n\t\t}\r\n\t\tif (typeof (fn) === \"function\") {\r\n\t\t\treturn fn;\r\n\t\t}\r\n\t\targNames.push(code);\r\n\t\treturn Function.constructor.apply(null, argNames);\r\n\t}\r\n\r\n\tfunction isMethodProxySafe(method) {\r\n\t\treturn method === \"GET\" || method === \"POST\";\r\n\t}\r\n\r\n\tfunction asyncOnBeforeSend(xhr, method) {\r\n\t\tif (!isMethodProxySafe(method)) {\r\n\t\t\txhr.setRequestHeader(\"X-HTTP-Method-Override\", method);\r\n\t\t}\r\n\t}\r\n\r\n\tfunction asyncOnSuccess(element, data, contentType, options) {\r\n\t\tvar mode;\r\n\r\n\t\tif (contentType.indexOf(\"application/x-javascript\") !== -1) { // jQuery already executes JavaScript for us\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmode = ((element && element.getAttribute(\"data-ajax-mode\")) || options.mode || \"\").toUpperCase();\r\n\t\t$((element && element.getAttribute(\"data-ajax-update\")) || options.update).each(function (i, update) {\r\n\t\t\tvar top;\r\n\r\n\t\t\tswitch (mode) {\r\n\t\t\t\tcase \"BEFORE\":\r\n\t\t\t\t\ttop = update.firstChild;\r\n\t\t\t\t\t$(\"
    \").html(data).contents().each(function () {\r\n\t\t\t\t\t\tupdate.insertBefore(this, top);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"AFTER\":\r\n\t\t\t\t\t$(\"
    \").html(data).contents().each(function () {\r\n\t\t\t\t\t\tupdate.appendChild(this);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase \"REPLACE-WITH\":\r\n\t\t\t\t\t$(update).replaceWith(data);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\t$(update).html(data);\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tfunction validate(form) {\r\n\t\tvar validationInfo = $(form).data(data_validation);\r\n\t\treturn !validationInfo || !validationInfo.validate || validationInfo.validate();\r\n\t}\r\n\r\n\t$(document).on(\"click\", \"a[data-ajax=true]\", function (evt) {\r\n\t\tevt.preventDefault();\r\n\t\tcms.ajax(this, {\r\n\t\t\turl: this.href,\r\n\t\t\ttype: \"GET\",\r\n\t\t\tdata: []\r\n\t\t});\r\n\t});\r\n\r\n\t$(document).on(\"click\", \"form[data-ajax=true] input[type=image]\", function (evt) {\r\n\t\tvar name = evt.target.name,\r\n\t\t\ttarget = $(evt.target),\r\n\t\t\tform = $(target.parents(\"form\")[0]),\r\n\t\t\toffset = target.offset();\r\n\r\n\t\tform.data(data_click, [\r\n\t\t\t{ name: name + \".x\", value: Math.round(evt.pageX - offset.left) },\r\n\t\t\t{ name: name + \".y\", value: Math.round(evt.pageY - offset.top) }\r\n\t\t]);\r\n\r\n\t\tsetTimeout(function () {\r\n\t\t\tform.removeData(data_click);\r\n\t\t}, 0);\r\n\t});\r\n\r\n\t$(document).on(\"click\", \"form[data-ajax=true] :submit\", function (evt) {\r\n\t\tvar name = evt.currentTarget.name,\r\n\t\t\ttarget = $(evt.target),\r\n\t\t\tform = $(target.parents(\"form\")[0]);\r\n\r\n\t\tform.data(data_click, name ? [{ name: name, value: evt.currentTarget.value }] : []);\r\n\t\tform.data(data_target, target);\r\n\r\n\t\tsetTimeout(function () {\r\n\t\t\tform.removeData(data_click);\r\n\t\t\tform.removeData(data_target);\r\n\t\t}, 0);\r\n\t});\r\n\r\n\t$(document).on(\"submit\", \"form[data-ajax=true]\", function (evt) {\r\n\t\tvar clickInfo = $(this).data(data_click) || [],\r\n\t\t\tclickTarget = $(this).data(data_target),\r\n\t\t\tisCancel = clickTarget && clickTarget.hasClass(\"cancel\");\r\n\t\tevt.preventDefault();\r\n\t\tif (!isCancel && !validate(this)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tcms.ajax(this, {\r\n\t\t\turl: this.action,\r\n\t\t\ttype: this.method || \"GET\",\r\n\t\t\tdata: clickInfo.concat($(this).serializeArray())\r\n\t\t});\r\n\t});\r\n\r\n})(jQuery, window);","import $ from 'jquery';\r\nimport 'magnific-popup';\r\n\r\n//Disable Caching for AJAX Requests\r\n$.ajaxSetup({ cache: false });\r\n\r\n//Navigation\r\n$(function () {\r\n $('.d-nav-menu-toplevel').navigationDesktopMenu({\r\n collapsibleMenuStartLevel: 1,\r\n openToplevelWithClick: false\r\n });\r\n $('.m-nav').navigationMobile();\r\n});\r\n\r\n$(function () {\r\n $('.magnific-popup').each(function () {\r\n $(this).magnificPopup({\r\n delegate: 'a',\r\n type: 'image',\r\n tLoading: 'Bild #%curr% laden...',\r\n mainClass: 'mfp-img-mobile',\r\n gallery: {\r\n enabled: true,\r\n navigateByImgClick: true,\r\n preload: [0, 1] // Will preload 0 - before current, and 1 after the current image\r\n },\r\n image: {\r\n titleSrc: function (item) {\r\n if (item.el.attr('title'))\r\n return item.el.attr('title');\r\n else\r\n return '';\r\n }\r\n }\r\n });\r\n });\r\n});\r\n\r\n$(window).on(\"load\", function () {\r\n homeSliderNavHandler();\r\n});\r\n\r\n$(window).on('resize', function () {\r\n homeSliderNavHandler();\r\n});\r\n\r\nfunction homeSliderNavHandler() {\r\n\r\n if ($(\".carouselCard\").length) {\r\n\r\n if ($(window).width() <= 768) {\r\n $(\"#carouselMultiItem\").css('height', 'auto');\r\n }\r\n else {\r\n var maxHeight = 0;\r\n $(\".carouselCard\").each(function () {\r\n if ($(this).height() > maxHeight) {\r\n maxHeight = $(this).height();\r\n }\r\n });\r\n if (maxHeight < 100)\r\n maxHeight = 700;\r\n\r\n $(\"#carouselMultiItem\").height(parseInt(maxHeight + 60));\r\n }\r\n }\r\n\r\n}","/********************************************************************************************\r\n* \r\n* Plugin:\t\t\tnavigationDesktopMenu\r\n* Beschreibung:\t\tSteuerung der Navigation Desktop Menu\r\n* \r\n* ******************************************************************************************/\r\nimport jQuery from 'jquery';\r\n\r\n(function ($, window, document, undefined) {\r\n\t//Plugin Name\r\n\tvar pluginName = 'navigationDesktopMenu';\r\n\r\n\t//Defaults\r\n\tvar defaults = {\r\n\t\tcollapsibleMenuStartLevel: 0,\r\n\t\tslideAnimationDuration: 200,\r\n\t\topenToplevelWithClick: false\r\n\t};\r\n\r\n\t// Konstruktur\r\n\tfunction NavigationDesktopMenu(el, options) {\r\n\t\tthis.element = el instanceof jQuery ? el : $(el);\r\n\t\tthis.options = $.extend({}, defaults, options);\r\n\t\tthis._defaults = defaults;\r\n\t\tthis._name = pluginName;\r\n\t\tthis.init();\r\n\t}\r\n\r\n\t// Methoden und Eigenschaften\r\n\t$.extend(NavigationDesktopMenu.prototype, {\r\n\t\t// Root jquery element\r\n\t\telement: null,\r\n\r\n\t\t// Optionen\r\n\t\toptions: null,\r\n\r\n\t\t// Komponente initialiseren\r\n\t\tinit: function () {\r\n\t\t\tvar that = this;\r\n\t\t\tvar isTouchDevice = that.isTouchDevice() || that.options.openToplevelWithClick;\r\n\r\n\t\t\t// CSS Klasse nav-menu setzen\r\n\t\t\tthat.element.find('>li[data-target]').each(function () {\r\n\t\t\t\t$(this).addClass('nav-menu');\r\n\t\t\t\tif (that.options.collapsibleMenuStartLevel > 0)\r\n\t\t\t\t\tthat.addMenuCls($('#' + $(this).data('target') + ' > ul'), that.options.collapsibleMenuStartLevel, 1);\r\n\t\t\t});\r\n\r\n\t\t\t// SPAN für Menu Icon erstellen\r\n if (isTouchDevice) {\r\n\t\t\t\t//that.element.find('.nav-menu').prepend('');\r\n that.element.find('.nav-menu a[href!=\"#\"]').parent('li').prepend('');\r\n\t\t\t}\r\n\t\t\t$('.d-nav-menu-items .nav-menu').prepend('');\r\n\r\n\t\t\tif (isTouchDevice) {\r\n\t\t\t\t// Event Listener Menu Arrow\r\n\t\t\t\tthat.element.find('>li.nav-menu>.menu-arrow').on('click', function (event) {\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\tvar menu = $(this).closest('.nav-menu[data-target]');\r\n\t\t\t\t\tif (menu.hasClass('open')) {\r\n\t\t\t\t\t\tthat.hideAllMenus();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthat.showMenu(menu);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t//Event Listener Click A\r\n\t\t\t\tthat.element.find('>li.nav-menu>a[href=\"#\"]').on('click', function (event) {\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\tvar menu = $(this).closest('.nav-menu[data-target]');\r\n\t\t\t\t\tif (menu.hasClass('open')) {\r\n\t\t\t\t\t\tthat.hideAllMenus();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthat.showMenu(menu);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\t// Event Listener Mouse Over Menu\r\n\t\t\t\tthat.element.find('>li.nav-menu>a').on('mouseenter', function (event) {\r\n\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\tvar menu = $(this).closest('.nav-menu[data-target]');\r\n\t\t\t\t\tif (!menu.hasClass('open'))\r\n\t\t\t\t\t\tthat.showMenu(menu);\r\n\t\t\t\t});\r\n\r\n\t\t\t\t//Event Listener Mouse Move -> Alle Menus schliessen, falls ausserhalb\r\n\t\t\t\t$(document).on('mousemove', function (event) {\r\n\t\t\t\t\tvar $target = $(event.target);\r\n\t\t\t\t\tif (!$target.closest('.nav-menu.open').length && !($target.closest('.d-nav-menu-items:visible').length)) {\r\n\t\t\t\t\t\tthat.hideAllMenus();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t//Event Listener Mouse Click outside -> Alle Menus schliessen\r\n\t\t\t$(document).on('click', function (event) {\r\n\t\t\t\tvar $target = $(event.target);\r\n\t\t\t\tif (!$target.closest('.nav-menu.open').length && !($target.closest('.d-nav-menu-items:visible').length)) {\r\n\t\t\t\t\tthat.hideAllMenus();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t//Event Listener Mouse Click Submenu\r\n\t\t\t$('.d-nav-menu-items li.nav-menu > .menu-arrow').on('click', function () {\r\n\t\t\t\tvar $this = $(this);\r\n\t\t\t\tvar li = $this.closest('li.nav-menu');\r\n\t\t\t\tvar ul = li.find('>ul');\r\n\t\t\t\tif (li.hasClass('open')) {\r\n\t\t\t\t\tul.slideUp(that.options.slideAnimationDuration, function () { li.removeClass('open'); });\r\n\t\t\t\t} else {\r\n\t\t\t\t\tul.slideDown(that.options.slideAnimationDuration, function () { li.addClass('open'); });\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t//Event Listener Mouse Click Submenu Link\r\n\t\t\t$('.d-nav-menu-items li.nav-menu > a[href=\"#\"]').on('click', function (event) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\t$(this).parent().find('>.menu-arrow').trigger('click');\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tshowMenu: function (menuItem) {\r\n\t\t\tthis.hideAllMenus();\r\n\t\t\tvar menu = $('#' + menuItem.data('target'));\r\n\r\n\t\t\tmenuItem.addClass('open');\r\n\r\n\t\t\tmenu.width('');\r\n menu.find('li.nav-menu>ul').css('display','block');\r\n\t\t\tvar w = menu.width();\r\n menu.find('li.nav-menu>ul').css('display', '');\r\n\t\t\tmenu.width(w);\r\n\r\n\t\t\tvar h = menu.height();\r\n\t\t\tmenu.css('top', menuItem.position().top + menuItem.height());\r\n\t\t\tmenu.css('left', menuItem.position().left);\r\n\t\t\tmenu.one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function () {\r\n\t\t\t\tmenu.height('');\r\n\t\t\t});\r\n\t\t\tmenu.height(0).addClass('visible').height(h);\r\n\t\t},\r\n\r\n\t\thideAllMenus: function (el) {\r\n this.element.find('>li.nav-menu.open').each(function () {\r\n var $this = $(this);\r\n $this.removeClass('open');\r\n $('#' + $this.data('target')).removeClass(\"visible\");\r\n });\r\n\t\t},\r\n\r\n\t\t// CSS Klasse für Menu-Button hinzufügen\r\n\t\taddMenuCls: function ($ul, startLevel, currentLevel) {\r\n\t\t\tvar that = this;\r\n\t\t\tvar arrLi = $ul.find('> li');\r\n arrLi.each(function (idx, li) {\r\n var $li = $(li);\r\n var $subUl = $li.find('> ul');\r\n\r\n if ($subUl.length > 0) {\r\n if (currentLevel >= startLevel) {\r\n $li.addClass('nav-menu');\r\n\r\n //Nodes mit Klasse active öffnen\r\n if ($li.hasClass('active')) {\r\n $li.addClass('open');\r\n }\r\n\r\n }\r\n that.addMenuCls($subUl, startLevel, currentLevel + 1);\r\n }\r\n });\r\n\t\t},\r\n\r\n\t\t// Ermittlung, ob es sich um ein Touch-Device handelt\r\n\t\tisTouchDevice: function () {\r\n\t\t\tvar prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');\r\n\t\t\tvar mq = function (query) {\r\n\t\t\t\treturn window.matchMedia(query).matches;\r\n\t\t\t}\r\n\r\n\t\t\tif (('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\t// include the 'heartz' as a way to have a non matching MQ to help terminate the join\r\n\t\t\t// https://git.io/vznFH\r\n\t\t\tvar query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join('');\r\n\t\t\treturn mq(query);\r\n\t\t}\r\n\t});\r\n\r\n\t// Registration jQuery Plugin\r\n $.fn[pluginName] = function (options) {\r\n return this.each(function () {\r\n if (!$.data(this, pluginName)) {\r\n $.data(this, pluginName,\r\n new NavigationDesktopMenu(this, options));\r\n }\r\n });\r\n };\r\n\r\n})(jQuery, window, document);","/********************************************************************************************\r\n* \r\n* Plugin:\t\t\tnavigationMobile\r\n* Beschreibung:\t\tSteuerung der Navigation Mobile\r\n* \r\n* ******************************************************************************************/\r\nimport jQuery from 'jquery';\r\n\r\n(function ($, window, document, undefined) {\r\n //Plugin Name\r\n var pluginName = 'navigationMobile';\r\n\r\n //Defaults\r\n var defaults = {\r\n slideAnimationDuration: 200,\r\n //pageSelector: '>div',\r\n shadowWidth: 10\r\n };\r\n\r\n // Konstruktur\r\n function NavigationMobile(el, options) {\r\n this.element = el instanceof jQuery ? el : $(el);\r\n this.options = $.extend({}, defaults, options);\r\n this._defaults = defaults;\r\n this._name = pluginName;\r\n this.init();\r\n }\r\n\r\n // Methoden und Eigenschaften\r\n $.extend(NavigationMobile.prototype, {\r\n // Root jquery element\r\n element: null,\r\n\r\n // Optionen\r\n options: null,\r\n\r\n // Komponente initialiseren\r\n init: function () {\r\n var that = this;\r\n var ul = this.element.find('>ul');\r\n //console.log(this.element, ul);\r\n\r\n // CSS Klasse nav-menu setzen\r\n that.addMenuCls(ul);\r\n\r\n // SPAN für Menu Icon erstellen\r\n that.element.find('.nav-menu').prepend('');\r\n\r\n // Event Listener Close Button\r\n that.element.find('.btn-close').on('click', function (event) {\r\n event.preventDefault();\r\n if (that.element.hasClass('open'))\r\n that.hideMobileMenu();\r\n });\r\n\r\n // Event Listener Trigger -> Menu öffnen\r\n $('a[href=\"#' + that.element.attr('id') + '\"]').on('click', function (event) {\r\n if (!that.element.hasClass('open')) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n that.showMobileMenu();\r\n }\r\n });\r\n\r\n // Event Listener Transition Ende\r\n that.element.on('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function (e) {\r\n var html = $('html');\r\n\r\n if (html.hasClass('m-nav-opening')) {\r\n html.removeClass('m-nav-opening');\r\n html.addClass('m-nav-open');\r\n }\r\n\r\n if (html.hasClass('m-nav-closing')) {\r\n html.removeClass('m-nav-closing');\r\n html.removeClass('m-nav-open');\r\n that.element.hide();\r\n if (that.block) {\r\n that.block.remove();\r\n that.block = null;\r\n }\r\n }\r\n });\r\n\r\n // Event Listener Mouse Click Submenu\r\n that.element.find('li.nav-menu > .menu-arrow').on('click', function (event) {\r\n var $this = $(this);\r\n var li = $this.closest('li.nav-menu');\r\n var ul = li.find('>ul');\r\n if (li.hasClass('open')) {\r\n ul.slideUp(that.options.slideAnimationDuration, function () { li.removeClass('open'); });\r\n } else {\r\n ul.slideDown(that.options.slideAnimationDuration, function () { li.addClass('open'); });\r\n }\r\n });\r\n\r\n // Event Listener Mouse Click Submenu Link\r\n that.element.find('li.nav-menu > a[href=\"#\"]').on('click', function (event) {\r\n event.preventDefault();\r\n $(this).parent().find('>.menu-arrow').trigger('click');\r\n });\r\n },\r\n\r\n // Mobile Menu anzeigen\r\n showMobileMenu: function () {\r\n var that = this;\r\n\r\n that.element.css('right', - that.element.width() - that.options.shadowWidth + 'px');\r\n that.element.show();\r\n $('html').addClass('m-nav-opening');\r\n that.element.addClass('open');\r\n that.block = $('
    \"').appendTo($('body'));\r\n\r\n that.block.on('touchmove touchend click', function (e) {\r\n e.preventDefault();\r\n that.hideMobileMenu();\r\n });\r\n\r\n setTimeout(function () {\r\n that.element.css('right', 0);\r\n }, 10);\r\n },\r\n\r\n // Mobile Menu schliessen\r\n hideMobileMenu: function () {\r\n var that = this;\r\n $('html').addClass('m-nav-closing');\r\n that.element.removeClass('open');\r\n\r\n setTimeout(function () {\r\n that.element.css('right', - that.element.width() - that.options.shadowWidth + 'px');\r\n }, 10);\r\n },\r\n\r\n //pageWrap: function () {\r\n //\tvar wrap = $('body > .mobile-navigation-page-wrap');\r\n //\tif (!wrap.length) {\r\n //\t\t$(this.options.pageSelector, $('body')).wrapAll('
    ');\r\n //\t\twrap = $('body > .mobile-navigation-page-wrap');\r\n //\t}\r\n\r\n //\tif (!this.element.parent().is('body')) {\r\n //\t\tconsole.log('move');\r\n //\t\tthis.element.appendTo($('body'));\r\n //\t}\r\n //},\r\n\r\n // CSS Klasse für Menu-Button hinzufügen\r\n addMenuCls: function ($ul) {\r\n var that = this;\r\n var arrLi = $ul.find('> li');\r\n arrLi.each(function (idx, li) {\r\n var $li = $(li);\r\n var $subUl = $li.find('> ul');\r\n\r\n if ($subUl.length > 0) {\r\n $li.addClass('nav-menu');\r\n that.addMenuCls($subUl);\r\n\r\n //Nodes mit Klasse active öffnen\r\n if ($li.hasClass('active')) {\r\n $li.addClass('open');\r\n }\r\n }\r\n });\r\n }\r\n });\r\n\r\n // Registration jQuery Plugin\r\n $.fn[pluginName] = function (options) {\r\n return this.each(function () {\r\n if (!$.data(this, pluginName)) {\r\n $.data(this, pluginName,\r\n new NavigationMobile(this, options));\r\n }\r\n });\r\n };\r\n\r\n})(jQuery, window, document);"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAGA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AA2BA;;;;;;;;;;;;;AChGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;;;;;;;;;;;;ACZA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAEA;AACA;AACA;;;;;;;;;;;;ACNA;AAAA;AAAA;AAEA;AACA;AADA;;;;;;;;;;;ACFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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A;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AANA;AASA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AANA;AASA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAvDA;AA+DA;AACA;AACA;AACA;AACA;AACA;AAHA;AAMA;;;;;;;;;;;;ACnFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAFA;AAKA;AAAA;AAAA;AAAA;AAAA;AALA;AAOA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAVA;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAOA;;;;;;;;;;;;ACzFA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAFA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AAQA;;;;;;;;;;;;;;;;;;ACjDA;AACA;AACA;AAEA;AACA;AAFA;AAKA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC5BA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AAIA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAxBA;AACA;AA0BA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AA5DA;AACA;AAgEA;AACA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AAjBA;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;AAEA;AACA;AAAA;AAAA;AAAA;AAKA;AACA;AAAA;AAAA;AACA;AAAA;AAAA;AAGA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAHA;AAKA;AAEA;;;;;;;;;;;;AC3PA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAKA;AACA;AACA;AAIA;AANA;AAVA;AAmBA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AAEA;;;;;;;;;;;;ACpEA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAHA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AADA;AACA;AACA;AAhKA;AACA;AAmKA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;;;;;;;;;;;;AC1MA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAHA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAGA;AACA;AAAA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAxIA;AACA;AA2IA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;;;;A","sourceRoot":""}