OSDN Git Service

rename model name
[pettanr/pettanr.git] / app / assets / javascripts / locmare / profiler / column / base.js.coffee
1 class Locmare.ProfilerModule.ColumnModule.Base extends Backbone.View\r
2   tagName: 'div'\r
3   className: 'column'\r
4   \r
5   initialize: (options) ->\r
6     @profiler = options.profiler\r
7     @column_manifest = options.column_manifest\r
8     @column_name = @column_manifest.name\r
9     c = @label_class()\r
10     @label = new c({column: this})\r
11     c = @value_class()\r
12     @value = new c({column: this})\r
13     c = @note_class()\r
14     @note = new c({column: this})\r
15   \r
16   render: () ->\r
17     this.$el.html('')\r
18     this.$el.append(@label.render().el)\r
19     this.$el.append(@value.render().el)\r
20     this.$el.append(@note.render().el) if @note.is_visible()\r
21     this\r
22   \r
23   item: () ->\r
24     @profiler.item\r
25   \r
26   label_class: () ->\r
27     Locmare.ProfilerModule.ColumnModule.Label\r
28   \r
29   value_class: () ->\r
30     Locmare.ProfilerModule.ColumnModule.Value\r
31   \r
32   note_class: () ->\r
33     Locmare.ProfilerModule.ColumnModule.NoteNone\r
34   \r
35 class Locmare.ProfilerModule.ColumnModule.Label extends Backbone.View\r
36   tagName: 'span'\r
37   \r
38   initialize: (options) ->\r
39     @column = options.column\r
40   \r
41   render: () ->\r
42     this.$el.html(@label())\r
43     this\r
44   \r
45   label: () ->\r
46     Pettanr.AppHelper.t_a(@column.item().item_name(), @column.column_name)\r
47   \r
48 class Locmare.ProfilerModule.ColumnModule.Value extends Backbone.View\r
49   tagName: 'span'\r
50   \r
51   initialize: (options) ->\r
52     @column = options.column\r
53   \r
54   render: () ->\r
55     this.$el.html(@value())\r
56     this\r
57   \r
58   value: () ->\r
59     @column.item().get(@column.column_name)\r
60   \r
61 class Locmare.ProfilerModule.ColumnModule.DateValue extends Backbone.View\r
62   tagName: 'span'\r
63   \r
64   initialize: (options) ->\r
65     @column = options.column\r
66   \r
67   render: () ->\r
68     this.$el.html(@value())\r
69     this\r
70   \r
71   value: () ->\r
72     @column.item().get(@column.column_name)\r
73     #Pettanr.format_date(@column.item().get(@column.column_name))\r
74   \r
75 class Locmare.ProfilerModule.ColumnModule.JsonValue extends Backbone.View\r
76   tagName: 'pre'\r
77   \r
78   initialize: (options) ->\r
79     @column = options.column\r
80   \r
81   render: () ->\r
82     this.$el.html(@value())\r
83     this\r
84   \r
85   value: () ->\r
86     JSON.stringify(JSON.parse(@column.item().get(@column.column_name)), 2)\r
87   \r
88 class Locmare.ProfilerModule.ColumnModule.ExtendValue extends Backbone.View\r
89   tagName: 'div'\r
90   \r
91   initialize: (options) ->\r
92     @column = options.column\r
93     @columns = {}\r
94     _this = this\r
95     _.each @extend_settings().column_names, (extend_column_name) ->\r
96       extend_column_manifest = _this.extend_settings().columns[extend_column_name] || {}\r
97       _this.columns[extend_column_name] = new Locmare.ProfilerModule.ColumnModule.ExtendModule.ExtendColumn({\r
98         column: _this, \r
99         extend_column_name: extend_column_name, \r
100         extend_column_manifest: extend_column_manifest\r
101       })\r
102   \r
103   render: () ->\r
104     _this = this\r
105     this.$el.html('')\r
106     _.each @sorted_columns(), (extend_column) ->\r
107       _this.$el.append(extend_column.render().el)\r
108     this\r
109   \r
110   sorted_columns: () ->\r
111     _this = this\r
112     _.map @extend_settings().column_names, (column_name) ->\r
113       _this.columns[column_name]\r
114   \r
115   extend_settings: () ->\r
116     @template_model_profiler().extend_settings[@booster().item_name()]\r
117   \r
118   template_model_profiler: () ->\r
119     LocalManifest.manifest().profilers[@template_model().item_name()]\r
120   \r
121   template_model: () ->\r
122     @booster().template_model()\r
123   \r
124   extend_item: () ->\r
125     @booster().extend_item()\r
126   \r
127   booster: () ->\r
128     @column.item().boosters[@column.column_manifest.boost_name]\r
129   \r
130 class Locmare.ProfilerModule.ColumnModule.NoteNone\r
131   \r
132   is_visible:() ->\r
133     false\r
134   \r
135 class Locmare.ProfilerModule.ColumnModule.Note extends Backbone.View\r
136   tagName: 'span'\r
137   \r
138   initialize: (options) ->\r
139     @column = options.column\r
140   \r
141   render: () ->\r
142     this.$el.html(@note())\r
143     this\r
144   \r
145   note: () ->\r
146     Pettanr.AppHelper.t_selected_item(@select_item_name(), @column.value.value())\r
147   \r
148   is_visible:() ->\r
149     true\r
150   \r
151   select_item_name: () ->\r
152     @model_attribute_source_manifest().select_item_name\r
153   \r
154   model_manifest: () ->\r
155     Manifest.manifest().models[@column.profiler.item_name]\r
156   \r
157   model_attribute_manifest: () ->\r
158     @model_manifest().attributes[@column.column_name]\r
159   \r
160   model_attribute_source_manifest: () ->\r
161     @model_attribute_manifest().source\r