OSDN Git Service

t#31896:refact elm
[pettanr/pettanr.git] / lib / element_part.rb
index ee68580..0a1a69f 100644 (file)
@@ -5,6 +5,10 @@ module ElementPart
   end
   
   module ClassMethods
+    def colum_structures
+      raise
+    end
+    
     def list_opt_for_panel
       {}
     end
@@ -32,6 +36,10 @@ module ElementPart
       false
     end
     
+    def has_helper? column_name
+      self.class.colum_structures[column_name] and self.class.colum_structures[column_name][:helper]
+    end
+    
     def new_parent
       @new_parent
     end
@@ -93,6 +101,10 @@ module ElementPart
       end
     end
     
+    def form_helper_template(colum_name)
+      self.class.colum_structures[colum_name][:helper]
+    end
+    
     def tag_attributes column = nil, opt = {}
       {
         :id => self.field_tag_id(column), :panel_id => self.tag_panel_id, 
@@ -116,6 +128,14 @@ module ElementPart
       r.merge(opt)
     end
     
+    def select_tag_attributes(selected, column, no_attr)
+      [
+        :last, :first, 
+        {:html => {:selected => selected}}, 
+        self.field_tag_attributes(column, no_attr)
+      ]
+    end
+    
     def tag_attr column = nil, opt = {}
       self.tag_attributes(column, opt).to_attr
     end