OSDN Git Service

t#32066:validate_forms
[pettanr/pettanr.git] / app / views / panels / _form.html.erb
index 4499fd9..67217dc 100644 (file)
-<%= form_for(@panel) do |f| %>
-  <%= render 'system/error_explanation', :obj => @panel %>
+<% @configurations = configurations %>
+<div id="tabs" class="panel-editor" panel_id="<%= @panel.tag_panel_id -%>" current="1">
+  <ul>
+    <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, :html => {:id => @panel.tag_id('form'), 'data-form-name' => 'panel'}) do |f| %>
+      <%= render 'system/error_explanation', :obj => @panel %>
 
-  <div>
-    <label for="json">json data</label>
+      <div class="field">
+        <%= f.label :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, @panel.field_tag_attributes(:width, :size => 5, 'data-model' => 'panel') %>
+      </div>
+      <div class="field">
+        <%= f.label :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, @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']), *@panel.select_tag_attributes(@panel.publish, :publish, 'data-model' => 'panel') %>
+      </div>
+      <div class="row_break">
+      </div>
+      <% unless @panel.new_record?  %>
+        <%= f.hidden_field :id, @panel.field_tag_attributes(:id, 'data-model' => 'panel') %>
+      <% end %>
+      <div class="actions">
+        <%= f.submit 'panels.submit', :class => "submit" %>
+      </div>
+    <% end %>
+  </div>
+  <div id="tabs-2">
+    <div id="elements-tabs">
+      <ul>
+        <% @panel.panel_elements.each do |elm| %>
+          <%= render 'element_tab', :elm => elm %>
+        <% end %>
+      </ul>
+      <% @panel.panel_elements.each do |elm| %>
+        <div <%= raw elm.tag_attr(:tab_panel) -%>>
+          <div id="elements-tabs-<%= elm.t -%>">
+            <%= render 'element_form', :elm => elm, :no_attr => 0 %>
+            <%= hidden_field_tag '_destroy', '', elm.field_tag_attributes(:_destroy, 0) %>
+          </div>
+        </div>
+      <% end %>
+    </div>
+  </div>
+  <div id="tabs-3">
+    <div class="tsort-box">
+      <ul class="tsort tsort-tabs-nav" <%= raw @panel.tag_attr(:tsort) -%>>
+        <% @panel.panel_elements.each do |elm| %>
+          <li <%= raw elm.tag_attr(:tsort) -%>>
+            <div class="elements-tab">
+              <%= render elm.path_name + '/element_face', :elm => elm %>
+            </div>
+          </li>
+        <% end %>
+      </ul>
+    </div>
+    <div class="scenario" <%= raw @panel.tag_attr(:scenario) -%>>
+      <% @panel.panel_elements.each do |elm| %>
+        <div <%= raw elm.tag_attr() -%>>
+          <%= render elm.scenario_template, :elm => elm, :no_attr => 0 %>
+        </div>
+      <% end %>
+    </div>
+    <div class="tsort-row-break">
+    </div>
   </div>
-  <%= text_field_tag "json" %>
+  <div id="tabs-4">
+    <div class="zsort-box">
+      <ul class="zsort zsort-tabs-nav" <%= raw @panel.tag_attr(:zsort) -%>>
+        <% @panel.zorderd_elements.each do |elm| %>
+          <li <%= raw elm.tag_attr(:zsort) -%>>
+            <div class="elements-tab">
+              <%= render elm.class.to_s.tableize + '/element_face', :elm => elm %>
+            </div>
+          </li>
+        <% end %>
+      </ul>
+    </div>
+  </div>
+  <div id="tabs-5">
+    <div id="new-element-tabs">
+      <ul>
+      <% i = 0 %>
+        <% Panel.each_element_classes do |k| %>
+          <li>
+            <a href="#new-element-tabs-<%= i -%>">
+              <div class="new-element-tab">
+                <%= t_m k.to_s %>
+              </div>
+            </a>
+          </li>
+        <% i += 1 %>
+        <% end %>
+      </ul>
+      <% i = 0 %>
+      <% Panel.each_element_classes do |k| %>
+        <div>
+          <div id="new-element-tabs-<%= i -%>">
+            <% case k.to_s %>
+            <% when 'PanelPicture' %>
+            <% when 'SpeechBalloon' %>
+              <div id="new-speech_balloon-tabs">
+                <ul>
+                  <% SpeechBalloonTemplate.enable_list().each_with_index do |sbt, index| %>
+                    <li>
+                      <a href="#new-speech_balloon-tabs-<%= index -%>">
+                        <div class="new-speech_balloon-tab">
+                          <%= tag(:img, sbt.system_picture.tmb_opt_img_tag) %>
+                          <div>
+                            <%= h(sbt.caption) %>
+                          </div>
+                        </div>
+                      </a>
+                    </li>
+                  <% end %>
+                </ul>
+                <% SpeechBalloonTemplate.enable_list().each_with_index do |sbt, index| %>
+                  <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.balloon.supply_default 
+                      elm.speech.supply_default 
+                    %>
+                    <%= render elm.form_template, :elm => elm, :no_attr => 1 %>
+                  </div>
+                <% end %>
+            <% when 'GroundPicture' %>
+            <% when 'GroundColor' %>
+              <% elm = GroundColor.new :panel_id => @panel.id %>
+              <% elm.new_panel = @panel ; elm.boost ; elm.supply_default %>
+              <%= render elm.form_template, :elm => elm, :no_attr => 1 %>
+            <% end %>
+          </div>
+        </div>
+        <% i += 1 %>
+      <% end %>
+    </div>
+  </div>
+</div>
+<%= form_for(@panel, :html => {:jqform => 'pettanr-panel-form'}) do |f| %>
+  <%= render 'system/error_explanation', :obj => @panel %>
+
+  <%= text_field_tag "json", '', :id => 'pettanr-panel-json' %>
   <div>
-    <%= submit_tag t('panels.create_from_json') -%>
+    <%= submit_tag t('panels.create_from_json'), :id => 'pettanr-panel-submit' -%>
   </div>
 <% end %>
+<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>
+  <%# text_field_tag "json", '', :id => 'pettanr-configurations' %>