import './events.scss'; import $ from 'jquery'; import {createElement} from "../../_global/scripts/helpers"; import {createButton} from "../../atoms/button/ButtonComponent"; import {EventsData} from "./EventsData"; import IHKEventsList from "./events"; import {createEventTeaser} from "../../atoms/event-teaser/EventTeaserComponent"; import {EventTeaserTitles} from "../../atoms/event-teaser/EventTeaserData"; export const createEventsSection = ({ headline = 'Aktuelle Veranstaltungen', updateText = 'Updates zu dieser Liste per Mail abonnieren', allButtonLabel = 'Alle anzeigen', showItems = 5, scrollItems = 5, events = EventsData, }) => { const section = createElement('section', ['events']); const container = createElement('div', ['container'], null, section); if (headline && headline.length > 0) { createElement('h2', [], headline, container); } const wrapper = createElement('div', ['events-wrapper'], null, container); const list = createElement('ul', ['events-list'], null, wrapper); list.dataset.pagination = 'true'; list.dataset.items = showItems.toString(); list.dataset.scroll = scrollItems.toString(); events.map((event) => { event.title = EventTeaserTitles[Math.floor(Math.random() * EventTeaserTitles.length)]; const li = createElement('li', [], null, list); li.appendChild(createEventTeaser({ event: event, })) }) const actions = createElement('div', ['events-actions'], null, container); const updateLink = createElement('a', ['mailupdate'], updateText, actions); const prevBtn = actions.appendChild(createButton({elementType: 'button', color: 'white', label: null, icon: 'pfeil-rechts', iconPosition: 'icon-inline'})); const nextBtn = actions.appendChild(createButton({elementType: 'button', color: 'white', label: null, icon: 'pfeil-rechts', iconPosition: 'icon-inline'})); actions.appendChild(createButton({elementType: 'a', color: 'white', label: allButtonLabel, icon: 'kalender', iconPosition: 'icon-right'})); updateLink.href = '#'; prevBtn.classList.add('prev'); nextBtn.classList.add('next'); new IHKEventsList($(list)); return section; }