SpeciesFileGroup/taxonworks

View on GitHub
app/views/tags/_tag_picker.html.erb

Summary

Maintainability
Test Coverage
<div class="tag_picker">
  <div>
    <div class="tag_header"> Tags for <%= object_tag(@taggable_object) %>
    <span class='tag_picker_alert' hidden></span></div>
    <span class="tag_picker_message"></span>

    <ul class="tag_list">
      <%= f.fields_for :tags, @taggable_object.tags.order(:position) do |tag_fields| %>
        <% if tag_fields.object.new_record? %>
          <% inc_index = "#{Time.now.to_i}#{tag_fields.object.id}" %>
          <%= content_tag(:li, 'data-tag-index' => inc_index) do -%>
            <%= tag_fields.fields_for :keyword do |keyword_fields| %>
              <%= keyword_fields.hidden_field :name -%>
              <%= keyword_fields.hidden_field :definition -%>
              <%= tag_annotation_tag(keyword_fields.object.tag) -%> <%= link_to('remove', "#", data: { turbolinks: false }, class: :remove_tag) -%>
            <% end %>
          <% end %>
        <% else %>
          <li class="tag_item" data-tag-id="<%= tag_fields.object.id -%>" data-tag-index="<%= tag_fields.index -%>">
            <%= tag_fields.object.position %>
            <%= tag_annotation_tag(tag_fields.object) -%>
            <%= link_to('remove', "#",  data: { turbolinks: false }, class: :remove_tag) -%>
          </li>
        <% end %>
      <% end %>
    </ul>
  </div>

  <div class="keyword_selection">
    <div><%= text_field_tag "keyword_picker_autocomplete", nil, class: 'keyword_picker_autocomplete', placeholder: "Keyword" %></div>

    <div class="new_keyword">
      <div class="keyword_picker_form">
        <%= f.fields_for Keyword.new do |fp| %>
          <div class="field">
            <%= fp.label :definition %><br>
            <%= fp.text_area :name, placeholder: "Keyword definition", class: :definition, id: "#{f.object.class.name}_#{f.object.id}_new_keyword_definition" %>
          </div>
        <% end %>

        <%= link_to "add new", '#',  data: { turbolinks: false }, id: :keyword_picker_add_new, class: [:add_total_row] %>
      </div>
    </div>
  </div>

</div>