OSDN Git Service

clean
[pettanr/pettanr.git] / app / assets / javascripts / locmare / profiler / association.js.coffee
1 class Locmare.ProfilerModule.Association extends Backbone.View\r
2   tagName: 'div'\r
3   \r
4   initialize: (options) ->\r
5     @profiler = options.profiler\r
6     @association_manifest = options.association_manifest\r
7     @belongs_to = _.map @association_manifest.belongs_to, (belongs_to_manifest) =>\r
8       new Locmare.ProfilerModule.AssociationModule.BelongsTo({association: this, belongs_to_manifest: belongs_to_manifest})\r
9     @has_many = _.map @association_manifest.has_many, (list_manifest) =>\r
10       new Locmare.ProfilerModule.AssociationModule.HasMany({association: this, has_many_manifest: list_manifest})\r
11     @has_one = _.map @association_manifest.has_one, (list_manifest) =>\r
12       new Locmare.ProfilerModule.AssociationModule.HasOne({association: this, has_one_manifest: list_manifest})\r
13     @render()\r
14   \r
15   render: () ->\r
16     this.$el.html('')\r
17     caption = new Tag.Div({class_name: 'caption', content: 'associations'})\r
18     this.$el.append(caption.render().el)\r
19     caption = new Tag.Div({class_name: 'caption', content: 'belongs_to'})\r
20     this.$el.append(caption.render().el)\r
21     _.each @belongs_to, (f) =>\r
22       this.$el.append(f.render().el)\r
23     caption = new Tag.Div({class_name: 'caption', content: 'has_many'})\r
24     this.$el.append(caption.render().el)\r
25     _.each @has_many, (f) =>\r
26       this.$el.append(f.render().el)\r
27     caption = new Tag.Div({class_name: 'caption', content: 'has_one'})\r
28     this.$el.append(caption.render().el)\r
29     _.each @has_one, (f) =>\r
30       this.$el.append(f.render().el)\r
31     this\r
32   \r
33   item: () ->\r
34     @profiler.item\r
35   \r
36   model_manifest: () ->\r
37     Manifest.manifest().models[@profiler.item_name]\r
38   \r
39 class Locmare.ProfilerModule.AssociationModule\r
40 \r