Class: StompBase::Pages::ModelDetailComponent

Inherits:
BaseComponent
  • Object
show all
Defined in:
app/components/stomp_base/pages/model_detail_component.rb

Instance Method Summary collapse

Methods inherited from BaseComponent

#call, #render?

Constructor Details

#initialize(model_name:, model_class:, columns:, records:, pagination:) ⇒ ModelDetailComponent

Returns a new instance of ModelDetailComponent.



6
7
8
9
10
11
12
13
# File 'app/components/stomp_base/pages/model_detail_component.rb', line 6

def initialize(model_name:, model_class:, columns:, records:, pagination:)
  super()
  @model_name = model_name
  @model_class = model_class
  @columns = columns
  @records = records
  @pagination = pagination
end

Instance Method Details

#data_table_componentObject



34
35
36
37
38
39
40
41
42
# File 'app/components/stomp_base/pages/model_detail_component.rb', line 34

def data_table_component
  StompBase::Models::DataTableComponent.new(
    columns: @columns,
    records: @records,
    model_class: @model_class,
    current_page: @pagination[:current_page],
    total_pages: @pagination[:total_pages]
  )
end

#header_componentObject



15
16
17
18
19
20
21
22
23
24
# File 'app/components/stomp_base/pages/model_detail_component.rb', line 15

def header_component
  StompBase::Ui::HeaderComponent.new(
    title: model_name,
    navigation: {
      back_path: helpers.stomp_base.models_path,
      back_label: t("stomp_base.models.list"),
      show_refresh: true
    }
  )
end

#pagination_componentObject



44
45
46
47
48
49
50
51
52
# File 'app/components/stomp_base/pages/model_detail_component.rb', line 44

def pagination_component
  StompBase::Ui::PaginationComponent.new(
    model_name: @model_name,
    current_page: @pagination[:current_page],
    total_pages: @pagination[:total_pages],
    per_page: @pagination[:per_page],
    total_count: @pagination[:total_count]
  )
end

#summary_card_componentObject



26
27
28
29
30
31
32
# File 'app/components/stomp_base/pages/model_detail_component.rb', line 26

def summary_card_component
  StompBase::Models::SummaryCardComponent.new(
    table_name: @model_class.table_name,
    column_count: @columns.size,
    total_count: @pagination[:total_count]
  )
end