module Ezframe::MainPageKit::Index

一覧テーブルの生成

Public Instance Methods

make_index_table() click to toggle source
# 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_top() click to toggle source

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

# File lib/ezframe/main_page_kit.rb, line 42
def make_index_top
  make_create_button
end
public_default_post() click to toggle source
# 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