module Decidim::Meetings::Admin::Filterable

def base_query

def base_query
  Meeting.not_hidden.where(component: current_component).order(start_time: :desc).page(params[:page]).per(15)
end

def filters

def filters
  [
    :with_any_type,
    :is_upcoming_true,
    :scope_id_eq,
    :category_id_eq,
    :with_any_origin,
    :closed_at_present
  ]
end

def filters_with_values

def filters_with_values
  {
    with_any_type: meeting_types,
    scope_id_eq: scope_ids_hash(scopes.top_level),
    category_id_eq: category_ids_hash(categories.first_class),
    closed_at_present: %w(true false),
    is_upcoming_true: %w(true false),
    with_any_origin: %w(participants official user_group)
  }
end

def meeting_types

def meeting_types
  Meeting::TYPE_OF_MEETING
end

def search_field_predicate

def search_field_predicate
  :id_string_or_title_cont
end