-<%= form_for(@panel) do |f| %>
- <%= render 'system/error_explanation', :obj => @panel %>
+<div id="template" >
+</div>
+<div id="tabs" class="panel-editor" panel_id="<%= @panel.tag_panel_id -%>" current="1">
+ <ul>
+ <li id="tabs-1-tab"><a href="#tabs-1">panel</a></li>
+ <li id="tabs-2-tab"><a href="#tabs-2">elements</a></li>
+ <li id="tabs-3-tab"><a href="#tabs-3">t order</a></li>
+ <li id="tabs-4-tab"><a href="#tabs-4">z order</a></li>
+ <li id="tabs-5-tab"><a href="#tabs-5">new</a></li>
+ </ul>
+ <div id="tabs-1">
+ <%= form_for(@panel, :html => @panel.tag_attributes('form', 'data-form-name' => 'panel')) do |f| %>
+ <%= render 'system/error_explanation', :obj => @panel %>
- <div class="field">
- <%= f.label :caption %><br />
- <%= f.text_field :caption %>
- </div>
- <div class="field">
- <%= f.label :width %><br />
- <%= f.number_field :width %>
+ <div class="field">
+ <%= f.label :caption %>
+ <%= f.text_field :caption, @panel.field_tag_attributes(:caption, 'data-model' => 'panel') -%>
+ </div>
+ <div class="row_break">
+ </div>
+ <div class="field">
+ <%= f.label :width %>
+ <%= f.number_field :width, @panel.field_tag_attributes(:width, :size => 5, 'data-model' => 'panel') %>
+ </div>
+ <div class="field">
+ <%= f.label :height %>
+ <%= f.number_field :height, @panel.field_tag_attributes(:height, :size => 5, 'data-model' => 'panel') %>
+ </div>
+ <div class="row_break">
+ </div>
+ <div class="field">
+ <%= f.label :border %>
+ <%= f.number_field :border, @panel.field_tag_attributes(:border, :size => 5, 'data-model' => 'panel') %>
+ </div>
+ <div class="field">
+ <%= f.label :publish %>
+ <%= f.select :publish, t_select_items(manifest.select_items['magic_number']['panel_visible_items']), *@panel.select_tag_attributes(@panel.publish, :publish, 'data-model' => 'panel') %>
+ </div>
+ <div class="row_break">
+ </div>
+ <% unless @panel.new_record? %>
+ <%= f.hidden_field :id, @panel.field_tag_attributes(:id, 'data-model' => 'panel') %>
+ <% end %>
+ <div class="actions">
+ <%= f.submit 'panels.submit', :class => "submit" %>
+ </div>
+ <% end %>
</div>
- <div class="field">
- <%= f.label :height %><br />
- <%= f.number_field :height %>
+ <div id="tabs-2">
+ <div id="elements-tabs">
+ <ul>
+ <% @panel.panel_elements.each do |elm| %>
+ <%= render 'element_tab', :elm => elm %>
+ <% end %>
+ </ul>
+ <% mounted = true %>
+ <% @panel.panel_elements.each do |element| %>
+ <div <%= raw element.tag_attr(:tab_panel) -%>>
+ <div id="elements-tabs-<%= element.t -%>">
+ <% form_manager = Pettanr::Application::manifest.form_managers[element.form_name] %>
+ <% form = form_manager.open element, @operators, mounted %>
+ <%= render 'element_form', :form => form %>
+ <%= hidden_field_tag '_destroy', '', element.field_tag_attributes(:_destroy, 0) %>
+ </div>
+ </div>
+ <% end %>
+ </div>
</div>
- <div class="field">
- <%= f.label :border %><br />
- <%= f.number_field :border %>
+ <div id="tabs-3">
+ <div class="tsort-box">
+ <ul class="tsort tsort-tabs-nav" <%= raw @panel.tag_attr(:tsort) -%>>
+ <% @panel.panel_elements.each do |elm| %>
+ <li <%= raw elm.tag_attr(:tsort) -%>>
+ <div class="elements-tab">
+ <%= render elm.path_name + '/element_face', :elm => elm %>
+ </div>
+ </li>
+ <% end %>
+ </ul>
+ </div>
+ <div class="scenario" <%= raw @panel.tag_attr(:scenario) -%>>
+ <% @panel.panel_elements.each do |elm| %>
+ <div <%= raw elm.tag_attr() -%>>
+ <%= render elm.scenario_template, :elm => elm, :no_attr => 0 %>
+ </div>
+ <% end %>
+ </div>
+ <div class="tsort-row-break">
+ </div>
</div>
- <div class="field">
- <%= f.label :publish %><br />
- <%= f.collection_select :publish, t_select_items(MagicNumber['panel_visible_items']), :last, :first, :html => {:selected => @panel.publish} %>
+ <div id="tabs-4">
+ <div class="zsort-box">
+ <ul class="zsort zsort-tabs-nav" <%= raw @panel.tag_attr(:zsort) -%>>
+ <% @panel.zorderd_elements.each do |elm| %>
+ <li <%= raw elm.tag_attr(:zsort) -%>>
+ <div class="elements-tab">
+ <%= render elm.class.to_s.tableize + '/element_face', :elm => elm %>
+ </div>
+ </li>
+ <% end %>
+ </ul>
+ </div>
</div>
- <div class="actions">
- <%= f.submit %>
+ <div id="tabs-5">
+ <div id="new-element-tabs">
+ <ul>
+ <% i = 0 %>
+ <% Panel.each_element_classes do |k| %>
+ <li>
+ <a href="#new-element-tabs-<%= i -%>">
+ <div class="new-element-tab">
+ <%= t_m k.to_s %>
+ </div>
+ </a>
+ </li>
+ <% i += 1 %>
+ <% end %>
+ </ul>
+ <% i = 0 %>
+ <% mounted = false %>
+ <% Panel.each_element_classes do |k| %>
+ <div>
+ <div id="new-element-tabs-<%= i -%>">
+ <% case k.to_s %>
+ <% when 'PanelPicture' %>
+ <% when 'SpeechBalloon' %>
+ <div id="new-speech_balloon-tabs">
+ <ul>
+ <% SpeechBalloonTemplate.enable_list().each_with_index do |sbt, index| %>
+ <li>
+ <a href="#new-speech_balloon-tabs-<%= index -%>">
+ <div class="new-speech_balloon-tab">
+ <%= tag(:img, sbt.system_picture.tmb_opt_img_tag) %>
+ <div>
+ <%= h(sbt.caption) %>
+ </div>
+ </div>
+ </a>
+ </li>
+ <% end %>
+ </ul>
+ <% SpeechBalloonTemplate.enable_list().each_with_index do |sbt, index| %>
+ <div id="new-speech_balloon-tabs-<%= index -%>">
+ <% elm = SpeechBalloon.new :panel_id => @panel.id, :speech_balloon_template_id => sbt.id %>
+ <%
+ elm.new_panel = @panel
+ elm.boost
+ elm.supply_default
+ elm.balloon.supply_default
+ elm.speech.supply_default
+ %>
+ <%# render elm.form_template, :elm => elm, :no_attr => 1 %>
+ </div>
+ <% end %>
+ <% when 'GroundPicture' %>
+ <% when 'GroundColor' %>
+ <% element = GroundColor.new :panel_id => @panel.id %>
+ <% element.new_panel = @panel ; element.boost ; element.supply_default %>
+ <% form_manager = Pettanr::Application::manifest.form_managers[element.form_name] %>
+ <% form = form_manager.open element, @operators, mounted %>
+ <%= render 'element_form', :form => form %>
+ <% end %>
+ </div>
+ </div>
+ <% i += 1 %>
+ <% end %>
+ </div>
</div>
-<% end %>
-
-<h2><%= t 'panels.create_from_json' -%></h2>
-<%= form_for(@panel) do |f| %>
+</div>
+<%= form_for(@panel, :html => {:jqform => 'pettanr-panel-form'}) do |f| %>
<%= render 'system/error_explanation', :obj => @panel %>
+ <%= text_field_tag "json", '', :id => 'pettanr-panel-json' %>
<div>
- <label for="json">json data</label>
- </div>
- <%= text_field_tag "json" %>
- <div>
- <%= submit_tag t('panels.create_from_json') -%>
+ <%= submit_tag t('panels.create_from_json'), :id => 'pettanr-panel-submit' -%>
</div>
<% end %>
-
-<h2><%= 't reorder' -%></h2>
-<table id="t-sortable">
- <tbody >
- <% @panel.panel_elements.each do |elm| %>
- <tr classname="<%= elm.class.to_s -%>" oid="<%= elm.id -%>">
- <% case elm.class.to_s %>
- <% when 'PanelPicture' %>
- <td>
- <%= link_to(tag(:img, elm.tmb_opt_img_tag), elm) %>
- </td>
- <% when 'SpeechBalloon' %>
- <td>
- <%= elm.id -%>
- <%= elm.caption -%>
- </td>
- <% when 'GroundPicture' %>
- <td>
- <%= link_to(tag(:img, elm.tmb_opt_img_tag), elm.picture) -%>
- </td>
- <% when 'GroundColor' %>
- <td style="color: #<%= format("%06x", elm.code ^ 0xffffff) -%>; background-color: #<%= format("%06x", elm.code) -%>;">
- <%= format("%06x", elm.code ^ 0xffffff) %>
- </td>
- <% end %>
- <td>
- <%= h(truncate(elm.caption, :length => 12)) %>
- </td>
- </tr>
+<div id="writing_formats">
+ <% WritingFormat.enable_list().each do |wf| %>
+ <div id="writing_format-<%= wf.id -%>" writing_format_id="<%= wf.id -%>" writing_format_engine_name="<%= wf.engine_name -%>">
+ </div>
<% end %>
- </tbody>
-</table>
-<%= form_for(@panel) do |f| %>
- <%= hidden_field_tag "json", nil, :id => 't-reorder' %>
- <% unless @panel.new_record? -%>
- <%= content_tag :div, '', :id => "panel-id-elm", :oid => @panel.id -%>
+</div>
+<div id="speech_balloon_templates">
+ <% SpeechBalloonTemplate.enable_list().each do |sbt| %>
+ <div id="speech_balloon_template-<%= sbt.id -%>" speech_balloon_template_id="<%= sbt.id -%>" engine_name="<%= sbt.engine_name -%>" settings="<%= sbt.parsed_settings.to_json -%>">
+ </div>
<% end %>
- <div>
- <%= submit_tag t('panels.create.title') -%>
- </div>
-<% end %>
-
-<script>
-<!--
-jQuery( function() {
- jQuery( '#t-sortable tbody' ) . sortable( {
- update: function( event, ui ) {
- var panel_pictures_attributes = {};
- var speech_balloons_attributes = {};
- var ground_colors_attributes = {};
- var ground_pictures_attributes = {};
- var i = 0;
- jQuery( '#t-sortable tr' ) . map( function() {
- switch ( this.getAttribute("classname") ){
- case 'PanelPicture':
- panel_pictures_attributes[this.getAttribute("oid")] = {id: this.getAttribute("oid"), t: i};
- break;
- case 'SpeechBalloon':
- speech_balloons_attributes[this.getAttribute("oid")] = {id: this.getAttribute("oid"), t: i};
- break;
- case 'GroundPicture':
- ground_pictures_attributes[this.getAttribute("oid")] = {id: this.getAttribute("oid"), t: i};
- break;
- case 'GroundColor':
- ground_colors_attributes[this.getAttribute("oid")] = {id: this.getAttribute("oid"), t: i};
- break;
- }
- i++;
- } );
- var panel = {
- panel_pictures_attributes: panel_pictures_attributes,
- speech_balloons_attributes: speech_balloons_attributes,
- ground_pictures_attributes: ground_pictures_attributes,
- ground_colors_attributes: ground_colors_attributes
- };
- if ( $("#panel-id-elm") )
- panel['id'] = $( "#panel-id-elm").attr("oid") ;
- $("#t-reorder").val(JSON.stringify(panel));
-
- }
- } );
- jQuery( '#t-sortable tbody' ) . disableSelection();
-} );
-// -->
-</script>
+</div>
+<div <%= raw @panel.tag_attr('popup') -%> style="display: none;" >
+</div>