OSDN Git Service

7b945e895fcad6ffd4cd310c4dfc88c48d3899e2
[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           <%= h elm.plain_scenario -%>
125         </div>
126       <% end %>
127     </div>
128     <div class="tsort-row-break">
129     </div>
130   </div>
131   <div id="tabs-4">
132     <h2><%= 'z reorder' -%></h2>
133     <table id="z-sortable">
134       <tbody >
135       <% @panel.zorderd_elements.each do |elm| %>
136         <tr panel_id="<%= elm.tag_panel_id -%>" element_id="<%= elm.tag_element_id -%>" element_type="<%= elm.tag_element_type -%>">
137           <% case elm.class.to_s %>
138           <% when 'PanelPicture' %>
139             <td>
140               <%= tag(:img, elm.tmb_opt_img_tag) %>
141             </td>
142           <% when 'SpeechBalloon' %>
143             <td>
144               <%= elm.id -%>
145               <%= elm.caption -%>
146             </td>
147           <% when 'GroundPicture' %>
148             <td>
149               <%= tag(:img, elm.tmb_opt_img_tag) -%>
150             </td>
151           <% when 'GroundColor' %>
152             <td style="color: #<%= format("%06x", elm.code ^ 0xffffff) -%>; background-color: #<%= format("%06x", elm.code) -%>;">
153               <%= format("%06x", elm.code ^ 0xffffff) %>
154             </td>
155           <% end %>
156           <td>
157             <%= h(truncate(elm.caption, :length => 12)) %>
158           </td>
159         </tr>
160       <% end %>
161       </tbody>
162     </table>
163   </div>
164   <div id="tabs-5">
165     <script>
166     <!--
167       <% SpeechBalloonTemplate.list().each do |sbt| %>
168         var <%= h(sbt.engine_name) %>_settings = <%= raw sbt.parsed_settings.to_json -%>;
169       <% end %>
170     // -->
171     </script>
172     <% SpeechBalloonTemplate.list().each do |sbt| %>
173       <%= stylesheet_link_tag sbt.engine_name + "/application" %>
174       <%= javascript_include_tag sbt.engine_name + "/application" %>
175     <% end %>
176   </div>
177 </div>
178 <%= form_for(@panel, :html => {:jqform => 'pettanr-panel-form'}) do |f| %>
179   <%= render 'system/error_explanation', :obj => @panel %>
180
181   <%= text_field_tag "json", '', :id => 'pettanr-panel-json' %>
182   <div>
183     <%= submit_tag t('panels.create_from_json'), :id => 'pettanr-panel-submit' -%>
184   </div>
185 <% end %>
186
187 <style>
188 <!--
189 .tsort {
190     list-style-type: none;
191     margin: 0;
192     padding: 0;
193 }
194 .tsort li {
195     margin: 0 3px 3px 3px;
196     padding: 0.3em;
197     padding-left: 1em;
198     font-size: 15px;
199     font-weight: bold;
200     cursor: move;
201 }
202 #z-sortable tr {
203     margin: 0 3px 3px 3px;
204     padding: 0.3em;
205     padding-left: 1em;
206     font-size: 15px;
207     font-weight: bold;
208     cursor: move;
209 }
210 .ui-slider .ui-slider-handle {
211         width: 1em;
212   height: 1em;
213 }
214 .ui-slider-horizontal {
215         height: 0.6em;
216 }
217 -->
218 </style>
219 <script>
220 <!--
221 var pettanr_current_panel_id = <%= @panel.tag_panel_id -%>;
222
223 function confirm_confirm_confirm() {
224   confirm(  );
225 };
226 function set_tree_value(keys, last_attr, value) {
227   var key = keys.shift();
228   if (keys.length <= 0) {
229     last_attr[key] = value;
230   } else {
231     last_attr[key] = last_attr[key] || {};
232     set_tree_value(keys, last_attr[key], value);
233   }
234 };
235 // -->
236 </script>