From: Michal Fojtik <[email protected]>
---
src/app/helpers/application_helper.rb | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/src/app/helpers/application_helper.rb
b/src/app/helpers/application_helper.rb
index 6b82e6d..7c6a5a7 100644
--- a/src/app/helpers/application_helper.rb
+++ b/src/app/helpers/application_helper.rb
@@ -82,6 +82,33 @@ module ApplicationHelper
content_tag 'th', label
end
+ # Fields example:
+ # [
+ # { :name => 'Pool name', :sort_attr => 'name'},
+ # { :name => 'Zone', :sortable => false},
+ # ]
+ def sortable_table_header(fields=[])
+ columns = fields.collect do |field|
+ if field[:sortable]==true or field[:sortable].nil?
+ order_dir = params[:order_dir] ? params[:order_dir] : 'desc'
+ content_tag('th', :class =>
(field[:sort_attr].to_s.eql?(params[:order_field]) ? 'active' : nil)) do
+ link_to(field[:name], :controller => params[:controller],
+ :action => params[:action], :order_field => field[:sort_attr],
+ :order_dir => order_dir.eql?('asc') ? 'desc' : 'asc')
+ end
+ else
+ content_tag('th') do
+ field[:name]
+ end
+ end
+ end
+ header = content_tag('thead') do
+ content_tag('tr') do
+ columns.join
+ end
+ end
+ end
+
def paginated_table(html_id, columns, data, opts = {})
search_url = url_for(:partial => true, :order => opts[:order], :order_dir
=> opts[:order_dir])
--
1.7.2.3
_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel