blacklight 5.0.0.pre3 → 5.0.0.pre4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +9 -16
  3. data/Gemfile +4 -0
  4. data/README.md +15 -1
  5. data/VERSION +1 -1
  6. data/app/assets/stylesheets/blacklight/_bookmark.css.scss +1 -1
  7. data/app/assets/stylesheets/blacklight/_catalog.css.scss +2 -12
  8. data/app/assets/stylesheets/blacklight/_facets.css.scss +1 -1
  9. data/app/assets/stylesheets/blacklight/_header.css.scss +1 -0
  10. data/app/assets/stylesheets/blacklight/_modal.css.scss +4 -2
  11. data/app/assets/stylesheets/blacklight/blacklight_defaults.css.scss +0 -5
  12. data/app/controllers/bookmarks_controller.rb +4 -0
  13. data/app/helpers/blacklight/blacklight_helper_behavior.rb +26 -187
  14. data/app/helpers/blacklight/catalog_helper_behavior.rb +20 -8
  15. data/app/helpers/blacklight/facets_helper_behavior.rb +0 -83
  16. data/app/helpers/blacklight/hash_as_hidden_fields_helper_behavior.rb +1 -1
  17. data/app/helpers/blacklight/url_helper_behavior.rb +201 -0
  18. data/app/helpers/blacklight_url_helper.rb +3 -0
  19. data/app/views/bookmarks/_tools.html.erb +4 -7
  20. data/app/views/catalog/_citation.html.erb +1 -1
  21. data/app/views/catalog/_did_you_mean.html.erb +1 -1
  22. data/app/views/catalog/_document.html.erb +1 -1
  23. data/app/views/catalog/_search_form.html.erb +1 -1
  24. data/app/views/catalog/_show_more_like_this.html.erb +1 -1
  25. data/app/views/catalog/_view_type_group.html.erb +4 -4
  26. data/app/views/catalog/email.html.erb +2 -2
  27. data/app/views/catalog/facet.html.erb +1 -1
  28. data/app/views/catalog/show.html.erb +1 -1
  29. data/app/views/catalog/sms.html.erb +1 -1
  30. data/blacklight.gemspec +2 -2
  31. data/config/jetty.yml +4 -1
  32. data/config/locales/blacklight.en.yml +3 -0
  33. data/config/locales/blacklight.fr.yml +3 -0
  34. data/{lib/generators/blacklight/templates/migrations/create_searches.rb → db/migrate/20140202020201_create_searches.rb} +2 -0
  35. data/{lib/generators/blacklight/templates/migrations/create_bookmarks.rb → db/migrate/20140202020202_create_bookmarks.rb} +1 -2
  36. data/gemfiles/rails3.gemfile +2 -0
  37. data/gemfiles/rails4.gemfile +2 -0
  38. data/lib/blacklight.rb +1 -40
  39. data/lib/blacklight/base.rb +3 -9
  40. data/lib/blacklight/catalog.rb +3 -16
  41. data/lib/blacklight/catalog/search_context.rb +8 -1
  42. data/lib/blacklight/configurable.rb +1 -2
  43. data/lib/blacklight/configuration.rb +13 -3
  44. data/lib/blacklight/configuration/view_config.rb +71 -0
  45. data/lib/blacklight/engine.rb +1 -0
  46. data/lib/blacklight/routes.rb +0 -1
  47. data/lib/blacklight/solr/document.rb +0 -4
  48. data/lib/blacklight/solr_helper.rb +8 -2
  49. data/lib/blacklight/user.rb +1 -16
  50. data/lib/blacklight/utils.rb +72 -1
  51. data/lib/generators/blacklight/install_generator.rb +92 -0
  52. data/lib/generators/blacklight/models_generator.rb +1 -25
  53. data/lib/generators/blacklight/templates/catalog_controller.rb +28 -32
  54. data/spec/helpers/blacklight_helper_spec.rb +24 -417
  55. data/spec/helpers/catalog_helper_spec.rb +13 -13
  56. data/spec/helpers/facets_helper_spec.rb +0 -127
  57. data/spec/helpers/hash_as_hidden_fields_spec.rb +1 -1
  58. data/spec/helpers/url_helper_spec.rb +360 -0
  59. data/spec/lib/blacklight/configuration_spec.rb +2 -3
  60. data/spec/lib/blacklight/solr_helper_spec.rb +11 -17
  61. data/spec/lib/blacklight/user_spec.rb +0 -41
  62. data/spec/lib/blacklight_spec.rb +0 -22
  63. data/spec/lib/utils_spec.rb +35 -4
  64. data/spec/spec_helper.rb +4 -3
  65. data/spec/test_app_templates/lib/generators/test_app_generator.rb +2 -2
  66. data/spec/views/catalog/_constraints.html.erb_spec.rb +4 -2
  67. data/spec/views/catalog/_index_default.erb_spec.rb +1 -1
  68. data/spec/views/catalog/_paginate_compact.html.erb_spec.rb +1 -5
  69. data/spec/views/catalog/_show_default.erb_spec.rb +1 -1
  70. data/spec/views/catalog/_view_type_group.html.erb_spec.rb +11 -3
  71. data/tasks/blacklight.rake +1 -5
  72. metadata +14 -16
  73. data/.gitmodules +0 -0
  74. data/app/views/catalog/endnote.endnote.erb +0 -1
  75. data/app/views/catalog/show.endnote.erb +0 -1
  76. data/lib/generators/blacklight/blacklight_generator.rb +0 -97
  77. data/lib/generators/blacklight/templates/migrations/add_user_types_to_bookmarks_searches.rb +0 -16
  78. data/lib/generators/blacklight/templates/migrations/remove_editable_fields_from_bookmarks.rb +0 -12
  79. data/lib/railties/all_tests.rake +0 -39
  80. data/lib/railties/blacklight_rspec.rake +0 -128
