app/assets/javascripts/livelist.coffee in livelist-rails-0.0.9 vs app/assets/javascripts/livelist.coffee in livelist-rails-0.0.10

- old
+ new

@@ -73,11 +73,11 @@ partials[@resourceNameSingular] = @listItemTemplate listHTML = Mustache.to_html(@listTemplate, @data, partials) $(@renderTo).html( listHTML ) @removeFetchingIndication() -window.LiveList.version = '0.0.4' +window.LiveList.version = '0.0.5' class window.Filters extends Utilities constructor: (globalOptions, options = {}) -> @setOptions(globalOptions) @filters = if options.presets then _.keys(options.presets) else [] @@ -170,37 +170,35 @@ @setOptions(globalOptions) @emptyListMessage = "<p>No #{@resourceName} matched your filter criteria</p>" @setOptions(options) - $("#{@renderTo} a").live('click', @handlePaginationLinkClick) + $("#{@renderTo} a").live( 'click', (event) -> event.preventDefault() ) + $("#{@renderTo} li:not(.disabled) a").live('click', @handlePaginationLinkClick) - paginationTemplate: ''' + template: ''' {{#isEmpty}} {{{emptyListMessage}}} {{/isEmpty}} {{^isEmpty}} - {{#previousPage}} - <a href='{{urlPrefix}}?page={{previousPage}}' data-page='{{previousPage}}'>← Previous</a> - {{/previousPage}} - {{^previousPage}} - <span>← Previous</span> - {{/previousPage}} - {{#pages}} - {{#currentPage}} - <span>{{page}}</span> - {{/currentPage}} - {{^currentPage}} - <a href='{{urlPrefix}}?page={{page}}' data-page='{{page}}'>{{page}}</a> - {{/currentPage}} - {{/pages}} - {{#nextPage}} - <a href='{{urlPrefix}}?page={{nextPage}}' data-page='{{nextPage}}'>Next →</a> - {{/nextPage}} - {{^nextPage}} - <span>Next →</span> - {{/nextPage}} + <div class="pagination"> + <ul> + <li class="{{^previousPage}}disabled{{/previousPage}}"> + <a href='{{urlPrefix}}?page={{previousPage}}' data-page='{{previousPage}}'>← Previous</a> + </li> + + {{#pages}} + <li class="{{#currentPage}}active disabled{{/currentPage}}"> + <a href='{{urlPrefix}}?page={{page}}' data-page='{{page}}'>{{page}}</a> + </li> + {{/pages}} + + <li class="{{^nextPage}}disabled{{/nextPage}}"> + <a href='{{urlPrefix}}?page={{nextPage}}' data-page='{{nextPage}}'>Next →</a> + </li> + </ul> + </div> {{/isEmpty}} ''' pagesJSON: (currentPage, totalPages) -> groupSize = @maxPages / 2 @@ -223,10 +221,10 @@ pages : @pagesJSON(pagination.current_page, pagination.total_pages) } render: (data) -> @pagination = @paginationJSON(data.pagination) - paginationHTML = Mustache.to_html(@paginationTemplate, @pagination) + paginationHTML = Mustache.to_html(@template, @pagination) $(@renderTo).html( paginationHTML ) handlePaginationLinkClick: (event) => event.preventDefault() $(@listSelector).trigger(@eventName, {page: $(event.target).data('page')})