little-article-64926
02/13/2026, 7:31 PMminiature-optician-85831
02/13/2026, 7:31 PMlittle-article-64926
02/13/2026, 7:32 PMDateTimeFilter filter using the react hook. But I'm not sure if I missed something along the way.
Here's roughly what I want to do...
rb
# my_resource.rb
def filters
filter Filters::CreatedAtPresetFilter
filter Filters::CreatedAtFilter
end
rb
# app/avo/filters/created_at_preset_filter.rb
module Filters
class CreatedAtPresetFilter < Avo::Filters::SelectFilter
def options
{
past_week: 'Past Week',
past_month: 'Past Month',
today: 'Today'
}
end
def apply(_request, query, value)
query.where(created_at: from(value)..to)
end
def react
puts '@' * 120
puts 'Reacting hook from CreatedAtPresetFilter triggered'.
puts '@' * 120
end
private
def to
@to ||= Time.zone.now.end_of_day
end
def from(value)
case value
when 'past_week'
1.week.ago.beginning_of_day
when 'past_month'
1.month.ago.beginning_of_day
when 'today'
Time.zone.now.beginning_of_day
end
end
endlittle-article-64926
02/13/2026, 7:32 PMrb
# app/avo/filters/created_at_filter.rb
module Filters
class CreatedAtFilter < Avo::Filters::DateTimeFilter
def apply(_request, query, value)
from, to = value.split(' to ')
puts '=' * 120
puts applied_filters.inspect
puts '=' * 120
query.where(created_at: from..to)
end
# def default # This is not working too
# "#{1.week.ago.strftime('%Y-%m-%d')} to #{Time.zone.now.strftime('%Y-%m-%d')}"
# end
def react
puts '@' * 120
puts 'Reacting hook from CreatedAtFilter triggered'
puts '@' * 120
if applied_filters['Avo::Filters::CreatedAtPresetFilter '].present? && applied_filters['Avo::Filters::CreatedAtFilter '].blank?
preset_value = applied_filters['Avo::Filters::ArwenBalancePointInTimePreset']
from_date = parse_from_preset(preset_value)
to_date = Time.zone.now.end_of_day
"#{from_date.strftime('%Y-%m-%d')} to #{to_date.strftime('%Y-%m-%d')}"
end
end
private
def parse_from_preset(value)
case value
when 'past_week'
1.week.ago.beginning_of_day
when 'past_month'
1.month.ago.beginning_of_day
when 'today'
Time.zone.now.beginning_of_day
end
end
end
end
But when i select ' Past week' the only logged message is:
rb
# =========...
{"Avo::Filters::CreatedAtPresetFilter" => "past_week"}
# ==========little-article-64926
02/13/2026, 7:34 PMreact hook,
or, what is the expected default/injected value of the DateTimeFilter...loud-jewelry-99127
02/13/2026, 7:52 PMlittle-article-64926
02/13/2026, 7:54 PMloud-jewelry-99127
02/13/2026, 8:05 PMloud-jewelry-99127
02/14/2026, 9:13 AMloud-jewelry-99127
02/14/2026, 9:14 AMloud-jewelry-99127
02/14/2026, 9:15 AMlittle-article-64926
02/15/2026, 3:11 PMrb
# app/avo/resources/garage.rb
... field :cars, as: :has_many
#...
This renders the Car filters in the Garage resource.
In the Car resource, the configuration is as I mentioned before...
In this scenario, React doesn't work. In the main resource (Car), this works as expected, but nested (through a 'field cars, as: :has_many') it doesn't.
Question: Is it possible to fix this?loud-jewelry-99127
02/15/2026, 3:36 PM