diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/helpers/events_helper.rb | 11 | ||||
| -rw-r--r-- | app/views/events/index.html.erb | 8 |
2 files changed, 17 insertions, 2 deletions
diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index 8a9a878..5e84f53 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb | |||
| @@ -1,2 +1,13 @@ | |||
| 1 | require 'cgi' | ||
| 2 | |||
| 1 | module EventsHelper | 3 | module EventsHelper |
| 4 | # Insert a zero-width break opportunity after each semicolon, so a long | ||
| 5 | # RRULE can wrap at a clause boundary instead of overflowing its column. | ||
| 6 | # Deliberately <wbr>, not ellipsis -- unlike a URL, an RRULE's trailing | ||
| 7 | # characters (BYDAY, BYMONTH, etc.) are usually the most specific part, | ||
| 8 | # and truncating them would hide exactly the wrong end of the string. | ||
| 9 | def rrule_with_break_opportunities(rrule) | ||
| 10 | return "" if rrule.blank? | ||
| 11 | raw(rrule.split(';', -1).map { |part| CGI.escapeHTML(part) }.join(';<wbr>')) | ||
| 12 | end | ||
| 2 | end | 13 | end |
diff --git a/app/views/events/index.html.erb b/app/views/events/index.html.erb index 8127e3a..3d953d5 100644 --- a/app/views/events/index.html.erb +++ b/app/views/events/index.html.erb | |||
| @@ -22,9 +22,13 @@ | |||
| 22 | <td><%= link_to event.display_title, event %></td> | 22 | <td><%= link_to event.display_title, event %></td> |
| 23 | <td><%=h event.start_time %></td> | 23 | <td><%=h event.start_time %></td> |
| 24 | <td><%=h event.end_time %></td> | 24 | <td><%=h event.end_time %></td> |
| 25 | <td><%=h event.rrule %></td> | 25 | <td class="rrule_cell"><span class="rrule_text"><%= rrule_with_break_opportunities(event.rrule) %></span></td> |
| 26 | <td><%=h event.allday %></td> | 26 | <td><%=h event.allday %></td> |
| 27 | <td><%=h event.url %></td> | 27 | <td class="url_cell"> |
| 28 | <% if event.url.present? %> | ||
| 29 | <span class="truncate"><%= link_to event.url, event.url %></span> | ||
| 30 | <% end %> | ||
| 31 | </td> | ||
| 28 | <td><%= event.node ? link_to(event.node_id, node_path(event.node)) : '' %></td> | 32 | <td><%= event.node ? link_to(event.node_id, node_path(event.node)) : '' %></td> |
| 29 | <td><%= link_to 'edit', edit_event_path(event) %></td> | 33 | <td><%= link_to 'edit', edit_event_path(event) %></td> |
| 30 | </tr> | 34 | </tr> |
