Sha256: b30094dd0f4b5b7e711cd9fbab1c4f6c5fa634ed65537c0467cc324c12fed659

Contents?: true

Size: 984 Bytes

Versions: 14

Compression:

Stored size: 984 Bytes

Contents

# frozen_string_literal: true

module Arclight
  # Display a document's constituent components with appropriate lazy-loading
  # to keep the page load time reasonable.
  class DocumentComponentsHierarchyComponent < ViewComponent::Base
    # rubocop:disable Metrics/ParameterLists
    def initialize(document: nil, target_index: -1, minimum_pagination_size: 20, left_outer_window: 3, maximum_left_gap: 10, window: 10)
      super

      @document = document
      @target_index = target_index&.to_i || -1
      @minimum_pagination_size = minimum_pagination_size
      @left_outer_window = left_outer_window
      @maximum_left_gap = maximum_left_gap
      @window = window
    end
    # rubocop:enable Metrics/ParameterLists

    def paginate?
      @document.number_of_children > @minimum_pagination_size
    end

    def hierarchy_path(**kwargs)
      helpers.hierarchy_solr_document_path(id: @document.id, hierarchy: true, nest_path: params[:nest_path], **kwargs)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
arclight-1.4.0 app/components/arclight/document_components_hierarchy_component.rb
arclight-1.3.0 app/components/arclight/document_components_hierarchy_component.rb
arclight-1.2.0 app/components/arclight/document_components_hierarchy_component.rb
arclight-1.1.3 app/components/arclight/document_components_hierarchy_component.rb
arclight-1.1.2 app/components/arclight/document_components_hierarchy_component.rb
arclight-1.1.1 app/components/arclight/document_components_hierarchy_component.rb
arclight-1.1.0 app/components/arclight/document_components_hierarchy_component.rb
arclight-1.0.1 app/components/arclight/document_components_hierarchy_component.rb
arclight-1.0.0 app/components/arclight/document_components_hierarchy_component.rb
arclight-1.0.0.beta6 app/components/arclight/document_components_hierarchy_component.rb
arclight-1.0.0.beta4 app/components/arclight/document_components_hierarchy_component.rb
arclight-1.0.0.beta3 app/components/arclight/document_components_hierarchy_component.rb
arclight-1.0.0.beta2 app/components/arclight/document_components_hierarchy_component.rb
arclight-1.0.0.beta1 app/components/arclight/document_components_hierarchy_component.rb