1 class Locmare.ListGroupModule.Base extends Backbone.Collection
\r
3 initialize: (options) ->
\r
4 @list_group_name = options.list_group_name
\r
5 @list_name = options.list_name
\r
6 @operators = options.operators
\r
7 @params = options.options
\r
9 @list_group_manifest = LocalManifest.manifest().list_groups[@list_group_name]
\r
10 @list_manifest = @list_group_manifest.lists[@list_name]
\r
12 @controller_name = @list_group_name
\r
13 @action_name = @list_name
\r
14 @controller_manifest = Manifest.manifest().controllers[@controller_name]
\r
15 @action_manifest = @controller_manifest.actions[@action_name]
\r
16 @item_name = @action_manifest.item_name
\r
17 @model_manifest = Manifest.manifest().models[@item_name]
\r
18 @model_class = Manifest.item_name_to_model @item_name
\r
19 @table_name = @model_class.table_name()
\r
21 page_number: (prm = null) ->
\r
22 page = Pettanr.to_i(parseInt(prm))
\r
23 page = 1 if page < 1
\r
27 page_size = Pettanr.to_i(parseInt(prm))
\r
28 page_size = @max_page_size() if page_size > @max_page_size()
\r
29 page_size = @default_page_size() if page_size < 1
\r
32 default_page_size: () ->
\r
33 @model_list_manifest.default_page_size
\r
35 max_page_size: () ->
\r
36 @model_list_manifest.max_page_size
\r
40 _.map @models, (model) ->
\r
41 new _this.model_class(model.attributes)
\r
44 new Pettanr.CounterModel({}, {url: '/' + @action_manifest.counter_url(@params)})
\r
47 page = @params['page']
\r
48 page_size = @params['page_size']
\r
49 @url = '/' + @action_manifest.url(@params)
\r
51 counter = new Locmare.ListGroupModule.Counter({}, {url: '/' + @action_manifest.counter_url(@params)})
\r
52 counter.fetch({cache: true}).done ->
\r
53 page_status = new Locmare.ListGroupModule.PageStatus(page, page_size, counter.count(), _this.params)
\r
54 _this.fetch({cache: true}).done ->
\r
58 class Locmare.ListGroupModule.Counter extends Backbone.Model
\r
59 initialize: (attr, options) ->
\r
60 @url = options['url']
\r
65 class Locmare.ListGroupModule.PageStatus
\r
67 constructor: (@current_page, @per_page, @count, @params) ->
\r