OSDN Git Service

add bucket
[pettanr/pettanr.git] / app / assets / javascripts / locmare / bucket / member.js.coffee
1 class Locmare.BucketModule.Member\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_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 Tag.Div({\r
55         content: null,\r
56         class_name: 'row_break'\r
57       })\r
58     else\r
59       null\r
60   \r