class Avo::Filters::BaseFilter

def applied_filters

Fetch the applied filters from the params
def applied_filters
  self.class.decode_filters params[PARAM_KEY]
end

def applied_or_default_value(applied_filters)

If it's not present return the default value.
Get the applied value this filter.
def applied_or_default_value(applied_filters)
  # Get the values for this particular filter
  applied_value = applied_filters[self.class.to_s]
  # Return that value if present
  return applied_value unless applied_value.nil?
  # Return that default
  default
rescue
  default
end

def apply_query(request, query, value)

def apply_query(request, query, value)
  value.stringify_keys! if value.is_a? Hash
  apply(request, query, value)
end

def curent_user

def curent_user
  Avo::Current.user
end

def decode_filters(filter_params)

def decode_filters(filter_params)
  JSON.parse(Base64.decode64(filter_params))
rescue
  {}
end

def encode_filters(filter_params)

def encode_filters(filter_params)
  Base64.encode64(filter_params.to_json)
end

def get_empty_message

def get_empty_message
  empty_message || I18n.t("avo.no_options_available")
end

def id

def id
  self.class.name.underscore.tr("/", "_")
end

def initialize(arguments: {})

def initialize(arguments: {})
  @arguments = arguments
end

def visible_in_view(resource: nil, parent_resource: nil)

def visible_in_view(resource: nil, parent_resource: nil)
  return true if visible.blank?
  # Run the visible block if available
  Avo::ExecutionContext.new(
    target: visible,
    params: params,
    parent_resource: parent_resource,
    resource: resource,
    arguments: arguments
  ).handle
end