@@ -75,7 +75,7 @@ module Blacklight::CatalogHelperBehavior
75
75
  end
76
76
 
77
77
  def render_document_class(document = @document)
78
- 'blacklight-' + document.get(blacklight_config.index.record_display_type).parameterize rescue nil
78
+ 'blacklight-' + document.get(blacklight_config.view_config(document_index_view_type_field).display_type_field).parameterize rescue nil
79
79
  end
80
80
 
81
81
  def render_document_sidebar_partial(document = @document)
@@ -98,14 +98,14 @@ module Blacklight::CatalogHelperBehavior
98
98
  end
99
99
 
100
100
  def has_thumbnail? document
101
- blacklight_config.index.thumbnail_method or
102
- blacklight_config.index.thumbnail_field && document.has?(blacklight_config.index.thumbnail_field)
101
+ blacklight_config.view_config(document_index_view_type).thumbnail_method or
102
+ blacklight_config.view_config(document_index_view_type).thumbnail_field && document.has?(blacklight_config.view_config(document_index_view_type).thumbnail_field)
103
103
  end
104
104
 
105
105
  def render_thumbnail_tag document, image_options = {}, url_options = {}
106
- value = if blacklight_config.index.thumbnail_method
107
- send(blacklight_config.index.thumbnail_method, document, image_options)
108
- elsif blacklight_config.index.thumbnail_field
106
+ value = if blacklight_config.view_config(document_index_view_type).thumbnail_method
107
+ send(blacklight_config.view_config(document_index_view_type).thumbnail_method, document, image_options)
108
+ elsif blacklight_config.view_config(document_index_view_type).thumbnail_field
109
109
  image_tag thumbnail_url(document), image_options
110
110
  end
111
111
 
@@ -115,12 +115,24 @@ module Blacklight::CatalogHelperBehavior
115
115
  end
116
116
 
117
117
  def thumbnail_url document
118
- if document.has? blacklight_config.index.thumbnail_field
119
- document.first(blacklight_config.index.thumbnail_field)
118
+ if document.has? blacklight_config.view_config(document_index_view_type).thumbnail_field
119
+ document.first(blacklight_config.view_config(document_index_view_type).thumbnail_field)
120
120
  end
121
121
  end
122
122
 
123
123
  def add_group_facet_params_and_redirect group
124
124
  add_facet_params_and_redirect(group.field, group.key)
125
125
  end
126
+
127
+ def has_alternative_views?
128
+ blacklight_config.view.keys.length > 1
129
+ end
130
+
131
+ def render_view_type_group_icon view
132
+ content_tag :span, '', class: "glyphicon #{blacklight_config.view[view].icon_class || default_view_type_group_icon_classes(view) }"
133
+ end
134
+
135
+ def default_view_type_group_icon_classes view
136
+ "glyphicon-#{view.to_s.parameterize } view-icon-#{view.to_s.parameterize}"
137
+ end
126
138
  end
@@ -117,89 +117,6 @@ module Blacklight::FacetsHelperBehavior
117
117
  content_tag("span", t('blacklight.search.facets.count', :number => num), :class => classes)
