Module: QueryReport::ColumnModule
- Included in:
- Report
- Defined in:
- lib/query_report/column.rb
Defined Under Namespace
Classes: Column
Instance Attribute Summary collapse
-
#columns ⇒ Object
Returns the value of attribute columns.
Instance Method Summary collapse
-
#column(name, options = {}, &block) ⇒ Object
Creates a filter and adds to the filters The translation key used for total is ‘query_report.total’.
-
#column_total_with_colspan ⇒ Array<Hash>
Sample output [“Total”, colspan: ‘2’, 200, 300].
Instance Attribute Details
#columns ⇒ Object
Returns the value of attribute columns.
8 9 10 |
# File 'lib/query_report/column.rb', line 8 def columns @columns end |
Instance Method Details
#column(name, options = {}, &block) ⇒ Object
Creates a filter and adds to the filters The translation key used for total is ‘query_report.total’
If you want to sort a column which is a column of the active record model that the query returns, then just set true to make the column sortable. If the column is from another table then you have to specify the column name.
This is how you can control the width of the column in the pdf
62 63 64 |
# File 'lib/query_report/column.rb', line 62 def column(name, ={}, &block) @columns << Column.new(self, name, , block) end |
#column_total_with_colspan ⇒ Array<Hash>
Sample output
[{content: "Total", colspan: '2'}, 200, 300]
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/query_report/column.rb', line 69 def column_total_with_colspan total_with_colspan = [] colspan = 0 total_text_printed = false columns.each do |column| if column.has_total? if colspan > 0 title = total_text_printed ? '' : I18n.t('query_report.total') total_with_colspan << (colspan == 1 ? {content: title} : {content: title, colspan: colspan}) end total_with_colspan << {content: column.total, align: column.align} total_text_printed = true colspan = 0 else colspan += 1 end end if colspan > 0 total_with_colspan << {content: '', colspan: colspan} end total_with_colspan end |