Fixed public schedule
This commit is contained in:
parent
f6e71c0c8a
commit
f9bcee7af2
@ -2053,6 +2053,16 @@ table.schedule {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0 0 1em;
|
margin: 0 0 1em;
|
||||||
|
|
||||||
|
thead a {
|
||||||
|
@include link($black);
|
||||||
|
}
|
||||||
|
|
||||||
|
@for $i from 1 through 10 {
|
||||||
|
thead tr.locations-#{$i} .location-header {
|
||||||
|
width: percentage(100 / $i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
tbody {
|
tbody {
|
||||||
border: 0.1rem solid $light-gray;
|
border: 0.1rem solid $light-gray;
|
||||||
|
|
||||||
@ -2093,6 +2103,7 @@ table.schedule {
|
|||||||
}
|
}
|
||||||
|
|
||||||
td {
|
td {
|
||||||
|
position: relative;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border: 0;
|
border: 0;
|
||||||
background-color: $extra-light-gray;
|
background-color: $extra-light-gray;
|
||||||
@ -2135,21 +2146,32 @@ table.schedule {
|
|||||||
.event-detail-link {
|
.event-detail-link {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
position: relative;
|
position: static;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
color: inherit;
|
color: inherit;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
@include not-link-like;
|
@include not-link-like;
|
||||||
|
|
||||||
|
@include before {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
body.home table.schedule td .event-detail-link:hover {
|
body.home table.schedule td .event-detail-link:hover {
|
||||||
outline: 0.33rem solid #02CA9E;
|
@include before {
|
||||||
outline-offset: 0.25rem;
|
outline: 0.33rem solid $green;
|
||||||
z-index: 1;
|
outline-offset: -0.3rem;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.event-dlg {
|
.event-dlg {
|
||||||
|
@ -472,34 +472,26 @@ class ApplicationController < BaseController
|
|||||||
|
|
||||||
schedule.deep_dup.each do |day, data|
|
schedule.deep_dup.each do |day, data|
|
||||||
data[:times].each do |time, time_data|
|
data[:times].each do |time, time_data|
|
||||||
if time_data[:next_event].present? || time_data[:length] > @this_conference.schedule_interval
|
if time_data[:next_event].present? || time_data[:length] > conference.schedule_interval
|
||||||
span = @this_conference.schedule_interval
|
span = conference.schedule_interval
|
||||||
length = time_data[:next_event].present? ? time_data[:next_event] - time : time_data[:length]
|
length = time_data[:next_event].present? ? time_data[:next_event] - time : time_data[:length]
|
||||||
while span < length
|
while span < length
|
||||||
schedule[day][:times][time + span] ||= {
|
schedule[day][:times][time + span] ||= {
|
||||||
type: (span >= time_data[:length] ? :empty : :nil),
|
type: (span >= time_data[:length] ? :empty : :nil),
|
||||||
length: @this_conference.schedule_interval
|
length: conference.schedule_interval
|
||||||
}
|
}
|
||||||
span += @this_conference.schedule_interval
|
span += conference.schedule_interval
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# schedule = schedule.sort.to_h
|
|
||||||
|
|
||||||
schedule.each do |day, data|
|
schedule.each do |day, data|
|
||||||
# @schedule[day] = [{}]
|
|
||||||
# division = 0
|
|
||||||
# schedule[day][:num_locations] = schedule[day][:num_locations]
|
|
||||||
# schedule[day][:times] = data[:times].sort.to_h
|
|
||||||
schedule[day][:times] = data[:times].sort.to_h
|
schedule[day][:times] = data[:times].sort.to_h
|
||||||
schedule[day][:locations] ||= {}
|
schedule[day][:locations] ||= {}
|
||||||
# # sort the locations by name
|
|
||||||
schedule[day][:locations] = schedule[day][:locations].sort_by { |event_id, event| event.present? ? event.title.downcase : '' }.to_h
|
|
||||||
|
|
||||||
# # add an empty block if no workshops are scheduled on this day yet
|
# sort the locations by name
|
||||||
# schedule[day][:locations][0] = :add if do_analyze || schedule[day][:locations].empty?
|
schedule[day][:locations] = schedule[day][:locations].sort_by { |event_id, event| event.present? ? event.title.downcase : '' }.to_h
|
||||||
|
|
||||||
if do_analyze
|
if do_analyze
|
||||||
data[:times].each do |time, time_data|
|
data[:times].each do |time, time_data|
|
||||||
@ -571,24 +563,13 @@ class ApplicationController < BaseController
|
|||||||
schedule.sort.to_h.each do |day, data|
|
schedule.sort.to_h.each do |day, data|
|
||||||
@schedule[day] = []
|
@schedule[day] = []
|
||||||
division = 0
|
division = 0
|
||||||
# @schedule[day][division] = data
|
|
||||||
locations = nil
|
locations = nil
|
||||||
@schedule[day][division] = {}
|
@schedule[day][division] = {}
|
||||||
@schedule[day][division][:times] = {}
|
@schedule[day][division][:times] = {}
|
||||||
# @schedule[day][division][:times] = data[:times]
|
|
||||||
|
|
||||||
# # sort the locations by name
|
|
||||||
# @schedule[day][:locations] = schedule[day][:locations].sort_by { |event_id, event| event.present? ? event.title.downcase : '' }.to_h
|
|
||||||
|
|
||||||
# # add an empty block if no workshops are scheduled on this day yet
|
|
||||||
# schedule[day][:locations][0] = :add if do_analyze || schedule[day][:locations].empty?
|
|
||||||
|
|
||||||
# last_time_data = nil
|
|
||||||
data[:times].each do |time, time_data|
|
data[:times].each do |time, time_data|
|
||||||
if time_data[:type] == :workshop && time_data[:item].present? && time_data[:item][:workshops].present?
|
if time_data[:type] == :workshop && time_data[:item].present? && time_data[:item][:workshops].present?
|
||||||
if !locations.nil? && ((locations.keys - time_data[:item][:workshops].keys) | (time_data[:item][:workshops].keys - locations.keys)).length > 0
|
if !locations.nil? && ((locations.keys - time_data[:item][:workshops].keys) | (time_data[:item][:workshops].keys - locations.keys)).length > 0
|
||||||
# data[:locations]
|
|
||||||
# xxx
|
|
||||||
@schedule[day][division][:locations] = locations.deep_dup
|
@schedule[day][division][:locations] = locations.deep_dup
|
||||||
@schedule[day][division][:locations][0] = :add if do_analyze || locations.empty?
|
@schedule[day][division][:locations][0] = :add if do_analyze || locations.empty?
|
||||||
locations = data[:locations].select { |id, l| time_data[:item][:workshops][id].present? }
|
locations = data[:locations].select { |id, l| time_data[:item][:workshops][id].present? }
|
||||||
|
@ -9,17 +9,17 @@
|
|||||||
- @schedule.each do |day, data_array|
|
- @schedule.each do |day, data_array|
|
||||||
%h4=date(day, :weekday).html_safe
|
%h4=date(day, :weekday).html_safe
|
||||||
- data_array.each_with_index do |data, division|
|
- data_array.each_with_index do |data, division|
|
||||||
%table.schedule{class: [data[:locations].present? ? 'has-locations' : 'no-locations', "locations-#{data[:num_locations]}"]}
|
%table.schedule{class: [data[:locations].present? ? "has-locations locations-#{data[:locations].length}" : 'no-locations']}
|
||||||
- if data[:locations].present? && data[:locations].values.first != :add
|
- if data[:locations].present? && data[:locations].values.first != :add
|
||||||
%thead
|
%thead
|
||||||
%tr
|
%tr
|
||||||
%th.corner
|
%th.corner
|
||||||
- data[:locations].each do |id, location|
|
- data[:locations].each do |id, location|
|
||||||
%th=location.is_a?(Symbol) ? '' : _!(location.title)
|
%th.location-header=location.is_a?(Symbol) ? '' : location_link(location)
|
||||||
%tbody
|
%tbody
|
||||||
- data[:times].each do |time, time_data|
|
- data[:times].each do |time, time_data|
|
||||||
%tr{class: "row-type-#{time_data[:type] || 'nil'}"}
|
%tr{class: "row-type-#{time_data[:type] || 'nil'}"}
|
||||||
- rowspan = (time_data[:length] * (1 / @this_conference.schedule_interval)).to_i
|
- rowspan = (time_data[:length] * (1 / conference.schedule_interval)).to_i
|
||||||
%th=time(time).html_safe
|
%th=time(time).html_safe
|
||||||
- if time_data[:type] == :workshop
|
- if time_data[:type] == :workshop
|
||||||
- data[:locations].each do |id, location|
|
- data[:locations].each do |id, location|
|
||||||
@ -84,6 +84,6 @@
|
|||||||
= richtext time_data[:item][:info], 1
|
= richtext time_data[:item][:info], 1
|
||||||
- if @entire_page
|
- if @entire_page
|
||||||
#workshop-selector
|
#workshop-selector
|
||||||
= form_tag administration_update_path(@this_conference.slug, @admin_step), class: 'workshop-dlg', id: 'workshop-table-form' do
|
= form_tag administration_update_path(conference.slug, @admin_step), class: 'workshop-dlg', id: 'workshop-table-form' do
|
||||||
%h3 Select a Workshop
|
%h3 Select a Workshop
|
||||||
#table
|
#table
|
||||||
|
Loading…
x
Reference in New Issue
Block a user