Module: Utilities::SearchHelper

Includes:
EnumHelper, IconHelper, PageHelper, TemplateHelper
Included in:
BaseEditingHelper
Defined in:
app/helpers/utilities/search_helper.rb

Instance Method Summary collapse

Methods included from EnumHelper

#enum_collection, #enum_translation

Methods included from IconHelper

#icon

Methods included from PageHelper

#boolean_to_icon, #error_messages_for, #new_button, #title_mod_g, #title_new_g

Methods included from TemplateHelper

#find_template_with_fallbacks

Methods included from BaseEditingBootstrap::Logging

#bs_logger

Instance Method Details

#render_cell_field(obj, field) ⇒ ActiveSupport::SafeBuffer

Renderizza la cella della tabella nella pagina della index

Parameters:

  • obj (BaseModel)
  • field (Symbol)

Returns:

  • (ActiveSupport::SafeBuffer)


33
34
35
36
# File 'app/helpers/utilities/search_helper.rb', line 33

def render_cell_field(obj, field)
  template = template_for_column(obj.class, field, "cell_field")
  template.render(self,{obj:, field:})
end

#render_header_cell_field(search_instance, field) ⇒ ActiveSupport::SafeBuffer

Renderizza header della tabella della index

Parameters:

Returns:

  • (ActiveSupport::SafeBuffer)


43
44
45
46
# File 'app/helpers/utilities/search_helper.rb', line 43

def render_header_cell_field(search_instance, field)
  template = template_for_column(search_instance.model_klass, field, "header_field")
  template.render(self,{obj: search_instance.model_klass, field:, search_instance: search_instance})
end

#render_raw_field(obj, field) ⇒ Object

Restituisce il valore che vogliamo mostrare



50
51
52
53
54
55
56
57
# File 'app/helpers/utilities/search_helper.rb', line 50

def render_raw_field(obj, field)
  case field
  when :created_at, :updated_at
    l(obj.read_attribute(field), format: :long)
  else
    obj[field]
  end
end

#search_form_buttons(ransack_form) ⇒ ActiveSupport::SafeBuffer

Per aggiungere bottoni: ES:

def search_form_buttons(ransack_form, &block)
   super #<-  questo serve per costruire i bottoni definiti da super
   content_for(:search_form_buttons) do #<- questo serve per aggiungere al content_for un'altro bottone
     link_to "xls", admins_log_alarms_path(params: {q: params.permit(q:{})[:q]}, format: :xlsx), class: "btn btn-info", target: :_blank
   end
 end

Parameters:

  • ransack_form (Ransack::Helpers::FormBuilder)

Returns:

  • (ActiveSupport::SafeBuffer)


19
20
21
22
23
24
25
26
# File 'app/helpers/utilities/search_helper.rb', line 19

def search_form_buttons(ransack_form)
  content_for(:search_form_buttons) do
    ransack_form.submit(I18n.translate('.search'), class: "btn btn-primary") +
      link_to(I18n.translate('.clear_search'),
              index_custom_polymorphic_path(ransack_form.object.klass),
              class: "btn btn-secondary")
  end
end

#search_form_for_params(ransack_instance) ⇒ Object

Possibile override dei parametri da passare a ransack nella form



61
62
63
# File 'app/helpers/utilities/search_helper.rb', line 61

def search_form_for_params(ransack_instance)
  [ransack_instance.ransack_query]
end