OSDN Git Service

t#:
[pettanr/pettanr.git] / app / views / panels / _form.html.erb
index 768bbd8..63a1b4e 100644 (file)
@@ -1,35 +1,45 @@
-<div id="tabs">
+<div id="template" >
+</div>
+<div id="tabs" class="panel-editor" panel_id="<%= @panel.tag_panel_id -%>" current="1">
   <ul>
-    <li><a href="#tabs-1">panel</a></li>
-    <li><a href="#tabs-2">elements</a></li>
-    <li><a href="#tabs-3">t order</a></li>
-    <li><a href="#tabs-4">z order</a></li>
-    <li><a href="#tabs-5">new</a></li>
+    <li id="tabs-1-tab"><a href="#tabs-1">panel</a></li>
+    <li id="tabs-2-tab"><a href="#tabs-2">elements</a></li>
+    <li id="tabs-3-tab"><a href="#tabs-3">t order</a></li>
+    <li id="tabs-4-tab"><a href="#tabs-4">z order</a></li>
+    <li id="tabs-5-tab"><a href="#tabs-5">new</a></li>
   </ul>
   <div id="tabs-1">
-    <%= form_for(@panel) do |f| %>
+    <%= form_for(@panel, :html => @panel.tag_attributes('form', 'data-form-name' => 'panel')) do |f| %>
       <%= render 'system/error_explanation', :obj => @panel %>
 
       <div class="field">
         <%= f.label :caption %>
-        <%= f.text_field :caption, :id => @panel.field_tag_id(:caption), :panel_id => @panel.tag_panel_id, :column => :caption -%>
+        <%= f.text_field :caption, @panel.field_tag_attributes(:caption, 'data-model' => 'panel') -%>
+      </div>
+      <div class="row_break">
       </div>
       <div class="field">
         <%= f.label :width %>
-        <%= f.number_field :width, :size => 5, :id => @panel.field_tag_id(:width), :panel_id => @panel.tag_panel_id, :column => :width %>
-
+        <%= f.number_field :width, @panel.field_tag_attributes(:width, :size => 5, 'data-model' => 'panel') %>
+      </div>
+      <div class="field">
         <%= f.label :height %>
-        <%= f.number_field :height, :size => 5, :id => @panel.field_tag_id(:height), :panel_id => @panel.tag_panel_id, :column => :height %>
-
+        <%= f.number_field :height, @panel.field_tag_attributes(:height, :size => 5, 'data-model' => 'panel') %>
+      </div>
+      <div class="row_break">
+      </div>
+      <div class="field">
         <%= f.label :border %>
-        <%= f.number_field :border, :size => 5, :id => @panel.field_tag_id(:border), :panel_id => @panel.tag_panel_id, :column => :border %>
+        <%= f.number_field :border, @panel.field_tag_attributes(:border, :size => 5, 'data-model' => 'panel') %>
       </div>
       <div class="field">
         <%= f.label :publish %>
-        <%= f.collection_select :publish, t_select_items(MagicNumber['panel_visible_items']), :last, :first, {:html => {:selected => @panel.publish}}, {:id => @panel.field_tag_id(:publish), :panel_id => @panel.tag_panel_id, :column => :publish} %>
+        <%= f.select :publish, t_select_items(manifest.select_items['magic_number']['panel_visible_items']), *@panel.select_tag_attributes(@panel.publish, :publish, 'data-model' => 'panel') %>
+      </div>
+      <div class="row_break">
       </div>
       <% unless @panel.new_record?  %>
-        <%= f.hidden_field :id, :id => @panel.field_tag_id(:id), :panel_id => @panel.tag_panel_id, :column => :id %>
+        <%= f.hidden_field :id, @panel.field_tag_attributes(:id, 'data-model' => 'panel') %>
       <% end %>
       <div class="actions">
         <%= f.submit 'panels.submit', :class => "submit" %>
           <%= render 'element_tab', :elm => elm %>
         <% end %>
       </ul>
