diff options
Diffstat (limited to 'views/models_navigation.haml')
-rw-r--r-- | views/models_navigation.haml | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/views/models_navigation.haml b/views/models_navigation.haml new file mode 100644 index 0000000..b491cb5 --- /dev/null +++ b/views/models_navigation.haml @@ -0,0 +1,70 @@ +.models_navigation + + %form{:name => "nav", :action => url_for('/models'), :method => "get", :id => "nav"} + %input{:type => :hidden, :name => :sort_by, :id => "sort_by", :value => params[:sort_by]} + %input{:type => :hidden, :name => :order, :id => "order", :value => params[:order]} + %input{:type => :hidden, :name => :page, :id => "page", :value => params[:page]} + + Sort by: + - ["created_at","name","type"].each do |s| + - idname = s == "created_at" ? "date" : s + - if params[:sort_by] == s + %div{:id => idname, :class => "active"} + %span="#{idname.capitalize}" + - if params[:order] == "ASC" + #up{:class => "link"} + %img{:src => "arrow_down.png", :alt => 'in ascending order', :title => 'in ascending order'}/ + - else + #down{:class => "link"} + %img{:src => "arrow_up.png", :alt => 'in descending order', :title => 'in descending order'}/ + - else + %div{:id => idname, :class => "link"}="#{idname.capitalize} " + - if @models.size > 5 + | + Models: + = "#{@models.size}" + - unless @page.to_i == 0 + #prev + %img{:src => "arrow_left.png", :alt => 'previous', :title => 'previous'}/ + -else + %img{:src => "arrow_left_inactive.png", :alt => '', :title => ''}/ + + - if @models.size < 5*@page+5 + - last = @models.size + - else + - last = 5*@page+5 + + = "(#{5*@page+1}-#{last}/#{@models.size})" + - unless 5*@page.to_i+5 >= @models.size + #next + %img{:src => "arrow_right.png", :alt => 'next', :title => 'next'}/ + -else + %img{:src => "arrow_right_inactive.png", :alt => '', :title => ''}/ + + - js = "" + - ["id","created_at","name","type"].each do |s| + - idname = s == "created_at" ? "date" : s + - js += "$('##{idname}').click(function() \{ \n " + - js += " $('#sort_by').val('#{s}');\n " + - js += " $('#nav').submit();\n " + - js += "});\n " + + :javascript + $("#prev").click(function() { + $("#page").val(#{@page-1}); + $("#nav").submit(); + }); + $("#next").click(function() { + $("#page").val(#{@page+1}); + $("#nav").submit(); + }); + #{js} + $("#down").click(function() { + $("#order").val("ASC"); + $("#nav").submit(); + }); + $("#up").click(function() { + $("#order").val("DESC"); + $("#nav").submit(); + }); +
\ No newline at end of file |