Files
mozo-backend/app/assets/javascripts/user/app/modules/pagination.js.coffee
T
2014-03-27 21:51:16 +01:00

38 lines
1.1 KiB
CoffeeScript

App.PaginationModule = Ember.Mixin.create
#modelClass: ->
#@modelInfo.class
modelNameForStore: ->
#@modelInfo.store
@get('content.type.typeKey')
storeMetadata: (k) ->
#res = @store.typeMapFor(@modelClass()).metadata
res = @store.metadataFor @get('content.type.typeKey')
res = res[k] if k
res
setStoreMetadata: (k,v) ->
#res = @store.typeMapFor(@modelClass()).metadata
res = @store.metadataFor @get('content.type.typeKey')
res[k] = v
loadMore: ->
page = @storeMetadata('page') + 1
@setStoreMetadata('page',page)
@store.findQuery(@modelNameForStore(),page: page)
page
hasMoreFunc: ->
page = @storeMetadata('page')
total = @storeMetadata('total_pages')
#unfiltered = @storeMetadata('unfiltered_total_pages')
unfiltered = total
#console.debug "page #{page} total #{total} unfiltered #{unfiltered}"
!unfiltered || page < unfiltered
actions:
showMore: ->
page = @loadMore()
@set 'lastKnownPage', page
hasMore: (-> @hasMoreFunc()).property('lastKnownPage','firstObject','@each','filtered.@each')