Sha256: 7ed22a5a38b0154d53acce977abe5c24ed6845c820254251f68f8509a38122f4

Contents?: true

Size: 1.52 KB

Versions: 9

Compression:

Stored size: 1.52 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: PagesCore.config.locales
        )
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
pages_core-3.10.2 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.10.1 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.9.2 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.9.1 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.9.0 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.8.3 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.8.2 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.8.1 app/helpers/pages_core/admin/image_uploads_helper.rb
pages_core-3.8.0 app/helpers/pages_core/admin/image_uploads_helper.rb