118
118
  end
119
119
 
120
- # adds the value and/or field to params[:f]
121
- # Does NOT remove request keys and otherwise ensure that the hash
122
- # is suitable for a redirect. See
123
- # add_facet_params_and_redirect
124
- def add_facet_params(field, item, source_params = params)
125
-
126
- if item.respond_to? :field
127
- field = item.field
128
- end
129
-
130
- facet_config = facet_configuration_for_field(field)
131
-
132
- value = facet_value_for_facet_item(item)
133
-
134
- p = source_params.dup
135
- p[:f] = (p[:f] || {}).dup # the command above is not deep in rails3, !@#$!@#$
136
- p[:f][field] = (p[:f][field] || []).dup
137
-
138
- if facet_config.single and not p[:f][field].empty?
139
- p[:f][field] = []
140
- end
141
-
142
- p[:f][field].push(value)
143
-
144
- if item and item.respond_to?(:fq) and item.fq
145
- item.fq.each do |f,v|
146
- p = add_facet_params(f, v, p)
147
- end
148
- end
149
-
150
- p
151
- end
152
-
153
- # Used in catalog/facet action, facets.rb view, for a click
154
- # on a facet value. Add on the facet params to existing
155
- # search constraints. Remove any paginator-specific request
156
- # params, or other request params that should be removed
157
- # for a 'fresh' display.
158
- # Change the action to 'index' to send them back to
159
- # catalog/index with their new facet choice.
160
- def add_facet_params_and_redirect(field, item)
161
- new_params = add_facet_params(field, item)
162
-
163
- # Delete page, if needed.
164
- new_params.delete(:page)
165
-
166
- # Delete any request params from facet-specific action, needed
167
- # to redir to index action properly.
168
- Blacklight::Solr::FacetPaginator.request_keys.values.each do |paginator_key|
169
- new_params.delete(paginator_key)
170
- end
171
- new_params.delete(:id)
172
-
173
- # Force action to be index.
174
- new_params[:action] = "index"
175
- new_params
176
- end
177
- # copies the current params (or whatever is passed in as the 3rd arg)
178
- # removes the field value from params[:f]
179
- # removes the field if there are no more values in params[:f][field]
180
- # removes additional params (page, id, etc..)
181
- def remove_facet_params(field, item, source_params=params)
182
- if item.respond_to? :field
183
- field = item.field
184
- end
185
-
186
- value = facet_value_for_facet_item(item)
187
-
188
- p = source_params.dup
189
- # need to dup the facet values too,
190
- # if the values aren't dup'd, then the values
191
- # from the session will get remove in the show view...
192
- p[:f] = (p[:f] || {}).dup
193
- p[:f][field] = (p[:f][field] || []).dup
194
- p.delete :page
195
- p.delete :id
196
- p.delete :counter
197
- p.delete :commit
198
- p[:f][field] = p[:f][field] - [value]
199
- p[:f].delete(field) if p[:f][field].size == 0
200
- p
201
- end
202
-
203
120
  def facet_field_in_params? field
204
121
  params[:f] and params[:f][field]
205
122
  end
@@ -14,7 +14,7 @@ module Blacklight::HashAsHiddenFieldsHelperBehavior
14
14
  # Writes out zero or more <input type="hidden"> elements, completely
15
15
  # representing a hash passed in using Rails-style request parameters
16
16
  # for hashes nested with arrays and other hashes.
17
- def hash_as_hidden_fields(hash)
17
+ def render_hash_as_hidden_fields(hash)
18
18
 
19
19
  hidden_fields = []
20
20
  flatten_hash(hash).each do |name, value|
