OSDN Git Service

fix form helper
authoryasushiito <yas@pen-chan.jp>
Sat, 8 Mar 2014 00:50:56 +0000 (09:50 +0900)
committeryasushiito <yas@pen-chan.jp>
Sat, 8 Mar 2014 00:50:56 +0000 (09:50 +0900)
46 files changed:
app/assets/javascripts/manifest/work/forms.js.coffee.erb
app/models/speech_balloon.rb
app/views/ground_colors/_element_face.html.erb
app/views/ground_colors/_scenario.html.erb
app/views/ground_pictures/_element_face.html.erb
app/views/ground_pictures/_scenario.html.erb
app/views/panel_pictures/_element_face.html.erb
app/views/panel_pictures/_scenario.html.erb
app/views/speech_balloons/_element_face.html.erb
app/views/templates/r/form/helper/_color_helper.html.erb [new file with mode: 0644]
app/views/templates/r/form/helper/_popup_helper.html.erb [new file with mode: 0644]
app/views/templates/r/form/helper/_size_helper.html.erb [new file with mode: 0644]
app/views/templates/r/form/helper/_tail_angle_helper.html.erb [new file with mode: 0644]
app/views/templates/r/panel_editor/panel_dock/_bay_labels.html.erb
app/views/templates/r/panel_editor/panel_dock/_board_bodys.html.erb
app/views/templates/r/panel_editor/panel_dock/_board_labels.html.erb
app/views/templates/r/panel_editor/panel_dock/bay_body/_element.html.erb
app/views/templates/r/panel_editor/panel_dock/bay_body/_new.html.erb
app/views/templates/r/panel_editor/panel_dock/bay_body/_priority.html.erb
app/views/templates/r/panel_editor/panel_dock/bay_body/_root.html.erb
app/views/templates/r/panel_editor/panel_dock/bay_body/_scenario.html.erb
app/views/templates/r/panel_editor/panel_dock/bay_label/_bay_label.html.erb
app/views/templates/r/panel_editor/panel_dock/board_label/_board_label.html.erb
app/views/templates/r/panel_editor/panel_dock/board_label/_priority.html.erb
app/views/templates/r/panel_editor/panel_dock/board_label/_scenario.html.erb
app/views/templates/r/panel_editor/panel_dock/bucket/_priority.html.erb
app/views/templates/r/panel_editor/panel_dock/bucket/_scenario.html.erb
lib/editor/editor.rb
lib/editor/pool.rb
lib/manifest/form/field/helper.rb
lib/manifest/form/field/helper/base.rb [moved from lib/manifest/form/field/helper/helper.rb with 72% similarity]
lib/manifest/form/field/helper/color.rb [new file with mode: 0644]
lib/manifest/form/field/helper/popup.rb [new file with mode: 0644]
lib/manifest/form/field/helper/size.rb [new file with mode: 0644]
lib/manifest/form/field/helper/tail_angle.rb [new file with mode: 0644]
lib/manifest/local/view/form/field.rb
lib/manifest/local/view/form/field/helper.rb
lib/manifest/local/view/form/field/helper/base.rb [new file with mode: 0644]
lib/manifest/local/view/form/field/helper/color.rb [new file with mode: 0644]
lib/manifest/local/view/form/field/helper/helper.rb [deleted file]
lib/manifest/local/view/form/field/helper/popup.rb [new file with mode: 0644]
lib/manifest/local/view/form/field/helper/size.rb [new file with mode: 0644]
lib/manifest/local/view/form/field/helper/tail_angle.rb [new file with mode: 0644]
lib/manifest/model.rb
lib/manifest/model/association.rb
lib/peta/editize.rb

