Sha256: d710329201cb4caaf92225ea33b083499f25d6f39e324b2cd0d1e8513abc395e

Contents?: true

Size: 922 Bytes

Versions: 39

Compression:

Stored size: 922 Bytes

Contents

# frozen_string_literal: true

module Decidim::Cw
  # This class deals with uploading images to newsletters.
  class NewsletterTemplateImageUploader < ImageUploader
    set_variants do
      { default: { resize_to_fit: [550, 300] } }
    end

    def max_image_height_or_width
      8000
    end

    # Overwrite: If the content block is in preview mode, then we show the
    # preview image. Otherwise, we use the default behavior.
    def url(*args)
      return preview_url if in_preview?

      super
    end

    def preview_url(*_args)
      manifest_images = model.content_block.manifest.images
      image = manifest_images.find { |manifest_image| manifest_image[:name] == mounted_as } || {}
      preview = image[:preview]

      if preview && preview.respond_to?(:call)
        preview.call
      else
        preview
      end
    end

    def in_preview?
      model.content_block.in_preview
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
decidim-core-0.28.5 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.28.4 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.27.9 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.28.3 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.27.8 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.28.2 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.27.7 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.28.1 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.27.6 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.26.10 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.26.9 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.28.0 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.27.5 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.28.0.rc5 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.28.0.rc4 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.26.8 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.27.4 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.27.3 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.26.7 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb
decidim-core-0.26.5 app/uploaders/decidim/cw/newsletter_template_image_uploader.rb