OSDN Git Service

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