%= form_with(model: [:admin, node],
class: 'form-plain has--key-ctrls',
id: 'node_form',
data: {
locale: form_locale,
controller: "i18n-form"
}) do |form| %>
<%= render partial: 'material/select_field',
locals: {
f: form,
attr: :parent_id,
choices: (@node.root? ? [] : node_structure_for_select(@node.root, @node)),
selected: @node.parent_id,
include_blank: false
} unless form.object.root? %>
<%= render partial: 'material/select_field',
locals: {
f: form,
attr: :template,
include_blank: form.object.root?,
choices: Node.templates.slice(*(Node::NODE_TEMPLATES)).map { |k,v| [t(k, scope: :'nodes.templates'), k] }.sort } %>
<%= render partial: 'material/tom_select_field',
locals: {
f: form,
attr: :settings,
choices: Node::SETTINGS.map{ |tag| [ t(tag, scope: :'nodes.settings') , tag.to_s] }.sort,
multiple: true
} %>
<%= render partial: 'material/text_field_i18n', locals: { f: form, attr: :href } unless form.object.root? %>
<%# render partial: 'material/tom_select_field_i18n',
locals: {
f: form,
attr: :tags,
choices: Node.tags,
multiple: true,
tags: true
} unless form.object.root? %>
<%= link_to t(:'ui.cancel'),
url_for(action: 'tree', id: @node.parent&.id),
data: {
turbo_stream: true,
turbo_action: 'advance'
} %>
<%= form.submit t(:'ui.save') %>
<% end %>