Sha256: 95ab54e67fd79e8530e454a42767027ad6d386d0c4ce846aa08a5b75c31c5292

Contents?: true

Size: 1.47 KB

Versions: 1

Compression:

Stored size: 1.47 KB

Contents

module RademadeAdmin::UploadPreviewHelper

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

  #@param uploader [CarrierWave::Uploader::Base]
  def file_preview_html(uploader)
    content_tag(:div, :class => 'image-preview-wrapper') do
      if uploader.blank?
        empty_file_html(uploader)
      else
        uploaded_file_html(uploader)
      end
    end
  end

  def empty_file_html(uploader)
    content_tag(:span, 'File not chosen', {
      :class => 'no-file'
    })
  end

  def uploaded_file_html(uploader)
    included_modules = uploader.class.ancestors
    if included_modules.include? RademadeAdmin::Uploader::Photo
      uploaded_image_preview(uploader)
    elsif included_modules.include? RademadeAdmin::Uploader::Video
      uploaded_video_preview(uploader)
    else
      uploaded_file_default_preview(uploader)
    end
  end

  def uploaded_image_preview(uploader)
    content_tag(:img, '', {
      :src => uploader.resize(200, 200),
      :class => 'image-preview',
      :width => 200,
      :height => 200
    })
  end

  def uploaded_video_preview(uploader)
    content_tag(:img, '', {
      :src => uploader.thumb_path,
      :class => 'video-preview',
      :width => 300
    })
  end

  def uploaded_file_default_preview(uploader)
    file_path = uploader.file.file
    text = File.basename(file_path) + ', ' + RademadeAdmin::FileInfoFormatter.format_size(File.size(file_path))
    content_tag(:span, text, {
      :class => 'file-uploaded'
    })
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rademade_admin-0.0.1 app/helpers/rademade_admin/upload_preview_helper.rb