-      <% @panel.panel_elements.each do |elm| %>
-        <div id="<%= elm.field_tag_id(:tab_panel) -%>" panel_id="<%= elm.tag_panel_id -%>" element_id="<%= elm.tag_element_id -%>" element_type="<%= elm.tag_element_type -%>">
-          <div id="elements-tabs-<%= elm.t -%>">
-            <%= render elm.form_template, :elm => elm, :no_attr => 0 %>
-            <%= hidden_field_tag '_destroy', '', :id => elm.field_tag_id(:_destroy), :panel_id => elm.tag_panel_id, :element_id => elm.tag_element_id, :element_type => elm.tag_element_type, :column => :_destroy %>
+      <% mounted = true %>
+      <% @panel.panel_elements.each do |element| %>
+        <div <%= raw element.tag_attr(:tab_panel) -%>>
+          <div id="elements-tabs-<%= element.t -%>">
+            <% form_manager = Pettanr::Application::manifest.form_managers[element.form_name] %>
+            <% form = form_manager.open element, @operators, mounted %>
+            <%= render 'element_form', :form => form %>
+            <%= hidden_field_tag '_destroy', '', element.field_tag_attributes(:_destroy, 0) %>
           </div>
         </div>
       <% end %>
@@ -55,9 +68,9 @@
   </div>
   <div id="tabs-3">
     <div class="tsort-box">
-      <ul id="<%= @panel.tag_id -%>tsort" class="tsort tsort-tabs-nav" panel_id="<%= @panel.tag_panel_id -%>">
+      <ul class="tsort tsort-tabs-nav" <%= raw @panel.tag_attr(:tsort) -%>>
         <% @panel.panel_elements.each do |elm| %>
-          <li id="<%= elm.field_tag_id(:tsort) -%>" panel_id="<%= elm.tag_panel_id -%>" element_id="<%= elm.tag_element_id -%>" element_type="<%= elm.tag_element_type -%>">
+          <li <%= raw elm.tag_attr(:tsort) -%>>
             <div class="elements-tab">
               <%= render elm.path_name + '/element_face', :elm => elm %>
             </div>
@@ -65,9 +78,9 @@
         <% end %>
       </ul>
     </div>
-    <div id="<%= @panel.tag_id -%>scenario" class="scenario" panel_id="<%= @panel.tag_panel_id -%>">
+    <div class="scenario" <%= raw @panel.tag_attr(:scenario) -%>>
       <% @panel.panel_elements.each do |elm| %>
-        <div panel_id="<%= elm.tag_panel_id -%>" element_id="<%= elm.tag_element_id -%>" element_type="<%= elm.tag_element_type -%>">
+        <div <%= raw elm.tag_attr() -%>>
           <%= render elm.scenario_template, :elm => elm, :no_attr => 0 %>
         </div>
       <% end %>
@@ -77,9 +90,9 @@
   </div>
   <div id="tabs-4">
     <div class="zsort-box">
-      <ul id="<%= @panel.tag_id -%>zsort" class="zsort zsort-tabs-nav" panel_id="<%= @panel.tag_panel_id -%>">
+      <ul class="zsort zsort-tabs-nav" <%= raw @panel.tag_attr(:zsort) -%>>
         <% @panel.zorderd_elements.each do |elm| %>
-          <li id="<%= elm.field_tag_id(:zsort) -%>" panel_id="<%= elm.tag_panel_id -%>" element_id="<%= elm.tag_element_id -%>" element_type="<%= elm.tag_element_type -%>">
+          <li <%= raw elm.tag_attr(:zsort) -%>>
             <div class="elements-tab">
               <%= render elm.class.to_s.tableize + '/element_face', :elm => elm %>
             </div>
         <% end %>
       </ul>
       <% i = 0 %>
