OSDN Git Service

change: picker
[pettanr/pettanr.git] / app / assets / javascripts / locmare / profiler / association / has_many.js.coffee
1 class Locmare.ProfilerModule.AssociationModule.HasMany extends Backbone.View\r
2   tagName: 'div'\r
3   \r
4   initialize: (options) ->\r
5     @association = options.association\r
6     @has_many_manifest = options.has_many_manifest\r
7     @filer = null\r
8     controller = Manifest.manifest().controllers[@has_many_manifest.controller_name]\r
9     action = controller.actions[@has_many_manifest.action_name]\r
10     @list = Locmare.ListGroup.list(\r
11       action.path_name(), action.name, \r
12       @profiler().operators, {id: @item().get('id'), page: 1, page_size: 3}\r
13     )\r
14     @list.open((page_status) =>\r
15       @set_filer()\r
16       @render()\r
17     )\r
18   \r
19   clear: () ->\r
20     this.$el.html('')\r
21     this\r
22   \r
23   render: () ->\r
24     this.$el.html(@filer.el)\r
25     this\r
26   \r
27   set_filer: () ->\r
28     @filer = new Locmare.Filer({\r
29       item_name: @has_many_model().item_name(), \r
30       items: @list.items(), \r
31       pager: @pager, \r
32       operators: @profiler().operators\r
33     })\r
34     @filer.render()\r
35     @listenTo(@filer, 'http_get', @http_get)\r
36   \r
37   item: () ->\r
38     @profiler().item\r
39   \r
40   has_many_model: () ->\r
41     @has_many_manifest.model()\r
42   \r
43   profiler: () ->\r
44     @association.profiler\r
45   \r
46   add_pick: (target_model) ->\r
47     @list.open((page_status) =>\r
48       @set_filer()\r
49       @render()\r
50       @filer.add_pick(target_model)\r
51     )\r
52   \r
53   http_get: (url) ->\r
54     @trigger('http_get', url)\r
55  \r