Pagination improvements (#1445)
* Replace will_paginate with kaminari * Use #page instead of #paginate in controllers * Replace will_paginate.page_gap with pagination.truncate in i18n * Customize kaminari views to match prior styles * Set kaminari options to match prior behavior * Replace will_paginate with paginate in views
This commit is contained in:
parent
a283786463
commit
4ada50985a
36 changed files with 77 additions and 65 deletions
|
@ -173,7 +173,7 @@
|
|||
text-align: center;
|
||||
overflow: hidden;
|
||||
|
||||
a, .current, .next_page, .previous_page, .gap {
|
||||
a, .current, .page, .gap {
|
||||
font-size: 14px;
|
||||
color: $color5;
|
||||
font-weight: 500;
|
||||
|
@ -193,12 +193,12 @@
|
|||
cursor: default;
|
||||
}
|
||||
|
||||
.previous_page, .next_page {
|
||||
.prev, .next {
|
||||
text-transform: uppercase;
|
||||
color: $color2;
|
||||
}
|
||||
|
||||
.previous_page {
|
||||
.prev {
|
||||
float: left;
|
||||
padding-left: 0;
|
||||
|
||||
|
@ -208,7 +208,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
.next_page {
|
||||
.next {
|
||||
float: right;
|
||||
padding-right: 0;
|
||||
|
||||
|
@ -226,11 +226,11 @@
|
|||
@media screen and (max-width: 360px) {
|
||||
padding: 30px 20px;
|
||||
|
||||
a, .current, .next_page, .previous_page, .gap {
|
||||
a, .current, .next, .prev, .gap {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.next_page, .previous_page {
|
||||
.next, .prev {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,11 +35,11 @@ class AccountsController < ApplicationController
|
|||
end
|
||||
|
||||
def followers
|
||||
@followers = @account.followers.order('follows.created_at desc').paginate(page: params[:page], per_page: 12)
|
||||
@followers = @account.followers.order('follows.created_at desc').page(params[:page]).per(12)
|
||||
end
|
||||
|
||||
def following
|
||||
@following = @account.following.order('follows.created_at desc').paginate(page: params[:page], per_page: 12)
|
||||
@following = @account.following.order('follows.created_at desc').page(params[:page]).per(12)
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
@ -5,7 +5,7 @@ module Admin
|
|||
before_action :set_account, except: :index
|
||||
|
||||
def index
|
||||
@accounts = Account.alphabetic.paginate(page: params[:page], per_page: 40)
|
||||
@accounts = Account.alphabetic.page(params[:page])
|
||||
|
||||
@accounts = @accounts.local if params[:local].present?
|
||||
@accounts = @accounts.remote if params[:remote].present?
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
module Admin
|
||||
class DomainBlocksController < BaseController
|
||||
def index
|
||||
@blocks = DomainBlock.paginate(page: params[:page], per_page: 40)
|
||||
@blocks = DomainBlock.page(params[:page])
|
||||
end
|
||||
|
||||
def new
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
module Admin
|
||||
class PubsubhubbubController < BaseController
|
||||
def index
|
||||
@subscriptions = Subscription.order('id desc').includes(:account).paginate(page: params[:page], per_page: 40)
|
||||
@subscriptions = Subscription.order('id desc').includes(:account).page(params[:page])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,7 +5,7 @@ module Admin
|
|||
before_action :set_report, except: [:index]
|
||||
|
||||
def index
|
||||
@reports = Report.includes(:account, :target_account).order('id desc').paginate(page: params[:page], per_page: 40)
|
||||
@reports = Report.includes(:account, :target_account).order('id desc').page(params[:page])
|
||||
@reports = params[:action_taken].present? ? @reports.resolved : @reports.unresolved
|
||||
end
|
||||
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
module AccountsHelper
|
||||
def pagination_options
|
||||
{
|
||||
previous_label: safe_join([fa_icon('chevron-left'), t('pagination.prev')], ' '),
|
||||
next_label: safe_join([t('pagination.next'), fa_icon('chevron-right')], ' '),
|
||||
inner_window: 1,
|
||||
outer_window: 0,
|
||||
}
|
||||
end
|
||||
end
|
|
@ -9,4 +9,4 @@
|
|||
- else
|
||||
= render partial: 'grid_card', collection: @followers, as: :account, cached: true
|
||||
|
||||
= will_paginate @followers, pagination_options
|
||||
= paginate @followers
|
||||
|
|
|
@ -9,4 +9,4 @@
|
|||
- else
|
||||
= render partial: 'grid_card', collection: @following, as: :account, cached: true
|
||||
|
||||
= will_paginate @following, pagination_options
|
||||
= paginate @following
|
||||
|
|
|
@ -31,4 +31,4 @@
|
|||
|
||||
.pagination
|
||||
- if @statuses.size == 20
|
||||
= link_to safe_join([t('pagination.next'), fa_icon('chevron-right')], ' '), short_account_url(@account, max_id: @statuses.last.id), class: 'next_page', rel: 'next'
|
||||
= link_to safe_join([t('pagination.next'), fa_icon('chevron-right')], ' '), short_account_url(@account, max_id: @statuses.last.id), class: 'next', rel: 'next'
|
||||
|
|
|
@ -46,4 +46,4 @@
|
|||
= table_link_to 'globe', 'Public', TagManager.instance.url_for(account)
|
||||
= table_link_to 'pencil', 'Edit', admin_account_path(account.id)
|
||||
|
||||
= will_paginate @accounts, pagination_options
|
||||
= paginate @accounts
|
||||
|
|
|
@ -13,5 +13,5 @@
|
|||
%samp= block.domain
|
||||
%td= block.severity
|
||||
|
||||
= will_paginate @blocks, pagination_options
|
||||
= paginate @blocks
|
||||
= link_to 'Add new', new_admin_domain_block_path, class: 'button'
|
||||
|
|
|
@ -26,4 +26,4 @@
|
|||
- else
|
||||
= l subscription.last_successful_delivery_at
|
||||
|
||||
= will_paginate @subscriptions, pagination_options
|
||||
= paginate @subscriptions
|
||||
|
|
|
@ -29,4 +29,4 @@
|
|||
%td= truncate(report.comment, length: 30, separator: ' ')
|
||||
%td= table_link_to 'circle', 'View', admin_report_path(report)
|
||||
|
||||
= will_paginate @reports, pagination_options
|
||||
= paginate @reports
|
||||
|
|
9
app/views/kaminari/_next_page.html.haml
Normal file
9
app/views/kaminari/_next_page.html.haml
Normal file
|
@ -0,0 +1,9 @@
|
|||
-# Link to the "Next" page
|
||||
-# available local variables
|
||||
-# url: url to the next page
|
||||
-# current_page: a page object for the currently displayed page
|
||||
-# total_pages: total number of pages
|
||||
-# per_page: number of items to fetch per page
|
||||
-# remote: data-remote
|
||||
%span.next
|
||||
= link_to_unless current_page.last?, safe_join([t('pagination.next'), fa_icon('chevron-right')], ' '), url, rel: 'next', remote: remote
|
16
app/views/kaminari/_paginator.html.haml
Normal file
16
app/views/kaminari/_paginator.html.haml
Normal file
|
@ -0,0 +1,16 @@
|
|||
-# The container tag
|
||||
-# available local variables
|
||||
-# current_page: a page object for the currently displayed page
|
||||
-# total_pages: total number of pages
|
||||
-# per_page: number of items to fetch per page
|
||||
-# remote: data-remote
|
||||
-# paginator: the paginator that renders the pagination tags inside
|
||||
= paginator.render do
|
||||
%nav.pagination
|
||||
= prev_page_tag unless current_page.first?
|
||||
- each_page do |page|
|
||||
- if page.display_tag?
|
||||
= page_tag page
|
||||
- elsif !page.was_truncated?
|
||||
= gap_tag
|
||||
= next_page_tag unless current_page.last?
|
9
app/views/kaminari/_prev_page.html.haml
Normal file
9
app/views/kaminari/_prev_page.html.haml
Normal file
|
@ -0,0 +1,9 @@
|
|||
-# Link to the "Previous" page
|
||||
-# available local variables
|
||||
-# url: url to the previous page
|
||||
-# current_page: a page object for the currently displayed page
|
||||
-# total_pages: total number of pages
|
||||
-# per_page: number of items to fetch per page
|
||||
-# remote: data-remote
|
||||
%span.prev
|
||||
= link_to_unless current_page.first?, safe_join([fa_icon('chevron-left'), t('pagination.prev')], ' '), url, rel: 'prev', remote: remote
|
|
@ -15,4 +15,4 @@
|
|||
|
||||
- if @statuses.size == 20
|
||||
.pagination
|
||||
= link_to safe_join([t('pagination.next'), fa_icon('chevron-right')], ' '), tag_url(@tag, max_id: @statuses.last.id), class: 'next_page', rel: 'next'
|
||||
= link_to safe_join([t('pagination.next'), fa_icon('chevron-right')], ' '), tag_url(@tag, max_id: @statuses.last.id), class: 'next', rel: 'next'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue