• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pulibrary / orangelight / 00dbc10b-d747-4ad7-b211-7b26d753abbb

14 Aug 2025 01:25PM UTC coverage: 0.483% (-94.9%) from 95.343%
00dbc10b-d747-4ad7-b211-7b26d753abbb

push

circleci

web-flow
Merge pull request #5181 from pulibrary/dependabot/bundler/activestorage-7.2.2.2

Bump activestorage from 7.2.2.1 to 7.2.2.2

47 of 9721 relevant lines covered (0.48%)

0.01 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/app/components/orangelight/constraints_component.rb
1
# frozen_string_literal: true
2

3
class Orangelight::ConstraintsComponent < Blacklight::ConstraintsComponent
×
4
  # rubocop:disable Metrics/ParameterLists
5
  def initialize(search_state:,
×
6
                 tag: :div,
×
7
                 render_headers: true,
×
8
                 id: 'appliedParams', classes: 'clearfix constraints-container',
×
9
                 query_constraint_component: Blacklight::ConstraintLayoutComponent,
×
10
                 query_constraint_component_options: {},
×
11
                 facet_constraint_component: Orangelight::ConstraintComponent,
×
12
                 facet_constraint_component_options: {},
×
13
                 start_over_component: Blacklight::StartOverButtonComponent)
×
14
    super
×
15
  end
×
16
  # rubocop:enable Metrics/ParameterLists
17

18
  def query_constraints
×
19
    super + guided_search_constraints
×
20
  end
×
21

22
  def remove_guided_query_path(index)
×
23
    url_for @search_state.to_h.reject { |k, _v| k.match?(/[f|q|op]#{index}/) }
×
24
  end
×
25

26
  def render?
×
27
    @search_state.has_constraints? || @search_state.to_h.keys.any? { |param| param.match?(/[f|q|op][1-3]/) }
×
28
  end
×
29

30
  private
×
31

32
    def guided_search_constraints
×
33
      constraints_string = ''.html_safe
×
34
      (1..3).each do |index|
×
35
        constraints_string += helpers.render(
×
36
          @query_constraint_component.new(
×
37
            search_state: @search_state,
×
38
            value: guided_search_value(index),
×
39
            label: guided_search_label(index),
×
40
            remove_path: remove_guided_query_path(index),
×
41
            classes: 'query',
×
42
            **@query_constraint_component_options
×
43
          )
×
44
        )
×
45
      end
×
46
      constraints_string
×
47
    end
×
48

49
    def guided_search_value(index)
×
50
      params = @search_state.to_h
×
51
      return if params[:"q#{index}"].blank?
×
52

53
      has_operator = params[:"op#{index}"].present?
×
54
      prefix = has_operator ? params[:"op#{index}"].upcase + ' ' : ''
×
55
      prefix + params[:"q#{index}"]
×
56
    end
×
57

58
    def guided_search_label(index)
×
59
      search_field = @search_state.params[:"f#{index}"]
×
60
      helpers.label_for_search_field(search_field) unless helpers.default_search_field?(search_field)
×
61
    end
×
62

63
    def clause_presenters
×
64
      return to_enum(:clause_presenters) unless block_given?
×
65

66
      @search_state.clause_params.each do |key, clause|
×
67
        field_config = helpers.blacklight_config.search_fields[clause[:field]]
×
68
        yield Orangelight::ClausePresenter.new(key, clause, field_config, helpers)
×
69
      end
×
70
    end
×
71
end
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc