class NeatPages::Helpers::Navigation < NeatPages::Helpers::Builder def generate(options={}) options = { format: :standard }.merge(options) return '' if not paginated? reset_builder return case options[:format] when :light then navigation_light else navigation_standard end end private def link_to(label, no_page, options={}) options = { class: '' }.merge(options) url = (no_page == '#' ? '#' : path_to(no_page)) return "#{label}" end def link_to_page(no_page) link_to no_page, no_page end def navigation_attributes { "id" => "neat-pages-navigation", "data-neat-pages-control=" => "navigation", "data-per-page" => per_page, "data-total-items" => total_items, "data-total-pages" => total_pages }.map{ |k,v| "#{k}=\"#{v}\"" }.join(' ') end def navigation_label(direction) (direction == 'next' ? "#{t('next_page')} »" : "« #{t('previous_page')}").html_safe end def navigation_list_link(direction, enabled) list_class = enabled ? '' : 'disabled' content = enabled ? navigation_link(direction) : link_to(navigation_label(direction), '#', class: direction) b li(content, "move #{direction} #{list_class}") end def navigation_light b '