hydra-core 5.0.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -0
- data/Rakefile +5 -0
- data/app/helpers/blacklight_helper.rb +4 -0
- data/app/helpers/facets_helper.rb +4 -0
- data/app/helpers/hydra/blacklight_helper_behavior.rb +36 -0
- data/app/helpers/hydra/facets_helper_behavior.rb +25 -0
- data/app/models/hydra/datastream/properties.rb +24 -0
- data/app/models/mods_asset.rb +25 -0
- data/app/views/_flash_msg.html.erb +5 -0
- data/app/views/catalog/_citation.html.erb +11 -0
- data/app/views/catalog/_constraints_element.html.erb +34 -0
- data/app/views/catalog/_delete_partials/_default.html.erb +22 -0
- data/app/views/catalog/_edit_partials/_default.html.erb +57 -0
- data/app/views/catalog/_edit_partials/_default_details.html.erb +13 -0
- data/app/views/catalog/_facets.html.erb +37 -0
- data/app/views/catalog/_home.html.erb +6 -0
- data/app/views/catalog/_home_text.html.erb +4 -0
- data/app/views/catalog/_index_partials/_default.html.erb +20 -0
- data/app/views/catalog/_index_partials/_default_details.html.erb +14 -0
- data/app/views/catalog/_opensearch_response_metadata.html.erb +2 -0
- data/app/views/catalog/_show_partials/_default.html.erb +21 -0
- data/app/views/catalog/_show_partials/_default_details.html.erb +15 -0
- data/app/views/catalog/_show_partials/_facets.html.erb +52 -0
- data/app/views/catalog/_sms_form.html.erb +21 -0
- data/app/views/catalog/_sort_and_per_page.html.erb +23 -0
- data/app/views/catalog/_uva_tabs.html.erb +10 -0
- data/app/views/catalog/about.html.erb +0 -0
- data/app/views/catalog/show.html.erb +40 -0
- data/app/views/layouts/hydra-head.html.erb +47 -0
- data/config/jetty.yml +6 -0
- data/config/locales/hydra.en.yml +7 -0
- data/hydra-core.gemspec +40 -0
- data/lib/application_helper.rb +3 -0
- data/lib/generators/hydra/assets_generator.rb +50 -0
- data/lib/generators/hydra/cucumber_support_generator.rb +29 -0
- data/lib/generators/hydra/head_generator.rb +160 -0
- data/lib/generators/hydra/hyhead_fixtures_generator.rb +27 -0
- data/lib/generators/hydra/templates/catalog_controller.rb +162 -0
- data/lib/generators/hydra/templates/config/fedora.yml +14 -0
- data/lib/generators/hydra/templates/config/initializers/action_dispatch_http_upload_monkey_patch.rb +12 -0
- data/lib/generators/hydra/templates/config/initializers/hydra_config.rb +39 -0
- data/lib/generators/hydra/templates/config/role_map_cucumber.yml +10 -0
- data/lib/generators/hydra/templates/config/role_map_development.yml +12 -0
- data/lib/generators/hydra/templates/config/role_map_production.yml +2 -0
- data/lib/generators/hydra/templates/config/role_map_test.yml +15 -0
- data/lib/generators/hydra/templates/config/solr.yml +10 -0
- data/lib/generators/hydra/templates/config/solr_mappings.yml +22 -0
- data/lib/generators/hydra/templates/fedora_conf/conf/development/fedora.fcfg +946 -0
- data/lib/generators/hydra/templates/fedora_conf/conf/test/fedora.fcfg +946 -0
- data/lib/generators/hydra/templates/solr_conf/conf/schema.xml +692 -0
- data/lib/generators/hydra/templates/solr_conf/conf/solrconfig.xml +1887 -0
- data/lib/generators/hydra/templates/solr_conf/solr.xml +35 -0
- data/lib/hydra-core.rb +1 -0
- data/lib/hydra-head.rb +27 -0
- data/lib/hydra-head/engine.rb +14 -0
- data/lib/hydra-head/routes.rb +90 -0
- data/lib/hydra-head/version.rb +4 -0
- data/lib/hydra.rb +30 -0
- data/lib/hydra/catalog.rb +11 -0
- data/lib/hydra/controller.rb +25 -0
- data/lib/hydra/controller/controller_behavior.rb +39 -0
- data/lib/hydra/controller/repository_controller_behavior.rb +78 -0
- data/lib/hydra/controller/upload_behavior.rb +139 -0
- data/lib/hydra/global_configurable.rb +46 -0
- data/lib/hydra/model_methods.rb +109 -0
- data/lib/hydra/model_mixins/common_metadata.rb +25 -0
- data/lib/hydra/model_mixins/solr_document_extension.rb +24 -0
- data/lib/hydra/models/file_asset.rb +76 -0
- data/lib/hydra/repository_controller.rb +28 -0
- data/lib/hydra/solr.rb +9 -0
- data/lib/railties/active-fedora.rake +1 -0
- data/lib/railties/hydra-fixtures.rake +50 -0
- data/lib/railties/hydra_jetty.rake +53 -0
- data/spec/.gitignore +1 -0
- data/spec/controllers/catalog_controller_spec.rb +101 -0
- data/spec/controllers/catalog_valid_html_spec.rb +114 -0
- data/spec/factories.rb +11 -0
- data/spec/helpers/blacklight_helper_spec.rb +15 -0
- data/spec/helpers/facets_helper_spec.rb +15 -0
- data/spec/lib/catalog_spec.rb +16 -0
- data/spec/lib/global_configurable_spec.rb +98 -0
- data/spec/lib/model_methods_spec.rb +29 -0
- data/spec/lib/repository_controller_behavior_spec.rb +28 -0
- data/spec/models/mods_asset_spec.rb +21 -0
- data/spec/models/solr_document_spec.rb +17 -0
- data/spec/models/user_spec.rb +32 -0
- data/spec/rcov.opts +3 -0
- data/spec/spec.opts +4 -0
- data/spec/spec_helper.rb +26 -0
- data/spec/support/Gemfile +12 -0
- data/spec/support/app/models/generic_content.rb +23 -0
- data/spec/support/app/models/sample.rb +33 -0
- data/spec/support/app/models/solr_document.rb +5 -0
- data/spec/support/db/migrate/20111101221803_create_searches.rb +16 -0
- data/spec/support/lib/generators/test_app_generator.rb +33 -0
- data/spec/support/matchers/helper_matcher.rb +14 -0
- data/spec/support/matchers/solr_matchers.rb +60 -0
- data/spec/support/spec/fixtures/hydra_test_generic_content.foxml.xml +138 -0
- data/spec/support/spec/fixtures/hydrangea_fixture_mods_article1.foxml.xml +234 -0
- data/spec/unit/hydra-head-engine_spec.rb +8 -0
- data/spec/unit/hydra-head_spec.rb +8 -0
- data/tasks/hydra-head-fixtures.rake +58 -0
- data/tasks/hydra_jetty.rake +53 -0
- data/tasks/rspec.rake +53 -0
- metadata +469 -0
data/.gitignore
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
module Hydra
|
2
|
+
module BlacklightHelperBehavior
|
3
|
+
include Blacklight::BlacklightHelperBehavior
|
4
|
+
|
5
|
+
def document_partial_path_templates
|
6
|
+
["%2$s/%1$s"] + super
|
7
|
+
end
|
8
|
+
|
9
|
+
# Given a Fedora uri, generate a reasonable partial name
|
10
|
+
def document_partial_name(document)
|
11
|
+
display_type = document[blacklight_config.show.display_type]
|
12
|
+
|
13
|
+
return 'default' unless display_type
|
14
|
+
|
15
|
+
display_type.first.gsub(/^[^\/]+\/[^:]+:/,"").underscore.pluralize
|
16
|
+
end
|
17
|
+
|
18
|
+
# COPIED from vendor/plugins/blacklight/app/helpers/application_helper.rb
|
19
|
+
# Used in catalog/facet action, facets.rb view, for a click
|
20
|
+
# on a facet value. Add on the facet params to existing
|
21
|
+
# search constraints. Remove any paginator-specific request
|
22
|
+
# params, or other request params that should be removed
|
23
|
+
# for a 'fresh' display.
|
24
|
+
# Change the action to 'index' to send them back to
|
25
|
+
# catalog/index with their new facet choice.
|
26
|
+
def add_facet_params_and_redirect(field, value)
|
27
|
+
new_params = super
|
28
|
+
|
29
|
+
# Delete :qt, if needed - added to resolve NPE errors
|
30
|
+
new_params.delete(:qt)
|
31
|
+
|
32
|
+
new_params
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Hydra
|
2
|
+
module FacetsHelperBehavior
|
3
|
+
include Blacklight::FacetsHelperBehavior
|
4
|
+
|
5
|
+
# Removing the [remove] link and label class from the default selected facet display
|
6
|
+
def render_selected_facet_value(facet_solr_field, item)
|
7
|
+
content_tag(:span, render_facet_value(facet_solr_field, item, :suppress_link => true), :class => "selected")
|
8
|
+
end
|
9
|
+
|
10
|
+
# Override to remove the label class (easier integration with bootstrap)
|
11
|
+
# and handles arrays
|
12
|
+
def render_facet_value(facet_solr_field, item, options ={})
|
13
|
+
if item.is_a? Array
|
14
|
+
render_array_facet_value(facet_solr_field, item, options)
|
15
|
+
end
|
16
|
+
|
17
|
+
(link_to_unless(options[:suppress_link], item.value, add_facet_params_and_redirect(facet_solr_field, item.value), :class=>"facet_select") + " " + render_facet_count(item.hits)).html_safe
|
18
|
+
end
|
19
|
+
|
20
|
+
def render_array_facet_value(facet_solr_field, item, options)
|
21
|
+
(link_to_unless(options[:suppress_link], item[0], add_facet_params_and_redirect(facet_solr_field, item[0]), :class=>"facet_select") + " (" + format_num(item[1]) + ")").html_safe
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# properties datastream: catch-all for info that didn't have another home. Particularly depositor.
|
2
|
+
module Hydra::Datastream
|
3
|
+
class Properties < ActiveFedora::NokogiriDatastream
|
4
|
+
set_terminology do |t|
|
5
|
+
t.root(:path=>"fields", :xmlns => '', :namespace_prefix => nil)
|
6
|
+
|
7
|
+
# This is where we put the user id of the object depositor -- impacts permissions/access controls
|
8
|
+
t.depositor :xmlns => '', :namespace_prefix => nil
|
9
|
+
|
10
|
+
# @deprecated Collection should be tracked in RELS-EXT RDF. collection term will be removed no later than release 6.x
|
11
|
+
t.collection :xmlns => '', :namespace_prefix => nil
|
12
|
+
# @deprecated Title should be tracked in descMetadata. title term will be removed no later than release 6.x
|
13
|
+
t.title :xmlns => '', :namespace_prefix => nil
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.xml_template
|
17
|
+
builder = Nokogiri::XML::Builder.new do |xml|
|
18
|
+
xml.fields
|
19
|
+
end
|
20
|
+
|
21
|
+
builder.doc
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'hydra'
|
2
|
+
# An EXAMPLE Basic Model for Assets that conform to Hydra commonMetadata cModel and have basic MODS metadata (currently "Article" is the MODS exemplar)
|
3
|
+
class ModsAsset < ActiveFedora::Base
|
4
|
+
|
5
|
+
# declares a rightsMetadata datastream with type Hydra::Datastream::RightsMetadata
|
6
|
+
# basically, it is another expression of
|
7
|
+
# has_metadata :name => "rightsMetadata", :type => Hydra::Datastream::RightsMetadata
|
8
|
+
include Hydra::ModelMixins::CommonMetadata
|
9
|
+
|
10
|
+
## Convenience methods for manipulating the rights metadata datastream
|
11
|
+
include Hydra::ModelMixins::RightsMetadata
|
12
|
+
|
13
|
+
# declares a descMetadata datastream with type Hydra::Datastream::ModsArticle
|
14
|
+
# basically, it is another expression of
|
15
|
+
# has_metadata :name => "descMetadata", :type => Hydra::Datastream::ModsArticle
|
16
|
+
#include Hydra::ModelMixins::ModsObject
|
17
|
+
|
18
|
+
# adds helpful methods for basic hydra objects
|
19
|
+
include Hydra::ModelMethods
|
20
|
+
|
21
|
+
# adds file_objects methods
|
22
|
+
include ActiveFedora::FileManagement
|
23
|
+
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<h1><%= document_show_html_title %></h1>
|
2
|
+
|
3
|
+
<% if @document.respond_to?(:export_as_mla_citation_txt) %>
|
4
|
+
<h4>MLA</h4>
|
5
|
+
<%= @document.send(:export_as_mla_citation_txt) %><br/><br/>
|
6
|
+
<% end %>
|
7
|
+
|
8
|
+
<% if @document.respond_to?(:export_as_apa_citation_txt) %>
|
9
|
+
<h4>APA</h4>
|
10
|
+
<%= @document.send(:export_as_apa_citation_txt) %>
|
11
|
+
<% end %>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<%# This view is overridden to change the alt attribute to be a title in the link_to below in order to conform to the HTML5 validity standard. This should ultimately be fixed in Blacklight. -%>
|
2
|
+
<%- # local params:
|
3
|
+
# label
|
4
|
+
# value
|
5
|
+
# options =>
|
6
|
+
# :remove => url for a remove constraint link
|
7
|
+
# :classes => array of classes to add to container span
|
8
|
+
options ||= {}
|
9
|
+
options[:escape_label] = true unless options.has_key?(:escape_label)
|
10
|
+
options[:escape_value] = true unless options.has_key?(:escape_value)
|
11
|
+
-%>
|
12
|
+
|
13
|
+
<span class="appliedFilter constraint <%= options[:classes].join(" ") if options[:classes] %>">
|
14
|
+
<%- unless label.blank? -%>
|
15
|
+
<span class="filterName"><%= options[:escape_label] ? h(label) : label %></span>
|
16
|
+
<%- end -%>
|
17
|
+
<%- unless value.blank? -%>
|
18
|
+
<span class="filterValue"><%= options[:escape_value] ? h(value) : value %></span>
|
19
|
+
<%- end -%>
|
20
|
+
<%- unless options[:remove].blank? -%>
|
21
|
+
<% accessible_remove_label =
|
22
|
+
if label.blank?
|
23
|
+
"Remove constraint #{options[:escape_value] ? h(value) : value}"
|
24
|
+
else
|
25
|
+
"Remove constraint #{options[:escape_value] ? h(value) : value}: #{options[:escape_value] ? h(value) : value}"
|
26
|
+
end
|
27
|
+
%>
|
28
|
+
<%= link_to(accessible_remove_label,
|
29
|
+
options[:remove],
|
30
|
+
:class=>'btnRemove imgReplace',
|
31
|
+
:title=>'remove'
|
32
|
+
) %>
|
33
|
+
<%- end -%>
|
34
|
+
</span>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<%# default partial to delete display solr document fields in catalog show view -%>
|
2
|
+
|
3
|
+
<div class="document_viewer" id="cover_container">
|
4
|
+
<div id="delete_dialog">
|
5
|
+
<div id="delete_dialog_container">
|
6
|
+
|
7
|
+
|
8
|
+
<div>
|
9
|
+
<span>Permanently delete <%= @document['id'] %> and its assets from the repository?</span><br/>
|
10
|
+
<div id="deletable_assets"></div>
|
11
|
+
</div>
|
12
|
+
|
13
|
+
<div>
|
14
|
+
<%= button_to("Delete", hydra_asset_path(@document['id']), :confirm => 'Are you sure?', :method => :delete )%>
|
15
|
+
<%= button_to("Withdraw", withdraw_path(:id => @document['id']) ) %>
|
16
|
+
<%= button_to("Cancel", :action=>:edit, :controller => :catalog, :id => @document['id'] ) %>
|
17
|
+
|
18
|
+
</div>
|
19
|
+
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
</div>
|
@@ -0,0 +1,57 @@
|
|
1
|
+
<%# default partial to display solr document fields in catalog show view -%>
|
2
|
+
|
3
|
+
<%- stylesheet_links << "../plugin_assets/hydra-head/javascripts/date-picker/css/datepicker" %>
|
4
|
+
<%- stylesheet_links << ["../plugin_assets/hydra-head/javascripts/select_to_ui_slider/css/ui.slider.extras.css"] %>
|
5
|
+
<%- stylesheet_links << ["../plugin_assets/hydra-head/stylesheets/slider.css"] %>
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
<% @fedora_object = ActiveFedora::Base.find(params[:id])
|
10
|
+
@datastreams = @fedora_object.datastreams
|
11
|
+
%>
|
12
|
+
|
13
|
+
<div class="document_viewer" id="cover_container">
|
14
|
+
<dl>
|
15
|
+
<dt>pid:</dt>
|
16
|
+
<dd><%= @fedora_object.pid %></dd>
|
17
|
+
</dl>
|
18
|
+
<dl>
|
19
|
+
<dt>label:</dt>
|
20
|
+
<dd><%= @fedora_object.label %></dd>
|
21
|
+
<dt>state:</dt>
|
22
|
+
<dd><%= @fedora_object.state %></dd>
|
23
|
+
<dt>owner id:</dt>
|
24
|
+
<dd><%= @fedora_object.inner_object.ownerId %></dd>
|
25
|
+
</dl>
|
26
|
+
<dl>
|
27
|
+
<dt>created:</dt>
|
28
|
+
<dd><%= @fedora_object.create_date %></dd>
|
29
|
+
<dt>last modified:</dt>
|
30
|
+
<dd><%= @fedora_object.modified_date %></dd>
|
31
|
+
</dl>
|
32
|
+
<dl>
|
33
|
+
<dt>datastreams:</dt>
|
34
|
+
<dd>
|
35
|
+
<ul>
|
36
|
+
<% @datastreams.keys.sort!.each do |dsid| %>
|
37
|
+
<li><a href="#<%=dsid%>" class="inline"><%=dsid%></a>
|
38
|
+
<div style='display:none'>
|
39
|
+
<div id='<%=dsid%>'>
|
40
|
+
<h1><%=dsid%></h1>
|
41
|
+
<dl>
|
42
|
+
<%= ("<dt>label:</dt><dd>" + @datastreams[dsid].dsLabel + "</dd>").html_safe unless @datastreams[dsid].dsLabel.blank? %>
|
43
|
+
<%= ("<dt>last modified:</dt><dd>" + @datastreams[dsid].lastModifiedDate + "</dd>").html_safe unless @datastreams[dsid].lastModifiedDate.blank? %>
|
44
|
+
<%= ("<dt>mimetype:</dt><dd>" + @datastreams[dsid].mimeType + "</dd>").html_safe unless @datastreams[dsid].mimeType.blank? %>
|
45
|
+
<%= ("<dt>control group:</dt><dd>" + @datastreams[dsid].controlGroup + "</dd>").html_safe unless @datastreams[dsid].controlGroup.blank? %>
|
46
|
+
</dl>
|
47
|
+
</div>
|
48
|
+
</div></li>
|
49
|
+
<% end %>
|
50
|
+
</ul>
|
51
|
+
</dd>
|
52
|
+
</dl>
|
53
|
+
|
54
|
+
<%= render :partial => "hydra/permissions/index", :locals => {:document => document, :asset_id=>params[:id]}%>
|
55
|
+
|
56
|
+
</div>
|
57
|
+
|
@@ -0,0 +1,13 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
<%# this should imitate the stuff in catalog/_show_partials/_default_details -%>
|
4
|
+
<%= form_tag hydra_update_url_for(:action=>"update", :controller=>"hydra/assets"), :id=>"document_metadata" "accept-charset"=>"utf-8" do %>
|
5
|
+
|
6
|
+
<div id="multipleEdit">
|
7
|
+
<dl class="defList fl-theme-mist">
|
8
|
+
<%= editable_metadata_field(@document_fedora, "descMetadata", :title, :label => "Title:") %>
|
9
|
+
</dl>
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
<%# -- end of code replicating catalog/_show_partials/_default_details -%>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<% # main container for facets/limits menu -%>
|
2
|
+
<div id="facets" class="facets">
|
3
|
+
<% facet_field_names.each do |solr_fname| %>
|
4
|
+
|
5
|
+
<% next if solr_fname == 'person_full_name_cid_facet' %>
|
6
|
+
<div>
|
7
|
+
<% display_facet = @response.facets.detect {|f| f.name == solr_fname} -%>
|
8
|
+
<% if display_facet && display_facet.items.length > 0 %>
|
9
|
+
<h3 id="facet_<%= facet_field_labels[solr_fname].downcase.gsub(/ /, '_') -%>"><%= facet_field_labels[solr_fname] -%></h3>
|
10
|
+
<ul>
|
11
|
+
<% paginator =
|
12
|
+
Blacklight::Solr::FacetPaginator.new(display_facet.items,
|
13
|
+
:limit => facet_limit_for(solr_fname))
|
14
|
+
%>
|
15
|
+
<% paginator.items.each do |item| -%>
|
16
|
+
<li>
|
17
|
+
<% if facet_in_params?( solr_fname, item.value ) %>
|
18
|
+
<%= render_selected_facet_value(solr_fname, item) %>
|
19
|
+
<% else %>
|
20
|
+
<% if item.value.blank? %>
|
21
|
+
<%#= render_facet_value(solr_fname, ["Unknown",item.hits]) %>
|
22
|
+
<% else %>
|
23
|
+
<%= render_facet_value(solr_fname, item) %>
|
24
|
+
<% end %>
|
25
|
+
<% end -%>
|
26
|
+
</li>
|
27
|
+
<% end %>
|
28
|
+
|
29
|
+
<% if(paginator.has_next?) %>
|
30
|
+
<li class="more_facets_link"><%= link_to('more »', params.merge(:id => solr_fname, :action=>"facet"), :class => "more_facets_link") %></li>
|
31
|
+
<% end %>
|
32
|
+
|
33
|
+
</ul>
|
34
|
+
<% end %>
|
35
|
+
</div>
|
36
|
+
<% end %>
|
37
|
+
</div>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<tr class="document <%= cycle("even","odd") %>">
|
2
|
+
<td>
|
3
|
+
<%= link_to_document(document, :label => blacklight_config.show.heading.to_sym, :counter => (counter + 1 + @response.params[:start].to_i)) %>
|
4
|
+
</td>
|
5
|
+
<td>
|
6
|
+
|
7
|
+
</td>
|
8
|
+
<td>
|
9
|
+
<%= l DateTime.parse(document.fetch(:system_create_dt,nil)).to_time %>
|
10
|
+
</td>
|
11
|
+
<td>
|
12
|
+
<%= document.document_type(blacklight_config.show.display_type) %>
|
13
|
+
</td>
|
14
|
+
<td>
|
15
|
+
<%= get_file_asset_count(document)%>
|
16
|
+
</td>
|
17
|
+
<td>
|
18
|
+
Created
|
19
|
+
</td>
|
20
|
+
</tr>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<%# default partial to display solr document fields in catalog index view -%>
|
2
|
+
<dl class="defList">
|
3
|
+
<%#= get_relevance_bar(document[:score],"Relevance:") %>
|
4
|
+
<dt>Date: </dt>
|
5
|
+
<dd><%= render_document_show_field_value(:document=>document, :field=>"date_t") %></dd>
|
6
|
+
<dt>Title: </dt>
|
7
|
+
<dd><%= render_document_show_field_value(:document=>document, :field=>"title_t") %></dd>
|
8
|
+
<dt>Document Type: </dt>
|
9
|
+
<dd><%= render_document_show_field_value(:document=>document, :field=>"medium_t") %></dd>
|
10
|
+
<dt>Location: </dt>
|
11
|
+
<dd><%= render_document_show_field_value(:document=>document, :field=>"location_t") %></dd>
|
12
|
+
<dt>Date: </dt>
|
13
|
+
<dd><%= render_document_show_field_value(:document=>document, :field=>"date_t") %></dd>
|
14
|
+
</dl>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<%# default partial to display solr document fields in catalog show view -%>
|
2
|
+
|
3
|
+
|
4
|
+
<div class="document_viewer" id="cover_container">
|
5
|
+
<dl class="defList">
|
6
|
+
<dt>ID: </dt>
|
7
|
+
<dd><%= render_document_show_field_value(:document=>document, :field=>"id") %></dd>
|
8
|
+
<dt>Download:</dt>
|
9
|
+
<dd id="downloads">
|
10
|
+
<ul>
|
11
|
+
<% %>
|
12
|
+
</ul>
|
13
|
+
</dd>
|
14
|
+
<dt>Copyright: </dt>
|
15
|
+
<dd><%= render_document_show_field_value(:document=>document, :field=>"rights_t") %></dd>
|
16
|
+
</dl>
|
17
|
+
</div>
|
18
|
+
<div class="<%= params[:action]%>_details">
|
19
|
+
<%= render :partial => "#{params[:controller]}/_#{params[:action]}_partials/default_details", :locals => {:document => document}%>
|
20
|
+
</div>
|
21
|
+
<%= async_load_tag(hydra_asset_downloads_path(params[:id]), 'downloads') %>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<%# default partial to display solr document fields in catalog show view -%>
|
2
|
+
<div>
|
3
|
+
<dl class="defList">
|
4
|
+
<dt>Date: </dt>
|
5
|
+
<dd><%= render_document_show_field_value(:document=>document, :field=>"date_t") %></dd>
|
6
|
+
<dt>Title: </dt>
|
7
|
+
<dd><%= render_document_show_field_value(:document=>document, :field=>"title_t") %></dd>
|
8
|
+
<dt>Document Type: </dt>
|
9
|
+
<dd><%= render_document_show_field_value(:document=>document, :field=>"medium_t") %></dd>
|
10
|
+
<dt>Location: </dt>
|
11
|
+
<dd><%= render_document_show_field_value(:document=>document, :field=>"location_t") %></dd>
|
12
|
+
<dt>Date: </dt>
|
13
|
+
<dd><%= render_document_show_field_value(:document=>document, :field=>"date_t") %></dd>
|
14
|
+
</dl>
|
15
|
+
</div>
|
@@ -0,0 +1,52 @@
|
|
1
|
+
<% facets_display_heading ||= "" %>
|
2
|
+
<% # main container for facets/limits menu -%>
|
3
|
+
<div id="facets">
|
4
|
+
<h2><%=h facets_display_heading %></h2>
|
5
|
+
<% facet_field_names.each do |solr_fname| %>
|
6
|
+
<div>
|
7
|
+
<% display_facet = @response.facets.detect {|f| f.name == solr_fname} -%>
|
8
|
+
<%#- raise solr_fname.inspect unless display_facet -%>
|
9
|
+
<% if display_facet && display_facet.items.length > 0 %>
|
10
|
+
<h3 class="facet_selected"><%= facet_field_labels[solr_fname] -%></h3>
|
11
|
+
<ul>
|
12
|
+
<% item_counter = 0 %>
|
13
|
+
<% display_facet.items.each do |item| -%>
|
14
|
+
<% if item.hits > 0 %>
|
15
|
+
<% facet_count_for_value = facet_value_hits(@facet_lookup, solr_fname, item.value) %>
|
16
|
+
<% if facet_in_params? solr_fname, item.value %>
|
17
|
+
<li>
|
18
|
+
<span class="selected"><%= h(item.value) %> (<%= format_num facet_count_for_value %>)</span>
|
19
|
+
<% link_options = remove_facet_params(solr_fname, item.value, params).merge!Hash["controller" => "catalog", :action=> "index"] %>
|
20
|
+
[<%= link_to 'remove', url_for(link_options), :class=>'remove' %>]
|
21
|
+
</li>
|
22
|
+
<% else %>
|
23
|
+
<%- if item_counter > Blacklight.config[:facet_more_num]-1 -%>
|
24
|
+
<li class="more">
|
25
|
+
<%- else -%>
|
26
|
+
<li>
|
27
|
+
<%- end -%>
|
28
|
+
<% link_options = add_facet_params(solr_fname, item.value).merge!Hash["controller" => "catalog", :action=> "index"] %>
|
29
|
+
<%= link_to h(item.value), url_for(link_options) %> (<%= format_num facet_count_for_value %>)
|
30
|
+
</li>
|
31
|
+
<% end -%>
|
32
|
+
<% end -%>
|
33
|
+
<% item_counter += 1 %>
|
34
|
+
<% end %>
|
35
|
+
<%= display_facet.items.length > Blacklight.config[:facet_more_num] ? "<li class='more_li'><a href='' class='more_link' title='more #{pluralize(2, facet_field_labels[solr_fname])[2..-1].downcase}'>more<span class='off_screen'> #{pluralize(2, facet_field_labels[solr_fname])[2..-1].downcase}</span></a></li>" : "" %>
|
36
|
+
<%= display_facet.items.length > Blacklight.config[:facet_more_num] ? "<li class='less_li' style='display:none;'><a href='' class='more_link' title='less #{pluralize(2, facet_field_labels[solr_fname])[2..-1].downcase}'>less<span class='off_screen'> #{pluralize(2, facet_field_labels[solr_fname])[2..-1].downcase}</span></a></li>" : "" %>
|
37
|
+
</ul>
|
38
|
+
<% end %>
|
39
|
+
</div>
|
40
|
+
<% end %>
|
41
|
+
</div>
|
42
|
+
<script type="text/javascript">
|
43
|
+
$(".more").toggle();
|
44
|
+
$('.more_link').each(function(){
|
45
|
+
$(this).click(function(){
|
46
|
+
$(this).parent().parent().children("li.more").toggle();
|
47
|
+
$(this).parent().parent().children("li.more_li").toggle();
|
48
|
+
$(this).parent().parent().children("li.less_li").toggle();
|
49
|
+
return false;
|
50
|
+
});
|
51
|
+
});
|
52
|
+
</script>
|