|
4 | 4 | ltc.meetups = []; |
5 | 5 | ltc.markers = {}; |
6 | 6 |
|
| 7 | + // get week range for meetups |
| 8 | + let currentWeek = getWeekRange(); |
| 9 | + let today = new Date; |
| 10 | + console.log(currentWeek); |
| 11 | + let firstDow = today.getDate()-currentWeek[1].date + 1; |
| 12 | + let lastDow = currentWeek[14].date-today.getDate(); |
7 | 13 | const api = {}; |
8 | 14 | api.group = 'LearnTeachCode'; |
9 | | - api.perPage = 15; |
| 15 | + // api.perPage = 15; &page=' + api.perPage + |
10 | 16 | api.offset = 0; |
11 | 17 | api.path = 'https://api.meetup.com/2/events?&sign=true&photo-host=public'; |
12 | | - api.url = api.path + '&group_urlname=' + api.group + '&page=' + api.perPage; |
| 18 | + api.startWeekDate = '-' + firstDow + 'd'; |
| 19 | + api.endWeekDate = lastDow + 'd'; |
| 20 | + api.status = 'upcoming,past'; |
| 21 | + api.url = api.path + '&group_urlname=' + api.group + '&status=' + api.status + '&time=' + api.startWeekDate + ',' + api.endWeekDate; |
13 | 22 | api.err = "Error occurred processing Meetup API URL"; |
14 | 23 |
|
15 | 24 | // Get Meetup Data |
|
24 | 33 | } |
25 | 34 |
|
26 | 35 | function processData(data) { |
| 36 | + let utctime = new Date(data.results[0].time); |
| 37 | + console.log(utctime.toUTCString()); |
| 38 | + |
27 | 39 | data.results.forEach( function( meetup, index ) { |
28 | 40 | // Get event formatted dates and time |
29 | 41 | data.results[index].d = getDateFormats( meetup ); |
|
145 | 157 | function listMeetupsinWeekView(data) { |
146 | 158 |
|
147 | 159 | let week = getWeekRange(); |
148 | | - console.log('week', week[1]); |
149 | 160 |
|
150 | 161 | let unfilteredMeetups = data.results; |
151 | | - console.log(unfilteredMeetups); |
152 | 162 | let currentDay = new Date(); |
153 | 163 | let maxDay = new Date(currentDay.getDate()+5); |
154 | 164 | let maxTime = maxDay.getTime(); //compare by utc time |
155 | | - console.log(maxTime); |
156 | 165 |
|
157 | | - let filteredMeetups = unfilteredMeetups.filter(meetup.time >= currentTime); |
| 166 | + let filteredMeetups = unfilteredMeetups.filter((meetup) => meetup.time >= maxTime); |
158 | 167 |
|
159 | 168 | let meetupsByDay = getWeekFormattedMeetups(filteredMeetups); |
160 | 169 |
|
161 | | - console.log('meetups by day', meetupsByDay); |
| 170 | + for(let i=1; i <= 7; i++) { |
| 171 | + let week1div = '<div class="day" id="' + week[i].dow.toLowerCase() + week[i].date + '"></div>'; |
| 172 | + document.querySelector('#firstweek').insertAdjacentHTML('beforeend', week1div); |
| 173 | + } |
162 | 174 |
|
| 175 | + for(let i=8; i <= 14; i++) { |
| 176 | + let week2div = '<div class="day" id="' + week[i].dow.toLowerCase() + week[i].date + '"></div>'; |
| 177 | + document.querySelector('#secondweek').insertAdjacentHTML('beforeend', week2div); |
| 178 | + } |
163 | 179 |
|
164 | 180 | for(let i=1; i < week.length; i++) { |
165 | 181 | let weekday = week[i]; |
166 | | - |
167 | | - let teststring = meetupsByDay[weekday.dow.substring(0,3)]; |
168 | | - let formattedWeek = '<div>' |
| 182 | + let dowDay = weekday.dow.substring(0,3) + weekday.date; |
| 183 | + let teststring = meetupsByDay[dowDay]; |
| 184 | + let formattedWeek = '<div class="weekday">' |
169 | 185 | + weekday.dow.substring(0,3) + ' ' |
170 | 186 | + weekday.month.substring(0,3) + ' ' |
171 | | - + weekday.date |
172 | | - + '</div>' |
| 187 | + + weekday.date |
| 188 | + + '</div>'; |
173 | 189 | if(teststring) { |
174 | 190 | formattedWeek += teststring.join(''); |
175 | 191 | } else { |
176 | | - formattedWeek += 'No meetups! :('; |
177 | | - } |
178 | | - $('#' + weekday.dow.toLowerCase()).append(formattedWeek); |
179 | | - |
| 192 | + formattedWeek += '<div class="week-meetup">No meetups!</div'; |
| 193 | + } |
| 194 | + $('#' + weekday.dow.toLowerCase() + weekday.date).append(formattedWeek); |
180 | 195 | } |
181 | 196 | } |
182 | 197 |
|
|
189 | 204 | const weekdays = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']; |
190 | 205 | const months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; |
191 | 206 |
|
192 | | - for(let i=0; i<7; i++) { |
| 207 | + for(let i=0; i<14; i++) { |
193 | 208 | let next = new Date(d.getTime()); |
194 | 209 | next.setDate(first+i); |
195 | 210 | week.push({ |
|
210 | 225 | meetups.forEach( function( meetup ) { |
211 | 226 | let d = getDateFormats( meetup ); |
212 | 227 | // does d.dow exist within dayArray as array, if not create array |
213 | | - if( !dayArrays[d.dow] ) { |
214 | | - dayArrays[d.dow] = []; |
| 228 | + let dowDay = d.dow + d.day; |
| 229 | + if( !dayArrays[dowDay] ) { |
| 230 | + dayArrays[dowDay] = []; |
215 | 231 | } |
216 | 232 |
|
217 | 233 | let formattedMeetup = '<li id="meetup-' + meetup.id + '" class="week-meetup">' |
218 | | - + '<div class="infobox">' |
219 | | - + ' <div class="date">' + d.dowFull + ' ' + d.day + '</div>' |
| 234 | + + '<div class="timebox">' + d.time + '</div>' |
| 235 | + + '<div class="infobox-week">' |
| 236 | + // + ' <div class="date">' + d.dowFull + ' ' + d.day + '</div>' |
220 | 237 | + ' <div class="title"><a href="' + meetup.event_url + '">' + meetup.name + '</a></div>' |
221 | | - + ' <div>' + meetup.venue.city + ' - ' + meetup.venue.name + '</div>' |
222 | | - + '</div>' |
223 | | - + '<div>' |
224 | | - + ' <div>' + d.time + '</div>' |
| 238 | + + ' <div class="city-week">' + meetup.venue.city + ' - ' + meetup.venue.name + '</div>' |
225 | 239 | + '</div>' |
226 | 240 | +'</li>'; |
227 | 241 |
|
228 | | - dayArrays[d.dow].push(formattedMeetup); |
| 242 | + dayArrays[dowDay].push(formattedMeetup); |
229 | 243 | }); |
230 | | - console.log('formated data', dayArrays); |
231 | 244 | return dayArrays; |
232 | 245 | } |
233 | 246 | /** |
|
0 commit comments