@@ -0,0 +1,201 @@
1
+ module Blacklight::UrlHelperBehavior
2
+
3
+ # link_to_document(doc, :label=>'VIEW', :counter => 3)
4
+ # Use the catalog_path RESTful route to create a link to the show page for a specific item.
5
+ # catalog_path accepts a HashWithIndifferentAccess object. The solr query params are stored in the session,
6
+ # so we only need the +counter+ param here. We also need to know if we are viewing to document as part of search results.
7
+ def link_to_document(doc, opts={:label=>nil, :counter => nil})
8
+ opts[:label] ||= document_show_link_field(doc)
9
+ label = render_document_index_label doc, opts
10
+ link_to label, doc, search_session_params(opts[:counter]).merge(opts.reject { |k,v| [:label, :counter].include? k })
11
+ end
12
+
13
+ def link_to_previous_document(previous_document)
14
+ link_to_unless previous_document.nil?, raw(t('views.pagination.previous')), previous_document, search_session_params(search_session[:counter].to_i - 1).merge(:class => "previous", :rel => 'prev') do
15
+ content_tag :span, raw(t('views.pagination.previous')), :class => 'previous'
16
+ end
17
+ end
18
+
19
+ def link_to_next_document(next_document)
20
+ link_to_unless next_document.nil?, raw(t('views.pagination.next')), next_document, search_session_params(search_session[:counter].to_i + 1).merge(:class => "next", :rel => 'next') do
21
+ content_tag :span, raw(t('views.pagination.next')), :class => 'next'
22
+ end
23
+ end
24
+
25
+ def search_session_params counter
26
+ { :'data-counter' => counter, :'data-search_id' => current_search_session.try(:id) }
27
+ end
28
+
29
+ #
30
+ # link based helpers ->
31
+ #
32
+
33
+ # create link to query (e.g. spelling suggestion)
34
+ def link_to_query(query)
35
+ p = params.except(:page, :action)
36
+ p[:q]=query
37
+ link_url = catalog_index_path(p)
38
+ link_to(query, link_url)
39
+ end
40
+
41
+ ##
42
+ # Get the path to the search action with any parameters (e.g. view type)
43
+ # that should be persisted across search sessions.
44
+ def start_over_path query_params = params
45
+ h = { }
46
+ current_index_view_type = document_index_view_type(query_params)
47
+ h[:view] = current_index_view_type unless current_index_view_type == default_document_index_view_type
48
+
49
+ search_action_url(h)
50
+ end
51
+
52
+ # Create a link back to the index screen, keeping the user's facet, query and paging choices intact by using session.
53
+ # @example
54
+ # link_back_to_catalog(label: 'Back to Search')
55
+ # link_back_to_catalog(label: 'Back to Search', route_set: my_engine)
56
+ def link_back_to_catalog(opts={:label=>nil})
57
+ scope = opts.delete(:route_set) || self
58
+ query_params = current_search_session.try(:query_params) || {}
59
+ link_url = scope.url_for(query_params)
60
+ label = opts.delete(:label)
61
+
62
+ if link_url =~ /bookmarks/
63
+ label ||= t('blacklight.back_to_bookmarks')
64
+ end
65
+
66
+ label ||= t('blacklight.back_to_search')
67
+
68
+ link_to label, link_url, opts
69
+ end
70
+
71
+ # Search History and Saved Searches display
72
+ def link_to_previous_search(params)
73
+ link_to(render_search_to_s(params), catalog_index_path(params))
74
+ end
75
+
76
+ # @overload params_for_search(source_params, params_to_merge)
77
+ # Merge the source params with the params_to_merge hash
78
+ # @param [Hash] Hash
79
+ # @param [Hash] Hash to merge into above
80
+ # @overload params_for_search(params_to_merge)
81
+ # Merge the current search parameters with the
82
+ # parameters provided.
83
+ # @param [Hash] Hash to merge into the parameters
84
+ # @overload params_for_search
85
+ # Returns the current search parameters after being sanitized by #sanitize_search_params
86
+ # @yield [params] The merged parameters hash before being sanitized
87
+ def params_for_search(*args, &block)
88
+
89
+ source_params, params_to_merge = case args.length
90
+ when 0
91
+ [params, {}]
92
+ when 1
93
+ [params, args.first]
94
+ when 2
95
+ [args.first, args.last]
96
+ else
97
+ raise ArgumentError.new "wrong number of arguments (#{args.length} for 0..2)"
98
+ end
99
+
100
+ # params hash we'll return
101
+ my_params = source_params.dup.merge(params_to_merge.dup)
102
+
103
+ if block_given?
104
+ yield my_params
105
+ end
106
+
107
+ if my_params[:page] and (my_params[:per_page] != source_params[:per_page] or my_params[:sort] != source_params[:sort] )
108
+ my_params[:page] = 1
109
+ end
110
+
111
+ sanitize_search_params(my_params)
112
+ end
113
+
114
+ ##
115
+ # Sanitize the search parameters by removing unnecessary parameters
116
+ # from the provided parameters
117
+ # @param [Hash] Hash of parameters
118
+ def sanitize_search_params source_params
119
+
120
+ my_params = source_params.reject { |k,v| v.nil? }
121
+
122
+ my_params.except(:action, :controller, :id, :commit, :utf8)
123
+
124
+ end
125
+
126
+ # adds the value and/or field to params[:f]
127
+ # Does NOT remove request keys and otherwise ensure that the hash
128
+ # is suitable for a redirect. See
129
+ # add_facet_params_and_redirect
130
+ def add_facet_params(field, item, source_params = params)
131
+
132
+ if item.respond_to? :field
133
+ field = item.field
134
+ end
135
+
136
+ facet_config = facet_configuration_for_field(field)
137
+
138
+ value = facet_value_for_facet_item(item)
139
+
140
+ p = source_params.dup
141
+ p[:f] = (p[:f] || {}).dup # the command above is not deep in rails3, !@#$!@#$
142
+ p[:f][field] = (p[:f][field] || []).dup
143
+
144
+ if facet_config.single and not p[:f][field].empty?
145
+ p[:f][field] = []
146
+ end
147
+
148
+ p[:f][field].push(value)
149
+
150
+ if item and item.respond_to?(:fq) and item.fq
151
+ item.fq.each do |f,v|
152
+ p = add_facet_params(f, v, p)
153
+ end
154
+ end
155
+
156
+ p
157
+ end
158
+
159
+ # Used in catalog/facet action, facets.rb view, for a click
160
+ # on a facet value. Add on the facet params to existing
161
+ # search constraints. Remove any paginator-specific request
162
+ # params, or other request params that should be removed
163
+ # for a 'fresh' display.
164
+ # Change the action to 'index' to send them back to
165
+ # catalog/index with their new facet choice.
166
+ def add_facet_params_and_redirect(field, item)
167
+ new_params = add_facet_params(field, item)
168
+ new_params.except! :page, :id
169
+
170
+ # Delete any request params from facet-specific action, needed
171
+ # to redir to index action properly.
172
+ new_params.except! *Blacklight::Solr::FacetPaginator.request_keys.values
173
+
174
+ # Force action to be index.
175
+ new_params[:action] = "index"
176
+ new_params
177
+ end
178
+ # copies the current params (or whatever is passed in as the 3rd arg)
179
+ # removes the field value from params[:f]
180
+ # removes the field if there are no more values in params[:f][field]
181
+ # removes additional params (page, id, etc..)
182
+ def remove_facet_params(field, item, source_params=params)
183
+ if item.respond_to? :field
184
+ field = item.field
185
+ end
186
+
187
+ value = facet_value_for_facet_item(item)
188
+
189
+ p = source_params.dup
190
+ # need to dup the facet values too,
191
+ # if the values aren't dup'd, then the values
192
+ # from the session will get remove in the show view...
193
+ p[:f] = (p[:f] || {}).dup
194
+ p[:f][field] = (p[:f][field] || []).dup
195
+ p.except! :page, :id, :counter, :commit
196
+ p[:f][field] = p[:f][field] - [value]
197
+ p[:f].delete(field) if p[:f][field].size == 0
198
+ p
199
+ end
200
+
201
+ end
@@ -0,0 +1,3 @@
1
+ module BlacklightUrlHelper
2
+ include Blacklight::UrlHelperBehavior
3
+ end
@@ -2,13 +2,10 @@
2
2
  <li class="cite">
