1/* Checks namespace existence */ 2if (typeof eDirectory == 'undefined') { 3 eDirectory = {}; 4} 5 6if (typeof eDirectory.Event == 'undefined') { 7 eDirectory.Event = {}; 8} 9 10var lazyLoadInstance = new LazyLoad({ 11 elements_selector: '.lazy', 12}); 13 14/** 15 * Used to prepare the parameters to use in the ajax 16 * 17 * @param target_div Element's Identification 18 * @param max_success Total of days shown 19 * @param max_executed Max attempts 20 */ 21eDirectory.Event.upcomingEventsOneBlock = function (target_div, max_success, max_executed) { 22 var today = $(target_div).data('today'); 23 24 if (!today) { 25 return; 26 } 27 28 today = today.split('-'); 29 today = new Date(today[1] + '/' + today[2] + '/' + today[0]); 30 31 eDirectory.Event.upcomingEventsAjaxOneBlock(target_div, today, max_success, max_executed, 0); 32} 33 34/** 35 * Get events from a day 36 * 37 * @param target_div Element's Identification 38 * @param date 39 * @param max_success Total of days shown 40 * @param max_executed Max attempts 41 * @param success Number of days with events 42 */ 43eDirectory.Event.upcomingEventsAjaxOneBlock = function (target_div, date, max_success, max_executed, success) { 44 45 $(target_div).find('.cards-slider').html('<div id="loading" class="text-center"><i class="fa fa-spinner fa-spin fa-3x"></i></div>'); 46 47 $.get(Routing.generate('event_upcoming', { 48 day: date.getDate(), 49 month: date.getMonth() + 1, //Note: January is 0, February is 1, and so on. DO NOT CHANGE THIS LINE 50 year: date.getFullYear(), 51 wholeMonth: 1 52 })) 53 .done(function (data) { 54 if (data.events.length > 0) { 55 $(target_div).find('.cards-slider').html(''); 56 57 var events_items = []; 58 for (var event in data.events) { 59 if (success < max_success) { 60 success++; 61 events_items.push(data.events[event]); 62 } 63 } 64 65 var events = $.templates('#upcoming-event-box').render(events_items); 66 $(target_div).removeClass('hidden'); 67 $(target_div).find('.cards-slider').append(events); 68 69 var $cards = $(target_div).find('.cards-slider').flickity({ 70 imagesLoaded: true, 71 cellAlign: 'left', 72 contain: true, 73 arrowShape: { 74 x0: 25, 75 x1: 55, y1: 30, 76 x2: 65, y2: 20, 77 x3: 45 78 } 79 }); 80 81 $cards.on('staticClick.flickity', function(event, pointer, cellElement, cellIndex){ 82 $cards.flickity('selectCell', cellIndex); 83 }); 84 } 85 }); 86}; 87 88/** 89 * Upcoming Event for event home. 90 * Works like a calendar. Used in Upcoming Extension. 91 * 92 * @param target_div 93 */ 94eDirectory.Event.upcomingEventsCarousel = function (target_div) { 95 var day = $(target_div).data('day'); 96 97 if (!day) { 98 return; 99 } 100 101 day = day.split('-'); 102 day = new Date(day[1] + '/' + day[2] + '/' + day[0]); 103 104 /* div#id */ 105 var id = day.getDate() + '' + (day.getMonth() + 1) + '' + day.getFullYear(); //Note: January is 0, February is 1, and so on. 106 /* div to add events */ 107 var block_container = $('.parent-cards-list'); 108 109 /* class used in view */ 110 block_container.find('.cards-list:visible').hide(); 111 112 block_container.append('<div id="loading" class="text-center"><i class="fa fa-spinner fa-spin fa-3x"></i></div>'); 113 $.get(Routing.generate('event_upcoming', { 114 day: day.getDate(), 115 month: day.getMonth() + 1, //Note: January is 0, February is 1, and so on. DO NOT CHANGE THIS LINE 116 year: day.getFullYear() 117 })) 118 .done(function (data) { 119 block_container.find('#loading').remove(); 120 121 /* check if a event was found */ 122 if (!(data.events.length > 0)) { 123 return; 124 } 125 126 //Limitando para aparecer somente 8 eventos 127 var limitedEvents = data.events.slice(0, 8); 128 data.events = limitedEvents; 129 130 /* #id used here */
131 var events = $.templates('#upcoming-event-carousel').render({data: data,id: id}); 132 /* block_container used here */ 133 $('.parent-cards-list').append(events); 134 135 lazyLoadInstance.update(); 136 }).fail(function () { 137 block_container.find('#loading').remove(); 138 }); 139}; 140 141/** 142 * Upcoming Event for event home. 143 * Works like a calendar. Used in Upcoming Extension. 144 * 145 * @param target_div 146 */ 147eDirectory.Event.upcomingEventsCalendar = function (date) { 148 var day = new Date(date); 149 150 /* div#id */ 151 var id = day.getDate() + '' + (day.getMonth() + 1) + '' + day.getFullYear(); //Note: January is 0, February is 1, and so on. 152 /* div to add events */ 153 var block_container = $('.calendar-events'); 154 155 /* class used in view */ 156 block_container.find('.cards-list-calendar').hide(); 157 158 159 block_container.addClass('is-loading'); 160 block_container.prepend('<i id="loading" class="fa fa-spinner fa-spin fa-3x"></i>'); 161 $.get(Routing.generate('event_upcoming', { 162 day: day.getDate(), 163 month: day.getMonth() + 1, //Note: January is 0, February is 1, and so on. DO NOT CHANGE THIS LINE 164 year: day.getFullYear() 165 })) 166 .done(function (data) { 167 block_container.find('#loading').remove(); 168 block_container.removeClass('is-loading'); 169 170 /* check if a event was found */ 171 if (!(data.events.length > 0)) { 172 return; 173 } 174 175 //Limitando para aparecer somente 8 eventos 176 var limitedEvents = data.events.slice(0, 8); 177 data.events = limitedEvents; 178 179 /* #id used here */ 180 var events = $.templates('#upcoming-event-calendar').render({data: data,id: id}); 181 /* block_container used here */ 182 block_container.prepend(events); 183 184 lazyLoadInstance.update(); 185 }).fail(function () { 186 block_container.find('#loading').remove(); 187 block_container.removeClass('is-loading'); 188 }); 189}; 190 191/** 192 * Populate dates on change Month. 193 * 194 * @param date 195 * @param eventDateObjs 196 */ 197eDirectory.Event.populateDaysCalendar = function (date) { 198 199 var day = new Date(date); 200 201 var now = new Date(Date.now()); 202 203 if (day.getMonth() <= (now.getMonth())) { 204 return; 205 } 206 207 $.get(Routing.generate('event_calendar', { 208 day: 1, 209 month: day.getMonth() + 1, //Note: January is 0, February is 1, and so on. DO NOT CHANGE THIS LINE 210 year: day.getFullYear() 211 })).done(function (data) { 212 data.result.map(function (elem) { 213 var date = new Date(elem.start + ' GMT+00:00'); 214 date.setDate(date.getDate() + 1); 215 216 $('.day[data-date=' + date.getTime() + ']').removeClass('disabled').addClass('has-event'); 217 }); 218 }); 219}; 220
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.