Module: Ezframe::PageKit::Index
- Included in:
- SinglePageEditor
- Defined in:
- lib/ezframe/single_page_kit.rb
Instance Method Summary collapse
-
#button_for_index_line(data) ⇒ Object
一覧ページ用ボタン.
-
#list_for_index ⇒ Object
一覧ページ用のデータリスト生成.
-
#make_index_column(key) ⇒ Object
一覧表示の1カラムを生成.
-
#make_index_line(target_keys, data) ⇒ Object
一覧表示の1行を生成.
-
#make_index_table ⇒ Object
一覧表の生成.
- #make_index_top ⇒ Object
Instance Method Details
#button_for_index_line(data) ⇒ Object
一覧ページ用ボタン
66 67 68 |
# File 'lib/ezframe/single_page_kit.rb', line 66 def (data) return Ht.(class: %w[btn right], ezevent: "on=click:url=#{make_base_url(data[:id])}/edit", child: [Ht.icon("edit"), Message[:edit_button_label]]) end |
#list_for_index ⇒ Object
一覧ページ用のデータリスト生成
61 62 63 |
# File 'lib/ezframe/single_page_kit.rb', line 61 def list_for_index return @column_set.dataset.where(deleted_at: nil).order(@sort_key).all end |
#make_index_column(key) ⇒ Object
一覧表示の1カラムを生成
55 56 57 58 |
# File 'lib/ezframe/single_page_kit.rb', line 55 def make_index_column(key) column = @column_set[key.to_sym] return column.view(force: true) end |
#make_index_line(target_keys, data) ⇒ Object
一覧表示の1行を生成
48 49 50 51 52 |
# File 'lib/ezframe/single_page_kit.rb', line 48 def make_index_line(target_keys, data) @column_set.clear @column_set.values = data return target_keys.map { |key| make_index_column(key) } end |
#make_index_table ⇒ Object
一覧表の生成
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/ezframe/single_page_kit.rb', line 22 def make_index_table list = list_for_index target_keys = @index_keys unless target_keys target_keys = @column_set.keys.select { |k| !@column_set[k].no_view? } end labels = @table_labels unless labels labels = target_keys.map { |k| @column_set[k].label(force: true) || " " } end # 項目名欄の生成 thead = Ht.thead(Ht.tr(labels.map { |label| Ht.th(label || " ") })) tr_a = list.map do |data| view_a = make_index_line(target_keys, data) td_a = view_a.map { |view| Ht.td(view) } Ht.tr(id: "tr-#{@class_snake}-#{data[:id]}", child: td_a, ezevent: "on=click:url=#{make_base_url(data[:id])}/detail") end tbody = Ht.tbody(tr_a) return [ Ht.table(id: "enable_datatable_#{@class_snake}", child: [thead, tbody], ezload: "command=enable_datatable:target=#enable_datatable_#{@class_snake}"), Ht.div(id: @dom_id[:detail], child: ""), ] end |
#make_index_top ⇒ Object
17 18 19 |
# File 'lib/ezframe/single_page_kit.rb', line 17 def make_index_top ("on=click:url=#{make_base_url}/create") end |