From 49cf115844124baebf8278aca337c4f86b7d1b68 Mon Sep 17 00:00:00 2001 From: Jimmy Date: Mon, 26 Apr 2021 11:07:20 +0800 Subject: [PATCH] Fullcalendar integration in progress --- app/controllers/schedules_controller.rb | 11 ++++++++--- app/views/schedules/vertical_schedule.haml | 18 +++++++++++++++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/app/controllers/schedules_controller.rb b/app/controllers/schedules_controller.rb index 7b70657f..28e20549 100644 --- a/app/controllers/schedules_controller.rb +++ b/app/controllers/schedules_controller.rb @@ -79,12 +79,17 @@ class SchedulesController < ApplicationController end def vertical_schedule - @event_schedules = @program.selected_event_schedules( + event_schedules = @program.selected_event_schedules( includes: [{ event: %i[event_type speakers submitter] }] ) - @rooms = @conference.venue.rooms if @conference.venue - @dates = @conference.start_date..@conference.end_date + unless event_schedules + redirect_to events_conference_schedule_path(@conference.short_title) + return + end + + @rooms = FullCalendarFormatter.rooms_to_resources(@conference.venue.rooms) if @conference.venue + @event_schedules = FullCalendarFormatter.event_schedules_to_resources(event_schedules) end def app diff --git a/app/views/schedules/vertical_schedule.haml b/app/views/schedules/vertical_schedule.haml index 728d47df..c3ff7534 100644 --- a/app/views/schedules/vertical_schedule.haml +++ b/app/views/schedules/vertical_schedule.haml @@ -3,4 +3,20 @@ %h1.text-center Vertical Schedule for - = @conference.title \ No newline at end of file + = @conference.title + + #calendar + +:javascript + document.addEventListener('DOMContentLoaded', function() { + var calendarEl = document.getElementById('calendar'); + + var calendar = new FullCalendar.Calendar(calendarEl, { + timeZone: 'UTC', + initialView: 'resourceTimeGridDay', + resources: "<%= @rooms >", + events: "<%= @event_schedules >" + }); + + calendar.render(); + });