diff --git a/app/controllers/events/days_controller.rb b/app/controllers/events/days_controller.rb index 31ec80d39..bb9ccfdfc 100644 --- a/app/controllers/events/days_controller.rb +++ b/app/controllers/events/days_controller.rb @@ -2,5 +2,6 @@ class Events::DaysController < ApplicationController include DayTimelinesScoped def index + fresh_when @day_timeline end end diff --git a/app/controllers/events_controller.rb b/app/controllers/events_controller.rb index 7ce5a5373..65db0ac0b 100644 --- a/app/controllers/events_controller.rb +++ b/app/controllers/events_controller.rb @@ -4,5 +4,7 @@ class EventsController < ApplicationController enable_collection_filtering only: :index def index + Rails.logger.info "***** #{@day_timeline.cache_key}" + fresh_when @day_timeline end end diff --git a/app/models/filter.rb b/app/models/filter.rb index c822fe471..9bb569bb9 100644 --- a/app/models/filter.rb +++ b/app/models/filter.rb @@ -58,7 +58,7 @@ class Filter < ApplicationRecord end def cache_key - ActiveSupport::Cache.expand_cache_key collections.cache_key_with_version, super + ActiveSupport::Cache.expand_cache_key [ params_digest ], "filter" end private diff --git a/app/models/filter/params.rb b/app/models/filter/params.rb index 3503ecef3..b1a2f7ecd 100644 --- a/app/models/filter/params.rb +++ b/app/models/filter/params.rb @@ -73,4 +73,8 @@ module Filter::Params end end end + + def params_digest + super.presence || self.class.digest_params(as_params) + end end diff --git a/app/models/user/day_timeline.rb b/app/models/user/day_timeline.rb index 754cdefc5..25fd1086c 100644 --- a/app/models/user/day_timeline.rb +++ b/app/models/user/day_timeline.rb @@ -45,6 +45,10 @@ class User::DayTimeline week_starts_at + 1.week end + def cache_key + ActiveSupport::Cache.expand_cache_key [ user, filter, day.to_date, events ], "day-timeline" + end + private def first_day_with_activity_this_week? day.monday? || (earliest_time.present? && earliest_time < day.beginning_of_week(:monday)) diff --git a/app/models/user/filtering.rb b/app/models/user/filtering.rb index 18ed68699..bf8def116 100644 --- a/app/models/user/filtering.rb +++ b/app/models/user/filtering.rb @@ -82,6 +82,10 @@ class User::Filtering end end + def cache_key + ActiveSupport::Cache.expand_cache_key( [ user, filter, expanded? ], "user-filtering") + end + private def supports_collection_filtering? @collection_filtering_route_resolver.present? diff --git a/app/views/events/_day.html.erb b/app/views/events/_day.html.erb index 5fc389a59..57a70da61 100644 --- a/app/views/events/_day.html.erb +++ b/app/views/events/_day.html.erb @@ -1,13 +1,6 @@
- <% if day_timeline.has_activity? %> -
- <%= render "events/day_timeline_column", event_type: "added", day_timeline: day_timeline %> - <%= render "events/day_timeline_column", event_type: "updated", day_timeline: day_timeline %> - <%= render "events/day_timeline_column", event_type: "closed", day_timeline: day_timeline %> -
- <% end %> - + <%= render "events/day_timeline/columns", day_timeline: day_timeline %> <%= render "events/weekly_highlights", day_timeline: day_timeline if day_timeline.has_weekly_highlights? %> <%= render "events/empty_days", day_timeline: day_timeline %>
diff --git a/app/views/events/_day_timeline_columns.html.erb b/app/views/events/_day_timeline_columns.html.erb deleted file mode 100644 index 7295b1749..000000000 --- a/app/views/events/_day_timeline_columns.html.erb +++ /dev/null @@ -1,11 +0,0 @@ -<% day_timeline.events.group_by { event_column(it) }.each do |column, events_grouped_by_column| %> -
-

<%= column %>

- <% events_grouped_by_column.group_by { it.created_at.hour }.each do |hour, events| %> - <%= event_cluster_tag(hour, column) do %> - <%= render partial: "events/event", collection: events %> - <%= local_datetime_tag events.first.created_at, class: "event__timestamp txt-small translucent" %> - <% end %> - <% end %> -
-<% end %> diff --git a/app/views/events/_day_timeline_column.html.erb b/app/views/events/day_timeline/_column.html.erb similarity index 100% rename from app/views/events/_day_timeline_column.html.erb rename to app/views/events/day_timeline/_column.html.erb diff --git a/app/views/events/day_timeline/_columns.html.erb b/app/views/events/day_timeline/_columns.html.erb new file mode 100644 index 000000000..b57f75be9 --- /dev/null +++ b/app/views/events/day_timeline/_columns.html.erb @@ -0,0 +1,9 @@ +<% cache day_timeline.events do %> + <% if day_timeline.has_activity? %> +
+ <%= render "events/day_timeline/column", event_type: "added", day_timeline: day_timeline %> + <%= render "events/day_timeline/column", event_type: "updated", day_timeline: day_timeline %> + <%= render "events/day_timeline/column", event_type: "closed", day_timeline: day_timeline %> +
+ <% end %> +<% end %> diff --git a/app/views/events/index.html.erb b/app/views/events/index.html.erb index 34d0b5deb..172a19d7e 100644 --- a/app/views/events/index.html.erb +++ b/app/views/events/index.html.erb @@ -5,7 +5,6 @@ <% content_for :header do %> <%= render "filters/menu", user_filtering: @user_filtering %> - <%= render "filters/menu/add_card_button", user_filtering: @user_filtering %>

diff --git a/app/views/filters/_menu.html.erb b/app/views/filters/_menu.html.erb index 5c1410a0c..ec8920940 100644 --- a/app/views/filters/_menu.html.erb +++ b/app/views/filters/_menu.html.erb @@ -1,41 +1,43 @@ - +<% end %>