{"id":1217,"date":"2022-09-12T09:22:43","date_gmt":"2022-09-12T08:22:43","guid":{"rendered":"https:\/\/ewb.cuco.dev\/agenda\/"},"modified":"2023-04-18T14:54:23","modified_gmt":"2023-04-18T13:54:23","slug":"agenda","status":"publish","type":"page","link":"https:\/\/ewb.lu\/en\/agenda\/","title":{"rendered":"Agenda"},"content":{"rendered":"<section class=\"wpb-content-wrapper\"><p>[vc_row css=&#8221;.vc_custom_1670597833316{padding-top: 3% !important;}&#8221;][vc_column css_animation=&#8221;fadeInUp&#8221;][vc_row_inner el_class=&#8221;stick-right&#8221;][vc_column_inner width=&#8221;5\/6&#8243;][\/vc_column_inner][vc_column_inner width=&#8221;1\/6&#8243;]\t\t<div class=\"outer-button inline\">\r\n\t\t\t<a class=\"coolBeans \" href=\"https:\/\/ewb.lu\/agenda-list\/\"\r\n\t\t\t   target=\"\">\r\n\t\t\t\tListview<\/a>\r\n\t\t<\/div>\r\n\t\t[\/vc_column_inner][\/vc_row_inner]\r\n    <div class=\"calendar-layout-wrapper mt-30\">\r\n\r\n        <div class=\"calendar-section-wrapper\">\r\n            <div id='calendar' class=\"calendar-block\"><\/div>\r\n        <\/div>\r\n\r\n        <div class=\"calendar-details-block\">\r\n            <h3 class=\"theme-color\" style=\"margin: 0\">Events at <span class=\"date\"><\/span>\r\n            <\/h3>\r\n            <div class=\"calendar-event-details-block mt-30\"><\/div>\r\n        <\/div>\r\n\r\n    <\/div>\r\n    <script type=\"application\/javascript\">\r\n        let eventList;\r\n        \/\/ the last date range of events that was fetched\r\n        \/\/ used to check whether fetching again is necessary\r\n        let eventRangeStart;\r\n        let eventRangeEnd;\r\n        let readMore = 'Details';\r\n\r\n        jQuery(document).ready(function () {\r\n            let calendarEl = document.getElementById('calendar');\r\n\r\n            let calendar = new FullCalendar.Calendar(calendarEl, {\r\n                initialView: 'dayGridMonth',\r\n                headerToolbar: {\r\n                    left: \"prev today next\",\r\n                    center: '',\r\n                    right: 'title'\r\n                },\r\n                buttonText: {\r\n                    today: \"Today\"\r\n                },\r\n                firstDay: 1,\r\n                locale: 'en',\r\n                height: 'auto',\r\n                timeZone: 'local',\r\n                navLinks: false, \/\/ can click day\/week names to navigate views\r\n                dayMaxEvents: false,\r\n                events: function (fetchInfo, successCallback, failureCallback) {\r\n                    const start = moment(fetchInfo.startStr);\r\n                    const end = moment(fetchInfo.endStr).subtract(1, 'day'); \/\/ end is exclusive in fullcalendar\r\n\r\n                    \/\/ check if the dates are outside the previously fetched range\r\n                    if (eventRangeStart && eventRangeEnd\r\n                        && start.isBetween(eventRangeStart, eventRangeEnd, undefined, '[]')\r\n                        && end.isBetween(eventRangeStart, eventRangeEnd, undefined, '[]')) {\r\n                        return;\r\n                    }\r\n\r\n                    \/\/ fetch 6 months before and after\r\n                    start.subtract(6, 'months');\r\n                    end.add(6, 'months');\r\n                    eventRangeStart = start;\r\n                    eventRangeEnd = end;\r\n\r\n                    \/\/ actually fetch new data\r\n                    let promise = cc_performPostRequest({\r\n                        postType: 'event',\r\n                        count: -1,\r\n                        wantCustomFields: ['startdate', 'enddate', 'additional_dates', 'markdatesbetween'],\r\n                        wantPostThumbnail: 'thumbnail',\r\n                        wantTerms: true,\r\n                        wantExcerpt: true,\r\n                        wantTermCustomFields: ['icon'],\r\n                        setTermsOfTaxonomy: 'program',\r\n                    });\r\n\r\n                    promise.success(function (data) {\r\n                        eventList = parseEvents(data.data);\r\n                        jQuery('.fc-day-today').addClass('clicked-day');\r\n                        var date = moment().format('YYYY-MM-DDT12:00:00');\r\n                        getEventsAndDisplay(date);\r\n                        successCallback(eventList);\r\n                    });\r\n                },\r\n                displayEventTime: false,\r\n                eventDidMount: function (view, element) {\r\n                },\r\n                loading: function (isLoading) {\r\n                    console.log(\"isLoading :\", isLoading);\r\n                },\r\n                eventClick: function (info) {\r\n                    info.jsEvent.preventDefault(); \/\/ don't let the browser navigate\r\n                },\r\n                dateClick: function (info) {\r\n                    jQuery('.clicked-day').removeClass('clicked-day');\r\n                    \/\/ change the day's background color just for fun\r\n                    jQuery(info.dayEl).addClass('clicked-day');\r\n\r\n                    jQuery('.calendar-details-block').show();\r\n                    var date = moment(info.dateStr).format('YYYY-MM-DDT12:00:00')\r\n                    getEventsAndDisplay(date);\r\n\r\n                }\r\n            });\r\n            calendar.render();\r\n\r\n            function parseEvents(data) {\r\n\r\n                let resultEvents = [];\r\n\r\n                data.forEach(obj => {\r\n                    let newObj = {};\r\n\r\n                    newObj.terms = obj.terms;\r\n                    newObj.className = 'single-day-event';\r\n                    newObj.start = moment(obj.customFields.startdate).format('YYYY-MM-DD');\r\n                    newObj.end = moment(obj.customFields.enddate).format('YYYY-MM-DD');\r\n                    newObj.title = obj.title;\r\n                    newObj.wpPostThumbnail = obj.wpPostThumbnail;\r\n                    newObj.excerpt = obj.excerpt;\r\n                    newObj.type = obj.type;\r\n                    newObj.url = obj.url;\r\n                    newObj.additionalDates = obj.customFields.additional_dates;\r\n                    newObj.markdatesbetween = obj.customFields.markdatesbetween;\r\n\r\n                    \/\/If additionalDates Clone Event\r\n                    if (newObj.additionalDates) {\r\n\r\n                        newObj.additionalDates.forEach((element) => {\r\n\r\n                            let clonedObject = Object.assign({}, newObj);\r\n\r\n                            clonedObject.start = moment(element.date).format('YYYY-MM-DD');\r\n                            clonedObject.end = moment(element.date).format('YYYY-MM-DD');\r\n\r\n                            resultEvents.push(clonedObject);\r\n                        });\r\n\r\n                    }\r\n\r\n                    \/\/If StartDate and Enddate are different Days Clone Event using Enddate\r\n                    if (!moment(newObj.end).isSame(newObj.start, 'day')) {\r\n\r\n                        if (newObj.markdatesbetween) {\r\n                            newObj.startRecur = moment(obj.customFields.startdate).toISOString();\r\n                            newObj.endRecur = moment(obj.customFields.enddate).add(1, 'days').toISOString();\r\n                            newObj.groupId = obj.id;\r\n                        } else {\r\n                            newObj.end = moment(obj.customFields.startdate).format('YYYY-MM-DD');\r\n\r\n                            let clonedObject = Object.assign({}, newObj);\r\n\r\n                            clonedObject.start = moment(obj.customFields.enddate).format('YYYY-MM-DD');\r\n                            clonedObject.end = moment(obj.customFields.enddate).format('YYYY-MM-DD');\r\n\r\n                            resultEvents.push(clonedObject);\r\n                        }\r\n                    }\r\n\r\n                    resultEvents.push(newObj);\r\n\r\n                });\r\n\r\n                return resultEvents;\r\n            }\r\n\r\n            function getEventsAndDisplay(clickedDate) {\r\n                let respons = [];\r\n\r\n                jQuery('.calendar-details-block h3 .date').html(moment(clickedDate).format('DD.MM.YYYY'));\r\n\r\n                eventList.forEach(element => {\r\n                    if (moment(clickedDate).isBetween(moment(element.start).format('YYYY-MM-DDT00:00:00'), moment(element.end).format('YYYY-MM-DDT23:59:59'))) {\r\n                        respons.push(element);\r\n                    }\r\n                });\r\n                let html = \"\";\r\n                respons.forEach(element => {\r\n                    let categoryIcons = '';\r\n\r\n                    if (element.terms.length > 0 && element.terms[0].customFields.icon != null) {\r\n                        categoryIcons += '<img decoding=\"async\" alt=\"CategoryIcon\" src=\"' + element.terms[0].customFields.icon.url + '\">';\r\n                    }\r\n\r\n                    html += '<div class=\"calendar-event-list-block mb-50\">'\r\n                        + '<div class=\"img\">' + element.wpPostThumbnail + '<\/div>'\r\n                        + '<div><div class=\"head\"><h3 class=\"theme-color\">' + element.title + '<\/h3>'\r\n                        + '<div class=\"category\">' + categoryIcons + '<\/div>'\r\n                        + '<span>' + moment(element.start).format('DD.MM.YYYY') + ' - ' + moment(element.end).format('DD.MM.YYYY') + '<\/span>'\r\n                        + '<\/div>'\r\n                        + '<p class=\"excerpt\">' + element.excerpt + '<\/p>'\r\n                        + '<div><a class=\"theme-color read-more\" href=\"' + element.url + '\" target=\"_self\">' + readMore + '<i class=\"fa-solid fa-arrow-right\"><\/i><\/a><\/div>'\r\n                        + '<\/div><\/div>';\r\n\r\n                });\r\n                jQuery('.calendar-event-details-block').html(html);\r\n            }\r\n\r\n        });\r\n    <\/script>\r\n\r\n\t[\/vc_column][\/vc_row]<\/p>\n<\/section>","protected":false},"excerpt":{"rendered":"<p>[vc_row css=&#8221;.vc_custom_1670597833316{padding-top: 3% !important;}&#8221;][vc_column css_animation=&#8221;fadeInUp&#8221;][vc_row_inner el_class=&#8221;stick-right&#8221;][vc_column_inner width=&#8221;5\/6&#8243;][\/vc_column_inner][vc_column_inner width=&#8221;1\/6&#8243;][\/vc_column_inner][\/vc_row_inner][\/vc_column][\/vc_row]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-1217","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Agenda - EWB<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ewb.lu\/en\/agenda\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Agenda - EWB\" \/>\n<meta property=\"og:description\" content=\"[vc_row css=&#8221;.vc_custom_1670597833316{padding-top: 3% !important;}&#8221;][vc_column css_animation=&#8221;fadeInUp&#8221;][vc_row_inner el_class=&#8221;stick-right&#8221;][vc_column_inner width=&#8221;5\/6&#8243;][\/vc_column_inner][vc_column_inner width=&#8221;1\/6&#8243;][\/vc_column_inner][\/vc_row_inner][\/vc_column][\/vc_row]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ewb.lu\/en\/agenda\/\" \/>\n<meta property=\"og:site_name\" content=\"EWB\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ErwuesseBild\/\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-18T13:54:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ewb.lu\/wp-content\/uploads\/2022\/09\/logo.png\" \/>\n\t<meta property=\"og:image:width\" content=\"269\" \/>\n\t<meta property=\"og:image:height\" content=\"81\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ewb.lu\/en\/agenda\/\",\"url\":\"https:\/\/ewb.lu\/en\/agenda\/\",\"name\":\"Agenda - EWB\",\"isPartOf\":{\"@id\":\"https:\/\/ewb.lu\/en\/#website\"},\"datePublished\":\"2022-09-12T08:22:43+00:00\",\"dateModified\":\"2023-04-18T13:54:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/ewb.lu\/en\/agenda\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ewb.lu\/en\/agenda\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ewb.lu\/en\/agenda\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/ewb.lu\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Agenda\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ewb.lu\/en\/#website\",\"url\":\"https:\/\/ewb.lu\/en\/\",\"name\":\"EwB ErwuesseBildung\",\"description\":\"ErwuesseBildung\",\"publisher\":{\"@id\":\"https:\/\/ewb.lu\/en\/#organization\"},\"alternateName\":\"EWB\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ewb.lu\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/ewb.lu\/en\/#organization\",\"name\":\"ErwuesseBildung Asbl\",\"alternateName\":\"EWB\",\"url\":\"https:\/\/ewb.lu\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ewb.lu\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/ewb.lu\/wp-content\/uploads\/2022\/11\/ewb-logo-header.svg\",\"contentUrl\":\"https:\/\/ewb.lu\/wp-content\/uploads\/2022\/11\/ewb-logo-header.svg\",\"width\":301,\"height\":38,\"caption\":\"ErwuesseBildung Asbl\"},\"image\":{\"@id\":\"https:\/\/ewb.lu\/en\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/ErwuesseBild\/\",\"https:\/\/lu.linkedin.com\/company\/erwuessebildung---formation-dadultes\",\"https:\/\/www.instagram.com\/erwuessebildung_asbl\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Agenda - EWB","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ewb.lu\/en\/agenda\/","og_locale":"en_US","og_type":"article","og_title":"Agenda - EWB","og_description":"[vc_row css=&#8221;.vc_custom_1670597833316{padding-top: 3% !important;}&#8221;][vc_column css_animation=&#8221;fadeInUp&#8221;][vc_row_inner el_class=&#8221;stick-right&#8221;][vc_column_inner width=&#8221;5\/6&#8243;][\/vc_column_inner][vc_column_inner width=&#8221;1\/6&#8243;][\/vc_column_inner][\/vc_row_inner][\/vc_column][\/vc_row]","og_url":"https:\/\/ewb.lu\/en\/agenda\/","og_site_name":"EWB","article_publisher":"https:\/\/www.facebook.com\/ErwuesseBild\/","article_modified_time":"2023-04-18T13:54:23+00:00","og_image":[{"width":269,"height":81,"url":"https:\/\/ewb.lu\/wp-content\/uploads\/2022\/09\/logo.png","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/ewb.lu\/en\/agenda\/","url":"https:\/\/ewb.lu\/en\/agenda\/","name":"Agenda - EWB","isPartOf":{"@id":"https:\/\/ewb.lu\/en\/#website"},"datePublished":"2022-09-12T08:22:43+00:00","dateModified":"2023-04-18T13:54:23+00:00","breadcrumb":{"@id":"https:\/\/ewb.lu\/en\/agenda\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ewb.lu\/en\/agenda\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ewb.lu\/en\/agenda\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/ewb.lu\/en\/"},{"@type":"ListItem","position":2,"name":"Agenda"}]},{"@type":"WebSite","@id":"https:\/\/ewb.lu\/en\/#website","url":"https:\/\/ewb.lu\/en\/","name":"EwB ErwuesseBildung","description":"ErwuesseBildung","publisher":{"@id":"https:\/\/ewb.lu\/en\/#organization"},"alternateName":"EWB","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ewb.lu\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ewb.lu\/en\/#organization","name":"ErwuesseBildung Asbl","alternateName":"EWB","url":"https:\/\/ewb.lu\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ewb.lu\/en\/#\/schema\/logo\/image\/","url":"https:\/\/ewb.lu\/wp-content\/uploads\/2022\/11\/ewb-logo-header.svg","contentUrl":"https:\/\/ewb.lu\/wp-content\/uploads\/2022\/11\/ewb-logo-header.svg","width":301,"height":38,"caption":"ErwuesseBildung Asbl"},"image":{"@id":"https:\/\/ewb.lu\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ErwuesseBild\/","https:\/\/lu.linkedin.com\/company\/erwuessebildung---formation-dadultes","https:\/\/www.instagram.com\/erwuessebildung_asbl\/"]}]}},"_links":{"self":[{"href":"https:\/\/ewb.lu\/en\/wp-json\/wp\/v2\/pages\/1217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ewb.lu\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ewb.lu\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ewb.lu\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ewb.lu\/en\/wp-json\/wp\/v2\/comments?post=1217"}],"version-history":[{"count":8,"href":"https:\/\/ewb.lu\/en\/wp-json\/wp\/v2\/pages\/1217\/revisions"}],"predecessor-version":[{"id":3437,"href":"https:\/\/ewb.lu\/en\/wp-json\/wp\/v2\/pages\/1217\/revisions\/3437"}],"wp:attachment":[{"href":"https:\/\/ewb.lu\/en\/wp-json\/wp\/v2\/media?parent=1217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}