mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: Topic timeline widget
This commit is contained in:
26
lib/timeline_lookup.rb
Normal file
26
lib/timeline_lookup.rb
Normal file
@@ -0,0 +1,26 @@
|
||||
module TimelineLookup
|
||||
|
||||
# Given an array of tuples (id, post_number, days_ago), return at most `max_values` worth of a
|
||||
# lookup table to help the front end timeline display dates associated with posts
|
||||
def self.build(tuples, max_values=300)
|
||||
result = []
|
||||
|
||||
every = (tuples.size.to_f / max_values).ceil
|
||||
|
||||
last_days_ago = -1
|
||||
tuples.each_with_index do |t, idx|
|
||||
next unless (idx % every) === 0
|
||||
|
||||
_, post_number, days_ago = t
|
||||
|
||||
if (days_ago != last_days_ago)
|
||||
result << [post_number, days_ago]
|
||||
last_days_ago = days_ago
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
result
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user