Skip to content

Commit

Permalink
Merge pull request #346 from pulibrary/fix_titles
Browse files Browse the repository at this point in the history
Split HTML title with commas, not <br>
  • Loading branch information
eliotjordan committed Apr 25, 2018
2 parents 85bc25a + b379544 commit 19b623f
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 7 deletions.
11 changes: 11 additions & 0 deletions app/presenters/rtl_show_presenter.rb
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,17 @@ def header
field_value(f, value: @document[f].map(&:html_safe))
end

def heading
fields = Array.wrap(view_config.title_field)
f = fields.detect { |field| document.has? field }
f ||= configuration.document_model.unique_key
field_values(field_config(f), value: document[f].map(&:html_safe))
end

def html_title
super.split("<br />").map(&:html_safe).join(", ")
end

def field_config(field)
super.tap do |f|
f.separator_options =
Expand Down
7 changes: 5 additions & 2 deletions app/services/iiif_manifest.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ def full_image_url

def json_ld_value(value)
return value['@value'] if value.is_a?(Hash)
return value.find { |v| v['@language'] == default_json_ld_language }.try(:[], '@value') || value.first if value.is_a?(Array)
if value.is_a?(Array)
english_values = value.select { |v| v['@language'] == default_json_ld_language }.map { |x| x.try(:[], '@value') || value }
return english_values if english_values.present?
end
value
end

Expand All @@ -38,7 +41,7 @@ def noid

def manifest_metadata
metadata = metadata_class.new(manifest).to_solr
return {} unless metadata.present?
return {} if metadata.blank?
create_sidecars_for(*metadata.keys)

metadata.each_with_object({}) do |(key, value), hash|
Expand Down
4 changes: 2 additions & 2 deletions spec/cassettes/mvw.yml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions spec/models/iiif_resource_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

solr_doc = nil
resource.document_builder.to_solr { |x| solr_doc = x }
expect(solr_doc["full_title_tesim"]).to eq 'Christopher and his kind, 1929-1939'
expect(solr_doc["full_title_tesim"]).to eq ['Christopher and his kind, 1929-1939']
expect(solr_doc["readonly_created_tesim"]).to eq ["1976-01-01T00:00:00Z"]
expect(solr_doc["readonly_range-label_tesim"]).to eq ["Chapter 1", "Chapter 2"]
expect(Spotlight::CustomField.last.field_type).to eq 'vocab'
Expand All @@ -35,7 +35,7 @@
docs = Blacklight.default_index.connection.get("select", params: { q: "*:*" })["response"]["docs"]
expect(docs.length).to eq 2
scanned_resource_doc = docs.find { |x| x["full_title_tesim"] == ["Scanned Resource 1"] }
mvw_doc = docs.find { |x| x["full_title_tesim"] == ["MVW"] }
mvw_doc = docs.find { |x| x["full_title_tesim"] == ["MVW", "Second Title"] }
expect(scanned_resource_doc["collection_id_ssim"]).to eq [mvw_doc["id"]]
expect(mvw_doc["collection_id_ssim"]).to eq nil
end
Expand Down
8 changes: 7 additions & 1 deletion spec/presenters/rtl_show_presenter_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
double(
show_fields: { field:
double(highlight: false, accessor: nil, default: nil, field: :field, helper_method: nil, link_to_search: nil, itemprop: nil, separator_options: nil, :separator_options= => nil) },
view_config: double(title_field: :title)
view_config: double(title_field: :title, html_title_field: nil)
)
end

Expand All @@ -37,4 +37,10 @@
expect(presenter.header).to eq "<ul><li dir=\"rtl\">بي</li><li dir=\"ltr\">Traité sur l'art de la charpente : théorique et pratique</li></ul>"
end
end

describe "#html_title" do
it "returns multiple titles appropriately" do
expect(presenter.html_title).to eq "بي, Traité sur l'art de la charpente : théorique et pratique"
end
end
end

0 comments on commit 19b623f

Please sign in to comment.