Module: Practical::Views::Datatable

Extended by:
ActiveSupport::Concern
Defined in:
app/components/practical/views/datatable.rb

Defined Under Namespace

Modules: FilterApplied Classes: FilterSectionComponent, SortLinkComponent

Instance Method Summary collapse

Instance Method Details

#inverted_sort_direction(datatable_form:, sort_key:) ⇒ Object



17
18
19
# File 'app/components/practical/views/datatable.rb', line 17

def inverted_sort_direction(datatable_form:, sort_key:)
  datatable_form.inverted_sort_direction_for(key: sort_key)
end

#merged_payload(datatable_form:, sort_key:) ⇒ Object



21
22
23
24
25
26
27
# File 'app/components/practical/views/datatable.rb', line 21

def merged_payload(datatable_form:, sort_key:)
  datatable_form.merged_payload(sort_key: sort_key,
                                sort_direction: inverted_sort_direction(datatable_form: datatable_form,
                                                                        sort_key: sort_key
                                                                      )
                               )
end

#pagination_componentObject



29
30
31
32
33
34
35
# File 'app/components/practical/views/datatable.rb', line 29

def pagination_component
  return Practical::Views::Navigation::PaginationComponent.new(
    pagy: pagy,
    request: request,
    i18n_key: "pagy.item_name"
  )
end


6
7
8
9
10
11
12
13
14
15
# File 'app/components/practical/views/datatable.rb', line 6

def sort_link_for(key:, &block)
  component = Practical::Views::Datatable::SortLinkComponent.new(
    url: sort_url_for(key: key),
    datatable_form: datatable_form,
    sort_key: key,
    options: {class: "wa-flank wa-gap-2xs"}
  )

  render(component, &block)
end