3
3
  <%= link_to t('blacklight.tools.cite'), citation_catalog_path(:sort=>params[:sort], :per_page=>params[:per_page], :id => @bookmarks.collect{|doc| doc.document_id}), {:id => 'citeLink', :name => 'citation', :class => 'btn btn-default', :data => {:ajax_modal => "trigger"}} %>
4
4
  </li>
5
- <li class="refworks">
6
- <%= render :partial => 'catalog/refworks_form', :locals => {:documents=>@document_list} %>
7
- </li>
8
-
9
- <li class="endnote">
10
- <%= link_to t('blacklight.tools.endnote'), endnote_catalog_path(:sort=>params[:sort], :per_page=>params[:per_page], :id => @bookmarks.collect {|doc| doc.document_id}, :format => 'endnote'), {:class => 'btn btn-default'}%>
11
- </li>
5
+ <% if defined? BlacklightMarc %>
6
+ <%= render partial: 'bookmarks/refworks' %>
7
+ <%= render partial: 'bookmarks/endnote' %>
8
+ <% end %>
12
9
  <li class="email">
13
10
  <%= link_to t('blacklight.tools.email'), email_catalog_path(:sort=>params[:sort], :per_page=>params[:per_page], :id => @bookmarks.collect {|doc| doc.document_id}), :class=>"btn btn-default", :id => "emailLink", :data => {:ajax_modal => "trigger"} %>
