Class: Grapple::Components::ColumnHeadings
- Inherits:
-
HtmlComponent
- Object
- BaseComponent
- HtmlComponent
- Grapple::Components::ColumnHeadings
- Defined in:
- lib/grapple/components/column_headings.rb
Instance Attribute Summary
Attributes inherited from BaseComponent
#builder, #columns, #params, #records, #template
Instance Method Summary collapse
Methods inherited from BaseComponent
Constructor Details
This class inherits a constructor from Grapple::Components::BaseComponent
Instance Method Details
#column_header(column, additional_parameters = {}) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/grapple/components/column_headings.rb', line 16 def column_header(column, additional_parameters = {}) cell_classes = [] cell_classes << alignment_classes[(column[:align] || :left).to_sym] liner_classes = [] liner_classes << tooltip_class if column[:title].present? label = t(column[:label] || '') if column[:sort] cell_classes << 'sortable' if column[:sort] == params[:sort] liner_classes << (params[:dir] == 'desc' ? 'sort-desc' : 'sort-asc') cell_classes << 'sorted' end url = table_url(additional_parameters.merge({sort: column[:sort]})) content = template.link_to(label, url) else content = label end cell_classes = ' class="' + cell_classes.join(' ') + '"' title = column[:title] ? " title=\"#{h(column[:title])}\"" : '' liner_classes = liner_classes.length ? " class=\"#{liner_classes.join(" ")}\"" : '' "<th#{cell_classes}><div#{title}#{liner_classes}>#{h content}</div></th>".html_safe end |
#render(url_params = {}) ⇒ Object
9 10 11 12 13 14 |
# File 'lib/grapple/components/column_headings.rb', line 9 def render(url_params = {}) cols = columns.collect do |column| indent + column_header(column, url_params) end builder.row cols.join("\n"), :class => row_class end |