OSDN Git Service

mrg
[pettanr/pettanr.git] / app / assets / javascripts / locmare / bucket / member.js.coffee
1 class Locmare.FormModule.Field extends Backbone.View\r
2   tagName: 'div'\r
3   className: 'field'\r
4   \r
5   initialize: (options) ->\r
6     @form = options.form\r
7     @field_name = options.field_name\r
8     @field_manifest = options.field_manifest\r
9     @label = Locmare.FormModule.FieldModule.LabelFactory.factory this, @field_manifest.label\r
10     @tag = Locmare.FormModule.FieldModule.TagFactory.factory this, @field_manifest.tag\r
11     @helpers = {}\r
12     _this = this\r
13     _.each @field_manifest.helpers, (helper_manifest, helper_name) ->\r
14       _this.helpers[helper_name] = Locmare.FormModule.FieldModule.HelperFactory.factory(_this, helper_manifest)\r
15     @rb = @row_break()\r
16     @options = {'data-model': @field_manifest.form_name}\r
17   \r
18   render: () ->\r
19     this.$el.html('')\r
20     this.$el.append(@label.render().el) if not @label.hidden()\r
21     this.$el.append(@tag.render().el)\r
22     _this = this\r
23     _.each @helpers, (helper) ->\r
24       _this.$el.append(helper.render().el)\r
25     this.$el.append(@rb.render().el) if @rb\r
26     this\r
27   \r
28   mounted: () ->\r
29     if @form.mounted\r
30       0\r
31     else\r
32       1\r
33   \r
34   mount_option: () ->\r
35     {'mount': @mounted()}\r
36   \r
37   item: () ->\r
38     @form.item\r
39   \r
40   value: () ->\r
41     @item().get(@field_manifest.column_name)\r
42   \r
43   options: (tag_options = {}) ->\r
44     tag_options\r
45   \r
46   form_field_name: () ->\r
47     @form.form_field_name @field_name\r
48   \r
49   form_name: () ->\r
50     @form.form_name\r
51   \r
52   row_break: () ->\r
53     if @field_manifest.row_break\r
54       new Pettanr.Tag.Div({\r
55         content: null,\r
56         class_name: 'row_break'\r
57       })\r
58     else\r
59       null\r
60   \r
61 class Locmare.BucketModule.Member\r
62   tagName: 'div'\r
63   className: 'field'\r
64   \r
65   initialize: (options) ->\r
66     @form = options.form\r
67     @field_name = options.field_name\r
68     @field_manifest = options.field_manifest\r
69     @label = Locmare.FormModule.FieldModule.LabelFactory.factory this, @field_manifest.label\r
70     @tag = Locmare.FormModule.FieldModule.TagFactory.factory this, @field_manifest.tag\r
71     @helpers = {}\r
72     _this = this\r
73     _.each @field_manifest.helpers, (helper_manifest, helper_name) ->\r
74       _this.helpers[helper_name] = Locmare.FormModule.FieldModule.HelperFactory.factory(_this, helper_manifest)\r
75     @rb = @row_break()\r
76     @options = {'data-model': @field_manifest.form_name}\r
77   \r
78   render: () ->\r
79     this.$el.html('')\r
80     this.$el.append(@label.render().el) if not @label.hidden()\r
81     this.$el.append(@tag.render().el)\r
82     _this = this\r
83     _.each @helpers, (helper) ->\r
84       _this.$el.append(helper.render().el)\r
85     this.$el.append(@rb.render().el) if @rb\r
86     this\r
87   \r
88   mounted: () ->\r
89     if @form.mounted\r
90       0\r
91     else\r
92       1\r
93   \r
94   mount_option: () ->\r
95     {'mount': @mounted()}\r
96   \r
97   item: () ->\r
98     @form.item\r
99   \r
100   value: () ->\r
101     @item().get(@field_manifest.column_name)\r
102   \r
103   options: (tag_options = {}) ->\r
104     tag_options\r
105   \r
106   form_field_name: () ->\r
107     @form.form_name + '[' + @field_name + ']'\r
108   \r
109   form_name: () ->\r
110     @form.form_name\r
111   \r
112   row_break: () ->\r
113     if @field_manifest.row_break\r
114       new Pettanr.Tag.Div({\r
115         content: null,\r
116         class_name: 'row_break'\r
117       })\r
118     else\r
119       null\r
120   \r