1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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]}
Models are sorted by:
- ["id","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();
});
|