1 class Locmare.FilerModule.Pager extends Backbone.View
\r
3 className: 'pagination'
\r
5 initialize: (options) ->
\r
6 @filer = options.filer
\r
10 t = @filer.list_result.total
\r
21 class Locmare.FilerModule.DefaultPager extends Locmare.FilerModule.Pager
\r
23 className: 'pagination'
\r
25 initialize: (options) ->
\r
26 @page_status = options.page_status
\r
27 @counter = @page_status.counter
\r
28 @current_page = @page_status.current_page
\r
29 @per_page = @page_status.per_page
\r
30 @window_size = @page_status.window_size
\r
33 @counter.fetch().done ->
\r
34 _this.total = _this.counter.get('count')
\r
35 _this.total_page = Math.floor(_this.total / _this.per_page) + 1
\r
43 _.each @parts, (part) ->
\r
44 _this.$el.append(part.render().el)
\r
45 this.$el.append(div('row_break').render().el)
\r
49 @parts.push(new Locmare.FilerModule.DefaultPager.FirstPage({})) if @hasPreviousPage()
\r
50 @parts.push(new Locmare.FilerModule.DefaultPager.PrevPage({})) if @hasPreviousPage()
\r
51 @parts.push(new Locmare.FilerModule.DefaultPager.PageGap({})) if @hasPreviousPageGap()
\r
52 f = if @hasPreviousPageGap()
\r
53 @current_page - @window_size
\r
56 t = if @hasNextPageGap()
\r
57 @current_page + @window_size
\r
61 @parts.push(new Locmare.FilerModule.DefaultPager.Page({page: page}))
\r
62 @parts.push(new Locmare.FilerModule.DefaultPager.PageGap({})) if @hasNextPageGap()
\r
63 @parts.push(new Locmare.FilerModule.DefaultPager.NextPage({})) if @hasNextPage()
\r
64 @parts.push(new Locmare.FilerModule.DefaultPager.LastPage({})) if @hasNextPage()
\r
66 hasPreviousPage: () ->
\r
70 @current_page < @total_page
\r
72 hasPreviousPageGap: () ->
\r
73 @current_page > @window_size + 1
\r
75 hasNextPageGap: () ->
\r
76 @total_page - @current_page > @window_size
\r
78 class Locmare.FilerModule.DefaultPager.FirstPage extends Backbone.View
\r
86 class Locmare.FilerModule.DefaultPager.PrevPage extends Backbone.View
\r
94 class Locmare.FilerModule.DefaultPager.PageGap extends Backbone.View
\r
96 className: 'page-gap'
\r
99 this.$el.html('...')
\r
102 class Locmare.FilerModule.DefaultPager.Page extends Backbone.View
\r
106 initialize: (options) ->
\r
107 @page = options.page
\r
110 this.$el.html(@page)
\r
113 class Locmare.FilerModule.DefaultPager.NextPage extends Backbone.View
\r
121 class Locmare.FilerModule.DefaultPager.LastPage extends Backbone.View
\r
126 this.$el.html('>>')
\r
129 class Locmare.FilerModule.MorePager extends Locmare.FilerModule.Pager
\r