listview 2.0.0 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/listview.rb +16 -7
- metadata +1 -1
data/lib/listview.rb
CHANGED
@@ -19,6 +19,13 @@ class ListView
|
|
19
19
|
|
20
20
|
#parameters: vars[:events], vars[:date], vars[:page], vars[:events_per_page], vars[:date_format]
|
21
21
|
def get_events_and_page_info vars
|
22
|
+
if vars[:events] == []
|
23
|
+
return {
|
24
|
+
events: [],
|
25
|
+
rightmost_page: 0,
|
26
|
+
leftmost_page: 0,
|
27
|
+
}
|
28
|
+
end
|
22
29
|
vars[:date] ||= DateTime.now
|
23
30
|
event_closed_to_today = get_event_closed_to_today(vars[:events], vars[:date])
|
24
31
|
next_event = event_closed_to_today + (vars[:page].to_i * vars[:events_per_page].to_i)
|
@@ -62,17 +69,16 @@ class ListView
|
|
62
69
|
end
|
63
70
|
end
|
64
71
|
end
|
65
|
-
return closest_to_today
|
72
|
+
return closest_to_today || events.length
|
66
73
|
end
|
67
74
|
|
68
75
|
#parameters: vars[:events_per_page], vars[:next_event]
|
69
76
|
def leftmost_page vars
|
70
|
-
if vars[:
|
71
|
-
return -1
|
72
|
-
elsif vars[:events_per_page] == 0
|
77
|
+
if vars[:next_event] <= 0 || vars[:events_per_page] == 0
|
73
78
|
return 0
|
79
|
+
else
|
80
|
+
-(vars[:next_event] / vars[:events_per_page].to_f).ceil
|
74
81
|
end
|
75
|
-
-(((vars[:next_event].to_i) / vars[:events_per_page].to_f).ceil)
|
76
82
|
end
|
77
83
|
|
78
84
|
#parameters:
|
@@ -80,8 +86,11 @@ class ListView
|
|
80
86
|
#vars[:next_event]
|
81
87
|
#vars[:events_per_page]
|
82
88
|
def rightmost_page vars
|
83
|
-
|
84
|
-
|
89
|
+
if vars[:events] <= vars[:next_event]
|
90
|
+
return 0
|
91
|
+
else
|
92
|
+
((vars[:events] - vars[:next_event]) / vars[:events_per_page].to_f).ceil - 1
|
93
|
+
end
|
85
94
|
end
|
86
95
|
|
87
96
|
end
|