OSDN Git Service

fix: fetch fail
[pettanr/pettanr.git] / app / assets / javascripts / pettanr / finder.js.coffee
1 class Pettanr.Finder extends Backbone.Collection\r
2   \r
3   initialize: (@action_manifest, @params) ->\r
4     @return_model = Manifest.item_name_to_model @action_manifest.return_item_name\r
5   \r
6   parse: (res) ->\r
7     @page_status = res.page_status\r
8     res.list\r
9   \r
10   items: () ->\r
11     _.map @models, (model) =>\r
12       item = new @return_model(model.attributes)\r
13       Pettanr.cache.store(item)\r
14   \r
15   open: (context, options) ->\r
16     @url = '/' + @action_manifest.url(@params)\r
17     @fetch({\r
18       success: (collection, response, opt) =>\r
19         # @boost(items)\r
20         options.success.call(context, @items())\r
21       error: (collection, response, opt) =>\r
22         options.fail.call(context, response, opt)\r
23     })\r
24   \r
25   to_filer: (context, options) ->\r
26     @open(context, {\r
27       success: (items) => \r
28         pager = Locmare.ListGroupModule.LibModule.Pager.factory(@page_status, @params)\r
29         filer = new Locmare.Filer({\r
30           item_name: @action_manifest.return_item_name, \r
31           items: items, \r
32           pager: pager\r
33         })\r
34         options.success.call(context, filer)\r
35       fail: (response, opt) =>\r
36         options.fail.call(context, response, opt)\r
37     })\r
38   \r