{"version":3,"sources":["constants/ActionTypes.js","reducers/calendar/filters.js","reducers/calendar/events.js","reducers/calendar/vereinigungen.js","reducers/index.js","config.js","helpers/Api/Api.js","middleware/api.js","store.js","components/Calendar/utils.js","actions/calendar/events.js","components/Calendar/Calendar.jsx","actions/calendar/filters.js","actions/calendar/vereinigungen.js","App.jsx","index.js"],"names":["UPDATE_DATE","GOTO_MONTH","GET_EVENTS","NEXT_MONTH","PREV_MONTH","REMOVE_MONTH","UPDATE_GROUPS","UPDATE_SEARCHABLETEXT","UPDATE_EVENTTYPES","GET_VEREINIGUNGEN","UPDATE_VEREINIGUNGEN","rightNow","Date","initialState","startDate","endDate","fullDate","monthToday","getMonth","yearToday","getFullYear","day","getDate","month","undefined","year","groups","text","eventTypes","vereinigungen","error","items","total","loaded","loading","batching","options","rootReducer","combineReducers","events","state","arguments","length","action","type","concat","Object","objectSpread","map","result","item","items_total","filters","value","getPath","label","title","defaults","apiPath","process","REACT_APP_API_PATH","document","getElementById","dataset","portalurl","methods","api","apiHelper","Api","_this","this","classCallCheck","forEach","method","path","_ref","params","data","Promise","resolve","reject","request","superagent","adjustedPath","config","formatUrl","query","authToken","cookie","load","set","send","end","err","body","middlewares","composeWithDevTools","applyMiddleware","thunk","dispatch","getState","next","rest","objectWithoutProperties","actionPromise","Array","isArray","all","op","then","store","createStore","reducer","zielgruppePbhMapping","Bad-Honnef-physics-school","DPG-lehrerfortbildung","WEH-seminar","Bad-Honnefer-industriegesprach","andere","DEFAULT_PAGING_SIZE","searchEvents","page","portal_type","metadata_fields","veranstaltungsort","currentPage","b_size","b_start","toString","SearchableText","event_related_vereinigung","date","querystring","join","toPairs","pickBy","startOfStartDay","moment","startOf","format","endOfEndDay","endOf","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","done","group","return","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","eventType","Calendar","focusedInput","selectedPage","getMonthClass","index","props","getMonthTag","toggleGroup","includes","updateGroupFilter","without","resetPagination","toggleeventType","toLowerCase","updateEventType","setState","handlePaginationChange","window","scrollTo","selected","getVereinigungen","_this2","react_default","a","createElement","className","react_dates","numberOfMonths","isMobile","any","endDatePlaceholderText","startDateId","endDateId","onDatesChange","updateDateRange","onFocusChange","isOutsideRange","showDefaultInputIcon","hideKeyboardShortcutsPanel","reopenPickerOnClearDates","showClearDates","xlinkHref","id","placeholder","onChange","e","updateSearchableText","target","onClick","event","key","UID","href","start","zielgruppe_pbh","zielgruppe","vortragende_person","Fragment","Math","ceil","itemsTotal","dist_default","previousLabel","nextLabel","breakLabel","breakClassName","pageCount","marginPagesDisplayed","pageRangeDisplayed","onPageChange","initialPage","forcePage","subContainerClassName","activeClassName","Component","defaultProps","connect","goToMonth","goToNextMonth","goToPrevMonth","removeMonth","updateVereinigungen","App","components_Calendar_Calendar","locale","updateLocale","weekdaysShort","split","monthsShort","ReactDOM","render","es","src_App_0"],"mappings":"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","file":"static/js/main.77511a8c.chunk.js","sourcesContent":["/**\n * Action types.\n * @module constants/ActionTypes\n */\n\nexport const UPDATE_DATE = 'UPDATE_DATE';\nexport const GOTO_MONTH = 'GOTO_MONTH';\nexport const GET_EVENTS = 'GET_EVENTS';\nexport const NEXT_MONTH = 'NEXT_MONTH';\nexport const PREV_MONTH = 'PREV_MONTH';\nexport const REMOVE_MONTH = 'REMOVE_MONTH';\nexport const UPDATE_GROUPS = 'UPDATE_GROUPS';\nexport const UPDATE_SEARCHABLETEXT = 'UPDATE_SEARCHABLETEXT';\nexport const UPDATE_EVENTTYPES = 'UPDATE_EVENTTYPES';\nexport const GET_VEREINIGUNGEN = 'GET_VEREINIGUNGEN';\nexport const UPDATE_VEREINIGUNGEN = 'UPDATE_VEREINIGUNGEN';\n","/**\n * Filters reducer.\n * @module reducers/calendar/filters\n */\n\nimport {\n UPDATE_DATE,\n GOTO_MONTH,\n NEXT_MONTH,\n PREV_MONTH,\n REMOVE_MONTH,\n UPDATE_GROUPS,\n UPDATE_SEARCHABLETEXT,\n UPDATE_EVENTTYPES,\n UPDATE_VEREINIGUNGEN,\n} from '../../constants/ActionTypes';\n\nconst rightNow = new Date();\n\nconst initialState = {\n startDate: rightNow,\n endDate: null,\n fullDate: rightNow,\n monthToday: rightNow.getMonth(),\n yearToday: rightNow.getFullYear(),\n day: rightNow.getDate(),\n month: undefined,\n year: rightNow.getFullYear(),\n groups: [],\n text: '',\n eventTypes: [],\n vereinigungen: '',\n};\n\nexport default function filters(state = initialState, action = {}) {\n switch (action.type) {\n case UPDATE_DATE:\n return {\n ...state,\n startDate: action.startDate,\n endDate: action.endDate,\n };\n case GOTO_MONTH:\n return {\n ...state,\n month: action.month,\n };\n case NEXT_MONTH:\n if (state.month === 11) {\n return {\n ...state,\n month: 0,\n year: state.year + 1,\n };\n }\n return {\n ...state,\n month:\n state.month !== undefined ? state.month + 1 : state.monthToday + 1,\n };\n case PREV_MONTH:\n if (state.month === 0) {\n return {\n ...state,\n month: 11,\n year: state.year - 1,\n };\n }\n return {\n ...state,\n month: state.month ? state.month - 1 : state.monthToday - 1,\n };\n case REMOVE_MONTH:\n return {\n ...state,\n month: undefined,\n };\n case UPDATE_GROUPS:\n return {\n ...state,\n groups: action.groups,\n };\n case UPDATE_SEARCHABLETEXT:\n return {\n ...state,\n text: action.text,\n };\n case UPDATE_EVENTTYPES:\n return {\n ...state,\n eventTypes: action.eventTypes,\n };\n case UPDATE_VEREINIGUNGEN:\n return {\n ...state,\n vereinigungen: action.vereinigungen,\n };\n default:\n return state;\n }\n}\n","/**\n * Search reducer.\n * @module reducers/search/search\n */\n\nimport { map } from 'lodash';\n// import config from '~/config';\n\nimport { GET_EVENTS } from '../../constants/ActionTypes';\n\nconst initialState = {\n error: null,\n items: [],\n total: 0,\n loaded: false,\n loading: false,\n batching: {},\n};\n\n/**\n * Search reducer.\n * @function search\n * @param {Object} state Current state.\n * @param {Object} action Action to be handled.\n * @returns {Object} New state.\n */\nexport default function events(state = initialState, action = {}) {\n switch (action.type) {\n case `${GET_EVENTS}_PENDING`:\n return {\n ...state,\n error: null,\n loading: true,\n loaded: false,\n };\n case `${GET_EVENTS}_SUCCESS`:\n return {\n ...state,\n error: null,\n items: map(action.result.items, item => ({\n ...item,\n // No need to replace URL since the react component will be attached\n // directly to Plone\n // '@id': item['@id'].replace(config.apiPath, ''),\n })),\n total: action.result.items_total,\n loaded: true,\n loading: false,\n batching: { ...action.result.batching },\n };\n case `${GET_EVENTS}_FAIL`:\n return {\n ...state,\n error: action.error,\n items: [],\n total: 0,\n loading: false,\n loaded: false,\n batching: {},\n };\n default:\n return state;\n }\n}\n","/**\n * Search reducer.\n * @module reducers/search/search\n */\nimport { map } from 'lodash';\n\nimport { GET_VEREINIGUNGEN } from '../../constants/ActionTypes';\n\nconst initialState = {\n error: null,\n items: [],\n options: [],\n loaded: false,\n loading: false,\n};\n\n/**\n * Search reducer.\n * @function search\n * @param {Object} state Current state.\n * @param {Object} action Action to be handled.\n * @returns {Object} New state.\n */\nexport default function vereinigungen(state = initialState, action = {}) {\n switch (action.type) {\n case `${GET_VEREINIGUNGEN}_PENDING`:\n return {\n ...state,\n error: null,\n loading: true,\n loaded: false,\n };\n case `${GET_VEREINIGUNGEN}_SUCCESS`:\n return {\n ...state,\n error: null,\n items: map(action.result.items, item => ({\n ...item,\n // No need to replace URL since the react component will be attached\n // directly to Plone\n // '@id': item['@id'].replace(config.apiPath, ''),\n })),\n options: map(action.result.items, item => ({\n value: item.getPath,\n label: item.title,\n })),\n loaded: true,\n loading: false,\n };\n case `${GET_VEREINIGUNGEN}_FAIL`:\n return {\n ...state,\n error: action.error,\n items: [],\n options: [],\n loading: false,\n loaded: false,\n };\n default:\n return state;\n }\n}\n","import { combineReducers } from 'redux';\n\nimport filters from './calendar/filters';\nimport events from './calendar/events';\nimport vereinigungen from './calendar/vereinigungen';\n\nconst rootReducer = combineReducers({ events, filters, vereinigungen });\n\nexport default rootReducer;\n","/**\n * Config.\n * @module config\n */\nimport { defaults } from 'lodash';\n\nconst monthsName = [\n 'Jan',\n 'Feb',\n 'Mär',\n 'Apr',\n 'Mai',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Okt',\n 'Nov',\n 'Dez',\n];\n\nexport { monthsName };\n\nexport default defaults(\n {},\n {\n apiPath: process.env.REACT_APP_API_PATH,\n },\n {\n apiPath: document.getElementById('kitconcept-calendar')\n ? document.getElementById('kitconcept-calendar').dataset.portalurl ||\n 'http://localhost:8080/Plone'\n : '',\n },\n);\n","/**\n * Api helper.\n * @module helpers/Api\n */\n\nimport superagent from 'superagent';\nimport cookie from 'react-cookie';\n\n// import config from '~/config';\nimport config from '../../config';\n\nconst methods = ['get', 'post', 'put', 'patch', 'del'];\n\n/**\n * Format the url.\n * @function formatUrl\n * @param {string} path Path to be formatted.\n * @returns {string} Formatted path.\n */\nfunction formatUrl(path) {\n const adjustedPath = path[0] !== '/' ? `/${path}` : path;\n return `${config.apiPath}${adjustedPath}`;\n}\n\n/**\n * Api class.\n * @class Api\n */\nexport class Api {\n /**\n * Constructor\n * @method constructor\n * @constructs Api\n */\n constructor() {\n methods.forEach(method => {\n this[method] = (path, { params, data, type } = {}) =>\n new Promise((resolve, reject) => {\n const request = superagent[method](formatUrl(path));\n\n if (params) {\n request.query(params);\n }\n\n const authToken = cookie.load('auth_token');\n if (authToken) {\n request.set('Authorization', `Bearer ${authToken}`);\n }\n\n request.set('Accept', 'application/json');\n\n if (type) {\n request.type(type);\n }\n\n if (data) {\n request.send(data);\n }\n\n request.end(\n (err, { body } = {}) => (err ? reject(body || err) : resolve(body)),\n );\n });\n });\n }\n}\n","/**\n * Api middleware.\n * @module middleware/api\n */\n\n/**\n * Api middleware.\n * @function\n * @param {Object} api Api object.\n * @returns {Promise} Action promise.\n */\nexport default api => ({ dispatch, getState }) => next => action => {\n if (typeof action === 'function') {\n return action(dispatch, getState);\n }\n\n const { request, type, ...rest } = action;\n\n if (!request) {\n return next(action);\n }\n\n next({ ...rest, type: `${type}_PENDING` });\n\n const actionPromise = Array.isArray(request)\n ? Promise.all(\n request.map(item => api[item.op](item.path, { data: item.data })),\n )\n : api[request.op](request.path, { data: request.data });\n actionPromise.then(\n result => next({ ...rest, result, type: `${type}_SUCCESS` }),\n error => next({ ...rest, error, type: `${type}_FAIL` }),\n );\n\n return actionPromise;\n};\n","import { composeWithDevTools } from 'redux-devtools-extension/developmentOnly';\n\nimport { createStore, applyMiddleware } from 'redux';\nimport thunk from 'redux-thunk';\nimport { api } from './middleware';\nimport reducer from './reducers';\n\nimport { Api } from './helpers';\n\nconst apiHelper = new Api();\n\nconst initialState = {};\n\nconst middlewares = composeWithDevTools(applyMiddleware(thunk, api(apiHelper)));\nconst store = createStore(reducer, initialState, middlewares);\n\nexport default store;\n","const zielgruppePbhMapping = {\n 'Bad-Honnef-physics-school': 'Bad Honnef Physics School',\n 'DPG-lehrerfortbildung': 'DPG-Lehrerfortbildung',\n 'WEH-seminar': 'WEH-Seminar',\n 'Bad-Honnefer-industriegesprach': 'Bad Honnefer Industriegespräch',\n andere: 'Andere',\n};\n\nexport { zielgruppePbhMapping };\n","/**\n * Search events actions.\n * @module actions/search/search\n */\n\nimport { join, map, toPairs, pickBy } from 'lodash';\nimport moment from 'moment';\n\nimport { GET_EVENTS } from '../../constants/ActionTypes';\n\nconst DEFAULT_PAGING_SIZE = 4;\n\nexport { DEFAULT_PAGING_SIZE };\n\nfunction formatForPloneQuery(date) {\n return moment(date).format('YYYY-MM-DDTHH:mm:ss');\n}\n\n/**\n * Search events function.\n * @function searchEvents\n * @param {Object} filters Search options.\n * @param {Object} page Page number.\n * @returns {Object} Search content action.\n */\nexport function searchEvents(filters = {}, page = 0) {\n const url = '';\n\n let query = {};\n // Defaults\n // Restricted to events:\n query = { ...query, portal_type: 'Event' };\n // Return metadata\n query = { ...query, metadata_fields: '_all' };\n // Restrict to veranstaltungsort is physikzentrum-bad-honnef\n query = { ...query, veranstaltungsort: 'physikzentrum-bad-honnef' };\n\n // Pagination\n const currentPage = DEFAULT_PAGING_SIZE * page;\n query = {\n ...query,\n b_size: DEFAULT_PAGING_SIZE,\n b_start: currentPage.toString(),\n };\n\n // searchableText (with ending *)\n if (filters.text) {\n query = { ...query, SearchableText: `${filters.text}*` };\n }\n\n // searchableText\n if (filters.vereinigungen) {\n query = {\n ...query,\n event_related_vereinigung: filters.vereinigungen,\n };\n }\n\n let querystring = query\n ? join(map(toPairs(pickBy(query)), item => join(item, '=')), '&')\n : '';\n\n if (!filters.endDate) {\n // default query showing all events from today onwards\n querystring += `&end.query:tuple=${formatForPloneQuery(filters.startDate)}`;\n querystring += `&end.range=min`;\n } else {\n const startOfStartDay = moment(filters.startDate)\n .startOf('day')\n .format('YYYY-MM-DDTHH:mm:ss');\n const endOfEndDay = moment(filters.endDate)\n .endOf('day')\n .format('YYYY-MM-DDTHH:mm:ss');\n querystring += `&start.query:tuple=${startOfStartDay}`;\n querystring += `&start.query:tuple=${endOfEndDay}`;\n querystring += `&start.range=min:max`;\n }\n\n // sort_on\n querystring += '&sort_order=ascending&sort_on=start';\n\n // Query per zielgruppe\n for (let group of filters.groups) {\n querystring += `&zielgruppe_pbh:list=${group}`;\n }\n\n // Query per veranstaltungsart\n for (let eventType of filters.eventTypes) {\n querystring += `&veranstaltungsart:list=${eventType}`;\n }\n\n return {\n type: GET_EVENTS,\n request: {\n op: 'get',\n path: `${url}/@search${querystring ? `?${querystring}` : ''}`,\n },\n };\n}\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\nimport { concat, without } from 'lodash';\nimport ReactPaginate from 'react-paginate';\nimport isMobile from 'ismobilejs';\nimport { DateRangePicker } from 'react-dates';\nimport { zielgruppePbhMapping } from './utils';\nimport {\n DEFAULT_PAGING_SIZE,\n getVereinigungen,\n goToMonth,\n goToNextMonth,\n goToPrevMonth,\n removeMonth,\n searchEvents,\n updateGroupFilter,\n updateSearchableText,\n updateEventType,\n updateVereinigungen,\n updateDateRange,\n} from '../../actions';\n\nclass Calendar extends Component {\n static propTypes = {\n startDate: PropTypes.any.isRequired,\n endDate: PropTypes.any,\n year: PropTypes.number.isRequired,\n month: PropTypes.number,\n filters: PropTypes.shape().isRequired,\n monthToday: PropTypes.number.isRequired,\n yearToday: PropTypes.number.isRequired,\n events: PropTypes.arrayOf(PropTypes.shape()).isRequired,\n groups: PropTypes.arrayOf(PropTypes.string).isRequired,\n eventTypes: PropTypes.arrayOf(PropTypes.string).isRequired,\n goToMonth: PropTypes.func.isRequired,\n removeMonth: PropTypes.func.isRequired,\n goToNextMonth: PropTypes.func.isRequired,\n goToPrevMonth: PropTypes.func.isRequired,\n searchEvents: PropTypes.func.isRequired,\n updateGroupFilter: PropTypes.func.isRequired,\n updateSearchableText: PropTypes.func.isRequired,\n updateEventType: PropTypes.func.isRequired,\n updateVereinigungen: PropTypes.func.isRequired,\n getVereinigungen: PropTypes.func.isRequired,\n itemsTotal: PropTypes.number.isRequired,\n vereinigungen: PropTypes.arrayOf(PropTypes.shape()).isRequired,\n updateDateRange: PropTypes.func.isRequired,\n };\n\n static defaultProps = {\n endDate: null,\n };\n\n state = {\n focusedInput: null,\n selectedPage: 0,\n };\n\n componentDidMount() {\n this.props.searchEvents(this.props.filters);\n this.props.getVereinigungen();\n }\n\n getMonthClass = index => {\n if (\n index === this.props.monthToday &&\n this.props.yearToday <= this.props.year\n )\n return 'current';\n if (\n index < this.props.monthToday &&\n this.props.yearToday >= this.props.year\n )\n return 'past-month';\n if (this.props.yearToday > this.props.year) return 'past-month';\n if (index > this.props.monthToday) return '';\n return '';\n };\n\n getMonthTag = index => {\n if (\n index === this.props.monthToday &&\n this.props.yearToday <= this.props.year\n )\n return 'a';\n if (\n index < this.props.monthToday &&\n this.props.yearToday >= this.props.year\n )\n return 'span';\n if (this.props.yearToday > this.props.year) return 'span';\n if (index > this.props.monthToday) return 'a';\n return 'a';\n };\n\n toggleGroup = group => {\n if (this.props.groups.includes(group)) {\n this.props.updateGroupFilter(without(this.props.groups, group));\n } else {\n this.props.updateGroupFilter(concat(this.props.groups, group));\n }\n this.resetPagination();\n };\n\n toggleeventType = eventType => {\n if (this.props.eventTypes.includes(eventType.toLowerCase())) {\n this.props.updateEventType(\n without(this.props.eventTypes, eventType.toLowerCase()),\n );\n } else {\n this.props.updateEventType(\n concat(this.props.eventTypes, eventType.toLowerCase()),\n );\n }\n this.resetPagination();\n };\n\n resetPagination = () => {\n this.setState({ selectedPage: 0 });\n };\n\n handlePaginationChange = data => {\n window.scrollTo(0, 0);\n this.props.searchEvents(this.props.filters, data.selected);\n this.setState({ selectedPage: data.selected });\n };\n\n render() {\n return (\n

\n
\n
\n
\n {\n if (startDate === null) {\n this.props.updateDateRange(moment(), endDate);\n } else {\n this.props.updateDateRange(startDate, endDate);\n }\n this.resetPagination();\n }} // PropTypes.func.isRequired,\n focusedInput={this.state.focusedInput} // PropTypes.oneOf([START_DATE, END_DATE]) or null,\n onFocusChange={focusedInput => this.setState({ focusedInput })} // PropTypes.func.isRequired,\n isOutsideRange={() => false}\n showDefaultInputIcon\n hideKeyboardShortcutsPanel\n reopenPickerOnClearDates\n showClearDates\n />\n
\n
\n \n \n \n {\n this.props.updateSearchableText(e.target.value);\n this.resetPagination();\n }}\n />\n
\n {/*
\n \n \n \n \n
*/}\n \n
\n
\n\n
\n
\n this.toggleGroup('Bad-Honnef-physics-school')}\n >\n

