{"version":3,"sources":["../assets/scripts/template.js"],"names":["$","sortTheEvents","$response","sort","a","b","Date","start_date","createFilterButtons","selector","target","filterArray","buttonContainer","each","theText","this","innerText","inArray","push","i","value","buttonNode","html","appendTo","getCookie","name","cookie","document","prefix","begin","indexOf","end","length","unescape","substring","$loading","hide","ajaxStart","show","ajaxStop","results","feeds","f","feed","ajax","type","url","dataType","error","console","log","success","when","apply","done","blogPosts","arguments","values","merged","merge","events","len","theTemplateScript","theTemplate","Handlebars","compile","theCompiledHtml","addClass","on","removeClass","delegate","theFilter","find","closest","toggleClass","expirationDate","setMonth","getMonth","toGMTString","jQuery"],"mappings":"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","file":"template.js","sourcesContent":["(function($) {\r\n\r\n\r\n\r\n\r\n\r\n// Loading Animation\r\nfunction loadingAnimation() {\r\n var $loading = $('.lds-css').hide();\r\n $(document)\r\n .ajaxStart(function () {\r\n $loading.show();\r\n })\r\n .ajaxStop(function () {\r\n $loading.hide();\r\n });\r\n}\r\nloadingAnimation();\r\n// Sorting the events for starting date\r\nfunction sortTheEvents($response) {\r\n $response.sort(function compare(a, b) {\r\n var dateA = new Date(a.start_date);\r\n var dateB = new Date(b.start_date);\r\n return dateA - dateB;\r\n });\r\n}\r\n\r\n \r\n// calls the provided url and returns a reference to the Ajax call\r\nfunction fetchBlogPosts(feed) {\r\n return $.ajax({\r\n type: 'GET',\r\n url: (feed),\r\n dataType: 'json',\r\n error: function () {\r\n console.log('Unable to load feed, Incorrect path or invalid feed');\r\n },\r\n success: function () {}\r\n });\r\n }\r\n \r\n var results = [];\r\n var feeds = [\r\n 'https://de.safestart.com/wp-json/tribe/events/v1/events/?per_page=50',\r\n 'https://fr.safestart.com/wp-json/tribe/events/v1/events/?per_page=50',\r\n 'https://es.safestart.com/wp-json/tribe/events/v1/events/?per_page=50',\r\n 'https://it.safestart.com/wp-json/tribe/events/v1/events/?per_page=50',\r\n 'https://uk.safestart.com/wp-json/tribe/events/v1/events/?per_page=50'\r\n ];\r\n \r\n // store the reference to the Ajax feed for later usage\r\n for (f in feeds) {\r\n results.push(fetchBlogPosts(feeds[f])); \r\n }\r\n\r\n \r\n // invoke each function stored in the result array and proceed when they are all done\r\n $.when.apply(this, results).done(function () {\r\n \r\n var blogPosts = [];\r\n \r\n // fetch the result from each arg\r\n // each arg contains the result of one succes ajax function.\r\n // in this case, three arguments exist, one for each ajax call.\r\n for (var i = 0; i < arguments.length; i++) {\r\n \r\n // retrieve the entries from the argument parameter\r\n values = arguments[i][0];\r\n\r\n \r\n // push the retrieved value to a global function variable, which we can.\r\n // this function is processed synchronously, when all ajax calls have been completed\r\n blogPosts.push(values);\r\n\r\n };\r\n\r\n var merged = [];\r\n // merge the arrays\r\n for (var i = 0; i < blogPosts.length; i++) {\r\n $.merge(merged, blogPosts[i].events);\r\n };\r\n\r\n var obj = {};\r\n len = merged.length;\r\n // for ( var i=0; i < len; i++ ) {\r\n // obj[merged[i]['title']] = merged[i];\r\n // }\r\n //\r\n var thingsNew = [];\r\n // for ( var key in obj )\r\n // thingsNew.push(obj[key]);\r\n\r\n sortTheEvents(merged);\r\n console.log(merged);\r\n var theTemplateScript = $(\"#address-template\").html();\r\n\r\n // Compile the template\r\n var theTemplate = Handlebars.compile(theTemplateScript);\r\n\r\n // Pass our data to the template\r\n var theCompiledHtml = theTemplate(merged);\r\n\r\n // Add the compiled html to the page\r\n $('.content-placeholder').html(theCompiledHtml);\r\n\r\n \r\n });\r\n\r\n\r\n\r\n \r\n\r\n // Create Filterbuttons\r\n function createFilterButtons(selector, target) {\r\n var filterArray = [],\r\n buttonContainer = $('.' + target);\r\n \r\n \r\n $.each($(selector), function() {\r\n var theText = $(this)[0].innerText;\r\n //filterArray.push(theText);\r\n if($.inArray(theText, filterArray) === -1) filterArray.push(theText);\r\n })\r\n //return filterArray;\r\n //console.log(filterArray);\r\n $.each( filterArray, function(i, value){\r\n var buttonNode = $( '