OSDN Git Service

fix: fetch fail
[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     @item().get_parent(@belongs_to_manifest.name, this, {\r
11       success: (@parent_item) =>\r
12         @set_filer()\r
13         @render()\r
14       fail: (response, opt) =>\r
15         @open_error_dialog(response, opt)\r
16     })\r
17     this\r
18   \r
19   \r
20   render: () ->\r
21     this.$el.html('')\r
22     this.$el.append(@filer.el)\r
23     this\r
24   \r
25   set_filer: () ->\r
26     @filer = new Locmare.Filer({\r
27       item_name: @parent_item.item_name(), \r
28       items: [@parent_item], \r
29       pager: null, \r
30     })\r
31     @filer.render()\r
32     @listenTo(@filer, 'http_get', @http_get)\r
33     @listenTo(@filer, 'pick', @pick)\r
34   \r
35   item: () ->\r
36     @profiler().item\r
37   \r
38   parent_model: () ->\r
39     @belongs_to_manifest.model()\r
40   \r
41   parent_id: () ->\r
42     c = @model_belongs_to_manifest().id_column\r
43     @item().get(c)\r
44   \r
45   model_manifest: () ->\r
46     Manifest.manifest().models[@profiler().item_name]\r
47   \r
48   model_belongs_to_manifest: () ->\r
49     @model_manifest().associations.belongs_to[@belongs_to_manifest.item_name]\r
50   \r
51   profiler: () ->\r
52     @association.profiler\r
53   \r
54   add_pick: (target_model) ->\r
55     @parent_model().retrieve(@parent_id(), this, {\r
56       success: (@parent_item) =>\r
57         @set_filer()\r
58         @render()\r
59         @filer.add_pick(target_model)\r
60       fail: (response, opt) =>\r
61         @open_error_dialog(response, opt)\r
62     })\r
63   \r
64   http_get: (url) ->\r
65     @trigger('http_get', url)\r
66   \r
67   pick: (item) ->\r
68     @trigger('pick', item)\r
69   \r