'; var contentAuthor; if(arg.event.extendedProps.euroindAuthor && arg.event.extendedProps.euroindAuthor!="estat") { contentAuthor = '
'+arg.event.extendedProps.euroindAuthor.toUpperCase()+'
'; } if(contentAuthor && calendar.view.type=='dayGridWeek'){ content += contentAuthor; } // Use the same eventTitleId as above var eventTitleId = 'event-title-' + arg.event.extendedProps.recordid; content += '

'+arg.event.title; if(arg.event.extendedProps.period) { content += ', '+arg.event.extendedProps.period; } content += '

'; var options = { day: '2-digit', month: 'long', year: 'numeric' }; var locale = document.body.getAttribute('lang') || 'en-GB'; content += ''+arg.event.start.toLocaleDateString(locale, options)+''; if(contentAuthor && calendar.view.type=='listMonth'){ content += contentAuthor; } var canViewRefDBA=false; var instanceId = "estatsearchportlet_WAR_estatsearchportlet_INSTANCE_bHVzuvn1SZ8J"; const themes = new Map(); themes.set('General and regional statistics', 'PER_GENSTA'); themes.set('Economy and finance', 'PER_ECOFIN'); themes.set('Population and social conditions', 'PER_POPSOC'); themes.set('Industry, trade and services', 'PER_INDCOM'); themes.set('Agriculture, forestry and fisheries', 'PER_AGRFIS'); themes.set('International trade', 'PER_EXTTRA'); themes.set('Transport', 'PER_TRANSP'); themes.set('Environment and energy', 'PER_ENVENE'); themes.set('Science, technology, digital society', 'PER_RESDEV'); content = content.concat( '
', arg.event.extendedProps.types .sort(function (a, b) { return a.order - b.order; }) .map(function (a) { var date = FullCalendarLuxon.toLuxonDateTime(arg.event.start, calendar); switch (a.label) { case 'Euro indicators release': if (arg.event.extendedProps.euroindAuthor == 'estat') { var startDate = date.startOf('day').toFormat("yyyy-LL-dd'T'HH:mm:ss"); var endDate = date.endOf('day').toFormat("yyyy-LL-dd'T'HH:mm:ss"); var theme = themes.get(arg.event.extendedProps.theme); var collection = 'CAT_PREREL'; } break; case 'News article': var startDate = date.startOf('day').toFormat("yyyy-LL-dd'T'HH:mm:ss"); var endDate = date.endOf('day').toFormat("yyyy-LL-dd'T'HH:mm:ss"); var theme = themes.get(arg.event.extendedProps.theme); var collection = 'CAT_EURNEW'; break; case 'Data release': if((canViewRefDBA || true) && arg.event.extendedProps.datasetCodes && arg.event.extendedProps.datasetCodes != 'undefined'){ var datasetCodes = arg.event.extendedProps.datasetCodes; var collection = 'dataset'; } break; case 'Publication': var startDate = date.startOf('day').toFormat("yyyy-LL-dd'T'HH:mm:ss"); var endDate = date.endOf('day').toFormat("yyyy-LL-dd'T'HH:mm:ss"); var theme = themes.get(arg.event.extendedProps.theme); var collection = 'CAT_METWP,CAT_FLAGPUB,CAT_STATRP,CAT_MAN,CAT_STATBK,CAT_CATALO,CAT_KEYFIG'; break; case 'Interactive publication': var startDate = date.startOf('day').toFormat("yyyy-LL-dd'T'HH:mm:ss"); var endDate = date.endOf('day').toFormat("yyyy-LL-dd'T'HH:mm:ss"); var theme = themes.get(arg.event.extendedProps.theme); var collection = 'CAT_DIGPUB'; break; case 'Statistics Explained': var startDate = date.startOf('day').toFormat("yyyy-LL-dd'T'HH:mm:ss"); var endDate = date.endOf('day').toFormat("yyyy-LL-dd'T'HH:mm:ss"); var theme = themes.get(arg.event.extendedProps.theme); var collection = 'CAT_STATEXP'; break; case 'Thematic section': var theme = themes.get(arg.event.extendedProps.theme); var collection = 'CAT_DEDSEC'; break; case 'Podcast': return '' + a.label + ''; break; case 'Event': return '' + a.label + ''; break; case 'Infographic': var startDate = date.startOf('day').toFormat("yyyy-LL-dd'T'HH:mm:ss"); var endDate = date.endOf('day').toFormat("yyyy-LL-dd'T'HH:mm:ss"); var theme = themes.get(arg.event.extendedProps.theme); var collection = 'CAT_CATALO'; break; } let currentDate = luxon.DateTime.now(); if (collection && (date.startOf('day') < currentDate.startOf('day') || date.hasSame(currentDate, 'day') && currentDate.hour >= 11)) { var url = "/eurostat/web/main/search/-/search/" + instanceId; var urlParams = new URLSearchParams(); urlParams.append('_' + instanceId + '_collection', collection); if (startDate) { urlParams.append('_' + instanceId + '_publicationDate', ">" + startDate); if (endDate) { urlParams.set('_' + instanceId + '_publicationDate', ">" + startDate + ",<" + endDate); } } if (theme) { urlParams.append('_' + instanceId + '_theme', theme); } if (datasetCodes) { urlParams.append('_' + instanceId + '_datasetCodes', datasetCodes); } return '' + a.label + ''; } else { return '
' + a.label + '
'; } }) .join(''), '
'); content += '
'; content += '
'; div.innerHTML = content; let arrayOfDomNodes = [div] return { domNodes: arrayOfDomNodes } }, events: { url: '/eurostat/o/calendars/eventsJson', extraParams: function () { return { theme: theme, category: type, keywords: keywords, isEuroindicator: isEuroindicator, authorInclude: authorInclude, authorExclude: authorExclude, }; }, success: function (content, xhr) { hideEmptyDays (content); } }, loading: function (isLoading) { loading = isLoading }, noEventsContent: function(arg) { let el = document.createElement('div') if(loading){ el.innerHTML = "
"+ "
"+ ""+ ""+ ""+ "
Loading...
"+ "
"+ "
"; } else { el.innerHTML = "No events to display"; } let arrayOfDomNodes = [ el ] return { domNodes: arrayOfDomNodes } } }); calendar.render(); var initialTheme = url.searchParams.get('theme'); if (initialTheme != null) { changeTheme(parseInt(initialTheme)); } var initialType = url.searchParams.get('eventtype'); if (initialType != null) { changeType(parseInt(initialType)); } document.getElementsByClassName("fc-today-button")[0].addEventListener('click', function() { if(calendar.view.type==="listMonth" || calendar.view.type==="dayGridMonth"){ var today = document.getElementsByClassName("fc-day-today")[0]; if(today){ today.scrollIntoView(); } } }, false); if (window.innerWidth < 611 ) { calendar.changeView('listMonth'); calendar.setOption('headerToolbar', { left: 'prev,next today', center: 'title', right: '' }); hideEmptyDays (); } }); function hideEmptyDays (events) { if(!events){ events = calendar.getEvents(); } var filteredSaturdayEventSources = events.filter(event => new Date(event.start).getUTCDay()===6); // get all saturday events from event source var filteredSundayEventSources = events.filter(event => new Date(event.start).getUTCDay()===0); // get all sunday events from event source var filteredCurrentEventSources = events.filter(function(event){ // get all current day events from event source var d = new Date(); var start = new Date(event.start); start.setUTCHours(0,0,0,0); var end = new Date(event.start); end.setUTCHours(23,59,59,59); return d.getTime() > start.getTime() && d.getTime() < end.getTime(); }); var view = calendar.view; var currentView = new Date() >= view.currentStart && new Date() <= view.currentEnd; if(currentView && view.type === 'dayGridWeek') document.getElementsByClassName("fc-today-button")[0].disabled = true; else if (currentView && view.type === 'listMonth' && filteredCurrentEventSources.length===0){ document.getElementsByClassName("fc-today-button")[0].disabled = true; } else { document.getElementsByClassName("fc-today-button")[0].disabled = false; } var filteredCurrentSaturdayEventSources = filteredSaturdayEventSources .filter(event => new Date(event.start) >= view.currentStart && new Date(event.start) <= view.currentEnd); var filteredCurrentSundayEventSources = filteredSundayEventSources .filter(event => new Date(event.start) >= view.currentStart && new Date(event.start) <= view.currentEnd); if(filteredCurrentSaturdayEventSources.length === 0 && filteredCurrentSundayEventSources.length === 0){ calendar.setOption('hiddenDays', [ 0, 6 ]); } else if(filteredCurrentSaturdayEventSources.length > 0 && filteredCurrentSundayEventSources.length > 0){ calendar.setOption('hiddenDays', [ ]); } else if(filteredCurrentSaturdayEventSources.length === 0){ calendar.setOption('hiddenDays', [ 6 ]); } else if(filteredCurrentSundayEventSources.length === 0){ calendar.setOption('hiddenDays', [ 0 ]); } url.searchParams.set('start', view.currentStart.getTime()); url.searchParams.set('type', view.type); window.history.replaceState(null, null, url); }
Want to subscribe?
This calendar uses Europe/Luxembourg time zone (CET/CEST).