Sha256: 8f98f6ba76343e1134e05150049eb00a44b19898af8dcc60841cb30cee66342e

Contents?: true

Size: 927 Bytes

Versions: 9

Compression:

Stored size: 927 Bytes

Contents

# frozen_string_literal: true

module Decidim
  module DecidimAwesome
    module IframeComponent
      class IframeController < DecidimAwesome::BlankComponentController
        ALLOWED_ATTRIBUTES = %w(src width height frameborder title allow allowpaymentrequest name referrerpolicy sandbox srcdoc allowfullscreen).freeze
        helper_method :iframe, :remove_margins?, :viewport_width?

        def show; end

        private

        def iframe
          @iframe ||= sanitize(current_component.settings.iframe).html_safe
        end

        def sanitize(html)
          sanitizer = Rails::Html::SafeListSanitizer.new
          sanitizer.sanitize(html, tags: %w(iframe), attributes: ALLOWED_ATTRIBUTES)
        end

        def remove_margins?
          current_component.settings.no_margins
        end

        def viewport_width?
          current_component.settings.viewport_width
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
decidim-decidim_awesome-0.10.2 app/controllers/decidim/decidim_awesome/iframe_component/iframe_controller.rb
decidim-decidim_awesome-0.10.1 app/controllers/decidim/decidim_awesome/iframe_component/iframe_controller.rb
decidim-decidim_awesome-0.10.0 app/controllers/decidim/decidim_awesome/iframe_component/iframe_controller.rb
decidim-decidim_awesome-0.9.3 app/controllers/decidim/decidim_awesome/iframe_component/iframe_controller.rb
decidim-decidim_awesome-0.9.1 app/controllers/decidim/decidim_awesome/iframe_component/iframe_controller.rb
decidim-decidim_awesome-0.8.3 app/controllers/decidim/decidim_awesome/iframe_component/iframe_controller.rb
decidim-decidim_awesome-0.8.2 app/controllers/decidim/decidim_awesome/iframe_component/iframe_controller.rb
decidim-decidim_awesome-0.8.1 app/controllers/decidim/decidim_awesome/iframe_component/iframe_controller.rb
decidim-decidim_awesome-0.8.0 app/controllers/decidim/decidim_awesome/iframe_component/iframe_controller.rb