From 21b908ad38b4a315d7b218cb8f944886c2c8082b Mon Sep 17 00:00:00 2001 From: James Mason Date: Tue, 25 Sep 2018 17:13:40 -0700 Subject: [PATCH] Cache admin schedule event partial --- app/views/admin/schedules/_event.html.haml | 39 +++++++++++----------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/app/views/admin/schedules/_event.html.haml b/app/views/admin/schedules/_event.html.haml index ff6fd0c3..27bcb943 100644 --- a/app/views/admin/schedules/_event.html.haml +++ b/app/views/admin/schedules/_event.html.haml @@ -1,19 +1,20 @@ -- cells_length = event.event_type.length / @program.schedule_interval -/ this height fits the room cells -- compact_grid = @program.schedule_interval < 15 -- single_cell_height = compact_grid ? 32 : 58 -- height = (cells_length * single_cell_height) -- height -= 23 unless compact_grid -/ subtracting the padding before calculate the number of lines -- lines = (height - 7) / 23 -- color = event.track.try(:color).present? ? event.track.try(:color) : 'FFFFFF' -- non_schedulable = event_schedule_id && (EventSchedule.find(event_schedule_id).schedule != @schedule) -.schedule-event{ style: "height: #{height}px; background-color: #{color}; color: #{contrast_color(color)}", | - id: "event-#{event.id}", | - event_id: event.id, | - length: cells_length, | - event_schedule_id: event_schedule_id, | - class: "#{'compact' if compact_grid} #{'non_schedulable' if non_schedulable}" } - .schedule-event-text{ style: "-webkit-line-clamp: #{lines}; height: #{lines * 23}px;"} - %span.schedule-event-delete-button{ onclick: "Schedule.remove(\'event-#{event.id}\');" } X - = event.title +- cache [:admin, @conference, @program, :schedule, event] do + - cells_length = event.event_type.length / @program.schedule_interval + / this height fits the room cells + - compact_grid = @program.schedule_interval < 15 + - single_cell_height = compact_grid ? 32 : 58 + - height = (cells_length * single_cell_height) + - height -= 23 unless compact_grid + / subtracting the padding before calculate the number of lines + - lines = (height - 7) / 23 + - color = event.track.try(:color).present? ? event.track.try(:color) : 'FFFFFF' + - non_schedulable = event_schedule_id && (EventSchedule.find(event_schedule_id).schedule != @schedule) + .schedule-event{ style: "height: #{height}px; background-color: #{color}; color: #{contrast_color(color)}", | + id: "event-#{event.id}", | + event_id: event.id, | + length: cells_length, | + event_schedule_id: event_schedule_id, | + class: "#{'compact' if compact_grid} #{'non_schedulable' if non_schedulable}" } + .schedule-event-text{ style: "-webkit-line-clamp: #{lines}; height: #{lines * 23}px;"} + %span.schedule-event-delete-button{ onclick: "Schedule.remove(\'event-#{event.id}\');" } X + = event.title