OSDN Git Service

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