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')})