sul-dlss/argo

View on GitHub
app/components/contents_component.html.erb

Summary

Maintainability
Test Coverage
<div class="accordion-item">
  <h2 class="accordion-header" id="document-contents-heading">
    <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#document-contents-section" aria-expanded="true" aria-controls="document-contents-section">
      Content
    </button>
  </h2>
  <div id="document-contents-section" class="accordion-collapse collapse show" aria-labelledby="document-contents-heading">
    <div class="accordion-body" data-controller="structural">
      <div class="mb-3">
        <%= render DownloadAllButtonComponent.new(cocina: @cocina, document: @document) %>
        <% if open_and_not_assembling? %>
          <%= button_tag class: 'btn btn-link float-end', data: { action: 'click->structural#open' } do %>
            <span class="bi-upload"></span> Upload CSV
          <% end %>
        <% end %>
        <%= link_to item_structure_path(@document, format: :csv), download: true, class: 'btn btn-link float-end' do %>
          <span class="bi-download"></span> Download CSV
        <% end %>
      </div>
      <div data-structural-target="form" class="mb-3" hidden>
        <%= form_with url: item_structure_path(@document), method: :put, target: '_top' do |form| %>
          <%= form.label :csv, 'Upload a CSV' %>
          <div class="mb-3">
            <%= form.file_field :csv, class: 'form-control', accept: '.csv', required: true %>
          </div>
          <%= form.submit class: 'btn btn-primary' %>
          <button class="btn btn-outline-primary" type="button" data-action="click->structural#close">Cancel</button>
        <% end %>
      </div>

      <turbo-frame id="structure" src="<%= item_structure_path(@view_token) %>"></turbo-frame>
    </div>
  </div>
</div>