OSDN Git Service

fix:replace row break
[pettanr/pettanr.git] / app / assets / javascripts / locmare / profiler / association / belongs_to.js.coffee
1 class Locmare.ProfilerModule.AssociationModule.BelongsTo extends Pettanr.View\r
2   tagName: 'div'\r
3   \r
4   initialize: (options) ->\r
5     @association = options.association\r
6     @belongs_to_manifest = options.belongs_to_manifest\r
7   \r
8   clear: () ->\r
9     this.$el.html('')\r
10     retriever = new Pettanr.Cache.Retriever(@parent_model(), @parent_id())\r
11     @listenTo(retriever, 'retrieve', @retrieve_parent_item)\r
12     retriever.retrieve()\r
13     this\r
14   \r
15   retrieve_parent_item: (@parent_item) ->\r
16     @set_filer()\r
17     @render()\r
18   \r
19   render: () ->\r
20     this.$el.html('')\r
21     this.$el.append(@filer.el)\r
22     this\r
23   \r
24   set_filer: () ->\r
25     @filer = new Locmare.Filer({\r
26       item_name: @parent_item.item_name(), \r
27       items: [@parent_item], \r
28       pager: null, \r
29     })\r
30     @filer.render()\r
31     @listenTo(@filer, 'http_get', @http_get)\r
32     @listenTo(@filer, 'pick', @pick)\r
33   \r
34   item: () ->\r
35     @profiler().item\r
36   \r
37   parent_model: () ->\r
38     @belongs_to_manifest.model()\r
39   \r
40   parent_id: () ->\r
41     c = @model_belongs_to_manifest().id_column\r
42     @item().get(c)\r
43   \r
44   model_manifest: () ->\r
45     Manifest.manifest().models[@profiler().item_name]\r
46   \r
47   model_belongs_to_manifest: () ->\r
48     @model_manifest().associations.belongs_to[@belongs_to_manifest.item_name]\r
49   \r
50   profiler: () ->\r
51     @association.profiler\r
52   \r
53   add_pick: (target_model) ->\r
54     retrieve_pick_item = (@parent_item) =>\r
55       @set_filer()\r
56       @render()\r
57       @filer.add_pick(target_model)\r
58     retriever = new Pettanr.Cache.Retriever(@parent_model(), @parent_id())\r
59     @listenTo(retriever, 'retrieve', retrieve_pick_item)\r
60     retriever.retrieve()\r
61   \r
62   retrieve_pick_item: (@parent_item) ->\r
63     @set_filer()\r
64     @render()\r
65     @filer.add_pick(target_model)\r
66   \r
67   http_get: (url) ->\r
68     @trigger('http_get', url)\r
69   \r
70   pick: (item) ->\r
71     @trigger('pick', item)\r
72   \r