Bad Honnef Physics School

\n
\n this.toggleGroup('DPG-lehrerfortbildung')}\n >\n

DPG-Lehrerfortbildung

\n
\n this.toggleGroup('WEH-seminar')}\n >\n

WEH-Seminar

\n
\n this.toggleGroup('Bad-Honnefer-industriegesprach')}\n >\n

Bad Honnefer Industriegespräch

\n
\n this.toggleGroup('andere')}\n >\n

Andere

\n
\n
\n
\n\n
\n {this.props.events.map(event => (\n
\n \n {moment(event.start).day() === moment(event.end).day() &&\n moment(event.start).month() === moment(event.end).month() &&\n moment(event.start).year() === moment(event.end).year() && (\n \n \n {moment(event.start).format('D')}\n \n {moment(event.start).format('MMM')}\n {moment(event.start).format('Y')}\n \n \n \n )}\n {(moment(event.start).day() !== moment(event.end).day() ||\n moment(event.start).month() !== moment(event.end).month() ||\n moment(event.start).year() !== moment(event.end).year()) && (\n \n \n {moment(event.start).format('D')}\n \n {moment(event.start).format('MMM')}\n {moment(event.start).format('Y')}\n \n \n \n \n {moment(event.end).format('D')}\n \n {moment(event.end).format('MMM')}\n {moment(event.end).format('Y')}\n \n \n \n )}\n\n
\n
\n {event.zielgruppe_pbh &&\n event.zielgruppe_pbh.map(zielgruppe => (\n \n {zielgruppePbhMapping[event.zielgruppe_pbh]}\n \n ))}\n {/* {event.veranstaltungsart_label && (\n \n {event.veranstaltungsart_label}\n \n )} */}\n {/* \n \n \n {moment(event.start).format('ddd, DD.MM.Y')}\n \n \n \n {moment(event.start).format('HH:mm')}\n \n \n \n \n {moment(event.end).format('ddd, DD.MM.Y')}\n \n \n \n {moment(event.end).format('HH:mm')} */}\n\n {/* \n \n \n {event.stadt} */}\n
\n

{event.title}

\n {/*

{event.description}

*/}\n {event.vortragende_person && (\n \n \n \n \n {event.vortragende_person}\n \n )}\n
\n
\n
\n ))}\n
\n\n {Math.ceil(this.props.itemsTotal / DEFAULT_PAGING_SIZE) > 1 && (\n \n )}\n
\n );\n }\n}\n\nexport default connect(\n (state, props) => ({\n startDate: state.filters.startDate,\n endDate: state.filters.endDate,\n filters: state.filters,\n year: state.filters.year,\n month: state.filters.month,\n day: state.filters.day,\n monthToday: state.filters.monthToday,\n yearToday: state.filters.yearToday,\n events: state.events.items,\n groups: state.filters.groups,\n eventTypes: state.filters.eventTypes,\n itemsTotal: state.events.total,\n batching: state.events.batching,\n vereinigungen: state.vereinigungen.options,\n }),\n {\n goToMonth,\n goToNextMonth,\n goToPrevMonth,\n removeMonth,\n searchEvents,\n updateGroupFilter,\n updateSearchableText,\n updateEventType,\n getVereinigungen,\n updateVereinigungen,\n updateDateRange,\n },\n)(Calendar);\n","/**\n * Filters actions.\n * @module actions/breadcrumbs/breadcrumbs\n */\n\nimport {\n UPDATE_DATE,\n GOTO_MONTH,\n NEXT_MONTH,\n PREV_MONTH,\n REMOVE_MONTH,\n UPDATE_GROUPS,\n UPDATE_SEARCHABLETEXT,\n UPDATE_EVENTTYPES,\n UPDATE_VEREINIGUNGEN,\n} from '../../constants/ActionTypes';\nimport { searchEvents } from './events';\n\n/**\n * Filter range dates.\n * @function updateDateRange\n * @param {string} startDate startDate\n * @param {string} endDate endDate\n * @returns {Object} Action for adding the filter.\n */\nexport function updateDateRange(startDate, endDate) {\n return (dispatch, getState) => {\n dispatch({\n type: UPDATE_DATE,\n startDate,\n endDate,\n });\n dispatch(searchEvents(getState().filters));\n };\n}\n\n/**\n * Next Month.\n * @function goToNextMonth\n * @returns {Object} Next Month action.\n */\nexport function goToNextMonth() {\n return (dispatch, getState) => {\n dispatch({\n type: NEXT_MONTH,\n });\n dispatch(searchEvents(getState().filters));\n };\n}\n\n/**\n * Previous Month.\n * @function goToPrevMonth\n * @returns {Object} Previous Month action.\n */\nexport function goToPrevMonth() {\n return (dispatch, getState) => {\n dispatch({\n type: PREV_MONTH,\n });\n dispatch(searchEvents(getState().filters));\n };\n}\n\n/**\n * Go to Month.\n * @function goToMonth\n * @param {number} month Month\n * @returns {Object} Previous Month action.\n */\nexport function goToMonth(month) {\n return (dispatch, getState) => {\n dispatch({\n type: GOTO_MONTH,\n month,\n });\n dispatch(searchEvents(getState().filters));\n };\n}\n\n/**\n * remove Month selection.\n * @function removeMonth\n * @returns {Object} Previous Month action.\n */\nexport function removeMonth() {\n return (dispatch, getState) => {\n dispatch({\n type: REMOVE_MONTH,\n });\n dispatch(searchEvents(getState().filters));\n };\n}\n\n/**\n * Filter zielgruppe.\n * @function updateGroupFilter\n * @param {array} groups Groups\n * @returns {Object} Action for adding the filter.\n */\nexport function updateGroupFilter(groups) {\n return (dispatch, getState) => {\n dispatch({\n type: UPDATE_GROUPS,\n groups,\n });\n dispatch(searchEvents(getState().filters));\n };\n}\n\n/**\n * Filter SearchableText.\n * @function updateSearchableText\n * @param {array} text Text\n * @returns {Object} Action for adding the filter.\n */\nexport function updateSearchableText(text) {\n return (dispatch, getState) => {\n dispatch({\n type: UPDATE_SEARCHABLETEXT,\n text,\n });\n dispatch(searchEvents(getState().filters));\n };\n}\n\n/**\n * Filter Veranstaltungspartner.\n * @function updateEventType\n * @param {array} eventTypes eventType\n * @returns {Object} Action for adding the filter.\n */\nexport function updateEventType(eventTypes) {\n return (dispatch, getState) => {\n dispatch({\n type: UPDATE_EVENTTYPES,\n eventTypes,\n });\n dispatch(searchEvents(getState().filters));\n };\n}\n\n/**\n * Filter Vereinigungen.\n * @function updateVereinigungen\n * @param {array} vereinigungen eventType\n * @returns {Object} Action for adding the filter.\n */\nexport function updateVereinigungen(vereinigungen) {\n return (dispatch, getState) => {\n dispatch({\n type: UPDATE_VEREINIGUNGEN,\n vereinigungen: vereinigungen ? vereinigungen.value : '',\n });\n dispatch(searchEvents(getState().filters));\n };\n}\n","/**\n * Get vereinigungen actions.\n * @module actions/calendar/vereinigungen\n */\n\nimport { GET_VEREINIGUNGEN } from '../../constants/ActionTypes';\n\n/**\n * Get all Vereinigungen.\n * @function getVereinigungen\n * @returns {Object} Get all Vereinigungen action.\n */\nexport function getVereinigungen() {\n return {\n type: GET_VEREINIGUNGEN,\n request: {\n op: 'get',\n path:\n '/@search?portal_type=Vereinigung&metadata_fields=_all&sort_on=sortable_title',\n },\n };\n}\n","import React, { Component } from 'react';\nimport 'react-dates/initialize';\nimport 'react-dates/lib/css/_datepicker.css';\nimport { Calendar } from './components';\nimport './App.css';\n\nclass App extends Component {\n render() {\n return ;\n }\n}\n\nexport default App;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Provider } from 'react-redux';\nimport moment from 'moment';\nimport 'moment/locale/de';\nimport store from './store';\n\nimport './index.css';\nimport App from './App';\n// import registerServiceWorker from \"./registerServiceWorker\";\n\nmoment.locale('de');\n\nmoment.updateLocale('de', {\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n monthsShort: 'Jan_Feb_Mär_Apr_Mai_Jun_Jul_Aug_Sep_Okt_Nov_Dez'.split('_'),\n});\n\nReactDOM.render(\n \n \n ,\n document.getElementById('kitconcept-calendar'),\n);\n// registerServiceWorker();\n"],"sourceRoot":""}