OSDN Git Service

t#31558:t scenario
authoryasushiito <yas@pen-chan.jp>
Thu, 27 Jun 2013 09:44:42 +0000 (18:44 +0900)
committeryasushiito <yas@pen-chan.jp>
Thu, 27 Jun 2013 09:44:42 +0000 (18:44 +0900)
app/assets/javascripts/panels.js.coffee
app/assets/stylesheets/test.css
app/models/ground_color.rb
app/models/ground_picture.rb
app/views/ground_colors/_form.html.erb
app/views/panels/_form.html.erb

index 5117d72..e76e78a 100644 (file)
@@ -1,5 +1,9 @@
 $ ->\r
   repeat_texts = ['repeat', 'repeat-x', 'repeat-y', 'no-repeat']\r
+  \r
+  panel_tag_id = (element) ->\r
+    '#panel' + element.attr('panel_id')\r
+  \r
   element_tag_id = (element) ->\r
     '#panel' + element.attr('panel_id') + element.attr('element_type') + element.attr('element_id')\r
   \r
@@ -25,7 +29,7 @@ $ ->
   $('.pettanr-comic-panel').map ->\r
     $(@).resizable {\r
       stop: ( event, ui ) ->\r
-        trace = '#panel' + $(@).attr('panel_id')\r
+        trace = panel_tag_id($(@))\r
         w = parseInt($(@).width())\r
         h = parseInt($(@).height())\r
         $(trace + 'width').val(w)\r
@@ -199,7 +203,7 @@ $ ->
   # ground_color\r
   # sync view \r
   $('input').map  ->\r
-    if $(@).attr('element_type') and $(@).attr('element_type') == 'ground_color'\r
+    if $(@).attr('element_type') and $(@).attr('element_type') == 'ground_color' and $(@).attr('column') == 'code'\r
       $(@).hide()\r
 \r
   $('#colorpicker-red, #colorpicker-green, #colorpicker-blue').map -> \r
@@ -238,10 +242,13 @@ $ ->
       v = code & 0xFF\r
       $(@).slider('value', v)\r
   \r
-  $('#t-sortable tbody').sortable {\r
+  $('.tsort').map -> \r
+    $(@).sortable {\r
       update: ( event, ui ) ->\r
-        t = 0;\r
-        $('#t-sortable tr').map ->\r
+        trace = panel_tag_id($(@))\r
+        ul = $(@).attr('id')\r
+        t = 0\r
+        $('#' + ul + ' li').map ->\r
           pid = $(@).attr('panel_id')\r
           eid = $(@).attr('element_id')\r
           etp = $(@).attr('element_type')\r
@@ -250,7 +257,7 @@ $ ->
           trace = tid + 't'\r
           $(trace).val(t)\r
           t++\r
-  }\r
+    }\r
   $('#t-sortable tbody').disableSelection()\r
   \r
   $('#z-sortable tbody').sortable {\r
index 3cf96a4..8004523 100644 (file)
@@ -113,3 +113,12 @@ div.md5 {
 #colorpicker-hex, #colorpicker-rgb {
   margin: 5px;
 }
+.tsort-box {
+  float: left;
+}
+.scenario {
+  float: left;
+}
+.tsort-row-break {
+  clear: both;
+}
index f87a678..3f5be72 100644 (file)
@@ -183,7 +183,19 @@ class GroundColor < ActiveRecord::Base
   end
   
   def scenario
-    ''
+    if caption.blank?
+      ''
+    else
+      '<p>' + ERB::Util.html_escape(self.caption) + '</p>'
+    end
+  end
+  
+  def plain_scenario
+    if caption.blank?
+      ''
+    else
+      self.caption + "\n"
+    end
   end
   
 end
index 9a13d93..9f36b75 100644 (file)
@@ -199,7 +199,19 @@ class GroundPicture < ActiveRecord::Base
   end
   
   def scenario
-    ''
+    if caption.blank?
+      ''
+    else
+      '<p>' + ERB::Util.html_escape(self.caption) + '</p>'
+    end
+  end
+  
+  def plain_scenario
+    if caption.blank?
+      ''
+    else
+      self.caption + "\n"
+    end
   end
   
 end
index f9f07de..b2494a7 100644 (file)
@@ -2,6 +2,10 @@
   <%= render 'system/error_explanation', :obj => ground_color %>
 
   <div class="field">
+    <%= f.label :caption %><br />
+    <%= f.text_field :caption, :id => ground_color.field_tag_id(:caption), :panel_id => ground_color.tag_panel_id, :element_id => ground_color.tag_element_id, :element_type => ground_color.tag_element_type, :column => :caption, :tree => ground_color.field_tree(:caption) %>
+  </div>
+  <div class="field">
     <%= f.label :code %><br />
     <%= f.text_field :code, :id => ground_color.field_tag_id(:code), :panel_id => ground_color.tag_panel_id, :element_id => ground_color.tag_element_id, :element_type => ground_color.tag_element_type, :column => :code, :tree => ground_color.field_tree(:code) %>
     <div id="colorpicker-wrap">
index 72c5ec5..085f144 100644 (file)
     </div>
   </div>
   <div id="tabs-3">
-    <h2><%= 't reorder' -%></h2>
-    <table id="t-sortable">
-      <tbody >
+    <div class="tsort-box">
+      <ul id="<%= @panel.tag_id -%>tsort" class="tsort" panel_id="<%= @panel.tag_panel_id -%>">
+        <% @panel.panel_elements.each do |elm| %>
+          <li panel_id="<%= elm.tag_panel_id -%>" element_id="<%= elm.tag_element_id -%>" element_type="<%= elm.tag_element_type -%>">
+            <% case elm.class.to_s %>
+            <% when 'PanelPicture' %>
+              <span>
+                <%= tag(:img, elm.tmb_opt_img_tag) %>
+              </span>
+            <% when 'SpeechBalloon' %>
+              <span>
+                <%= elm.id -%>
+                <%= h(truncate(elm.speech.content, :length => 12)) -%>
+              </span>
+            <% when 'GroundPicture' %>
+              <span>
+                <%= tag(:img, elm.tmb_opt_img_tag) -%>
+              </span>
+            <% when 'GroundColor' %>
+              <span style="color: #<%= format("%06x", elm.code ^ 0xffffff) -%>; background-color: #<%= format("%06x", elm.code) -%>;">
+                <%= format("%06x", elm.code ^ 0xffffff) %>
+              </span>
+            <% end %>
+            <span>
+              <%= h(truncate(elm.caption, :length => 12)) %>
+            </span>
+          </li>
+        <% end %>
+      </ul>
+    </div>
+    <div id="<%= @panel.tag_id -%>scenario" class="scenario" panel_id="<%= @panel.tag_panel_id -%>">
       <% @panel.panel_elements.each do |elm| %>
-        <tr panel_id="<%= elm.tag_panel_id -%>" element_id="<%= elm.tag_element_id -%>" element_type="<%= elm.tag_element_type -%>">
-          <% case elm.class.to_s %>
-          <% when 'PanelPicture' %>
-            <td>
-              <%= tag(:img, elm.tmb_opt_img_tag) %>
-            </td>
-          <% when 'SpeechBalloon' %>
-            <td>
-              <%= elm.id -%>
-              <%= elm.caption -%>
-            </td>
-          <% when 'GroundPicture' %>
-            <td>
-              <%= tag(:img, elm.tmb_opt_img_tag) -%>
-            </td>
-          <% when 'GroundColor' %>
-            <td style="color: #<%= format("%06x", elm.code ^ 0xffffff) -%>; background-color: #<%= format("%06x", elm.code) -%>;">
-              <%= format("%06x", elm.code ^ 0xffffff) %>
-            </td>
-          <% end %>
-          <td>
-            <%= h(truncate(elm.caption, :length => 12)) %>
-          </td>
-        </tr>
+        <div panel_id="<%= elm.tag_panel_id -%>" element_id="<%= elm.tag_element_id -%>" element_type="<%= elm.tag_element_type -%>">
+          <%= h elm.plain_scenario -%>
+        </div>
       <% end %>
-      </tbody>
-    </table>
+    </div>
+    <div class="tsort-row-break">
+    </div>
   </div>
   <div id="tabs-4">
     <h2><%= 'z reorder' -%></h2>
 
 <style>
 <!--
-#t-sortable tr {
+.tsort {
+    list-style-type: none;
+    margin: 0;
+    padding: 0;
+}
+.tsort li {
     margin: 0 3px 3px 3px;
     padding: 0.3em;
     padding-left: 1em;