<%= content_tag :div, id: "element_#{element.id}", data: {'element-id' => element.id, 'element-name' => element.name}, class: element_editor_classes(element) do %> <% unless element.fixed? %> <%= render 'alchemy/admin/elements/element_header', element: element %> <% end %> <% if element.expanded? || element.fixed? %> <%= render 'alchemy/admin/elements/element_toolbar', element: element %> <% element.definition[:message].tap do |message| %> <%= render_message(:info, sanitize(message)) if message %> <% end %> <% element.definition[:warning].tap do |warning| %> <%= render_message(:warning, sanitize(warning)) if warning %> <% end %> <% if element_editable?(element) %> <%= form_for [alchemy, :admin, element], remote: true, html: {id: "element_#{element.id}_form".html_safe, class: 'element-content'} do |f| %>
<% if lookup_context.exists?("#{element.name}_editor", ["alchemy/elements"], true) %> <%= render_editor(element) %> <% else %> <%= element_editor_for(element) do %> <% element.contents.each do |content| %> <%= render "alchemy/essences/#{content.essence_partial_name}_editor", { content: content } %> <% end %> <% end %> <% end %>
<% if element.taggable? %>
<%= f.label :tag_list %> <%= render 'alchemy/admin/partials/autocomplete_tag_list', f: f %>
<% end %> <% end %> <%= render 'alchemy/admin/elements/element_footer', element: element %> <% end %> <% end %> <% if element.nestable_elements.any? %>
<%= content_tag :div, class: "nested-elements", data: { 'droppable-elements' => element.nestable_elements.join(' ') } do %> <%= render partial: 'alchemy/admin/elements/element', collection: element.all_nested_elements %> <% end %> <% if element.expanded? || element.fixed? %> <% if element.nestable_elements.length == 1 %> <% nestable_element = element.nestable_elements.first %> <%= form_for [:admin, Alchemy::Element.new(name: nestable_element)], remote: true, html: { class: 'add-nested-element-form', id: nil } do |f| %> <%= f.hidden_field :name %> <%= f.hidden_field :page_id, value: element.page_id %> <%= f.hidden_field :parent_element_id, value: element.id %> <% end %> <% else %> <%= link_to_dialog Alchemy.t("New Element"), alchemy.new_admin_element_path( parent_element_id: element.id, page_id: element.page.id ), { size: "320x125", title: Alchemy.t("New Element") }, class: "button add-nestable-element-button" %> <% end %> <% end %>
<% end %> <% end %>