Skip to content

Instantly share code, notes, and snippets.

@LinkSake
Created August 25, 2021 17:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LinkSake/4a3d1ddfe86b0275bd0d4382dba18b7d to your computer and use it in GitHub Desktop.
Save LinkSake/4a3d1ddfe86b0275bd0d4382dba18b7d to your computer and use it in GitHub Desktop.
Semantic UI HAML Paginator
- if total == 1
%div
- else
.ui.compact.menu
- if total <= 4
- for i in 0...total
= link_to i + 1, url_for(request.parameters.merge({:page => i + 1})), class: 'item'
- else
- if page == 1
= link_to '<', url_for(request.parameters.merge({:page => page - 1})), class: 'item disabled'
- else
= link_to '<', url_for(request.parameters.merge({:page => page - 1})), class: 'item'
- if page > (total - 3)
- for i in (total - 2)...total
= link_to i - 2, url_for(request.parameters.merge({:page => i - 2})), class: 'item'
- else
- for i in page...(page + 2)
= link_to i + 1, url_for(request.parameters.merge({:page => i + 1})), class: 'item'
%a.item.disabled= "..."
- for i in (total - 2)...total
= link_to i + 1, url_for(request.parameters.merge({:page => i + 1})), class: 'item'
- if page == total
= link_to '>', url_for(request.parameters.merge({:page => page + 1})), class: 'item disabled'
- else
= link_to '>', url_for(request.parameters.merge({:page => page + 1})), class: 'item'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment