Class: Datagrid::Renderer
- Inherits:
-
Object
- Object
- Datagrid::Renderer
- Defined in:
- lib/datagrid/renderer.rb
Overview
:nodoc:
Class Method Summary collapse
Instance Method Summary collapse
- #form_for(grid, options = {}) ⇒ Object
- #format_value(grid, column, asset) ⇒ Object
- #header(grid, options = {}) ⇒ Object
-
#initialize(template) ⇒ Renderer
constructor
A new instance of Renderer.
- #order_for(grid, column, options = {}) ⇒ Object
- #rows(grid, assets, options = {}) ⇒ Object
- #table(grid, *args) ⇒ Object
Constructor Details
#initialize(template) ⇒ Renderer
Returns a new instance of Renderer.
10 11 12 |
# File 'lib/datagrid/renderer.rb', line 10 def initialize(template) @template = template end |
Class Method Details
.for(template) ⇒ Object
6 7 8 |
# File 'lib/datagrid/renderer.rb', line 6 def self.for(template) new(template) end |
Instance Method Details
#form_for(grid, options = {}) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/datagrid/renderer.rb', line 29 def form_for(grid, = {}) [:method] ||= :get [:html] ||= {} [:html][:class] ||= "datagrid-form #{@template.dom_class(grid)}" [:as] ||= grid.param_name _render_partial('form', [:partials], {:grid => grid, :options => }) end |
#format_value(grid, column, asset) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/datagrid/renderer.rb', line 14 def format_value(grid, column, asset) if column.is_a?(String) || column.is_a?(Symbol) column = grid.column_by_name(column) end value = grid.html_value(column, @template, asset) url = column.[:url] && column.[:url].call(asset) if url @template.link_to(value, url) else value end end |
#header(grid, options = {}) ⇒ Object
59 60 61 62 63 64 |
# File 'lib/datagrid/renderer.rb', line 59 def header(grid, = {}) [:order] = true unless .has_key?(:order) _render_partial('head', [:partials], { :grid => grid, :options => }) end |
#order_for(grid, column, options = {}) ⇒ Object
80 81 82 83 |
# File 'lib/datagrid/renderer.rb', line 80 def order_for(grid, column, = {}) _render_partial('order_for', [:partials], { :grid => grid, :column => column }) end |
#rows(grid, assets, options = {}) ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/datagrid/renderer.rb', line 66 def rows(grid, assets, = {}) result = assets.map do |asset| _render_partial( 'row', [:partials], { :grid => grid, :options => , :asset => asset }) end.to_a.join _safe(result) end |
#table(grid, *args) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/datagrid/renderer.rb', line 37 def table(grid, *args) = args. [:html] ||= {} [:html][:class] ||= "datagrid #{@template.dom_class(grid)}" if [:cycle] ::Datagrid::Utils.warn_once("datagrid_table cycle option is deprecated. Use css to style odd/even rows instead.") end assets = args.any? ? args.shift : grid.assets paginate = [:paginate] if paginate ::Datagrid::Utils.warn_once(":paginate option is deprecated. Look to https://github.com/bogdan/datagrid/wiki/Frontend.") assets = assets.paginate(paginate) end _render_partial('table', [:partials], { :grid => grid, :options => , :assets => assets }) end |