Merge branch 'development', remote-tracking branch 'origin'
This commit is contained in:
		
						commit
						8f2fc86462
					
				| @ -2053,6 +2053,16 @@ table.schedule { | ||||
|     width: 100%; | ||||
|     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 { | ||||
|         border: 0.1rem solid $light-gray; | ||||
| 
 | ||||
| @ -2093,6 +2103,7 @@ table.schedule { | ||||
|     } | ||||
| 
 | ||||
|     td { | ||||
|         position: relative; | ||||
|         text-align: center; | ||||
|         border: 0; | ||||
|         background-color: $extra-light-gray; | ||||
| @ -2135,21 +2146,32 @@ table.schedule { | ||||
|         .event-detail-link { | ||||
|             display: inline-block; | ||||
|             display: inline-flex; | ||||
|             position: relative; | ||||
|             position: static; | ||||
|             height: 100%; | ||||
|             width: 100%; | ||||
|             color: inherit; | ||||
|             align-items: center; | ||||
| 
 | ||||
|             @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 { | ||||
|     outline: 0.33rem solid #02CA9E; | ||||
|     outline-offset: 0.25rem; | ||||
|     z-index: 1; | ||||
|     @include before { | ||||
|         outline: 0.33rem solid $green; | ||||
|         outline-offset: -0.3rem; | ||||
|         z-index: 1; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| .event-dlg { | ||||
|  | ||||
| @ -472,34 +472,26 @@ class ApplicationController < BaseController | ||||
| 
 | ||||
|     schedule.deep_dup.each do |day, data| | ||||
|       data[:times].each do |time, time_data| | ||||
|         if time_data[:next_event].present? || time_data[:length] > @this_conference.schedule_interval | ||||
|           span = @this_conference.schedule_interval | ||||
|         if time_data[:next_event].present? || time_data[:length] > conference.schedule_interval | ||||
|           span = conference.schedule_interval | ||||
|           length = time_data[:next_event].present? ? time_data[:next_event] - time : time_data[:length] | ||||
|           while span < length | ||||
|             schedule[day][:times][time + span] ||= { | ||||
|               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 | ||||
| 
 | ||||
|     # schedule = schedule.sort.to_h | ||||
| 
 | ||||
|     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][: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 | ||||
|       # schedule[day][:locations][0] = :add if do_analyze || schedule[day][:locations].empty? | ||||
|       # sort the locations by name | ||||
|       schedule[day][:locations] = schedule[day][:locations].sort_by { |event_id, event| event.present? ? event.title.downcase   : '' }.to_h | ||||
| 
 | ||||
|       if do_analyze | ||||
|         data[:times].each do |time, time_data| | ||||
| @ -571,24 +563,13 @@ class ApplicationController < BaseController | ||||
|     schedule.sort.to_h.each do |day, data| | ||||
|       @schedule[day] = [] | ||||
|       division = 0 | ||||
|       # @schedule[day][division] = data | ||||
|       locations = nil | ||||
|       @schedule[day][division] = {} | ||||
|       @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| | ||||
|         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 | ||||
|             # data[:locations] | ||||
|             # xxx | ||||
|             @schedule[day][division][:locations] = locations.deep_dup | ||||
|             @schedule[day][division][:locations][0] = :add if do_analyze || locations.empty? | ||||
|             locations = data[:locations].select { |id, l| time_data[:item][:workshops][id].present? } | ||||
|  | ||||
| @ -9,17 +9,17 @@ | ||||
|         - @schedule.each do |day, data_array| | ||||
|           %h4=date(day, :weekday).html_safe | ||||
|           - 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 | ||||
|                 %thead | ||||
|                   %tr | ||||
|                     %th.corner | ||||
|                     - data[:locations].each do |id, location| | ||||
|                       %th=location.is_a?(Symbol) ? '' : _!(location.title) | ||||
|                       %th.location-header=location.is_a?(Symbol) ? '' : location_link(location) | ||||
|               %tbody | ||||
|                 - data[:times].each do |time, time_data| | ||||
|                   %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 | ||||
|                     - if time_data[:type] == :workshop | ||||
|                       - data[:locations].each do |id, location| | ||||
| @ -84,6 +84,6 @@ | ||||
|                                 = richtext time_data[:item][:info], 1 | ||||
|       - if @entire_page | ||||
|         #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 | ||||
|             #table | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user