OSDN Git Service

t#31896:
authoryasushiito <yas@pen-chan.jp>
Thu, 5 Sep 2013 22:43:53 +0000 (07:43 +0900)
committeryasushiito <yas@pen-chan.jp>
Thu, 5 Sep 2013 22:43:53 +0000 (07:43 +0900)
app/models/panel.rb
app/views/panels/_element_tab.html.erb
app/views/panels/_form.html.erb
app/views/speech_balloons/_form.html.erb [deleted file]

index 5ad5727..f0ccdd6 100644 (file)
@@ -97,6 +97,34 @@ class Panel < ActiveRecord::Base
     self.tag_id + f.to_s
   end
   
+  def tag_attributes column = nil, opt = {}
+    {
+      :id => self.field_tag_id(column), :panel_id => self.tag_panel_id
+    }.merge(opt)
+  end
+  
+  def select_tag_attributes(selected, column)
+    [
+      :last, :first, 
+      {:html => {:selected => selected}}, 
+      self.field_tag_attributes(column)
+    ]
+  end
+  
+  def field_tag_attributes column, opt = {}
+    self.tag_attributes(column).merge(
+      {:column => column}
+    ).merge(opt)
+  end
+  
+  def tag_attr column = nil, opt = {}
+    self.tag_attributes(column, opt).to_attr
+  end
+  
+  def field_tag_attr column, no_attr, opt = {}
+    self.field_tag_attributes(column, no_attr, opt).to_attr
+  end
+  
   def self.default_page_size
     25
   end
index 525e9e3..c56c1ab 100644 (file)
@@ -1,8 +1,8 @@
-<li id="<%= elm.field_tag_id(:element_tab) -%>" panel_id="<%= elm.tag_panel_id -%>" element_id="<%= elm.tag_element_id -%>" element_type="<%= elm.tag_element_type -%>">
+<li <%= raw elm.tag_attr(:element_tab) -%>>
   <a href="#elements-tabs-<%= elm.t -%>">
     <div class="elements-tab">
       <%= render elm.element_face_template, :elm => elm %>
     </div>
   </a>
-  <button class="ui-icon-destroy" id="<%= elm.field_tag_id(:_destroy_button) -%>" panel_id="<%= elm.tag_panel_id -%>" element_id="<%= elm.tag_element_id -%>" element_type="<%= elm.tag_element_type -%>"></button>
+  <button class="ui-icon-destroy" <%= raw elm.tag_attr(:_destroy_button) -%>></button>
 </li>
index 06370c0..85eda0e 100644 (file)
 
       <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) -%>
       </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) %>
 
         <%= 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) %>
 
         <%= 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) %>
       </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.collection_select :publish, t_select_items(MagicNumber['panel_visible_items']), *@panel.select_tag_attributes(@panel.publish, :publish) %>
       </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) %>
       <% end %>
       <div class="actions">
         <%= f.submit 'panels.submit', :class => "submit" %>
         <% 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 <%= raw elm.tag_attr(:tab_panel) -%>>
           <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 %>
+            <%= hidden_field_tag '_destroy', '', elm.field_tag_attributes(:_destroy, 0) %>
           </div>
         </div>
       <% end %>
@@ -55,9 +55,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 +65,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 +77,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>
diff --git a/app/views/speech_balloons/_form.html.erb b/app/views/speech_balloons/_form.html.erb
deleted file mode 100644 (file)
index 6a3f3a6..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<%= form_for(speech_balloon) do |f| %>
-  <%= render 'system/error_explanation', :obj => speech_balloon %>
-
-  <div class="field">
-    <%= f.label :caption %><br />
-    <%= f.number_field :caption, :id => speech_balloon.field_tag_id(:caption), :panel_id => speech_balloon.tag_panel_id, :element_id => speech_balloon.tag_element_id, :element_type => speech_balloon.tag_element_type, :column => :caption, :tree => speech_balloon.field_tree(:caption) %>
-  </div>
-  <div class="field">
-    <%= f.label :z %><br />
-    <%= f.number_field :z, :id => speech_balloon.field_tag_id(:z), :panel_id => speech_balloon.tag_panel_id, :element_id => speech_balloon.tag_element_id, :element_type => speech_balloon.tag_element_type, :column => :z, :tree => speech_balloon.field_tree(:z) %>
-  </div>
-  <div class="field">
-    <%= f.label :t %><br />
-    <%= f.number_field :t, :id => speech_balloon.field_tag_id(:t), :panel_id => speech_balloon.tag_panel_id, :element_id => speech_balloon.tag_element_id, :element_type => speech_balloon.tag_element_type, :column => :t, :tree => speech_balloon.field_tree(:t) %>
-  </div>
-  
-  <%= f.fields_for(:balloon) do |bf| %>
-    <%= render 'balloons/form', :f => bf, :balloon => speech_balloon.balloon %>
-  <% end %>
-
-  <%= f.fields_for(:speech) do |sf| %>
-    <%= render 'speeches/form', :f => sf, :speech => speech_balloon.speech %>
-  <% end %>
-
-  <%= f.hidden_field :panel_id, :id => speech_balloon.field_tag_id(:panel_id), :panel_id => speech_balloon.tag_panel_id, :element_id => speech_balloon.tag_element_id, :element_type => speech_balloon.tag_element_type, :column => :panel_id, :tree => speech_balloon.field_tree(:panel_id) %>
-  <%= f.hidden_field :classname, :id => speech_balloon.field_tag_id(:classname), :panel_id => speech_balloon.tag_panel_id, :element_id => speech_balloon.tag_element_id, :element_type => speech_balloon.tag_element_type, :column => :classname, :tree => speech_balloon.field_tree(:classname) %>
-  <%= f.hidden_field :speech_balloon_template_id, :id => speech_balloon.field_tag_id(:speech_balloon_template_id), :panel_id => speech_balloon.tag_panel_id, :element_id => speech_balloon.tag_element_id, :element_type => speech_balloon.tag_element_type, :column => :speech_balloon_template_id, :tree => speech_balloon.field_tree(:speech_balloon_template_id) %>
-  <% unless speech_balloon.new_record?  %>
-    <%= f.hidden_field :id, :id => speech_balloon.field_tag_id(:id), :panel_id => speech_balloon.tag_panel_id, :element_id => speech_balloon.tag_element_id, :element_type => speech_balloon.tag_element_type, :column => :id, :tree => speech_balloon.field_tree(:id) %>
-  <% end %>
-
-  <div class="actions">
-    <%= f.submit t('speech_balloons.submit'), :class => "submit" %>
-  </div>
-<% end %>