1 class Locmare.ListGroupModule.Base extends Backbone.Collection
\r
3 initialize: (options) ->
\r
4 @item_name = options.item_name
\r
5 @list_name = options.list_name
\r
6 @list_group_manifest = LocalManifest.manifest().list_groups[@item_name]
\r
7 @list_manifest = @list_group_manifest.lists[@list_name]
\r
8 @model_manifest = Manifest.manifest().models[@item_name]
\r
9 @model_list_manifest = @model_manifest.list
\r
10 @model_class = Manifest.item_name_to_model @item_name
\r
11 @table_name = @model_class.table_name()
\r
13 page_number: (prm = null) ->
\r
14 page = Pettanr.to_i(parseInt(prm))
\r
15 page = 1 if page < 1
\r
19 page_size = Pettanr.to_i(parseInt(prm))
\r
20 page_size = @max_page_size() if page_size > @max_page_size()
\r
21 page_size = @default_page_size() if page_size < 1
\r
24 default_page_size: () ->
\r
25 @model_list_manifest.default_page_size
\r
27 max_page_size: () ->
\r
28 @model_list_manifest.max_page_size
\r
30 count: (operators, params, action) ->
\r
31 new Pettanr.CounterModel({}, {url: '/' + action.counter_url(params)})
\r
33 open: (operators, params, _action, options, cb) ->
\r
34 page = @page_number(params['page'])
\r
35 page_size = @page_size(params['page_size'])
\r
36 controller = Manifest.manifest().controllers[@table_name]
\r
37 an = if @list_name == 'select_items' #hogeee
\r
41 action = controller.actions[an]
\r
42 #offset = (page - 1) * page_size
\r
43 #items = @items(operators, params, offset, page_size, action)
\r
44 @url = '/' + action.url(params)
\r
46 counter = new Locmare.ListGroupModule.Counter({}, {url: '/' + action.counter_url(params)})
\r
47 counter.fetch().done ->
\r
48 page_status = new Locmare.ListGroupModule.PageStatus(page, page_size, counter.count())
\r
49 _this.fetch(options).done ->
\r
53 class Locmare.ListGroupModule.Counter extends Backbone.Model
\r
54 initialize: (attr, options) ->
\r
55 @url = options['url']
\r
60 class Locmare.ListGroupModule.PageStatus
\r
62 constructor: (@current_page, @per_page, @count) ->
\r