OSDN Git Service

add editor
[pettanr/pettanr.git] / app / views / panels / _form.html.erb
1 <%= render 'system/jfiler' %>
2 <script type="text/template" id="test_template">
3   <label>test</label>
4   <div id="tabs-label">
5     click me
6   </div>
7   <& _.each(obj.items(), function(item) { &>
8     <& if (item.visible() == 2) { &>
9       true
10     <& } &>
11   <& }); &>
12 </script>
13 <div id="template" >
14 </div>
15 <div id="jfiler" >
16 </div>
17 <div id="tabs" class="panel-editor" panel_id="<%= @panel.tag_panel_id -%>" current="1">
18   <ul>
19     <li id="tabs-1-tab"><a href="#tabs-1">panel</a></li>
20     <li id="tabs-2-tab"><a href="#tabs-2">elements</a></li>
21     <li id="tabs-3-tab"><a href="#tabs-3">t order</a></li>
22     <li id="tabs-4-tab"><a href="#tabs-4">z order</a></li>
23     <li id="tabs-5-tab"><a href="#tabs-5">new</a></li>
24   </ul>
25   <div id="tabs-1">
26     <%= form_for(@panel, :html => @panel.tag_attributes('form', 'data-form-name' => 'panel')) do |f| %>
27       <%= render 'system/error_explanation', :obj => @panel %>
28
29       <div class="field">
30         <%= f.label :caption %>
31         <%= f.text_field :caption, @panel.field_tag_attributes(:caption, 0, 'data-model' => 'panel') -%>
32       </div>
33       <div class="row_break">
34       </div>
35       <div class="field">
36         <%= f.label :width %>
37         <%= f.number_field :width, @panel.field_tag_attributes(:width, 0, :size => 5, 'data-model' => 'panel') %>
38       </div>
39       <div class="field">
40         <%= f.label :height %>
41         <%= f.number_field :height, @panel.field_tag_attributes(:height, 0, :size => 5, 'data-model' => 'panel') %>
42       </div>
43       <div class="row_break">
44       </div>
45       <div class="field">
46         <%= f.label :border %>
47         <%= f.number_field :border, @panel.field_tag_attributes(:border, 0, :size => 5, 'data-model' => 'panel') %>
48       </div>
49       <div class="field">
50         <%= f.label :publish %>
51         <%= f.select :publish, t_select_items(manifest.select_items['magic_number']['panel_visible_items']), *@panel.select_tag_attributes(@panel.publish, :publish, 'data-model' => 'panel') %>
52       </div>
53       <div class="row_break">
54       </div>
55       <% unless @panel.new_record?  %>
56         <%= f.hidden_field :id, @panel.field_tag_attributes(:id, 0, 'data-model' => 'panel') %>
57       <% end %>
58       <div class="actions">
59         <%= f.submit 'panels.submit', :class => "submit" %>
60       </div>
61     <% end %>
62   </div>
63  <div id="tabs-2">
64 <div id="elements-tabs">
65 <ul>
66 <% @panel.panel_elements.each do |elm| %>
67 <%= render 'element_tab', :elm => elm %>
68 <% end %>
69 </ul>
70 <% mounted = true %>
71 <% @panel.panel_elements.each do |element| %>
72 <div <%= raw element.tag_attr(:tab_panel) -%>>
73 <div id="elements-tabs-<%= element.t -%>">
74 <% form_manager = Pettanr::Application::manifest.form_managers[element.form_name] %>
75 <% form = form_manager.open element, @operators, mounted %>
76 <%= render 'element_form', :form => form %>
77 <%= hidden_field_tag '_destroy', '', element.field_tag_attributes(:_destroy, 0) %>
78 </div>
79 </div>
80 <% end %>
81 </div>
82 </div>
83   <div id="tabs-3">
84     <div class="tsort-box">
85       <ul class="tsort tsort-tabs-nav" <%= raw @panel.tag_attr(:tsort) -%>>
86         <% @panel.panel_elements.each do |elm| %>
87           <li <%= raw elm.tag_attr(:tsort) -%>>
88             <div class="elements-tab">
89               <%= render elm.path_name + '/element_face', :elm => elm %>
90             </div>
91           </li>
92         <% end %>
93       </ul>
94     </div>
95     <div class="scenario" <%= raw @panel.tag_attr(:scenario) -%>>
96       <% @panel.panel_elements.each do |elm| %>
97         <div <%= raw elm.tag_attr() -%>>
98           <%= render elm.scenario_template, :elm => elm, :no_attr => 0 %>
99         </div>
100       <% end %>
101     </div>
102     <div class="tsort-row-break">
103     </div>
104   </div>
105   <div id="tabs-4">
106     <div class="zsort-box">
107       <ul class="zsort zsort-tabs-nav" <%= raw @panel.tag_attr(:zsort) -%>>
108         <% @panel.zorderd_elements.each do |elm| %>
109           <li <%= raw elm.tag_attr(:zsort) -%>>
110             <div class="elements-tab">
111               <%= render elm.class.to_s.tableize + '/element_face', :elm => elm %>
112             </div>
113           </li>
114         <% end %>
115       </ul>
116     </div>
117   </div>
118   <div id="tabs-5">
119     <div id="new-element-tabs">
120       <ul>
121       <% i = 0 %>
122         <% Panel.each_element_classes do |k| %>
123           <li>
124             <a href="#new-element-tabs-<%= i -%>">
125               <div class="new-element-tab">
126                 <%= t_m k.to_s %>
127               </div>
128             </a>
129           </li>
130         <% i += 1 %>
131         <% end %>
132       </ul>
133       <% i = 0 %>
134       <% mounted = false %>
135       <% Panel.each_element_classes do |k| %>
136         <div>
137           <div id="new-element-tabs-<%= i -%>">
138             <% case k.to_s %>
139             <% when 'PanelPicture' %>
140             <% when 'SpeechBalloon' %>
141               <div id="new-speech_balloon-tabs">
142                 <ul>
143                   <% SpeechBalloonTemplate.enable_list().each_with_index do |sbt, index| %>
144                     <li>
145                       <a href="#new-speech_balloon-tabs-<%= index -%>">
146                         <div class="new-speech_balloon-tab">
147                           <%= tag(:img, sbt.system_picture.tmb_opt_img_tag) %>
148                           <div>
149                             <%= h(sbt.caption) %>
150                           </div>
151                         </div>
152                       </a>
153                     </li>
154                   <% end %>
155                 </ul>
156                 <% SpeechBalloonTemplate.enable_list().each_with_index do |sbt, index| %>
157                   <div id="new-speech_balloon-tabs-<%= index -%>">
158                     <% elm = SpeechBalloon.new :panel_id => @panel.id, :speech_balloon_template_id => sbt.id %>
159                     <% 
160                       elm.new_panel = @panel
161                       elm.boost
162                       elm.supply_default
163                       elm.balloon.supply_default 
164                       elm.speech.supply_default 
165                     %>
166                     <%# render elm.form_template, :elm => elm, :no_attr => 1 %>
167                   </div>
168                 <% end %>
169             <% when 'GroundPicture' %>
170             <% when 'GroundColor' %>
171               <% element = GroundColor.new :panel_id => @panel.id %>
172               <% element.new_panel = @panel ; element.boost ; element.supply_default %>
173               <% form_manager = Pettanr::Application::manifest.form_managers[element.form_name] %>
174               <% form = form_manager.open element, @operators, mounted %>
175               <%= render 'element_form', :form => form %>
176             <% end %>
177           </div>
178         </div>
179         <% i += 1 %>
180       <% end %>
181     </div>
182   </div>
183 </div>
184 <%= form_for(@panel, :html => {:jqform => 'pettanr-panel-form'}) do |f| %>
185   <%= render 'system/error_explanation', :obj => @panel %>
186
187   <%= text_field_tag "json", '', :id => 'pettanr-panel-json' %>
188   <div>
189     <%= submit_tag t('panels.create_from_json'), :id => 'pettanr-panel-submit' -%>
190   </div>
191 <% end %>
192 <div id="writing_formats">
193   <% WritingFormat.enable_list().each do |wf| %>
194     <div id="writing_format-<%= wf.id -%>" writing_format_id="<%= wf.id -%>" writing_format_engine_name="<%= wf.engine_name -%>">
195     </div>
196   <% end %>
197 </div>
198 <div id="speech_balloon_templates">
199   <% SpeechBalloonTemplate.enable_list().each do |sbt| %>
200     <div id="speech_balloon_template-<%= sbt.id -%>" speech_balloon_template_id="<%= sbt.id -%>" engine_name="<%= sbt.engine_name -%>" settings="<%= sbt.parsed_settings.to_json -%>">
201     </div>
202   <% end %>
203 </div>
204 <div <%= raw @panel.tag_attr('popup') -%> style="display: none;" >
205 </div>