index 91a3227..768359e 100644 (file)
               size: {\r
                 type: 'size',\r
                 args: {\r
-                  path: 'panels/size_helper',\r
-                  class: 'panel_picture_width_tool', \r
+                  dom_class: 'panel_picture_width_tool', \r
                 },\r
               },\r
             },\r
               size: {\r
                 type: 'size',\r
                 args: {\r
-                  path: 'panels/size_helper',\r
-                  class: 'panel_picture_height_tool', \r
+                  dom_class: 'panel_picture_height_tool', \r
                 },\r
               },\r
             },\r
             },\r
             helpers: {\r
               popup: {\r
-                type: 'size',\r
+                type: 'popup',\r
                 args: {\r
-                  path: 'panels/popup_helper',\r
                   source: 'pictures',\r
                 },\r
               },\r
               tail_angle: {\r
                 type: 'size',\r
                 args: {\r
-                  path: 'panels/tail_angle_helper',\r
                 },\r
               },\r
             },\r
             },\r
             helpers: {\r
               color: {\r
-                type: 'size',\r
+                type: 'color',\r
                 args: {\r
-                  path: 'panels/color_helper',\r
                   wrapper: 'speech-fore_color-wrap',\r
                 },\r
               },\r
             },\r
             helpers: {\r
               color: {\r
-                type: 'size',\r
+                type: 'color',\r
                 args: {\r
-                  path: 'panels/color_helper',\r
                   wrapper: 'ground_color-code-wrap'\r
                 },\r
               }\r
index 440d7fa..5077550 100644 (file)
@@ -38,10 +38,6 @@ class SpeechBalloon < Peta::Element
     false
   end
   
-  def extend_column
-    'classname'
-  end
-  
   def supply_default
     if self.panel
       self.t = self.panel.new_t 
index 3004efb..40c091d 100644 (file)
@@ -1,7 +1,7 @@
-<div class="elements-tab-face-icon" style="color: #<%= format("%06x", elm.code ^ 0xffffff) -%>; background-color: #<%= format("%06x", elm.code) -%>; width: 48px; height: 48px; ">
-  <%= format("%06x", elm.code) %>
+<div class="elements-tab-face-icon" style="color: #<%= format("%06x", element.code ^ 0xffffff) -%>; background-color: #<%= format("%06x", element.code) -%>; width: 48px; height: 48px; ">
+  <%= format("%06x", element.code) %>
 </div>
-<span class="elements-tab-face-caption"><%= h(truncate(elm.caption, :length => 15)) -%>
+<span class="elements-tab-face-caption"><%= h(truncate(element.caption, :length => 15)) -%>
 </span>
 <div class="elements-tab-face-end">
 </div>
index 74c1236..bd32963 100644 (file)
@@ -1,3 +1,3 @@
-<div id="<%= elm.tag_id('scenario') -%>" class="ground_color-scenario">
-  <%= h(elm.caption) %>
-</div>
+<%= content_tag :div,  element.tag_attributes('scenario', {'class' => "ground_color-scenario"}) do %>
+  <%= h(element.caption) %>
+<% end %>
index 648eef3..1bcbff5 100644 (file)
@@ -1,7 +1,7 @@
 <div class="elements-tab-face-icon">
-  <%= tag(:img, elm.tmb_opt_img_tag) -%>
+  <%= tag(:img, element.tmb_opt_img_tag) -%>
 </div>
-<span class="elements-tab-face-caption"><%= h(truncate(elm.caption, :length => 15)) -%>
+<span class="elements-tab-face-caption"><%= h(truncate(element.caption, :length => 15)) -%>
 </span>
 <div class="elements-tab-face-end">
 </div>
index 26d2be7..8f9ef4f 100644 (file)
@@ -1,3 +1,3 @@
-<div id="<%= elm.tag_id('scenario') -%>" class="ground_picture-scenario">
-  <%= h(elm.caption) %>
-</div>
+<%= content_tag :div,  element.tag_attributes('scenario', {'class' => "ground_picture-scenario"}) do %>
+  <%= h(element.caption) %>
+<% end %>
index 1517d3a..6a87ab9 100644 (file)
@@ -1,9 +1,9 @@
 <div class="elements-tab-face-icon">
-  <%= tag(:img, elm.tmb_opt_img_tag) %>
+  <%= tag(:img, element.tmb_opt_img_tag) %>
 </div>
 <span class="elements-tab-face-caption">
   <% -%>
-  <%= h(truncate(elm.caption, :length => 15)) -%>
+  <%= h(truncate(element.caption, :length => 15)) -%>
 </span>
 <div class="elements-tab-face-end">
 </div>
index 0fe65d6..ab565f5 100644 (file)
@@ -1,3 +1,3 @@
-<div id="<%= elm.tag_id('scenario') -%>" class="panel_picture-scenario">
-  <%= h(elm.caption) %>
-</div>
+<%= content_tag :div,  element.tag_attributes('scenario', {'class' => "panel_picture-scenario"}) do %>
+  <%= h(element.caption) %>
+<% end %>
index c7f858d..eddf7c8 100644 (file)
@@ -1,8 +1,8 @@
 <div class="elements-tab-face-icon">
-  <%= tag(:img, elm.speech_balloon_template.system_picture.tmb_opt_img_tag) %>
+  <%= tag(:img, element.speech_balloon_template.system_picture.tmb_opt_img_tag) %>
 </div>
 <span class="elements-tab-face-caption">
-  <%= h(truncate(elm.speech.content, :length => 15)) -%>
+  <%= h(truncate(element.speech.content, :length => 15)) -%>
 </span>
 <div class="elements-tab-face-end">
 </div>
diff --git a/app/views/templates/r/form/helper/_color_helper.html.erb b/app/views/templates/r/form/helper/_color_helper.html.erb
new file mode 100644 (file)
index 0000000..1892a37
--- /dev/null
@@ -0,0 +1,13 @@
+<div class="colorpicker" style="float: left;" <%= raw helper.field.element.field_tag_attr(:code_picker, helper.field.form.mounted) -%>>
+  <div id="<%= helper.field.element.tag_id(:code_red) -%>" class="colorpicker-red"></div>
+  <div id="<%= helper.field.element.tag_id(:code_green) -%>" class="colorpicker-green"></div>
+  <div id="<%= helper.field.element.tag_id(:code_blue) -%>" class="colorpicker-blue"></div>
+</div>
+<div style="float: left;">
+  <div id="<%= helper.field.element.tag_id(:code_swatch) -%>" class="ui-widget-content ui-corner-all code_swatch"></div>
+</div>
+<div style="float: left;">
+  <div id="<%= helper.field.element.tag_id(:code_hex) -%>"></div>
+  <div id="<%= helper.field.element.tag_id(:code_rgb) -%>"></div>
+</div>
+<div style="clear: both;"></div>
diff --git a/app/views/templates/r/form/helper/_popup_helper.html.erb b/app/views/templates/r/form/helper/_popup_helper.html.erb
new file mode 100644 (file)
index 0000000..a77ddef
--- /dev/null
@@ -0,0 +1,2 @@
+<span class="popup" <%= raw helper.field.element.tag_attr -%>>
+</span>
diff --git a/app/views/templates/r/form/helper/_size_helper.html.erb b/app/views/templates/r/form/helper/_size_helper.html.erb
new file mode 100644 (file)
index 0000000..7ec0629
--- /dev/null
@@ -0,0 +1,2 @@
+<%= content_tag :span, '', helper.field.item.tag_attributes('', :class => helper.dom_class) do %>
+<% end %>
diff --git a/app/views/templates/r/form/helper/_tail_angle_helper.html.erb b/app/views/templates/r/form/helper/_tail_angle_helper.html.erb
new file mode 100644 (file)
index 0000000..7f54721
--- /dev/null
@@ -0,0 +1,5 @@
+<span class="r-wrap" style="display: none;" <%= raw helper.field.element.tag_attr -%>>
+  <button class="r-down" value="0"><</button>
+  <button class="r-up" value="0">></button>
+  <button class="r-reset" value="0">reset</button>
+</span>
index bf2b647..dfbf47a 100644 (file)
@@ -1,5 +1,5 @@
-<ul class="<%= dock.dom_labels_class -%>">
+<%= content_tag :ul, {:class => dock.dom_labels_class} do %>
   <% dock.tabs.each do |tab| %>
     <%= render tab.label.template_name, :label => tab.label %>
   <% end %>
-</ul>
+<% end %>
index 36e7622..56505a3 100644 (file)
@@ -1,5 +1,5 @@
-<div class="<%= bay.dom_bodys_class -%>" <%= raw @panel.tag_attr(:scenario) -%>>
+<%= content_tag :div, bay.root_item.tag_attributes('scenario', :class => bay.dom_bodys_class) do %>
   <% bay.tabs.each do |board| %>
     <%= render board.body.template_name, board.body.template_options %>
   <% end %>
-</div>
+<% end %>
index e303ec9..2b3829c 100644 (file)
@@ -1,7 +1,7 @@
-<div class="<%= bay.dom_labels_class %>">
-  <ul class="board-labels tsort tsort-tabs-nav" <%= raw @panel.tag_attr(:tsort) -%>>
+<%= content_tag :div, {:class => bay.dom_labels_class} do %>
+  <%= content_tag :ul, bay.root_item.tag_attributes('tsort', :class => "board-labels tsort tsort-tabs-nav") do %>
     <% bay.tabs.each do |board| %>
       <%= render board.label.template_name, :label => board.label %>
     <% end %>
-  </ul>
-</div>
+  <% end %>
+<% end %>
index a0a44b5..f520f67 100644 (file)
@@ -1,7 +1,7 @@
 <!-- board_bay_body -->
-<div id="<%= bay.body.dom_id -%>" class="<%= bay.body.dom_class -%>">
+<%= content_tag :div, {:id => bay.body.dom_id, :class => bay.body.dom_class} do %>
   <%= render bay.labels_template_name, :bay => bay %>
   <%= render bay.bodys_template_name, :bay => bay %>
   <div class="tsort-row-break">
   </div>
-</div>
+<% end %>
index a0a44b5..f520f67 100644 (file)
@@ -1,7 +1,7 @@
 <!-- board_bay_body -->
-<div id="<%= bay.body.dom_id -%>" class="<%= bay.body.dom_class -%>">
+<%= content_tag :div, {:id => bay.body.dom_id, :class => bay.body.dom_class} do %>
   <%= render bay.labels_template_name, :bay => bay %>
   <%= render bay.bodys_template_name, :bay => bay %>
   <div class="tsort-row-break">
   </div>
-</div>
+<% end %>
index a0a44b5..f520f67 100644 (file)
@@ -1,7 +1,7 @@
 <!-- board_bay_body -->
-<div id="<%= bay.body.dom_id -%>" class="<%= bay.body.dom_class -%>">
+<%= content_tag :div, {:id => bay.body.dom_id, :class => bay.body.dom_class} do %>
   <%= render bay.labels_template_name, :bay => bay %>
   <%= render bay.bodys_template_name, :bay => bay %>
   <div class="tsort-row-break">
   </div>
-</div>
+<% end %>
index c96e623..4254555 100644 (file)
@@ -1,4 +1,4 @@
 <!-- simple_bay_body -->
-<div id="<%= bay.body.dom_id -%>" class="<%= bay.body.dom_class -%>">
+<%= content_tag :div, {:id => bay.body.dom_id, :class => bay.body.dom_class} do %>
   <%= render bay.body.bucket.template_name, bay.body.bucket.template_options %>
-</div>
+<% end %>
index a0a44b5..f520f67 100644 (file)
@@ -1,7 +1,7 @@
 <!-- board_bay_body -->
-<div id="<%= bay.body.dom_id -%>" class="<%= bay.body.dom_class -%>">
+<%= content_tag :div, {:id => bay.body.dom_id, :class => bay.body.dom_class} do %>
   <%= render bay.labels_template_name, :bay => bay %>
   <%= render bay.bodys_template_name, :bay => bay %>
   <div class="tsort-row-break">
   </div>
-</div>
+<% end %>
index b304c75..25a7cbb 100644 (file)
@@ -1,5 +1,5 @@
-<li id="<%= label.dom_id %>" class="<%= label.dom_class %>">
+<%= content_tag :li, {:id => label.dom_id, :class => label.dom_class} do %>
   <a href="#<%= label.body.dom_id %>">
     <%= label.caption %>
   </a>
-</li>
+<% end %>
index 33d35fe..3c03c1a 100644 (file)
@@ -1,5 +1,5 @@
-<li <%= raw label.element.tag_attr(:tsort) -%>>
+<%= content_tag :li, label.element.tag_attributes(:tsort) do %>
   <div class="elements-tab">
-    <%= render label.face_template_name, :elm => label.element %>
+    <%= render label.face_template_name, :element => label.element %>
   </div>
-</li>
+<% end %>
index 33d35fe..1481910 100644 (file)
@@ -1,5 +1,5 @@
-<li <%= raw label.element.tag_attr(:tsort) -%>>
+<%= content_tag :li, label.element.tag_attributes(:tsort) do %>
   <div class="elements-tab">
     <%= render label.face_template_name, :elm => label.element %>
   </div>
-</li>
+<% end %>
index 33d35fe..1481910 100644 (file)
@@ -1,5 +1,5 @@
-<li <%= raw label.element.tag_attr(:tsort) -%>>
+<%= content_tag :li, label.element.tag_attributes(:tsort) do %>
   <div class="elements-tab">
     <%= render label.face_template_name, :elm => label.element %>
   </div>
-</li>
+<% end %>
index d682b16..6fc9bf3 100644 (file)
@@ -1,5 +1,5 @@
-      <% bay.elements.each do |elm| %>\r
-        <div <%= raw elm.tag_attr() -%>>\r
-              <%= render elm.class.to_s.tableize + '/element_face', :elm => elm %>\r
-        </div>\r
-      <% end %>\r
+<% bay.elements.each do |element| %>\r
+  <%= content_tag :div, element.tag_attributes() do %>\r
+    <%= render element.path_name + '/element_face', :element => element %>\r
+  <% end %>\r
+<% end %>\r
index 3f752ca..7faa84d 100644 (file)
@@ -1,5 +1,5 @@
-      <% bay.elements.each do |elm| %>\r
-        <div <%= raw elm.tag_attr() -%>>\r
-          <%= render elm.scenario_template, :elm => elm, :no_attr => 0 %>\r
-        </div>\r
-      <% end %>\r
+<% bay.elements.each do |element| %>\r
+  <%= content_tag :div, element.tag_attributes() do %>\r
+    <%= render element.scenario_template, :element => element %>\r
+  <% end %>\r
+<% end %>\r
index 5e2c4cb..bc67ee0 100644 (file)
@@ -1,3 +1,4 @@
+require_dependency "editor/pool"
 require_dependency "editor/dock"
 require_dependency "editor/dock/dock"
 module Editor
index 134a790..6ac884e 100644 (file)
@@ -18,7 +18,7 @@ module Editor
       end
       
       def editize_element parent
-        parent.child_element_names(@editor.name).each do |element_name|
+        parent.class.child_element_names(@editor.name).each do |element_name|
           e = parent.__send__ element_name
           e = [e] unless e.respond_to? :each
           e.each do |element|
index 09b78b2..cf2f91f 100644 (file)
@@ -1,11 +1,16 @@
-require_dependency "manifest/form/field/helper/helper"
+require_dependency "manifest/form/field/helper/base"
+require_dependency "manifest/form/field/helper/size"
+require_dependency "manifest/form/field/helper/tail_angle"
+require_dependency "manifest/form/field/helper/color"
+require_dependency "manifest/form/field/helper/popup"
 module Manifest
   module FormModule
     module FieldModule
       class HelperFactory
         include HelperModule
         @@types = {
-          'size' => Size, 'tail_angle' => TailAngle, 'color' => Color, 'popup' => Popup
+          'size' => Size, 'tail_angle' => TailAngle, 'color' => Color, 
+          'popup' => Popup
         }
         def self.factory field, helper_name, my_manifest
           type = my_manifest['type'] || 'none'
similarity index 72%
rename from lib/manifest/form/field/helper/helper.rb
rename to lib/manifest/form/field/helper/base.rb
index 700eaee..8b1eab4 100644 (file)
@@ -3,7 +3,8 @@ module Manifest
     module FieldModule
       module HelperModule
         class Base
-          attr :field, :helper_manifest, :type
+          attr :field, :helper_manifest, :type,
+            :file_name
           
           def initialize field, helper_name, helper_manifest
             @field = field
@@ -14,12 +15,13 @@ module Manifest
           end
           
           def set_default
-            @helper_manifest['args'] ||= {}
+            @helper_manifest['args']['file_name'] ||= @helper_manifest['type'] + '_helper'
           end
           
           def init
             @type = @helper_manifest['type']
             @args = @helper_manifest['args']
+            @file_name = @args['file_name']
           end
           
           def form_name
@@ -32,18 +34,6 @@ module Manifest
           
         end
         
-        class Size < Base
-        end
-        
-        class TailAngle < Base
-        end
-        
-        class Color < Base
-        end
-        
-        class Popup < Base
-        end
-        
       end
     end
   end
diff --git a/lib/manifest/form/field/helper/color.rb b/lib/manifest/form/field/helper/color.rb
new file mode 100644 (file)
index 0000000..dbcc198
--- /dev/null
@@ -0,0 +1,23 @@
+module Manifest
+  module FormModule
+    module FieldModule
+      module HelperModule
+        class Color < Base
+          attr :wrapper
+          
+          def set_default
+            super
+            @helper_manifest['args'] ||= {}
+          end
+          
+          def init
+            super
+            @wrapper = @args['wrapper']
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/manifest/form/field/helper/popup.rb b/lib/manifest/form/field/helper/popup.rb
new file mode 100644 (file)
index 0000000..c51b0fd
--- /dev/null
@@ -0,0 +1,21 @@
+module Manifest
+  module FormModule
+    module FieldModule
+      module HelperModule
+        class Popup < Base
+          attr :source
+          
+          def set_default
+            super
+          end
+          
+          def init
+            super
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/manifest/form/field/helper/size.rb b/lib/manifest/form/field/helper/size.rb
new file mode 100644 (file)
index 0000000..494ee71
--- /dev/null
@@ -0,0 +1,22 @@
+module Manifest
+  module FormModule
+    module FieldModule
+      module HelperModule
+        class Size < Base
+          attr :dom_class
+          
+          def set_default
+            super
+          end
+          
+          def init
+            super
+            @dom_class = @args['dom_class']
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/manifest/form/field/helper/tail_angle.rb b/lib/manifest/form/field/helper/tail_angle.rb
new file mode 100644 (file)
index 0000000..9e3ed15
--- /dev/null
@@ -0,0 +1,20 @@
+module Manifest
+  module FormModule
+    module FieldModule
+      module HelperModule
+        class TailAngle < Base
+          
+          def set_default
+            super
+          end
+          
+          def init
+            super
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
index 97146dd..753b7a0 100644 (file)
@@ -16,7 +16,7 @@ module Manifest
           @tag = TagFactory.factory self, @field_manifest.tag
           @helpers = {}
           @field_manifest.helpers.each {|helper_name, helper_manifest|
-            @helpers[helper_name] = HelperFactory.factory self, helper_manifest.helper_manifest
+            @helpers[helper_name] = HelperFactory.factory self, helper_manifest
           }
           @options = {'data-model' => @field_manifest.model_name}
         end
index e69de29..bc3210f 100644 (file)
@@ -0,0 +1,28 @@
+require_dependency "manifest/local/view/form/field/helper/base"
+require_dependency "manifest/local/view/form/field/helper/size"
+require_dependency "manifest/local/view/form/field/helper/tail_angle"
+require_dependency "manifest/local/view/form/field/helper/color"
+require_dependency "manifest/local/view/form/field/helper/popup"
+module Manifest
+  module View
+    module FormModule
+      module FieldModule
+        class HelperFactory
+          include HelperModule
+          @@types = {
+            'size' => Size, 'tail_angle' => TailAngle, 'color' => Color, 
+            'popup' => Popup
+          }
+          def self.factory field, my_manifest
+            type = my_manifest.type
+            my_class = @@types[type]
+            raise "undefined class for local view forms > #{field.form_name} > fields > #{field.field_name} > helper > #{type}\n" unless my_class
+            my_class.new(field, my_manifest)
+          end
+          
+        end
+        
+      end
+    end
+  end
+end
diff --git a/lib/manifest/local/view/form/field/helper/base.rb b/lib/manifest/local/view/form/field/helper/base.rb
new file mode 100644 (file)
index 0000000..a2f628a
--- /dev/null
@@ -0,0 +1,52 @@
+module Manifest
+  module View
+    module FormModule
+      module FieldModule
+        module HelperModule
+          class Base
+            attr :field, :helper_manifest
+            
+            def initialize field, helper_manifest
+              @field = field
+              @helper_manifest = helper_manifest
+            end
+            
+            def type
+              @helper_manifest.type
+            end
+            
+            def path
+              @helper_manifest.path
+            end
+            
+            def form
+              @field.form
+            end
+            
+            def template_dir
+              self.form.template_dir + 'helper/'
+            end
+            
+            def template_file_name
+              @helper_manifest.file_name
+            end
+            
+            def template_name
+              self.template_dir + self.template_file_name
+            end
+            
+            def form_name
+              @field.form_name
+            end
+            
+            def field_name
+              @field.field_name
+            end
+            
+          end
+          
+        end
+      end
+    end
+  end
+end
diff --git a/lib/manifest/local/view/form/field/helper/color.rb b/lib/manifest/local/view/form/field/helper/color.rb
new file mode 100644 (file)
index 0000000..66e66d8
--- /dev/null
@@ -0,0 +1,17 @@
+module Manifest
+  module View
+    module FormModule
+      module FieldModule
+        module HelperModule
+          class Color < Base
+            def wrapper
+              @helper_manifest.wrapper
+            end
+            
+          end
+          
+        end
+      end
+    end
+  end
+end
diff --git a/lib/manifest/local/view/form/field/helper/helper.rb b/lib/manifest/local/view/form/field/helper/helper.rb
deleted file mode 100644 (file)
index 67cd573..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-module Manifest
-  module FormModule
-    module FieldModule
-      module HelperModule
-        class Base
-          attr :field, :helper_manifest
-          
-          def initialize field, helper_manifest
-            @field = field
-            @helper_manifest = helper_manifest
-            self.set_default
-            self.init
-          end
-          
-          def set_default
-            @helper_manifest['args'] ||= {}
-          end
-          
-          def init
-            @args = @helper_manifest['args']
-          end
-          
-          def form_name
-            @field.form_name
-          end
-          
-          def field_name
-            @field.field_name
-          end
-          
-        end
-        
-        class Default < Base
-        end
-        
-        class None < Base
-        end
-        
-      end
-    end
-  end
-end
diff --git a/lib/manifest/local/view/form/field/helper/popup.rb b/lib/manifest/local/view/form/field/helper/popup.rb
new file mode 100644 (file)
index 0000000..a525c23
--- /dev/null
@@ -0,0 +1,15 @@
+module Manifest
+  module View
+    module FormModule
+      module FieldModule
+        module HelperModule
+          class Popup < Base
+            attr :source
+            
+          end
+          
+        end
+      end
+    end
+  end
+end
diff --git a/lib/manifest/local/view/form/field/helper/size.rb b/lib/manifest/local/view/form/field/helper/size.rb
new file mode 100644 (file)
index 0000000..dc9127a
--- /dev/null
@@ -0,0 +1,18 @@
+module Manifest
+  module View
+    module FormModule
+      module FieldModule
+        module HelperModule
+          class Size < Base
+            
+            def dom_class
+              @helper_manifest.dom_class
+            end
+            
+          end
+          
+        end
+      end
+    end
+  end
+end
diff --git a/lib/manifest/local/view/form/field/helper/tail_angle.rb b/lib/manifest/local/view/form/field/helper/tail_angle.rb
new file mode 100644 (file)
index 0000000..b271692
--- /dev/null
@@ -0,0 +1,14 @@
+module Manifest
+  module View
+    module FormModule
+      module FieldModule
+        module HelperModule
+          class TailAngle < Base
+            
+          end
+          
+        end
+      end
+    end
+  end
+end
index cdeb2a5..db6dd75 100644 (file)
@@ -91,7 +91,7 @@ module Manifest
     end
     
     def each_child_model_manifest tree_name
-      ::Manifest.models.each {|child_model_name, child_model_manifest|
+      ::Manifest.manifest.models.each {|child_model_name, child_model_manifest|
         next unless child_model_manifest.tree[tree_name]
         next unless child_model_manifest.tree[tree_name].parent_model_name == @model_name
         yield child_model_manifest
@@ -110,7 +110,7 @@ module Manifest
       r = []
       self.each_child_model_manifest(tree_name) {|child_model_manifest|
         # has_one ?
-        r << self.associations.child_element_name(child_model_manifest.model_name)
+        r << self.associations.child_element_name(child_model_manifest)
       }
       r
     end
index 60e3118..fd4e8ec 100644 (file)
@@ -43,8 +43,8 @@ module Manifest
         @model.model_manifest
       end
       
-      def child_element_name child_item_name
-        if @has_one[child_item_name]
+      def child_element_name child_model_manifest
+        if @has_one[child_model_manifest.model_name]
           child_model_manifest.model_name
         else
           child_model_manifest.table_name
index 6c40114..ce2be2f 100644 (file)
@@ -8,6 +8,14 @@ module Peta
       @editor = e
     end
     
+    def parent
+      @parent
+    end
+    
+    def parent=(i)
+      @parent = i
+    end
+    
     def pool_id
       @pool_id
     end
@@ -30,7 +38,7 @@ module Peta
     
     def dom_item_id name = nil
       r = [self.editor.eid, self.dom_pool_type, self.item_name, self.dom_id]
-      r += name.to_s if column_name
+      r << name.to_s if name
       r.join '-'
     end