<% main_content = yield %> <% additional_options = yield nil, :additional_options %> <% additional_content = yield nil, :additional_content %> <% card_body = yield nil, :card_body %> <% dd3_content_classes = local_assigns[:dd3_content_classes].presence %> <% card_data = local_assigns[:card_data].presence || {} %> <% enabled_method = local_assigns[:enabled_method].presence || :enabled %> <% label_method = local_assigns[:label_method].presence || :label %> <% label = local_assigns[:label].presence || field.object.public_send(label_method) %> <% default_value = local_assigns[:default_value].presence %> <% index = local_assigns[:index].presence %> <% card_data[:behavior] ||= 'restore-default' if default_value %>
  • <%= t :drag %>
    <%= content_tag :div, class: "d-flex card-header", data: card_data do %> <%= field.hidden_field :id %> <% if main_content.present? %> <%= main_content %> <% else %>

    <%= field.hidden_field :weight, value: index, 'data-property' => 'weight' %> <%= field.check_box enabled_method, inline: true, checked: field.object.public_send(enabled_method), hide_label: true, title: label %> <%= label %> <%= field.hidden_field label_method, value: label, class: 'form-control form-control-sm title-field', data: {:"edit-field-target" => 'true', default_value: default_value } %>

    <% end %> <% if default_value %>
    <%= button_tag t(:'.restore_default'), data: {:"restore-default" => true}, class: "btn restore-default btn-secondary btn-sm #{'d-none' if label.blank? || label == default_value}" %>
    <% end %> <%= content_tag :div, additional_options, class: 'd-flex' if additional_options.present? %> <% if additional_content.present? %>
    <% end %> <% end %> <%= content_tag :div, additional_content, id: "#{id.parameterize}_options", class: 'options collapse' if additional_content.present? %> <%= content_tag :div, card_body, class: 'card-body bg-white' if card_body.present? %>
    <%= yield nil, :nested_components %>