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
22 @s = res.page_status
\r
25 page_number: (prm = null) ->
\r
26 page = Pettanr.to_i(parseInt(prm))
\r
27 page = 1 if page < 1
\r
31 page_size = Pettanr.to_i(parseInt(prm))
\r
32 page_size = @max_page_size() if page_size > @max_page_size()
\r
33 page_size = @default_page_size() if page_size < 1
\r
36 default_page_size: () ->
\r
37 @model_list_manifest.default_page_size
\r
39 max_page_size: () ->
\r
40 @model_list_manifest.max_page_size
\r
44 _.map @models, (model) ->
\r
45 new _this.model_class(model.attributes)
\r
48 new Pettanr.CounterModel({}, {url: '/' + @action_manifest.counter_url(@params)})
\r
51 page = @params['page']
\r
52 page_size = @params['page_size']
\r
53 @url = '/' + @action_manifest.url(@params)
\r
55 counter = new Locmare.ListGroupModule.Counter({}, {url: '/' + @action_manifest.counter_url(@params)})
\r
56 counter.fetch({cache: true}).done ->
\r
57 page_status = new Locmare.ListGroupModule.PageStatus(page, page_size, counter.count(), _this.params)
\r
58 _this.fetch({cache: true}).done ->
\r
62 class Locmare.ListGroupModule.Counter extends Backbone.Model
\r
63 initialize: (attr, options) ->
\r
64 @url = options['url']
\r
69 class Locmare.ListGroupModule.PageStatus
\r
71 constructor: (@current_page, @per_page, @count, @params) ->
\r