Sha256: 4ad33665431bd7f2808814042c0780ef9f22a37f68bf39a930c6206cd101b001

Contents?: true

Size: 1.32 KB

Versions: 19

Compression:

Stored size: 1.32 KB

Contents

# frozen_string_literal: true

module Blacklight
  module Document
    # Render a bookmark widget to bookmark / unbookmark a document
    class ActionsComponent < ::ViewComponent::Base
      renders_many :actions, (lambda do |action:, component: nil, **kwargs|
        component ||= action.component || Blacklight::Document::ActionComponent
        component.new(action: action, document: @document, options: @options, url_opts: @url_opts, link_classes: @link_classes, **kwargs)
      end)

      # @param [Blacklight::Document] document
      # rubocop:disable Metrics/ParameterLists
      def initialize(document: nil, actions: [], options: {}, url_opts: nil, tag: :div, classes: 'index-document-functions', wrapping_tag: nil, wrapping_classes: nil, link_classes: 'nav-link')
        @document = document
        @actions = actions
        @tag = tag
        @classes = classes
        @options = options
        @url_opts = url_opts
        @wrapping_tag = wrapping_tag
        @wrapping_classes = wrapping_classes
        @link_classes = link_classes
      end
      # rubocop:enable Metrics/ParameterLists

      def before_render
        return if actions.present?

        @actions.each do |a|
          action(component: a.component, action: a)
        end
      end

      def render?
        actions.present?
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
blacklight-7.24.0 app/components/blacklight/document/actions_component.rb
blacklight-7.23.0.1 app/components/blacklight/document/actions_component.rb
blacklight-7.23.0 app/components/blacklight/document/actions_component.rb
blacklight-7.22.2 app/components/blacklight/document/actions_component.rb
blacklight-7.22.1 app/components/blacklight/document/actions_component.rb
blacklight-7.22.0 app/components/blacklight/document/actions_component.rb
blacklight-7.21.2 app/components/blacklight/document/actions_component.rb
blacklight-7.21.1 app/components/blacklight/document/actions_component.rb
blacklight-7.21.0 app/components/blacklight/document/actions_component.rb
blacklight-7.20.1 app/components/blacklight/document/actions_component.rb
blacklight-7.20.0 app/components/blacklight/document/actions_component.rb
blacklight-7.19.2 app/components/blacklight/document/actions_component.rb
blacklight-7.19.1 app/components/blacklight/document/actions_component.rb
blacklight-7.19.0 app/components/blacklight/document/actions_component.rb
blacklight-7.18.1 app/components/blacklight/document/actions_component.rb
blacklight-7.18.0 app/components/blacklight/document/actions_component.rb
blacklight-7.17.2 app/components/blacklight/document/actions_component.rb
blacklight-7.17.1 app/components/blacklight/document/actions_component.rb
blacklight-7.17.0 app/components/blacklight/document/actions_component.rb