AlchemyCMS/alchemy_cms

View on GitHub
app/views/alchemy/admin/pictures/index.html.erb

Summary

Maintainability
Test Coverage
<% content_for(:toolbar) do %>
  <div class="toolbar_buttons">
    <% if can? :create, Alchemy::Picture %>
      <div class="toolbar_button">
        <%= render 'alchemy/admin/uploader/button',
          object: Alchemy::Picture.new,
          file_attribute: 'image_file',
          redirect_url: alchemy.admin_pictures_path(
            size: @size,
            filter: { misc: 'last_upload' }
          ) %>
      </div>
      <div class="toolbar_spacer"></div>
    <% end %>
    <div class="button_group">
      <sl-tooltip content="<%= Alchemy.t(:small_thumbnails) %>">
        <%= link_to(
          render_icon('zoom-out'),
          alchemy.admin_pictures_path(
            size: "small",
            q: search_filter_params[:q],
            filter: search_filter_params[:filter],
            tagged_with: search_filter_params[:tagged_with]
          ),
          class: "icon_button"
        ) %>
      </sl-tooltip>
      <sl-tooltip content="<%= Alchemy.t(:medium_thumbnails) %>">
        <%= link_to(
          render_icon('search'),
          alchemy.admin_pictures_path(
            size: "medium",
            q: search_filter_params[:q],
            filter: search_filter_params[:filter],
            tagged_with: search_filter_params[:tagged_with]
          ),
          class: "icon_button"
        ) %>
      </sl-tooltip>
      <sl-tooltip content="<%= Alchemy.t(:big_thumbnails) %>">
        <%= link_to(
          render_icon('zoom-in'),
          alchemy.admin_pictures_path(
            size: "large",
            q: search_filter_params[:q],
            filter: search_filter_params[:filter],
            tagged_with: search_filter_params[:tagged_with]
          ),
          class: "icon_button"
        ) %>
      </sl-tooltip>
      <%= hidden_field_tag('size', @size, id: 'overlay_thumbnails_size') %>
    </div>
    <div class="toolbar_spacer"></div>
    <div class="toolbar_button">
      <sl-tooltip content="<%= Alchemy.t("Select all") %>">
        <%= link_to(
          render_icon('checkbox-multiple'),
          nil,
          id: 'select_all_pictures',
          class: 'icon_button',
          'data-alchemy-hotkey' => 'alt+a'
        ) %>
      </sl-tooltip>
    </div>
  </div>

  <%= render 'alchemy/admin/partials/search_form',
    additional_params: [:size] %>
<% end %>

<div id="picture_archive" class="resources-table-wrapper with_tag_filter">
  <div class="resources-header">
    <h2>
      <%= @pictures.total_count %>
      <%= Alchemy::Picture.model_name.human(count: @pictures.total_count) %>
      <% if search_filter_params[:filter].present? %>
        <%= Alchemy.t("filtered_by") %>
        <% search_filter_params[:filter].each do |k, v| %>
          <span class="applied-filter"><%= Alchemy.t("filters.picture.#{k}.values.#{v}") %></span>
        <% end %>
      <% end %>
    </h2>
  </div>
  <%= render 'archive' %>
</div>

<% content_for :javascripts do %>
  <script type="text/javascript" charset="utf-8">
    $(function() {
      Alchemy.pictureSelector();
      $('#select_all_pictures').on('click', function(e) {
        $(this).toggleClass("active")
        $('.picture_tool.select :checkbox')
          .prop('checked', function(_i, val) { return !val })
          .closest(".picture_thumbnail")
          .toggleClass("active");
        e.preventDefault;
        $(".selected_item_tools").toggleClass("hidden")
        return false;
      });
      $('.thumbnail_background').on("click", function(event) {
        var url = $(this).attr('href');
        var overlay = new Alchemy.ImageOverlay(url);
        overlay.open();
        event.preventDefault();
        return false;
      });
    });
  </script>
<% end %>