OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / app / assets / javascripts / locmare / form / extend_field.js.coffee
1 class Locmare.FormModule.ExtendField extends Backbone.View\r
2   tagName: 'div'\r
3   className: 'extend-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     _.each @field_manifest.helpers, (helper_manifest, helper_name) =>\r
13       @helpers[helper_name] = Locmare.FormModule.FieldModule.HelperFactory.factory(this, helper_manifest)\r
14     @rb = @row_break()\r
15     @options = {'data-model': @field_manifest.item_name()}\r
16   \r
17   render: () ->\r
18     this.$el.html('')\r
19     this.$el.append(@label.render().el) if not @label.hidden()\r
20     this.$el.append(@tag.render().el)\r
21     _.each @helpers, (helper) =>\r
22       this.$el.append(helper.render().el)\r
23     this.$el.append(@rb.render().el) if @rb\r
24     this\r
25   \r
26   mounted: () ->\r
27     if @form.mounted\r
28       0\r
29     else\r
30       1\r
31   \r
32   mount_option: () ->\r
33     {'mount': @mounted()}\r
34   \r
35   item: () ->\r
36     @form.item\r
37   \r
38   value: () ->\r
39     @item().get(@field_manifest.column_name)\r
40   \r
41   options: (tag_options = {}) ->\r
42     tag_options\r
43   \r
44   form_field_name: () ->\r
45     @form.form_field_name @field_name\r
46   \r
47   form_name: () ->\r
48     @form.form_name\r
49   \r
50   row_break: () ->\r
51     if @field_manifest.row_break\r
52       new Tag.Div({\r
53         content: null,\r
54         class_name: 'row_break'\r
55       })\r
56     else\r
57       null\r
58   \r