1 require_dependency "manifest/local/view/form/field/label"
2 require_dependency "manifest/local/view/form/field/tag"
3 require_dependency "manifest/local/view/form/field/helper"
9 attr :form, :field_name, :field_manifest,
10 :label, :tag, :helpers, :options
11 def initialize form, field_name, field_manifest
13 @field_name = field_name
14 @field_manifest = field_manifest
15 @label = LabelFactory.factory self, @field_manifest.label
16 @tag = TagFactory.factory self, @field_manifest.tag
18 @field_manifest.helpers.each {|helper_name, helper_manifest|
19 @helpers[helper_name] = HelperFactory.factory self, helper_manifest
21 @options = {'data-model' => @field_manifest.model_name}
29 {'mount' => self.mounted}
37 self.item.attributes[@field_manifest.column_name]
40 def options tag_options = {}
41 self.item.field_tag_attributes(@field_manifest.column_name, tag_options).merge(self.mount_option)
45 @field_manifest.form_field_name
53 @form.template_dir + 'field/'
56 def template_file_name
61 self.template_dir + self.template_file_name
64 def row_break_template_dir
65 @form.template_dir + 'row_break/'
68 def row_break_template_file_name
69 if @field_manifest.row_break
76 def row_break_template_name
77 self.row_break_template_dir + self.row_break_template_file_name