Module: ReportHelper
- Defined in:
- lib/active_warehouse/view/report_helper.rb
Instance Method Summary collapse
-
#render_report(report, html_options = {}) ⇒ Object
Render the report.
-
#sortable_column_header(column_name, order_by, link_parameters = {}, attributes = {}) ⇒ Object
Create a sortable column header.
Instance Method Details
#render_report(report, html_options = {}) ⇒ Object
Render the report.
-
report: The report instance -
html_options: HTML options
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/active_warehouse/view/report_helper.rb', line 6 def render_report(report, ={}) case report when ActiveWarehouse::Report::TableReport render_table_report(report, ) when ActiveWarehouse::Report::ChartReport render_chart_report(report, ) else raise "Unsupported report type: #{report.class}" end end |
#sortable_column_header(column_name, order_by, link_parameters = {}, attributes = {}) ⇒ Object
Create a sortable column header.
Parameters are
column_name: The column display name
order_by: The column name from the table used for sorting
link_parameters: Parameters passed to the hypertext link
attributes: Parameters passed to the <th> element
Example:
sortable_column_header('SSN','ssn')
sortable_column_header('Name','name',{:onclick => 'doSomething();'}, {:title => 'Some Title'})
194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 |
# File 'lib/active_warehouse/view/report_helper.rb', line 194 def sortable_column_header(column_name, order_by, link_parameters={}, attributes={}) # TODO get this thing back into the mix order = 'desc' if params[:order_by].to_s == order_by.to_s sorted = 'sorted' if params[:order] == 'desc' || params[:order].nil? order_css_class = 'order_down' order = 'asc' elsif params[:order] == 'asc' order_css_class = 'order_up' order = 'desc' end else sorted = '' end attributes.merge!({:class => "sortable #{sorted} #{order_css_class}"}) x.th(attributes) do |th| th << link_to(column_name, params.merge({:order_by => order_by, :order => order}), link_parameters) end end |