+      <% mounted = false %>
       <% Panel.each_element_classes do |k| %>
         <div>
           <div id="new-element-tabs-<%= i -%>">
             <% when 'SpeechBalloon' %>
               <div id="new-speech_balloon-tabs">
                 <ul>
-                  <% SpeechBalloonTemplate.list().each_with_index do |sbt, index| %>
+                  <% SpeechBalloonTemplate.enable_list().each_with_index do |sbt, index| %>
                     <li>
                       <a href="#new-speech_balloon-tabs-<%= index -%>">
                         <div class="new-speech_balloon-tab">
                   <div id="new-speech_balloon-tabs-<%= index -%>">
                     <% elm = SpeechBalloon.new :panel_id => @panel.id, :speech_balloon_template_id => sbt.id %>
                     <% 
+                      elm.new_panel = @panel
                       elm.boost
                       elm.supply_default
-                      elm.get_balloon.supply_default 
-                      elm.get_speech.supply_default 
+                      elm.balloon.supply_default 
+                      elm.speech.supply_default 
                     %>
-                    <%= render elm.form_template, :elm => elm, :no_attr => 1 %>
+                    <%# render elm.form_template, :elm => elm, :no_attr => 1 %>
                   </div>
                 <% end %>
             <% when 'GroundPicture' %>
             <% when 'GroundColor' %>
-              <% elm = GroundColor.new :panel_id => @panel.id %>
-              <% elm.supply_default %>
-              <%= render elm.form_template, :elm => elm, :no_attr => 1 %>
+              <% element = GroundColor.new :panel_id => @panel.id %>
+              <% element.new_panel = @panel ; element.boost ; element.supply_default %>
+              <% form_manager = Pettanr::Application::manifest.form_managers[element.form_name] %>
+              <% form = form_manager.open element, @operators, mounted %>
+              <%= render 'element_form', :form => form %>
             <% end %>
           </div>
         </div>
         <% i += 1 %>
       <% end %>
     </div>
-    <script>
-    <!--
-      <% SpeechBalloonTemplate.enable_list().each do |sbt| %>
-        var <%= h(sbt.engine_name) %>_settings = <%= raw sbt.parsed_settings.to_json -%>;
-      <% end %>
-    // -->
-    </script>
-    <% SpeechBalloonTemplate.enable_list().each do |sbt| %>
-      <%= stylesheet_link_tag sbt.engine_name + "/application" %>
-      <%= javascript_include_tag sbt.engine_name + "/application" %>
-    <% end %>
   </div>
 </div>
 <%= form_for(@panel, :html => {:jqform => 'pettanr-panel-form'}) do |f| %>
     <%= submit_tag t('panels.create_from_json'), :id => 'pettanr-panel-submit' -%>
   </div>
 <% end %>
-<script>
-<!--
-var pettanr_current_panel_id = <%= @panel.tag_panel_id -%>;
-var writing_formats = {};
-var writing_format_functions = {};
-<% WritingFormat.list().each do |wf| %>
-  writing_formats[<%= wf.id -%>] = '<%= wf.engine_name -%>';
-<% end %>
-// -->
-</script>
+<div id="writing_formats">
+  <% WritingFormat.enable_list().each do |wf| %>
+    <div id="writing_format-<%= wf.id -%>" writing_format_id="<%= wf.id -%>" writing_format_engine_name="<%= wf.engine_name -%>">
+    </div>
+  <% end %>
+</div>
+<div id="speech_balloon_templates">
+  <% SpeechBalloonTemplate.enable_list().each do |sbt| %>
+    <div id="speech_balloon_template-<%= sbt.id -%>" speech_balloon_template_id="<%= sbt.id -%>" engine_name="<%= sbt.engine_name -%>" settings="<%= sbt.parsed_settings.to_json -%>">
+    </div>
+  <% end %>
+</div>
+<div <%= raw @panel.tag_attr('popup') -%> style="display: none;" >
+</div>