diff --git a/assets/javascripts/discourse/components/events-calendar.js.es6 b/assets/javascripts/discourse/components/events-calendar.js.es6 index 43dab756..abd053f0 100644 --- a/assets/javascripts/discourse/components/events-calendar.js.es6 +++ b/assets/javascripts/discourse/components/events-calendar.js.es6 @@ -38,17 +38,13 @@ export default Component.extend({ this._super(...arguments); (this.events || []).forEach(event => { + const { starts_at, ends_at, post } = event; this._calendar.addEvent({ title: formatEventName(event), - start: event.starts_at, - end: event.ends_at || event.starts_at, - allDay: !isNotFullDayEvent( - moment(event.starts_at), - moment(event.ends_at) - ), - url: Discourse.getURL( - `/t/-/${event.post.topic.id}/${event.post.post_number}` - ) + start: starts_at, + end: ends_at || starts_at, + allDay: !isNotFullDayEvent(moment(starts_at), moment(ends_at)), + url: Discourse.getURL(`/t/-/${post.topic.id}/${post.post_number}`) }); }); this._calendar.render(); diff --git a/assets/javascripts/initializers/discourse-calendar.js.es6 b/assets/javascripts/initializers/discourse-calendar.js.es6 index 782ede88..d0009579 100644 --- a/assets/javascripts/initializers/discourse-calendar.js.es6 +++ b/assets/javascripts/initializers/discourse-calendar.js.es6 @@ -1,6 +1,6 @@ +import { Promise } from "rsvp"; import { isPresent } from "@ember/utils"; import DiscourseURL from "discourse/lib/url"; -import { Promise } from "rsvp"; import { cookAsync } from "discourse/lib/text"; import { escapeExpression } from "discourse/lib/utilities"; import loadScript from "discourse/lib/load-script"; @@ -25,6 +25,14 @@ function stringToHexColor(str) { return hex; } +function loadFullCalendar() { + return new Promise(resolve => + loadScript( + "/plugins/discourse-calendar/javascripts/fullcalendar-with-moment-timezone.min.js" + ).then(resolve) + ); +} + function initializeDiscourseCalendar(api) { let _topicController; const outletName = Discourse.SiteSettings.calendar_categories_outlet; @@ -71,9 +79,7 @@ function initializeDiscourseCalendar(api) { '