Sha256: 67ca4ab3d2e13e8490f4ba0a5003d69c41333c24337783faeffddc9e9e41a6ab

Contents?: true

Size: 1.51 KB

Versions: 12

Compression:

Stored size: 1.51 KB

Contents

# frozen_string_literal: true

module PagesCore
  module Admin
    module ImageUploadsHelper
      # Generates tags for an editable dynamic image.
      def editable_dynamic_image_tag(image, width: 250,
                                     caption: false, locale: nil)
        react_component("EditableImage",
                        editable_image_options(
                          image,
                          width: width,
                          caption: caption,
                          locale: locale
                        ).merge(width: width))
      end

      def image_uploader_tag(name, image, options = {})
        opts = { caption: false, locale: nil }.merge(options)
        react_component("ImageUploader",
                        editable_image_options(
                          image,
                          caption: opts[:caption],
                          locale: opts[:locale]
                        ).merge(attr: name, alternative: opts[:alternative]))
      end

      private

      def editable_image_src_options(image, width)
        return {} unless image

        { src: dynamic_image_path(image, size: "#{width * 2}x"),
          image: ::Admin::ImageResource.new(image).to_hash }
      end

      def editable_image_options(image, width: 250, caption: false, locale: nil)
        editable_image_src_options(image, width).merge(
          width: width,
          caption: caption,
          locale: locale || I18n.default_locale,
          locales: locales_with_dir
        )
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
pages_core-3.12.7 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.12.6 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.12.5 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.12.4 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.12.3 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.12.2 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.12.1 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.12.0 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.11.3 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.11.2 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.11.1 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.11.0 app/helpers/pages_core/admin/image_uploads_helper.rb