geoblacklight 0.4.2 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/app/assets/javascripts/geoblacklight/geoblacklight.js +1 -1
- data/app/assets/stylesheets/geoblacklight/{_geoblacklight.css.scss → _geoblacklight.scss} +1 -1
- data/app/assets/stylesheets/geoblacklight/{_styles.css.scss → _styles.scss} +0 -4
- data/app/assets/stylesheets/geoblacklight/{application.css.scss → application.scss} +0 -0
- data/app/assets/stylesheets/geoblacklight/modules/{geosearch.css.scss → geosearch.scss} +0 -0
- data/app/assets/stylesheets/geoblacklight/modules/{home.css.scss → home.scss} +9 -1
- data/app/assets/stylesheets/geoblacklight/modules/{icon-customization.css.scss → icon-customization.scss} +0 -0
- data/app/assets/stylesheets/geoblacklight/modules/{icons.css.scss → icons.scss} +0 -0
- data/app/assets/stylesheets/geoblacklight/modules/{item.css.scss → item.scss} +0 -0
- data/app/assets/stylesheets/geoblacklight/modules/{layer_opacity.css.scss → layer_opacity.scss} +0 -0
- data/app/assets/stylesheets/geoblacklight/modules/{mixins.css.scss → mixins.scss} +0 -0
- data/app/assets/stylesheets/geoblacklight/modules/{results.css.scss → results.scss} +0 -0
- data/app/controllers/download_controller.rb +2 -2
- data/app/helpers/geoblacklight_helper.rb +4 -0
- data/app/views/catalog/_home_text.html.erb +3 -1
- data/app/views/catalog/_index_split_default.html.erb +1 -1
- data/app/views/catalog/_search_form_no_navbar.html.erb +20 -0
- data/app/views/catalog/_show_tools.html.erb +63 -0
- data/geoblacklight.gemspec +5 -4
- data/lib/geoblacklight/engine.rb +2 -2
- data/lib/geoblacklight/version.rb +1 -1
- data/spec/features/split_view.html.erb_spec.rb +1 -1
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -1
- data/template.rb +2 -0
- metadata +42 -29
- data/app/views/catalog/_show_sidebar.html.erb +0 -63
- data/vendor/assets/javascripts/leaflet-iiif.js +0 -152
- data/vendor/assets/javascripts/readmore.min.js +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 03c5c0f3c8ea0fd560d61c83f6ac4ef72a01fd41
|
4
|
+
data.tar.gz: f70eecf129433a06f95909b43fe3e305a28c7abc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 456079db8a4fc890f902a56a688d74beba805919f39d31f52475644553ef7e69f7369697c5569c501bb4a25321dd59eff22054fea48522930ec2ed74019ca2ac
|
7
|
+
data.tar.gz: 11a6fd6f2c0253f595b6ad2ac1a3dd2fa6b48472a869f22a0c46c57d2df5cb15389aeaef31100e91f47e24c86d422950c8d921918610c721cfe9c15cffadda3f
|
data/Gemfile
CHANGED
@@ -8,8 +8,8 @@
|
|
8
8
|
* You're free to add application-wide styles to this file and they'll appear at the top of the
|
9
9
|
* compiled file, but it's generally better to create a new file per style scope.
|
10
10
|
*
|
11
|
-
*= require leaflet
|
12
11
|
*/
|
12
|
+
@import 'leaflet';
|
13
13
|
|
14
14
|
@import 'font-awesome';
|
15
15
|
@import 'geoblacklight/styles';
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/app/assets/stylesheets/geoblacklight/modules/{layer_opacity.css.scss → layer_opacity.scss}
RENAMED
File without changes
|
File without changes
|
File without changes
|
@@ -2,7 +2,7 @@ class DownloadController < ApplicationController
|
|
2
2
|
include Blacklight::SolrHelper
|
3
3
|
|
4
4
|
def show
|
5
|
-
@response, @document = get_solr_response_for_doc_id
|
5
|
+
@response, @document = get_solr_response_for_doc_id params[:id]
|
6
6
|
restricted_should_authenticate
|
7
7
|
response = check_type
|
8
8
|
validate response
|
@@ -20,7 +20,7 @@ class DownloadController < ApplicationController
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def hgl
|
23
|
-
@response, @document = get_solr_response_for_doc_id
|
23
|
+
@response, @document = get_solr_response_for_doc_id params[:id]
|
24
24
|
if params[:email]
|
25
25
|
response = HglDownload.new(@document, params[:email]).get
|
26
26
|
if response.nil?
|
@@ -36,6 +36,10 @@ module GeoblacklightHelper
|
|
36
36
|
content_tag :span, '', class: "geoblacklight-icon geoblacklight-#{name.downcase.gsub(' ', '-')}", title: name
|
37
37
|
end
|
38
38
|
|
39
|
+
def render_search_form_no_navbar
|
40
|
+
render partial: 'catalog/search_form_no_navbar'
|
41
|
+
end
|
42
|
+
|
39
43
|
##
|
40
44
|
# Renders an unique array of search links based off of terms
|
41
45
|
# passed in using the facet parameter
|
@@ -2,7 +2,9 @@
|
|
2
2
|
<div class='home-search-area'>
|
3
3
|
<%= content_tag :h2, t('geoblacklight.home.headline') %>
|
4
4
|
<%= content_tag :h3, t('geoblacklight.home.search_heading') %>
|
5
|
-
|
5
|
+
<div class='col-md-6 col-md-offset-3'>
|
6
|
+
<%= render_search_form_no_navbar %>
|
7
|
+
</div>
|
6
8
|
</div>
|
7
9
|
</div>
|
8
10
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
<span class="document-counter">
|
11
11
|
<%= t('blacklight.search.documents.counter', :counter => counter) if counter %>
|
12
12
|
</span>
|
13
|
-
<%= link_to_document document,
|
13
|
+
<%= link_to_document document, document_show_link_field(document), counter: counter, title: document['dc_title_s'] %>
|
14
14
|
</h5>
|
15
15
|
|
16
16
|
<div class='col-md-12 more-info-area'>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<%= form_tag search_action_url, :method => :get, :class => 'search-query-form clearfix' do %>
|
2
|
+
<%= render_hash_as_hidden_fields(params_for_search().except(:q, :search_field, :qt, :page, :utf8)) %>
|
3
|
+
|
4
|
+
<% unless search_fields.empty? %>
|
5
|
+
<label for="search_field" class="sr-only"><%= t('blacklight.search.form.search_field.label') %></label>
|
6
|
+
<%= select_tag(:search_field, options_for_select(search_fields, h(params[:search_field])), :title => t('blacklight.search.form.search_field.title'), :class=>"search_field form-control") %>
|
7
|
+
<span class="sr-only"><%= t('blacklight.search.form.search_field.post_label') %></span>
|
8
|
+
<% end %>
|
9
|
+
<div class="input-group search-input-group">
|
10
|
+
<label for="q" class="sr-only"><%= t('blacklight.search.form.q') %></label>
|
11
|
+
<%= text_field_tag :q, params[:q], :placeholder => t('blacklight.search.form.q'), :class => "search_q q form-control", :id => "q", :autofocus => should_autofocus_on_search_box? %>
|
12
|
+
|
13
|
+
<span class="input-group-btn">
|
14
|
+
<button type="submit" class="btn btn-primary search-btn" id="search">
|
15
|
+
<span class="submit-search-text"><%=t('blacklight.search.form.submit')%></span>
|
16
|
+
<span class="glyphicon glyphicon-search"></span>
|
17
|
+
</button>
|
18
|
+
</span>
|
19
|
+
</div>
|
20
|
+
<% end %>
|
@@ -0,0 +1,63 @@
|
|
1
|
+
<% document ||= @document %>
|
2
|
+
<div class="panel panel-default show-tools">
|
3
|
+
<div class="panel-heading">
|
4
|
+
<%= t('blacklight.tools.title') %>
|
5
|
+
</div>
|
6
|
+
|
7
|
+
<div class="panel-body">
|
8
|
+
<ul class="nav">
|
9
|
+
<%= render_show_doc_actions @document do |config, inner| %>
|
10
|
+
<li class="<%= config.key %>">
|
11
|
+
<%= inner %>
|
12
|
+
</li>
|
13
|
+
<% end %>
|
14
|
+
</ul>
|
15
|
+
</div>
|
16
|
+
<% if document_downloadable? %>
|
17
|
+
<div class='panel-body'>
|
18
|
+
<div class='btn-group' itemprop='distribution' itemscope='itemscope' itemtype='http://schema.org/DataDownload'>
|
19
|
+
<% if document.direct_download.present? %>
|
20
|
+
<%= link_to(download_text(@document[:dc_format_s]), document.direct_download[:download], class: 'btn btn-default', 'contentUrl' => document.direct_download[:download], data: { download: 'trigger', download_type: 'direct', download_id: document[:layer_slug_s] }) %>
|
21
|
+
<% elsif document.hgl_download.present? %>
|
22
|
+
<%= link_to(download_text(document.download_types.first[0]),
|
23
|
+
download_hgl_path(id: document), data: {ajax_modal: 'trigger', download: 'trigger', download_type: 'harvard-hgl', download_id: document[:layer_slug_s] },
|
24
|
+
class: 'btn btn-default') %>
|
25
|
+
<% else %>
|
26
|
+
<%= link_to(download_text(document.download_types.first[0]), '', data: { download_path: "#{download_path(document[:layer_slug_s], type: document.download_types.first[0])}", download: 'trigger', download_type: document.download_types.first[0], download_id: document[:layer_slug_s] }, class: 'btn btn-default') %>
|
27
|
+
<% end %>
|
28
|
+
<button type='button' class='btn btn-default dropdown-toggle download-dropdown-toggle' data-toggle='dropdown' aria-expanded='false'>
|
29
|
+
<span class='caret'></span>
|
30
|
+
<span class='sr-only'>Toggle Download Dropdown</span>
|
31
|
+
</button>
|
32
|
+
<ul class='dropdown-menu' role='menu'>
|
33
|
+
<% if document.hgl_download.present? %>
|
34
|
+
<li role="presentation" class="dropdown-header">Original</li>
|
35
|
+
<li>
|
36
|
+
<%= link_to(download_text(document.download_types.first[0]),
|
37
|
+
download_hgl_path(id: document), data: {ajax_modal: 'trigger', download: 'trigger', download_type: 'harvard-hgl', download_id: document[:layer_slug_s] }) %>
|
38
|
+
</li>
|
39
|
+
<% else %>
|
40
|
+
<% if document.direct_download.present? %>
|
41
|
+
<li role="presentation" class="dropdown-header">Original</li>
|
42
|
+
<li>
|
43
|
+
<%= link_to(download_text(@document[:dc_format_s]), document.direct_download[:download], 'contentUrl' => document.direct_download[:download], data: { download: 'trigger', download_type: 'direct', download_id: document[:layer_slug_s] }) %>
|
44
|
+
</li>
|
45
|
+
<% end %>
|
46
|
+
<% if document.download_types.present? %>
|
47
|
+
<li role="presentation" class="dropdown-header">Generated</li>
|
48
|
+
<% document.download_types.each do |type| %>
|
49
|
+
<%= content_tag(:li) do %>
|
50
|
+
<% link_to(download_text(type[0]), '', data: { download_path: "#{download_path(document[:layer_slug_s], type: type[0])}", download: 'trigger', download_type: type[0], download_id: document[:layer_slug_s] }) %>
|
51
|
+
<% end %>
|
52
|
+
<% end %>
|
53
|
+
<% end %>
|
54
|
+
<% end %>
|
55
|
+
</ul>
|
56
|
+
</div>
|
57
|
+
</div>
|
58
|
+
<% elsif document.restricted? && document.same_institution? %>
|
59
|
+
<div class='panel-body'>
|
60
|
+
<%= link_to t('geoblacklight.tools.login_to_view'), new_user_session_path(referrer: request.original_url) %>
|
61
|
+
</div>
|
62
|
+
<% end %>
|
63
|
+
</div>
|
data/geoblacklight.gemspec
CHANGED
@@ -18,18 +18,19 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_dependency 'blacklight', '~> 5.
|
21
|
+
spec.add_dependency 'blacklight', '~> 5.8.2'
|
22
22
|
spec.add_dependency 'leaflet-rails', '~> 0.7.3'
|
23
|
-
spec.add_dependency 'blacklight_range_limit', '~> 5.0.
|
23
|
+
spec.add_dependency 'blacklight_range_limit', '~> 5.0.2'
|
24
24
|
spec.add_dependency 'font-awesome-rails', '~> 4.1.0.0'
|
25
|
-
spec.add_dependency 'httparty', '~> 0.13.1'
|
26
25
|
spec.add_dependency 'rails_config'
|
27
26
|
spec.add_dependency 'faraday'
|
27
|
+
spec.add_dependency 'rails-assets-leaflet-iiif', '~> 0.0.3'
|
28
|
+
spec.add_dependency 'rails-assets-readmore'
|
28
29
|
|
29
30
|
spec.add_development_dependency 'bundler', '~> 1.5'
|
30
31
|
spec.add_development_dependency 'rake', '~> 10.3.2'
|
31
32
|
spec.add_development_dependency 'rspec-rails', '~> 3.0.1'
|
32
|
-
spec.add_development_dependency 'jettywrapper', '~> 1.
|
33
|
+
spec.add_development_dependency 'jettywrapper', '~> 1.8.3'
|
33
34
|
spec.add_development_dependency 'engine_cart', '~> 0.4.0'
|
34
35
|
spec.add_development_dependency 'capybara', '~> 2.3.0'
|
35
36
|
spec.add_development_dependency 'poltergeist', '~> 1.5.0'
|
data/lib/geoblacklight/engine.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'blacklight'
|
2
2
|
require 'leaflet-rails'
|
3
|
-
|
4
|
-
require '
|
3
|
+
require 'rails-assets-leaflet-iiif'
|
4
|
+
require 'rails-assets-readmore'
|
5
5
|
require 'font-awesome-rails'
|
6
6
|
require 'rails_config'
|
7
7
|
require 'faraday'
|
@@ -40,7 +40,7 @@ feature 'Index view', js: true do
|
|
40
40
|
scenario 'click on a record area to expand collapse' do
|
41
41
|
within('.documentHeader', match: :first) do
|
42
42
|
expect(page).to_not have_css('.collapse')
|
43
|
-
find('.status-icons').click
|
43
|
+
find('.status-icons').trigger('click')
|
44
44
|
expect(page).to have_css('.collapse', visible: true)
|
45
45
|
end
|
46
46
|
end
|
data/template.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: geoblacklight
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Graves
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2015-01-07 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: blacklight
|
@@ -19,14 +19,14 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - "~>"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 5.
|
22
|
+
version: 5.8.2
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 5.
|
29
|
+
version: 5.8.2
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: leaflet-rails
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -47,14 +47,14 @@ dependencies:
|
|
47
47
|
requirements:
|
48
48
|
- - "~>"
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version: 5.0.
|
50
|
+
version: 5.0.2
|
51
51
|
type: :runtime
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
55
|
- - "~>"
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
version: 5.0.
|
57
|
+
version: 5.0.2
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: font-awesome-rails
|
60
60
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,21 +70,21 @@ dependencies:
|
|
70
70
|
- !ruby/object:Gem::Version
|
71
71
|
version: 4.1.0.0
|
72
72
|
- !ruby/object:Gem::Dependency
|
73
|
-
name:
|
73
|
+
name: rails_config
|
74
74
|
requirement: !ruby/object:Gem::Requirement
|
75
75
|
requirements:
|
76
|
-
- - "
|
76
|
+
- - ">="
|
77
77
|
- !ruby/object:Gem::Version
|
78
|
-
version: 0
|
78
|
+
version: '0'
|
79
79
|
type: :runtime
|
80
80
|
prerelease: false
|
81
81
|
version_requirements: !ruby/object:Gem::Requirement
|
82
82
|
requirements:
|
83
|
-
- - "
|
83
|
+
- - ">="
|
84
84
|
- !ruby/object:Gem::Version
|
85
|
-
version: 0
|
85
|
+
version: '0'
|
86
86
|
- !ruby/object:Gem::Dependency
|
87
|
-
name:
|
87
|
+
name: faraday
|
88
88
|
requirement: !ruby/object:Gem::Requirement
|
89
89
|
requirements:
|
90
90
|
- - ">="
|
@@ -98,7 +98,21 @@ dependencies:
|
|
98
98
|
- !ruby/object:Gem::Version
|
99
99
|
version: '0'
|
100
100
|
- !ruby/object:Gem::Dependency
|
101
|
-
name:
|
101
|
+
name: rails-assets-leaflet-iiif
|
102
|
+
requirement: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - "~>"
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 0.0.3
|
107
|
+
type: :runtime
|
108
|
+
prerelease: false
|
109
|
+
version_requirements: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - "~>"
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: 0.0.3
|
114
|
+
- !ruby/object:Gem::Dependency
|
115
|
+
name: rails-assets-readmore
|
102
116
|
requirement: !ruby/object:Gem::Requirement
|
103
117
|
requirements:
|
104
118
|
- - ">="
|
@@ -159,14 +173,14 @@ dependencies:
|
|
159
173
|
requirements:
|
160
174
|
- - "~>"
|
161
175
|
- !ruby/object:Gem::Version
|
162
|
-
version: 1.
|
176
|
+
version: 1.8.3
|
163
177
|
type: :development
|
164
178
|
prerelease: false
|
165
179
|
version_requirements: !ruby/object:Gem::Requirement
|
166
180
|
requirements:
|
167
181
|
- - "~>"
|
168
182
|
- !ruby/object:Gem::Version
|
169
|
-
version: 1.
|
183
|
+
version: 1.8.3
|
170
184
|
- !ruby/object:Gem::Dependency
|
171
185
|
name: engine_cart
|
172
186
|
requirement: !ruby/object:Gem::Requirement
|
@@ -280,17 +294,17 @@ files:
|
|
280
294
|
- app/assets/javascripts/geoblacklight/viewers/map.js
|
281
295
|
- app/assets/javascripts/geoblacklight/viewers/viewer.js
|
282
296
|
- app/assets/javascripts/geoblacklight/viewers/wms.js
|
283
|
-
- app/assets/stylesheets/geoblacklight/_geoblacklight.
|
284
|
-
- app/assets/stylesheets/geoblacklight/_styles.
|
285
|
-
- app/assets/stylesheets/geoblacklight/application.
|
286
|
-
- app/assets/stylesheets/geoblacklight/modules/geosearch.
|
287
|
-
- app/assets/stylesheets/geoblacklight/modules/home.
|
288
|
-
- app/assets/stylesheets/geoblacklight/modules/icon-customization.
|
289
|
-
- app/assets/stylesheets/geoblacklight/modules/icons.
|
290
|
-
- app/assets/stylesheets/geoblacklight/modules/item.
|
291
|
-
- app/assets/stylesheets/geoblacklight/modules/layer_opacity.
|
292
|
-
- app/assets/stylesheets/geoblacklight/modules/mixins.
|
293
|
-
- app/assets/stylesheets/geoblacklight/modules/results.
|
297
|
+
- app/assets/stylesheets/geoblacklight/_geoblacklight.scss
|
298
|
+
- app/assets/stylesheets/geoblacklight/_styles.scss
|
299
|
+
- app/assets/stylesheets/geoblacklight/application.scss
|
300
|
+
- app/assets/stylesheets/geoblacklight/modules/geosearch.scss
|
301
|
+
- app/assets/stylesheets/geoblacklight/modules/home.scss
|
302
|
+
- app/assets/stylesheets/geoblacklight/modules/icon-customization.scss
|
303
|
+
- app/assets/stylesheets/geoblacklight/modules/icons.scss
|
304
|
+
- app/assets/stylesheets/geoblacklight/modules/item.scss
|
305
|
+
- app/assets/stylesheets/geoblacklight/modules/layer_opacity.scss
|
306
|
+
- app/assets/stylesheets/geoblacklight/modules/mixins.scss
|
307
|
+
- app/assets/stylesheets/geoblacklight/modules/results.scss
|
294
308
|
- app/controllers/download_controller.rb
|
295
309
|
- app/controllers/wms_controller.rb
|
296
310
|
- app/helpers/geoblacklight_helper.rb
|
@@ -301,9 +315,10 @@ files:
|
|
301
315
|
- app/views/catalog/_home_text.html.erb
|
302
316
|
- app/views/catalog/_icon_facet.html.erb
|
303
317
|
- app/views/catalog/_index_split_default.html.erb
|
318
|
+
- app/views/catalog/_search_form_no_navbar.html.erb
|
304
319
|
- app/views/catalog/_show_default.html.erb
|
305
320
|
- app/views/catalog/_show_header_default.html.erb
|
306
|
-
- app/views/catalog/
|
321
|
+
- app/views/catalog/_show_tools.html.erb
|
307
322
|
- app/views/catalog/_upper_metadata.html.erb
|
308
323
|
- app/views/catalog/index.html.erb
|
309
324
|
- app/views/download/hgl.html.erb
|
@@ -378,9 +393,7 @@ files:
|
|
378
393
|
- spec/views/catalog/_document_split.html.erb_spec.rb
|
379
394
|
- spec/views/catalog/_index_split.html.erb_spec.rb
|
380
395
|
- template.rb
|
381
|
-
- vendor/assets/javascripts/leaflet-iiif.js
|
382
396
|
- vendor/assets/javascripts/native.history.js
|
383
|
-
- vendor/assets/javascripts/readmore.min.js
|
384
397
|
homepage: http://github.com/geoblacklight/geoblacklight
|
385
398
|
licenses:
|
386
399
|
- Apache 2.0
|
@@ -1,63 +0,0 @@
|
|
1
|
-
<% document ||= @document %>
|
2
|
-
|
3
|
-
<div id='geoblacklight-tools'>
|
4
|
-
<div class="panel panel-default show-tools">
|
5
|
-
<div class="panel-heading">
|
6
|
-
Tools
|
7
|
-
</div>
|
8
|
-
<div class="panel-body">
|
9
|
-
<ul class="list-group">
|
10
|
-
<%= render_show_doc_actions @document, wrapping_class: 'list-group-item' %>
|
11
|
-
<% if @document.respond_to?( :to_email_text ) %>
|
12
|
-
<%= link_to email_helper, email_catalog_path(:id => @document), {:id => 'emailLink', :data => {:ajax_modal => "trigger"}, :class => 'list-group-item'} %>
|
13
|
-
<%- end -%>
|
14
|
-
<%- if @document.respond_to?( :to_sms_text ) -%>
|
15
|
-
<%= link_to sms_helper, sms_catalog_path(:id => @document), {:id => 'smsLink', :data => {:ajax_modal => "trigger"}, :class => 'list-group-item'} %>
|
16
|
-
<%- end -%>
|
17
|
-
</ul>
|
18
|
-
<% if document_downloadable? %>
|
19
|
-
<div class='btn-group' itemprop='distribution' itemscope='itemscope' itemtype='http://schema.org/DataDownload'>
|
20
|
-
<% if document.direct_download.present? %>
|
21
|
-
<%= link_to(download_text(@document[:dc_format_s]), document.direct_download[:download], class: 'btn btn-default', 'contentUrl' => document.direct_download[:download], data: { download: 'trigger', download_type: 'direct', download_id: document[:layer_slug_s] }) %>
|
22
|
-
<% elsif document.hgl_download.present? %>
|
23
|
-
<%= link_to(download_text(document.download_types.first[0]),
|
24
|
-
download_hgl_path(id: document), data: {ajax_modal: 'trigger', download: 'trigger', download_type: 'harvard-hgl', download_id: document[:layer_slug_s] },
|
25
|
-
class: 'btn btn-default') %>
|
26
|
-
<% else %>
|
27
|
-
<%= link_to(download_text(document.download_types.first[0]), '', data: { download_path: "#{download_path(document[:layer_slug_s], type: document.download_types.first[0])}", download: 'trigger', download_type: document.download_types.first[0], download_id: document[:layer_slug_s] }, class: 'btn btn-default') %>
|
28
|
-
<% end %>
|
29
|
-
<button type='button' class='btn btn-default dropdown-toggle download-dropdown-toggle' data-toggle='dropdown' aria-expanded='false'>
|
30
|
-
<span class='caret'></span>
|
31
|
-
<span class='sr-only'>Toggle Download Dropdown</span>
|
32
|
-
</button>
|
33
|
-
<ul class='dropdown-menu' role='menu'>
|
34
|
-
<% if document.hgl_download.present? %>
|
35
|
-
<li role="presentation" class="dropdown-header">Original</li>
|
36
|
-
<li>
|
37
|
-
<%= link_to(download_text(document.download_types.first[0]),
|
38
|
-
download_hgl_path(id: document), data: {ajax_modal: 'trigger', download: 'trigger', download_type: 'harvard-hgl', download_id: document[:layer_slug_s] }) %>
|
39
|
-
</li>
|
40
|
-
<% else %>
|
41
|
-
<% if document.direct_download.present? %>
|
42
|
-
<li role="presentation" class="dropdown-header">Original</li>
|
43
|
-
<li>
|
44
|
-
<%= link_to(download_text(@document[:dc_format_s]), document.direct_download[:download], 'contentUrl' => document.direct_download[:download], data: { download: 'trigger', download_type: 'direct', download_id: document[:layer_slug_s] }) %>
|
45
|
-
</li>
|
46
|
-
<% end %>
|
47
|
-
<% if document.download_types.present? %>
|
48
|
-
<li role="presentation" class="dropdown-header">Generated</li>
|
49
|
-
<% document.download_types.each do |type| %>
|
50
|
-
<%= content_tag(:li) do %>
|
51
|
-
<% link_to(download_text(type[0]), '', data: { download_path: "#{download_path(document[:layer_slug_s], type: type[0])}", download: 'trigger', download_type: type[0], download_id: document[:layer_slug_s] }) %>
|
52
|
-
<% end %>
|
53
|
-
<% end %>
|
54
|
-
<% end %>
|
55
|
-
<% end %>
|
56
|
-
</ul>
|
57
|
-
</div>
|
58
|
-
<% elsif document.restricted? && document.same_institution? %>
|
59
|
-
<%= link_to t('geoblacklight.tools.login_to_view'), new_user_session_path(referrer: request.original_url) %>
|
60
|
-
<% end %>
|
61
|
-
</div>
|
62
|
-
</div>
|
63
|
-
</div>
|
@@ -1,152 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Leaflet-IIIF 0.0.2
|
3
|
-
* IIIF Viewer for Leaflet
|
4
|
-
* by Jack Reed, @mejackreed
|
5
|
-
*/
|
6
|
-
|
7
|
-
L.TileLayer.Iiif = L.TileLayer.extend({
|
8
|
-
options: {
|
9
|
-
continuousWorld: true,
|
10
|
-
tileSize: 256,
|
11
|
-
updateWhenIdle: true
|
12
|
-
},
|
13
|
-
|
14
|
-
initialize: function(url, options) {
|
15
|
-
options = L.setOptions(this, options);
|
16
|
-
this._infoDeferred = new $.Deferred();
|
17
|
-
this._infoUrl = url;
|
18
|
-
this._baseUrl = this._templateUrl();
|
19
|
-
this._getInfo();
|
20
|
-
},
|
21
|
-
getTileUrl: function(coords) {
|
22
|
-
var _this = this,
|
23
|
-
x = coords.x,
|
24
|
-
y = (coords.y),
|
25
|
-
zoom = _this._map.getZoom(),
|
26
|
-
scale = Math.pow(2, _this.maxZoom - zoom),
|
27
|
-
tileBaseSize = _this.options.tileSize * scale,
|
28
|
-
minx = (x * tileBaseSize),
|
29
|
-
miny = (y * tileBaseSize),
|
30
|
-
maxx = Math.min(minx + tileBaseSize, _this.x),
|
31
|
-
maxy = Math.min(miny + tileBaseSize, _this.y);
|
32
|
-
|
33
|
-
return L.Util.template(this._baseUrl, L.extend({
|
34
|
-
format: 'jpg',
|
35
|
-
quality: _this.quality,
|
36
|
-
region: [minx, miny, (maxx - minx), (maxy - miny)].join(','),
|
37
|
-
rotation: 0,
|
38
|
-
size: 'pct:' + (100 / scale)
|
39
|
-
}, this.options));
|
40
|
-
},
|
41
|
-
onAdd: function(map) {
|
42
|
-
var _this = this;
|
43
|
-
|
44
|
-
// Wait for deferred to complete
|
45
|
-
$.when(_this._infoDeferred).done(function() {
|
46
|
-
|
47
|
-
// Try to center the map a bit
|
48
|
-
map.setView([-_this.options.tileSize / 2, _this.options.tileSize / 4], 1);
|
49
|
-
|
50
|
-
// Set maxZoom for map
|
51
|
-
map._layersMaxZoom = _this.maxZoom;
|
52
|
-
|
53
|
-
// Call add TileLayer
|
54
|
-
L.TileLayer.prototype.onAdd.call(_this, map);
|
55
|
-
|
56
|
-
// Reset tile sizes to handle non 256x256 IIIF tiles
|
57
|
-
_this.on('tileload', function(tile, url) {
|
58
|
-
|
59
|
-
var height = tile.tile.naturalHeight,
|
60
|
-
width = tile.tile.naturalWidth;
|
61
|
-
|
62
|
-
// No need to resize if tile is 256 x 256
|
63
|
-
if (height === 256 && width === 256) return;
|
64
|
-
|
65
|
-
tile.tile.style.width = width + 'px';
|
66
|
-
tile.tile.style.height = height + 'px';
|
67
|
-
|
68
|
-
});
|
69
|
-
});
|
70
|
-
},
|
71
|
-
_getInfo: function() {
|
72
|
-
var _this = this;
|
73
|
-
|
74
|
-
// Look for a way to do this without jQuery
|
75
|
-
$.getJSON(_this._infoUrl)
|
76
|
-
.done(function(data) {
|
77
|
-
_this.y = data.height;
|
78
|
-
_this.x = data.width;
|
79
|
-
|
80
|
-
var profile,
|
81
|
-
tierSizes = [],
|
82
|
-
scale,
|
83
|
-
width_,
|
84
|
-
height_,
|
85
|
-
tilesX_,
|
86
|
-
tilesY_;
|
87
|
-
|
88
|
-
// Set quality based off of IIIF version
|
89
|
-
if (data.profile instanceof Array) {
|
90
|
-
profile = data.profile[0];
|
91
|
-
}else {
|
92
|
-
profile = data.profile;
|
93
|
-
}
|
94
|
-
switch (profile) {
|
95
|
-
case 'http://library.stanford.edu/iiif/image-api/compliance.html#level1':
|
96
|
-
_this.quality = 100;
|
97
|
-
break;
|
98
|
-
case 'http://library.stanford.edu/iiif/image-api/1.1/compliance.html':
|
99
|
-
_this.quality = 'native';
|
100
|
-
break;
|
101
|
-
case 'http://iiif.io/api/image/2/level2.json':
|
102
|
-
_this.quality = 'default';
|
103
|
-
break;
|
104
|
-
}
|
105
|
-
|
106
|
-
ceilLog2 = function(x) {
|
107
|
-
return Math.ceil(Math.log(x) / Math.LN2);
|
108
|
-
};
|
109
|
-
|
110
|
-
// Calculates maxZoom for the layer
|
111
|
-
_this.maxZoom = Math.max(ceilLog2(_this.x / _this.options.tileSize),
|
112
|
-
ceilLog2(_this.y / _this.options.tileSize));
|
113
|
-
|
114
|
-
for (var i = 0; i <= _this.maxZoom; i++) {
|
115
|
-
scale = Math.pow(2, _this.maxZoom - i);
|
116
|
-
width_ = Math.ceil(_this.x / scale);
|
117
|
-
height_ = Math.ceil(_this.y / scale);
|
118
|
-
tilesX_ = Math.ceil(width_ / _this.options.tileSize);
|
119
|
-
tilesY_ = Math.ceil(height_ / _this.options.tileSize);
|
120
|
-
tierSizes.push([tilesX_, tilesY_]);
|
121
|
-
}
|
122
|
-
_this._tierSizes = tierSizes;
|
123
|
-
|
124
|
-
// Resolved Deferred to initiate tilelayer load
|
125
|
-
_this._infoDeferred.resolve();
|
126
|
-
});
|
127
|
-
},
|
128
|
-
_infoToBaseUrl: function() {
|
129
|
-
return this._infoUrl.replace('info.json', '');
|
130
|
-
},
|
131
|
-
_templateUrl: function() {
|
132
|
-
return this._infoToBaseUrl() + '{region}/{size}/{rotation}/{quality}.{format}';
|
133
|
-
},
|
134
|
-
_tileShouldBeLoaded: function(coords) {
|
135
|
-
var _this = this,
|
136
|
-
zoom = _this._map.getZoom(),
|
137
|
-
sizes = _this._tierSizes[zoom],
|
138
|
-
x = coords.x,
|
139
|
-
y = (coords.y);
|
140
|
-
|
141
|
-
if (!sizes) return false;
|
142
|
-
if (x < 0 || sizes[0] <= x || y < 0 || sizes[1] <= y) {
|
143
|
-
return false;
|
144
|
-
}else {
|
145
|
-
return true;
|
146
|
-
}
|
147
|
-
}
|
148
|
-
});
|
149
|
-
|
150
|
-
L.tileLayer.iiif = function(url, options) {
|
151
|
-
return new L.TileLayer.Iiif(url, options);
|
152
|
-
};
|
@@ -1,7 +0,0 @@
|
|
1
|
-
(function(c){function g(b,a){this.element=b;this.options=c.extend({},h,a);c(this.element).data("max-height",this.options.maxHeight);c(this.element).data("height-margin",this.options.heightMargin);delete this.options.maxHeight;if(this.options.embedCSS&&!k){var d=".readmore-js-toggle, .readmore-js-section { "+this.options.sectionCSS+" } .readmore-js-section { overflow: hidden; }",e=document.createElement("style");e.type="text/css";e.styleSheet?e.styleSheet.cssText=d:e.appendChild(document.createTextNode(d));
|
2
|
-
document.getElementsByTagName("head")[0].appendChild(e);k=!0}this._defaults=h;this._name=f;this.init()}var f="readmore",h={speed:100,maxHeight:200,heightMargin:16,moreLink:'<a href="#">Read More</a>',lessLink:'<a href="#">Close</a>',embedCSS:!0,sectionCSS:"display: block; width: 100%;",startOpen:!1,expandedClass:"readmore-js-expanded",collapsedClass:"readmore-js-collapsed",beforeToggle:function(){},afterToggle:function(){}},k=!1;g.prototype={init:function(){var b=this;c(this.element).each(function(){var a=
|
3
|
-
c(this),d=a.css("max-height").replace(/[^-\d\.]/g,"")>a.data("max-height")?a.css("max-height").replace(/[^-\d\.]/g,""):a.data("max-height"),e=a.data("height-margin");"none"!=a.css("max-height")&&a.css("max-height","none");b.setBoxHeight(a);if(a.outerHeight(!0)<=d+e)return!0;a.addClass("readmore-js-section "+b.options.collapsedClass).data("collapsedHeight",d);a.after(c(b.options.startOpen?b.options.lessLink:b.options.moreLink).on("click",function(c){b.toggleSlider(this,a,c)}).addClass("readmore-js-toggle"));
|
4
|
-
b.options.startOpen||a.css({height:d})});c(window).on("resize",function(a){b.resizeBoxes()})},toggleSlider:function(b,a,d){d.preventDefault();var e=this;d=newLink=sectionClass="";var f=!1;d=c(a).data("collapsedHeight");c(a).height()<=d?(d=c(a).data("expandedHeight")+"px",newLink="lessLink",f=!0,sectionClass=e.options.expandedClass):(newLink="moreLink",sectionClass=e.options.collapsedClass);e.options.beforeToggle(b,a,f);c(a).animate({height:d},{duration:e.options.speed,complete:function(){e.options.afterToggle(b,
|
5
|
-
a,f);c(b).replaceWith(c(e.options[newLink]).on("click",function(b){e.toggleSlider(this,a,b)}).addClass("readmore-js-toggle"));c(this).removeClass(e.options.collapsedClass+" "+e.options.expandedClass).addClass(sectionClass)}})},setBoxHeight:function(b){var a=b.clone().css({height:"auto",width:b.width(),overflow:"hidden"}).insertAfter(b),c=a.outerHeight(!0);a.remove();b.data("expandedHeight",c)},resizeBoxes:function(){var b=this;c(".readmore-js-section").each(function(){var a=c(this);b.setBoxHeight(a);
|
6
|
-
(a.height()>a.data("expandedHeight")||a.hasClass(b.options.expandedClass)&&a.height()<a.data("expandedHeight"))&&a.css("height",a.data("expandedHeight"))})},destroy:function(){var b=this;c(this.element).each(function(){var a=c(this);a.removeClass("readmore-js-section "+b.options.collapsedClass+" "+b.options.expandedClass).css({"max-height":"",height:"auto"}).next(".readmore-js-toggle").remove();a.removeData()})}};c.fn[f]=function(b){var a=arguments;if(void 0===b||"object"===typeof b)return this.each(function(){if(c.data(this,
|
7
|
-
"plugin_"+f)){var a=c.data(this,"plugin_"+f);a.destroy.apply(a)}c.data(this,"plugin_"+f,new g(this,b))});if("string"===typeof b&&"_"!==b[0]&&"init"!==b)return this.each(function(){var d=c.data(this,"plugin_"+f);d instanceof g&&"function"===typeof d[b]&&d[b].apply(d,Array.prototype.slice.call(a,1))})}})(jQuery);
|