OSDN Git Service

fix any
[pettanr/pettanr.git] / lib / locmare / bucket / form_field_name.rb
1 module Locmare
2   module BucketModule
3     class FieldName
4       attr :bucket, :field_name, :field_manifest, 
5         :label, :tag, :helpers, :options
6       def initialize bucket, field_name, field_manifest
7         @bucket = bucket
8         @field_name = field_name
9         @field_manifest = field_manifest
10         @label = LabelFactory.factory self, @field_manifest.label
11         @tag = TagFactory.factory self, @field_manifest.tag
12         @helpers = {}
13         @field_manifest.helpers.each {|helper_name, helper_manifest|
14           @helpers[helper_name] = HelperFactory.factory self, helper_manifest
15         }
16         @options = {'data-model' => @field_manifest.form_name}
17       end
18       
19       def item
20         @form.item
21       end
22       
23       def form_field_name
24         self.form_name + '[' + @field_name + ']'
25       end
26       
27       def form_name
28         @form.form_name
29       end
30       
31       def template_dir
32         @form.template_dir + 'field/'
33       end
34       
35       def template_file_name
36         'default'
37       end
38       
39       def template_name
40         self.template_dir + self.template_file_name
41       end
42       
43       def template_option
44         {:field => self}
45       end
46       
47       def row_break_template_dir
48         @form.template_dir + 'row_break/'
49       end
50       
51       def row_break_template_file_name
52         if @field_manifest.row_break
53           'br'
54         else
55           'no_break'
56         end
57       end
58       
59       def row_break_template_name
60         self.row_break_template_dir + self.row_break_template_file_name
61       end
62       
63     end
64   end
65 end