Module: Ezframe::MainPageKit::Index

Included in:
Ezframe::MainEditor
Defined in:
lib/ezframe/main_page_kit.rb

Overview

一覧テーブルの生成

Instance Method Summary collapse

Instance Method Details

#make_index_tableObject



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/ezframe/main_page_kit.rb', line 18

def make_index_table
  data_a = list_for_index
  EzLog.debug("make_index_table: #{data_a.length}")
  target_keys = @index_keys
  unless target_keys
    target_keys = @column_set.keys.select { |k| !@column_set[k].no_view? }
  end
  tr_a = data_a.map do |data|
    @column_set.clear
    @column_set.set_values(data, from_db: true)
    line = target_keys.map do |key|
      view = @column_set[key].view
      Ht.td(Ht.a(href: "#{make_base_url(data[:id])}", child: view))
    end
    Ht.tr(line)
  end
  th_a = target_keys.map { |key| Ht.th(@column_set[key.to_sym].label) }
  thead = Ht.thead(Ht.tr(th_a))
  tbody = Ht.tbody(tr_a)
  table_id = "enable_datatable_#{@class_snake}"
  return Ht.table(id: table_id, class: %w[enable_datatable], child: [thead, tbody], ezload: "command=enable_datatable:target=##{table_id}:size=10")
end

#make_index_topObject

一覧ページの上部に表示するボタン等の生成



42
43
44
# File 'lib/ezframe/main_page_kit.rb', line 42

def make_index_top
  make_create_button
end

#public_default_postObject



14
15
16
# File 'lib/ezframe/main_page_kit.rb', line 14

def public_default_post
  return { inject: "#main-box", body: [ Ht.div(make_index_top), Ht.div(make_index_table)], set_url: make_base_url }
end