OSDN Git Service

fix: yasapp dock
[pettanr/pettanr.git] / app / assets / javascripts / locmare / profiler / association / belongs_to.js.coffee
1 class Locmare.ProfilerModule.AssociationModule.BelongsTo extends Backbone.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     pm = @parent_model()\r
8     @item = new pm({id: @parent_id()})\r
9   \r
10   clear: () ->\r
11     this.$el.html('')\r
12     @item.fetch({cache: true}).done =>\r
13       @set_filer()\r
14       @render()\r
15     this\r
16   \r
17   render: () ->\r
18     this.$el.html('')\r
19     this.$el.append(@filer.el)\r
20     this\r
21   \r
22   set_filer: () ->\r
23     @filer = new Locmare.Filer({\r
24       item_name: @parent_model().item_name(), \r
25       items: [@item], \r
26       pager: null, \r
27       operators: @profiler().operators\r
28     })\r
29     @filer.render()\r
30     @listenTo(@filer, 'http_get', @http_get)\r
31     @listenTo(@filer, 'pick', @pick)\r
32   \r
33   item: () ->\r
34     @profiler().item\r
35   \r
36   parent_model: () ->\r
37     @belongs_to_manifest.model()\r
38   \r
39   parent_id: () ->\r
40     c = @model_belongs_to_manifest().id_column\r
41     @item().get(c)\r
42   \r
43   model_manifest: () ->\r
44     Manifest.manifest().models[@profiler().item_name]\r
45   \r
46   model_belongs_to_manifest: () ->\r
47     @model_manifest().associations.belongs_to[@belongs_to_manifest.item_name]\r
48   \r
49   profiler: () ->\r
50     @association.profiler\r
51   \r
52   add_pick: (target_model) ->\r
53     @item.fetch({cache: true}).done =>\r
54       @set_filer()\r
55       @render()\r
56       @filer.add_pick(target_model)\r
57   \r
58   http_get: (url) ->\r
59     @trigger('http_get', url)\r
60   \r
61   pick: (item) ->\r
62     @trigger('pick', item)\r
63   \r