OSDN Git Service

merge
[pettanr/pettanr.git] / lib / manifest / local / view / form / field / tag / base.rb
index ad0f006..3389660 100644 (file)
@@ -1,52 +1,71 @@
 module Manifest
-  module FormModule
-    module FieldModule
-      module TagModule
-        class Base
-          attr :field, :tag_manifest, 
-            :size
-          
-          def initialize field, tag_manifest
-            @field = field
-            @tag_manifest = tag_manifest
-            self.set_default
-            self.init
-          end
-          
-          def set_default
-            @tag_manifest['args'] ||= {}
-          end
-          
-          def init
-            @args = @tag_manifest['args']
-            @size = @args['size']
-          end
-          
-          def form_name
-            @field.form_name
+  module View
+    module FormModule
+      module FieldModule
+        module TagModule
+          class Base
+            attr :field, :tag_manifest
+            
+            def initialize field, tag_manifest
+              @field = field
+              @tag_manifest = tag_manifest
+            end
+            
+            def form_field_name
+              @field.form_field_name
+            end
+            
+            def value
+              @field.value
+            end
+            
+            def options
+              @field.options @tag_manifest.options
+            end
+            
+            def form
+              @field.form
+            end
+            
+            def manifest
+              self.form.manifest
+            end
+            
+            def form_name
+              self.form.form_name
+            end
+            
+            def model
+              self.form.model
+            end
+            
+            def item
+              self.form.item
+            end
+            
+            def model_name
+              @label_manifest.model_name
+            end
+            
+            def column_name
+              @label_manifest.column_name
+            end
+            
+            def template_dir
+              self.form.template_dir + 'tag/'
+            end
+            
+            def template_file_name
+              raise "undefined template_file_name\n"
+            end
+            
+            def template_name
+              self.template_dir + self.template_file_name
+            end
+            
           end
           
-          def field_name
-            @field.field_name
-          end
-          
-        end
-        
-        class TextTag < Base
-        end
-        
-        class NumberTag < Base
-        end
-        
-        class TextAreaTag < Base
-        end
-        
-        class SelectTag < Base
-        end
-        
-        class HiddenTag < Base
         end
-        
       end
     end
   end