14
11
  </li>
@@ -1,7 +1,7 @@
1
1
 
2
2
  <% @documents.each do |document| %>
3
3
 
4
- <h3 class="modal-title"><%= citation_title(document) %></h3>
4
+ <h3 class="modal-title"><%= document_heading(document) %></h3>
5
5
 
6
6
  <% if document.respond_to?(:export_as_mla_citation_txt) %>
7
7
  <h4><%= t('blacklight.citation.mla') %></h4>
@@ -1,4 +1,4 @@
1
- <% if @response.total <= spell_check_max and @response.spelling.words.size > 0 %>
1
+ <% if should_show_spellcheck_suggestions? @response %>
2
2
  <div id="spell">
3
3
  <h4 class="suggest"><em><%= t('blacklight.did_you_mean', :options => safe_join(@response.spelling.words.map { |word| link_to_query(word) }, " #{t('blacklight.or')} ")).html_safe %></em></h4>
4
4
  </div>
@@ -1,4 +1,4 @@
1
1
  <% # container for a single doc -%>
2
2
  <div class="document <%= render_document_class document %>" itemscope itemtype="<%= document.itemtype %>">
3
- <%= render_document_partials document, blacklight_config.index.partials, :document_counter => document_counter %>
3
+ <%= render_document_partials document, blacklight_config.view_config(document_index_view_type).partials, :document_counter => document_counter %>
4
4
  </div>
@@ -1,5 +1,5 @@
1
1
  <%= form_tag search_action_url, :method => :get, :class => 'search-query-form form-inline clearfix navbar-form' do %>
2
- <%= search_as_hidden_fields(:omit_keys => [:q, :search_field, :qt, :page, :utf8]) %>
2
+ <%= render_hash_as_hidden_fields(params_for_search().except(:q, :search_field, :qt, :page, :utf8)) %>
3
3
 
4
4
  <div class="input-group">
5
5
  <% unless search_fields.empty? %>
@@ -1,3 +1,3 @@
1
1
  <li class="more_like_this_document">
2
- <span class="mlt_title"><%= link_to_document document, :label=>document_show_link_field %></span>
2
+ <span class="mlt_title"><%= link_to_document document, :label=>document_show_link_field(document) %></span>
3
3
  </li>
@@ -1,10 +1,10 @@
1
- <% if blacklight_config.document_index_view_types.length > 1 -%>
1
+ <% if has_alternative_views? -%>
2
2
  <div class="view-type">
3
3
  <span class="sr-only"><%= t('blacklight.search.view_title') %></span>
4
4
  <div class="view-type-group btn-group">
5
- <% blacklight_config.document_index_view_types.each do |view| %>
6
- <%= link_to url_for(params.merge(:view => view)), :title => t("blacklight.search.view_title.#{view}", default: t("blacklight.search.view.#{view}", default: "")), :class => "btn btn-default view-type-#{ view.parameterize } #{"active" if document_index_view_type == view}" do %>
7
- <span class="glyphicon glyphicon-<%= view.parameterize %> view-icon-<%= view.parameterize %>"></span>
5
+ <% blacklight_config.view.keys.each do |view| %>
6
+ <%= link_to url_for(params.merge(:view => view)), :title => t("blacklight.search.view_title.#{view}", default: t("blacklight.search.view.#{view}", default: blacklight_config.view[view].title)), :class => "btn btn-default view-type-#{ view.to_s.parameterize } #{"active" if document_index_view_type == view}" do %>
7
+ <%= render_view_type_group_icon view %>
8
8
  <span class="caption"><%= t("blacklight.search.view.#{view}") %></span>
9
9
  <% end %>
10
10
  <% end %>
@@ -1,5 +1,5 @@
1
1
  <div class="modal-header">
2
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
2
+ <button type="button" class="ajax-modal-close close" data-dismiss="modal" aria-hidden="true">×</button>
3
3
  <h1 class="modal-title"><%= t('blacklight.email.form.title') %></h1>
4
4
  </div>
5
- <%= render :partial => 'email_form' %>
5
+ <%= render :partial => 'email_form' %>
@@ -3,7 +3,7 @@
3
3
  </div>
4
4
 
5
5
  <div class="modal-header">
6
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
6
+ <button type="button" class="ajax-modal-close close" data-dismiss="modal" aria-hidden="true">×</button>
7
7
  <h3 class="modal-title"><%= blacklight_config.facet_fields[params[:id]].label %></h3>
8
8
  </div>
9
9
  <div class="modal-body">