diff options
| author | Robert | 2017-10-25 11:55:02 +0200 |
|---|---|---|
| committer | Robert | 2017-10-31 19:08:52 +0100 |
| commit | 65102f16cb86e09e65557e82dda2c920ea7a4976 (patch) | |
| tree | 702b2c233dc7b6ea72cbdd990b31d54b2f72b7aa | |
| parent | e0d52eef6b0c48e646cfc7e03322647b1a15181f (diff) | |
| download | chouette-core-65102f16cb86e09e65557e82dda2c920ea7a4976.tar.bz2 | |
Refs: #4774;
table_builder2 modified to accept an array of objects
- add optional param `model:` which is needed for header display **only**
if collection does not return the `model` itself
initial [amend me] [skip ci]
| -rw-r--r-- | app/helpers/table_builder_helper.rb | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/app/helpers/table_builder_helper.rb b/app/helpers/table_builder_helper.rb index 3eacffa9e..37f01ce0d 100644 --- a/app/helpers/table_builder_helper.rb +++ b/app/helpers/table_builder_helper.rb @@ -83,17 +83,21 @@ module TableBuilderHelper cls: '', # A set of content, over the th line... - overhead: [] + overhead: [], + + # Possibility to override the result of collection.model + model: nil + ) content_tag :table, - thead(collection, columns, sortable, selectable, links.any?, overhead) + + thead(collection, columns, sortable, selectable, links.any?, overhead, model || collection.model) + tbody(collection, columns, selectable, links, overhead), class: cls end private - def thead(collection, columns, sortable, selectable, has_links, overhead) + def thead(collection, columns, sortable, selectable, has_links, overhead, model ) content_tag :thead do # Inserts overhead content if any specified over_head = '' @@ -116,13 +120,12 @@ module TableBuilderHelper hcont << content_tag(:th, checkbox(id_name: '0', value: 'all')) end - require 'pry'; binding.pry columns.each do |column| if overhead.empty? hcont << content_tag(:th, build_column_header( column, sortable, - collection.model, + model, params, params[:sort], params[:direction] @@ -138,7 +141,7 @@ module TableBuilderHelper hcont << content_tag(:th, build_column_header( column, sortable, - collection.model, + model, params, params[:sort], params[:direction] @@ -148,7 +151,7 @@ module TableBuilderHelper hcont << content_tag(:th, build_column_header( column, sortable, - collection.model, + model, params, params[:sort], params[:direction] @@ -161,7 +164,7 @@ module TableBuilderHelper hcont << content_tag(:th, build_column_header( column, sortable, - collection.model, + model, params, params[:sort], params[:direction] @@ -300,14 +303,14 @@ module TableBuilderHelper def build_column_header( column, table_is_sortable, - collection_model, + model, params, sort_on, sort_direction ) if !table_is_sortable || !column.sortable - return column.header_label(collection_model) + return column.header_label(model) end direction = @@ -332,7 +335,7 @@ module TableBuilderHelper arrow_icons = content_tag :span, arrow_up + arrow_down, class: 'orderers' ( - column.header_label(collection_model) + + column.header_label(model) + arrow_icons ).html_safe end |
