-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathsrc_app_custom-elements_events_events_module_ts.f438389210897d20.js.map
1 lines (1 loc) · 9.33 KB
/
src_app_custom-elements_events_events_module_ts.f438389210897d20.js.map
1
{"version":3,"file":"src_app_custom-elements_events_events_module_ts.f438389210897d20.js","mappings":"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","names":["eventsPath","CONTENT_URL_PREFIX","EventsService","constructor","http","logger","this","events","getEvents","get","pipe","catchError","error","Error","message","of","publishLast","connect","i0","factory","DAY","MONTHS","EventsComponent","eventsService","ngOnInit","subscribe","pastEvents","filter","event","Date","date","end","getTime","now","sort","l","r","isBefore","upcomingEvents","getEventDates","dateString","workshopsDate","mainEventDateString","processDate","workshopsDateString","areWorkshopsBeforeEvent","getUTCFullYear","selectors","dates","startDate","start","endDate","processedDate","getUTCMonth","getUTCDate","duration1","duration2","EventsModule","imports","CommonModule"],"sourceRoot":"webpack:///","sources":["./src/app/custom-elements/events/events.service.ts","./src/app/custom-elements/events/events.component.html","./src/app/custom-elements/events/events.component.ts","./src/app/custom-elements/events/events.module.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { ConnectableObservable, Observable, of } from 'rxjs';\nimport { catchError, publishLast } from 'rxjs/operators';\n\nimport { Event } from './events.component';\nimport { CONTENT_URL_PREFIX } from 'app/documents/document.service';\nimport { Logger } from 'app/shared/logger.service';\n\nconst eventsPath = CONTENT_URL_PREFIX + 'events.json';\n\n@Injectable()\nexport class EventsService {\n events: Observable<Event[]>;\n\n constructor(private http: HttpClient, private logger: Logger) {\n this.events = this.getEvents();\n }\n\n private getEvents() {\n const events = this.http.get<any>(eventsPath).pipe(\n catchError(error => {\n this.logger.error(new Error(`${eventsPath} request failed: ${error.message}`));\n return of([]);\n }),\n publishLast()\n );\n (events as ConnectableObservable<Event[]>).connect();\n return events;\n }\n}\n","<h2>Where we'll be presenting:</h2>\n<div *ngIf=\"!upcomingEvents?.length\">\n <p>We don't have any upcoming speaking engagements at the moment.</p>\n <p>Until something comes up, make sure you check our <a href=\"https://www.youtube.com/angular\">YouTube channel</a>\n and follow us on <a href=\"https://twitter.com/angular\">social media</a>.</p>\n <p>If you want us to be part of your event reach out on <a href=\"mailto:devrel@angular.io\">devrel@angular.io</a>!</p>\n</div>\n\n<table class=\"is-full-width\" *ngIf=\"upcomingEvents?.length\">\n <thead>\n <tr>\n <th>Event</th>\n <th>Location</th>\n <th>Date</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let event of upcomingEvents\">\n <th><a href=\"{{event.linkUrl}}\" title=\"{{event.tooltip}}\">{{event.name}}</a></th>\n <td>{{event.location}}</td>\n <td>\n <div>\n {{getEventDates(event)}}\n </div>\n </td>\n </tr>\n </tbody>\n</table>\n\n<br />\n\n<h2>Where we already presented:</h2>\n<table class=\"is-full-width\">\n <thead>\n <tr>\n <th>Event</th>\n <th>Location</th>\n <th>Date</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let event of pastEvents\">\n <th><a href=\"{{event.linkUrl}}\" title=\"{{event.tooltip}}\">{{event.name}}</a></th>\n <td>{{event.location}}</td>\n <td>\n <div>\n {{getEventDates(event)}}\n </div>\n </td>\n </tr>\n </tbody>\n</table>\n","import { Component, OnInit } from '@angular/core';\n\nimport { EventsService } from './events.service';\n\nconst DAY = 24 * 60 * 60 * 1000;\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n];\n\nexport type date = string; // of the format `YYYY-MM-DD`.\nexport interface Duration {\n start: date;\n end: date;\n}\n\nexport interface Event {\n name: string;\n location: string;\n linkUrl: string;\n tooltip?: string;\n date: Duration;\n workshopsDate?: Duration;\n}\n\n@Component({\n selector: 'aio-events',\n templateUrl: 'events.component.html'\n})\nexport class EventsComponent implements OnInit {\n\n pastEvents: Event[];\n upcomingEvents: Event[];\n\n constructor(private eventsService: EventsService) { }\n\n ngOnInit() {\n this.eventsService.events.subscribe(events => {\n this.pastEvents = events\n .filter(event => new Date(event.date.end).getTime() < Date.now() - DAY)\n .sort((l: Event, r: Event) => isBefore(l.date, r.date) ? 1 : -1);\n\n this.upcomingEvents = events\n .filter(event => new Date(event.date.end).getTime() >= Date.now() - DAY)\n .sort((l: Event, r: Event) => isBefore(l.date, r.date) ? -1 : 1);\n });\n }\n\n getEventDates(event: Event) {\n let dateString;\n\n // Check if there is a workshop\n if (event.workshopsDate) {\n const mainEventDateString = `${processDate(event.date)} (conference)`;\n const workshopsDateString = `${processDate(event.workshopsDate)} (workshops)`;\n const areWorkshopsBeforeEvent = isBefore(event.workshopsDate, event.date);\n\n dateString = areWorkshopsBeforeEvent ?\n `${workshopsDateString}, ${mainEventDateString}` :\n `${mainEventDateString}, ${workshopsDateString}`;\n } else {\n // If no work shop date create conference date string\n dateString = processDate(event.date);\n }\n dateString = `${dateString}, ${new Date(event.date.end).getUTCFullYear()}`;\n return dateString;\n }\n}\n\nfunction processDate(dates: Duration) {\n // Covert Date sting to date object for comparisons\n const startDate = new Date(dates.start);\n const endDate = new Date(dates.end);\n\n // Create a date string in the start like January 31\n let processedDate = `${MONTHS[startDate.getUTCMonth()]} ${startDate.getUTCDate()}`;\n\n // If they are in different months add the string '- February 2' Making the final string January 31 - February 2\n if (startDate.getUTCMonth() !== endDate.getUTCMonth()) {\n processedDate = `${processedDate} - ${MONTHS[endDate.getUTCMonth()]} ${endDate.getUTCDate()}`;\n } else if (startDate.getUTCDate() !== endDate.getUTCDate()) {\n // If not add - date eg it will make // January 30-31\n processedDate = `${processedDate}-${endDate.getUTCDate()}`;\n }\n\n return processedDate;\n}\n\nfunction isBefore(duration1: Duration, duration2: Duration): boolean {\n return (duration1.start < duration2.start) ||\n (duration1.start === duration2.start && duration1.end < duration2.end);\n}\n","import { NgModule, Type } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EventsComponent } from './events.component';\nimport { EventsService } from './events.service';\nimport { WithCustomElementComponent } from '../element-registry';\n\n@NgModule({\n imports: [ CommonModule ],\n declarations: [ EventsComponent ],\n providers: [ EventsService]\n})\nexport class EventsModule implements WithCustomElementComponent {\n customElementComponent: Type<any> = EventsComponent;\n}\n"]}