Sha256: c9f71df0670062da89639956a7cc7326b88f82e2ab2da6ff8679d47d51bc49c2

Contents?: true

Size: 1.68 KB

Versions: 5

Compression:

Stored size: 1.68 KB

Contents

# -*- encoding : utf-8 -*-
module RademadeAdmin
  module Upload
    class GalleryPreviewService

      include ActionView::Helpers::TagHelper
      include ActionView::Context
      include UriHelper

      def preview_html(uploader)
        content_tag(:div, HtmlBuffer.new([
          gallery_image_html(uploader),
          remove_ico_html(uploader),
          crop_button_html(uploader)
        ]), {
          :class => 'gallery-image',
          :data => {
            :id => uploader.model.id.to_s
          }
        })
      end

      def crop_button_html(uploader)
        content_tag(:span, I18n.translate('rademade_admin.crop'), {
          :class => 'btn red-btn crop-btn',
          :data => {
            :crop => true,
            :url => rademade_admin_route(:gallery_crop_url),
            :full_url => uploader.url,
            :original_dimensions => uploader.original_dimensions.join(',')
          }
        }) if uploader.class.ancestors.include? RademadeAdmin::Uploader::CropPhoto
      end

      def gallery_image_preview(uploader)
        uploader.resize(150, 100)
      end

      private

      def gallery_image_html(uploader)
        content_tag(:img, '', {
          :src => gallery_image_preview(uploader),
          :width => 150,
          :height => 100
        })
      end

      def remove_ico_html(uploader)
        content_tag(:span, 'x', {
          :class => 'remove-ico',
          :data => {
            #todo use route name and resources
            :url => admin_url_for({
              :controller => 'rademade_admin/gallery',
              :action => 'remove',
              :id => uploader.model.id.to_s
            })
          }
        })
      end

    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rademade_admin-0.2.2 app/services/upload/gallery_preview_service.rb
rademade_admin-0.2.1 app/services/upload/gallery_preview_service.rb
rademade_admin-0.2.0 app/services/upload/gallery_preview_service.rb
rademade_admin-0.1.6 app/services/upload/gallery_preview_service.rb
rademade_admin-0.1.5 app/services/upload/gallery_preview_service.rb