OSDN Git Service

a64225892f663f1177de442298c3af10ad780247
[pettanr/pettanr.git] / app / views / panels / _form.html.erb
1 <div id="tabs">
2   <ul>
3     <li><a href="#tabs-1">panel</a></li>
4     <li><a href="#tabs-2">elements</a></li>
5     <li><a href="#tabs-3">t order</a></li>
6     <li><a href="#tabs-4">z order</a></li>
7     <li><a href="#tabs-5">new</a></li>
8   </ul>
9   <div id="tabs-1">
10     <%= form_for(@panel) do |f| %>
11       <%= render 'system/error_explanation', :obj => @panel %>
12
13       <div class="field">
14         <%= f.label :caption %><br />
15         <%= f.text_field :caption, :id => @panel.field_tag_id(:caption), :panel_id => @panel.tag_panel_id, :column => :caption, :tree => @panel.field_tree(:caption) -%>
16       </div>
17       <div class="field">
18         <%= f.label :width %><br />
19         <%= f.number_field :width, :id => @panel.field_tag_id(:width), :panel_id => @panel.tag_panel_id, :column => :width, :tree => @panel.field_tree(:width) %>
20       </div>
21       <div class="field">
22         <%= f.label :height %><br />
23         <%= f.number_field :height, :id => @panel.field_tag_id(:height), :panel_id => @panel.tag_panel_id, :column => :height, :tree => @panel.field_tree(:height) %>
24       </div>
25       <div class="field">
26         <%= f.label :border %><br />
27         <%= f.number_field :border, :id => @panel.field_tag_id(:border), :panel_id => @panel.tag_panel_id, :column => :border, :tree => @panel.field_tree(:border) %>
28       </div>
29       <div class="field">
30         <%= f.label :publish %><br />
31         <%= 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, :tree => @panel.field_tree(:publish)} %>
32       </div>
33       <% unless @panel.new_record?  %>
34         <%= f.hidden_field :id, :id => @panel.field_tag_id(:id), :panel_id => @panel.tag_panel_id, :column => :id, :tree => @panel.field_tree(:id) %>
35       <% end %>
36       <div class="actions">
37         <%= f.submit 'panels.submit', :class => "submit" %>
38       </div>
39     <% end %>
40   </div>
41   <div id="tabs-2">
42     <div id="elements-tabs">
43       <ul>
44         <% @panel.panel_elements.each do |elm| %>
45           <li><a href="#elements-tabs-<%= elm.t -%>">
46             <div>
47               <% case elm.class.to_s %>
48               <% when 'PanelPicture' %>
49                 <%= tag(:img, elm.tmb_opt_img_tag) %>
50                 <div>
51                   <%= h(truncate(elm.caption, :length => 6)) %>
52                 </div>
53               <% when 'SpeechBalloon' %>
54                 <%= tag(:img, elm.speech_balloon_template.system_picture.tmb_opt_img_tag) %>
55                 <div>
56                   <%= h(truncate(elm.speech.content, :length => 6)) %>
57                 </div>
58               <% when 'GroundPicture' %>
59                 <%= tag(:img, elm.tmb_opt_img_tag) -%>
60                 <div>
61                   <%= h(truncate(elm.caption, :length => 6)) %>
62                 </div>
63               <% when 'GroundColor' %>
64                 <div style="color: #<%= format("%06x", elm.code ^ 0xffffff) -%>; background-color: #<%= format("%06x", elm.code) -%>;">
65                   <%= format("%06x", elm.code) %>
66                 </div>
67                 <div>
68                   <%= h(truncate(elm.caption, :length => 6)) %>
69                 </div>
70               <% end %>
71             </div>
72           </a></li>
73         <% end %>
74       </ul>
75         <% @panel.panel_elements.each do |elm| %>
76           <div id="elements-tabs-<%= elm.t -%>">
77             <% case elm.class.to_s %>
78             <% when 'PanelPicture' %>
79               <%= render 'panel_pictures/form', :panel_picture => elm %>
80             <% when 'SpeechBalloon' %>
81               <% 
82                 speech_balloon = elm
83                 speech_balloon_template = speech_balloon.speech_balloon_template
84                 balloon = speech_balloon.balloon 
85                 speech = speech_balloon.speech 
86                 speech_balloon.extend speech_balloon_template.engine_speech_balloon_module
87                 balloon.extend speech_balloon_template.engine_balloon_module
88                 speech.extend speech_balloon_template.engine_speech_module
89                 
90                 speech_balloon_extend = speech_balloon.extend_speech_balloon
91                 balloon_extend = balloon.extend_balloon
92                 speech_extend = speech.extend_speech
93               %>
94               <%= render elm.speech_balloon_template.engine_name + '/speech_balloons/form', :speech_balloon => speech_balloon, :balloon => balloon, :speech => speech, :speech_balloon_extend => speech_balloon_extend, :balloon_extend => balloon_extend, :speech_extend => speech_extend %>
95             <% when 'GroundPicture' %>
96               <%= render 'ground_pictures/form', :ground_picture => elm %>
97             <% when 'GroundColor' %>
98               <%= render 'ground_colors/form', :ground_color => elm %>
99             <% end %>
100           </div>
101         <% end %>
102     </div>
103   </div>
104   <div id="tabs-3">
105     <div class="tsort-box">
106       <ul id="<%= @panel.tag_id -%>tsort" class="tsort" panel_id="<%= @panel.tag_panel_id -%>">
107         <% @panel.panel_elements.each do |elm| %>
108           <li panel_id="<%= elm.tag_panel_id -%>" element_id="<%= elm.tag_element_id -%>" element_type="<%= elm.tag_element_type -%>">
109             <% case elm.class.to_s %>
110             <% when 'PanelPicture' %>
111               <span>
112                 <%= tag(:img, elm.tmb_opt_img_tag) %>
113               </span>
114             <% when 'SpeechBalloon' %>
115               <span>
116                 <%= elm.id -%>
117                 <%= h(truncate(elm.speech.content, :length => 12)) -%>
118               </span>
119             <% when 'GroundPicture' %>
120               <span>
121                 <%= tag(:img, elm.tmb_opt_img_tag) -%>
122               </span>
123             <% when 'GroundColor' %>
124               <span style="color: #<%= format("%06x", elm.code ^ 0xffffff) -%>; background-color: #<%= format("%06x", elm.code) -%>;">
125                 <%= format("%06x", elm.code ^ 0xffffff) %>
126               </span>
127             <% end %>
128             <span>
129               <%= h(truncate(elm.caption, :length => 12)) %>
130             </span>
131           </li>
132         <% end %>
133       </ul>
134     </div>
135     <div id="<%= @panel.tag_id -%>scenario" class="scenario" panel_id="<%= @panel.tag_panel_id -%>">
136       <% @panel.panel_elements.each do |elm| %>
137         <div panel_id="<%= elm.tag_panel_id -%>" element_id="<%= elm.tag_element_id -%>" element_type="<%= elm.tag_element_type -%>">
138           <% case elm.class.to_s %>
139           <% when 'PanelPicture' %>
140             <%= render 'panel_pictures/scenario', :panel_picture => elm %>
141           <% when 'SpeechBalloon' %>
142             <%= render elm.speech_balloon_template.engine_name + '/speech_balloons/scenario', :speech_balloon => elm %>
143           <% when 'GroundPicture' %>
144             <%= render 'ground_pictures/scenario', :ground_picture => elm %>
145           <% when 'GroundColor' %>
146             <%= render 'ground_colors/scenario', :ground_color => elm %>
147           <% end %>
148         </div>
149       <% end %>
150     </div>
151     <div class="tsort-row-break">
152     </div>
153   </div>
154   <div id="tabs-4">
155     <h2><%= 'z reorder' -%></h2>
156     <table id="z-sortable">
157       <tbody >
158       <% @panel.zorderd_elements.each do |elm| %>
159         <tr panel_id="<%= elm.tag_panel_id -%>" element_id="<%= elm.tag_element_id -%>" element_type="<%= elm.tag_element_type -%>">
160           <% case elm.class.to_s %>
161           <% when 'PanelPicture' %>
162             <td>
163               <%= tag(:img, elm.tmb_opt_img_tag) %>
164             </td>
165           <% when 'SpeechBalloon' %>
166             <td>
167               <%= elm.id -%>
168               <%= elm.caption -%>
169             </td>
170           <% when 'GroundPicture' %>
171             <td>
172               <%= tag(:img, elm.tmb_opt_img_tag) -%>
173             </td>
174           <% when 'GroundColor' %>
175             <td style="color: #<%= format("%06x", elm.code ^ 0xffffff) -%>; background-color: #<%= format("%06x", elm.code) -%>;">
176               <%= format("%06x", elm.code ^ 0xffffff) %>
177             </td>
178           <% end %>
179           <td>
180             <%= h(truncate(elm.caption, :length => 12)) %>
181           </td>
182         </tr>
183       <% end %>
184       </tbody>
185     </table>
186   </div>
187   <div id="tabs-5">
188     <script>
189     <!--
190       <% SpeechBalloonTemplate.list().each do |sbt| %>
191         var <%= h(sbt.engine_name) %>_settings = <%= raw sbt.parsed_settings.to_json -%>;
192       <% end %>
193     // -->
194     </script>
195     <% SpeechBalloonTemplate.list().each do |sbt| %>
196       <%= stylesheet_link_tag sbt.engine_name + "/application" %>
197       <%= javascript_include_tag sbt.engine_name + "/application" %>
198     <% end %>
199   </div>
200 </div>
201 <%= form_for(@panel, :html => {:jqform => 'pettanr-panel-form'}) do |f| %>
202   <%= render 'system/error_explanation', :obj => @panel %>
203
204   <%= text_field_tag "json", '', :id => 'pettanr-panel-json' %>
205   <div>
206     <%= submit_tag t('panels.create_from_json'), :id => 'pettanr-panel-submit' -%>
207   </div>
208 <% end %>
209
210 <style>
211 <!--
212 .tsort {
213     list-style-type: none;
214     margin: 0;
215     padding: 0;
216 }
217 .tsort li {
218     margin: 0 3px 3px 3px;
219     padding: 0.3em;
220     padding-left: 1em;
221     font-size: 15px;
222     font-weight: bold;
223     cursor: move;
224 }
225 #z-sortable tr {
226     margin: 0 3px 3px 3px;
227     padding: 0.3em;
228     padding-left: 1em;
229     font-size: 15px;
230     font-weight: bold;
231     cursor: move;
232 }
233 .ui-slider .ui-slider-handle {
234         width: 1em;
235   height: 1em;
236 }
237 .ui-slider-horizontal {
238         height: 0.6em;
239 }
240 -->
241 </style>
242 <script>
243 <!--
244 var pettanr_current_panel_id = <%= @panel.tag_panel_id -%>;
245
246 function confirm_confirm_confirm() {
247   confirm(  );
248 };
249 function set_tree_value(keys, last_attr, value) {
250   var key = keys.shift();
251   if (keys.length <= 0) {
252     last_attr[key] = value;
253   } else {
254     last_attr[key] = last_attr[key] || {};
255     set_tree_value(keys, last_attr[key], value);
256   }
257 };
258 // -->
259 </script>