From 54f86a3212d080fd16d518892ca89a5f233194f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Geuken?= Date: Fri, 15 May 2015 17:20:38 +0200 Subject: [PATCH 1/7] Replace tabs by whitespaces and fix indentation --- app/views/conference/_schedule.html.erb | 30 ++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/app/views/conference/_schedule.html.erb b/app/views/conference/_schedule.html.erb index baf466b5..55331036 100644 --- a/app/views/conference/_schedule.html.erb +++ b/app/views/conference/_schedule.html.erb @@ -49,30 +49,30 @@ data-href="<%= url_for(conference_proposal_path(@conference.short_title, event[0].id)) %>"> <%- if speaker = event[0].speakers.first %> <%= image_tag speaker.gravatar_url, :class => "img-circle pull-right", - :alt => speaker.name, - :title => speaker.name, - :style => "padding:8px;" %> + :alt => speaker.name, + :title => speaker.name, + :style => "padding:8px;" %> <%- end %>
<%= event[0].title %> <% unless event[0].subtitle.blank? %> - - <%= event[0].subtitle %> + + <%= event[0].subtitle %> <% end %>
- - - - <%= "#{speaker.name}" %> + + + + <%= "#{speaker.name}" %> + + <% if event[0].track%> + + + <%= event[0].track.name %> - <% if event[0].track%> - - - <%= event[0].track.name %> - - <% end -%> + <% end -%> <% span[room.id] = span[room.id] + 1 %> <% elsif span[room.id] > 1 %> From 1731625153f5f21e00ca32b6ea34b2bb4cda708c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Geuken?= Date: Fri, 15 May 2015 17:22:46 +0200 Subject: [PATCH 2/7] Remove superflous span element At least firefox and chrome doesn't even render it --- app/views/conference/_schedule.html.erb | 1 - 1 file changed, 1 deletion(-) diff --git a/app/views/conference/_schedule.html.erb b/app/views/conference/_schedule.html.erb index 55331036..d0c39bda 100644 --- a/app/views/conference/_schedule.html.erb +++ b/app/views/conference/_schedule.html.erb @@ -62,7 +62,6 @@ <% end %> - <%= "#{speaker.name}" %> From 93135a60854274869466b888100aec5c4d42c9f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Geuken?= Date: Fri, 15 May 2015 17:27:22 +0200 Subject: [PATCH 3/7] Move view for proposals on schedule board into a partial --- app/views/conference/_schedule.html.erb | 50 +------------------ app/views/conference/_schedule_item.html.erb | 52 ++++++++++++++++++++ 2 files changed, 53 insertions(+), 49 deletions(-) create mode 100644 app/views/conference/_schedule_item.html.erb diff --git a/app/views/conference/_schedule.html.erb b/app/views/conference/_schedule.html.erb index d0c39bda..1d036378 100644 --- a/app/views/conference/_schedule.html.erb +++ b/app/views/conference/_schedule.html.erb @@ -43,36 +43,7 @@ <% if !event.empty? %> <% span[room.id] = event[0].event_type.length / 15 %> - - <%- if speaker = event[0].speakers.first %> - <%= image_tag speaker.gravatar_url, :class => "img-circle pull-right", - :alt => speaker.name, - :title => speaker.name, - :style => "padding:8px;" %> - <%- end %> -
- - <%= event[0].title %> - <% unless event[0].subtitle.blank? %> - - <%= event[0].subtitle %> - - <% end %> -
- - - <%= "#{speaker.name}" %> - - <% if event[0].track%> - - - <%= event[0].track.name %> - - <% end -%> - + <%= render partial: 'schedule_item', locals: {event: event, room: room, span: span} %> <% span[room.id] = span[room.id] + 1 %> <% elsif span[room.id] > 1 %> @@ -93,25 +64,6 @@ <%= javascript_tag do %> - jQuery( function($) { - $('tbody tr td[data-href]').addClass('clickable').mouseup(function(e) { - var url = $(this).attr('data-href'); - if (e.which === 1 && e.ctrlKey){ - var win = window.open(url, '_blank'); - win.focus(); - } - else if(e.which === 1) - { - window.location = url; - } - else if(e.which === 2) - { - var win = window.open(url, '_blank'); - win.focus(); - } - }); -}); - $(function() { // add a hash to the URL when the user clicks on a tab $('a[data-toggle="tab"]').on('click', function(e) { diff --git a/app/views/conference/_schedule_item.html.erb b/app/views/conference/_schedule_item.html.erb new file mode 100644 index 00000000..bab41cf0 --- /dev/null +++ b/app/views/conference/_schedule_item.html.erb @@ -0,0 +1,52 @@ + + <%- if speaker = event[0].speakers.first %> + <%= image_tag speaker.gravatar_url, :class => "img-circle pull-right", + :alt => speaker.name, + :title => speaker.name, + :style => "padding:8px;" %> + <%- end %> +
+ + <%= event[0].title %> + <% unless event[0].subtitle.blank? %> + + <%= event[0].subtitle %> + + <% end %> +
+ + + <%= "#{speaker.name}" %> + + <% if event[0].track%> + + + <%= event[0].track.name %> + + <% end -%> + + +<%= javascript_tag do %> + jQuery( function($) { + $('tbody tr td[data-href]').addClass('clickable').mouseup(function(e) { + var url = $(this).attr('data-href'); + if (e.which === 1 && e.ctrlKey){ + var win = window.open(url, '_blank'); + win.focus(); + } + else if(e.which === 1) + { + window.location = url; + } + else if(e.which === 2) + { + var win = window.open(url, '_blank'); + win.focus(); + } + }); +}); + +<% end %> From 02e6f7815346df2ee483fb777975b9212172e6f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Geuken?= Date: Fri, 15 May 2015 17:52:51 +0200 Subject: [PATCH 4/7] Handle talks on the scheduler table as links Previously the link functionality (open in window or tab) of those talks was done via javascript. Because of that they couldn't be selected via right click to be opened in a tab, copied or bookmarked. By embedding the talk items into a link element and adding some css to hide the link effects, like hover and underline, we get the desired behaviour without changing it's appearance. --- app/assets/stylesheets/osem-schedule.css.scss | 6 ++ app/views/conference/_schedule_item.html.erb | 74 +++++++------------ 2 files changed, 33 insertions(+), 47 deletions(-) diff --git a/app/assets/stylesheets/osem-schedule.css.scss b/app/assets/stylesheets/osem-schedule.css.scss index b63616cc..fe4875e6 100644 --- a/app/assets/stylesheets/osem-schedule.css.scss +++ b/app/assets/stylesheets/osem-schedule.css.scss @@ -59,3 +59,9 @@ background-image: -webkit-gradient( .schedule-subtitle { color: rgb(185, 74, 72); } + +a.unstyled-link { + text-decoration: none; + color: #333333; + outline: 0; +} diff --git a/app/views/conference/_schedule_item.html.erb b/app/views/conference/_schedule_item.html.erb index bab41cf0..35ccea56 100644 --- a/app/views/conference/_schedule_item.html.erb +++ b/app/views/conference/_schedule_item.html.erb @@ -1,52 +1,32 @@ - <%- if speaker = event[0].speakers.first %> - <%= image_tag speaker.gravatar_url, :class => "img-circle pull-right", - :alt => speaker.name, - :title => speaker.name, - :style => "padding:8px;" %> - <%- end %> -
- - <%= event[0].title %> - <% unless event[0].subtitle.blank? %> - - <%= event[0].subtitle %> - - <% end %> -
- - - <%= "#{speaker.name}" %> - - <% if event[0].track%> - - - <%= event[0].track.name %> + class="event" role="button"> + + <%- if speaker = event[0].speakers.first %> + <%= image_tag speaker.gravatar_url, :class => "img-circle pull-right", + :alt => speaker.name, + :title => speaker.name, + :style => "padding:8px;" %> + <%- end %> +
+ + <%= event[0].title %> + <% unless event[0].subtitle.blank? %> + + <%= event[0].subtitle %> + + <% end %> +
+ + + <%= "#{speaker.name}" %> - <% end -%> + <% if event[0].track%> + + + <%= event[0].track.name %> + + <% end -%> +
-<%= javascript_tag do %> - jQuery( function($) { - $('tbody tr td[data-href]').addClass('clickable').mouseup(function(e) { - var url = $(this).attr('data-href'); - if (e.which === 1 && e.ctrlKey){ - var win = window.open(url, '_blank'); - win.focus(); - } - else if(e.which === 1) - { - window.location = url; - } - else if(e.which === 2) - { - var win = window.open(url, '_blank'); - win.focus(); - } - }); -}); - -<% end %> From 7309782b054c86433d693ecd50ee163132aea8c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Geuken?= Date: Sat, 16 May 2015 14:50:12 +0200 Subject: [PATCH 5/7] TypoFix: -> --- app/views/conference/_schedule_item.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/conference/_schedule_item.html.erb b/app/views/conference/_schedule_item.html.erb index 35ccea56..e8aadd8d 100644 --- a/app/views/conference/_schedule_item.html.erb +++ b/app/views/conference/_schedule_item.html.erb @@ -14,7 +14,7 @@ <% unless event[0].subtitle.blank? %> <%= event[0].subtitle %> - + <% end %> From 94bb76f5ec58ae925eeb8da137ad3553fc9ceb99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Geuken?= Date: Sat, 16 May 2015 14:52:18 +0200 Subject: [PATCH 6/7] Haml'fy schedule_item partial --- app/views/conference/_schedule_item.html.erb | 32 ------------------- app/views/conference/_schedule_item.html.haml | 24 ++++++++++++++ 2 files changed, 24 insertions(+), 32 deletions(-) delete mode 100644 app/views/conference/_schedule_item.html.erb create mode 100644 app/views/conference/_schedule_item.html.haml diff --git a/app/views/conference/_schedule_item.html.erb b/app/views/conference/_schedule_item.html.erb deleted file mode 100644 index e8aadd8d..00000000 --- a/app/views/conference/_schedule_item.html.erb +++ /dev/null @@ -1,32 +0,0 @@ - - - <%- if speaker = event[0].speakers.first %> - <%= image_tag speaker.gravatar_url, :class => "img-circle pull-right", - :alt => speaker.name, - :title => speaker.name, - :style => "padding:8px;" %> - <%- end %> -
- - <%= event[0].title %> - <% unless event[0].subtitle.blank? %> - - <%= event[0].subtitle %> - - <% end %> -
- - - <%= "#{speaker.name}" %> - - <% if event[0].track%> - - - <%= event[0].track.name %> - - <% end -%> -
- - diff --git a/app/views/conference/_schedule_item.html.haml b/app/views/conference/_schedule_item.html.haml new file mode 100644 index 00000000..507e9f34 --- /dev/null +++ b/app/views/conference/_schedule_item.html.haml @@ -0,0 +1,24 @@ +%td.event{ style: "width: #{95 / @rooms.length}%; cursor:pointer", | + rowspan: span[room.id], | + role: "button" } | + %a.unstyled-link{href: url_for(conference_proposal_path(@conference.short_title, event[0].id))} + - if speaker = event[0].speakers.first + = image_tag speaker.gravatar_url, :class => "img-circle pull-right", | + :alt => speaker.name, | + :title => speaker.name, | + :style => "padding:8px;" | + %h5 + %span.fa.fa-comment + = event[0].title + - unless event[0].subtitle.blank? + %span.schedule-subtitle + = event[0].subtitle + %span.schedule-speaker + %span.fa.fa-user + = speaker.name + - if event[0].track + %span.schedule-track + %span.fa.fa-road + %span.label{ style: "background-color: #{event[0].track.color if event[0].track}" } + = event[0].track.name + From b6856282083e766ffe132072dc18d4d2a6544a3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Geuken?= Date: Sat, 16 May 2015 14:54:15 +0200 Subject: [PATCH 7/7] Remove superflous condition We ensured that the event has a track in the condition 3 lines above. Thus we can remove this one. --- app/views/conference/_schedule_item.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/conference/_schedule_item.html.haml b/app/views/conference/_schedule_item.html.haml index 507e9f34..01db4cac 100644 --- a/app/views/conference/_schedule_item.html.haml +++ b/app/views/conference/_schedule_item.html.haml @@ -19,6 +19,6 @@ - if event[0].track %span.schedule-track %span.fa.fa-road - %span.label{ style: "background-color: #{event[0].track.color if event[0].track}" } + %span.label{ style: "background-color: #{event[0].track.color}" } = event[0].track.name