improvements to pagination

This commit is contained in:
Kyle Drake 2016-01-06 14:46:57 -08:00
parent 7714dc7c53
commit 32b4fe0d49
9 changed files with 38 additions and 69 deletions

View file

@ -1,7 +1,7 @@
get '/browse/?' do
@current_page = params[:current_page]
@current_page = @current_page.to_i
@current_page = 1 if @current_page == 0
@page = params[:page].to_i
@page = 1 if @page == 0
params.delete 'tag' if params[:tag].nil? || params[:tag].strip.empty?
@ -11,12 +11,14 @@ get '/browse/?' do
site_dataset = browse_sites_dataset
end
site_dataset = site_dataset.paginate @current_page, Site::BROWSE_PAGINATION_LENGTH
@page_count = site_dataset.page_count || 1
site_dataset = site_dataset.paginate @page, Site::BROWSE_PAGINATION_LENGTH
@pagination_dataset = site_dataset
@sites = site_dataset.all
if params[:tag]
@title = "Sites tagged #{params[:tag]}"
end
erb :browse
end

View file

@ -6,23 +6,23 @@ get '/?' do
@suggestions = current_site.suggestions
@current_page = params[:current_page].to_i
@current_page = 1 if @current_page == 0
@page = params[:page].to_i
@page = 1 if @page == 0
if params[:activity] == 'mine'
events_dataset = current_site.latest_events(@current_page, 10)
events_dataset = current_site.latest_events(@page, 10)
elsif params[:event_id]
event = Event.select(:id).where(id: params[:event_id]).first
not_found if event.nil?
not_found if event.is_deleted
events_dataset = Event.where(id: params[:event_id]).paginate(1, 1)
elsif params[:activity] == 'global'
events_dataset = Event.global_dataset @current_page
events_dataset = Event.global_dataset @page
else
events_dataset = current_site.news_feed(@current_page, 10)
events_dataset = current_site.news_feed(@page, 10)
end
@page_count = events_dataset.page_count || 1
@pagination_dataset = events_dataset
@events = events_dataset.all
current_site.events_dataset.update notification_seen: true

View file

@ -13,9 +13,9 @@ get '/site/:username/?' do |username|
@title = site.title
@current_page = params[:current_page]
@current_page = @current_page.to_i
@current_page = 1 if @current_page == 0
@page = params[:page]
@page = @page.to_i
@page = 1 if @page == 0
if params[:event_id]
not_found unless params[:event_id].is_integer?
@ -23,10 +23,11 @@ get '/site/:username/?' do |username|
not_found if event.nil?
events_dataset = Event.where(id: params[:event_id]).paginate(1, 1)
else
events_dataset = site.latest_events(@current_page, 10)
events_dataset = site.latest_events(@page, 10)
end
@page_count = events_dataset.page_count || 1
@pagination_dataset = events_dataset
@latest_events = events_dataset.all
erb :'site', locals: {site: site, is_current_site: site == current_site}

View file

@ -1,8 +1,8 @@
get '/surf/?' do
@current_page = params[:current_page].to_i || 1
@page = params[:page].to_i || 1
params.delete 'tag' if params[:tag].nil? || params[:tag].strip.empty?
site_dataset = browse_sites_dataset
site_dataset = site_dataset.paginate @current_page, 1
site_dataset = site_dataset.paginate @page, 1
@page_count = site_dataset.page_count || 1
@site = site_dataset.first
redirect "/browse?#{Rack::Utils.build_query params}" if @site.nil?