geoblacklight 2.1.2 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +6 -0
  3. data/.gitignore +3 -1
  4. data/.rubocop.yml +3 -1
  5. data/.rubocop_todo.yml +7 -15
  6. data/README.md +5 -6
  7. data/app/assets/images/blacklight/arrow-circle-down.svg +4 -0
  8. data/app/assets/images/blacklight/baruch-cuny.svg +6 -0
  9. data/app/assets/images/blacklight/berkeley.svg +7 -0
  10. data/app/assets/images/blacklight/book.svg +6 -0
  11. data/app/assets/images/blacklight/bookmark.svg +6 -0
  12. data/app/assets/images/blacklight/cd-rom.svg +6 -0
  13. data/app/assets/images/blacklight/chicago.svg +7 -0
  14. data/app/assets/images/blacklight/columbia.svg +6 -0
  15. data/app/assets/images/blacklight/cornell.svg +8 -0
  16. data/app/assets/images/blacklight/dvd-rom.svg +6 -0
  17. data/app/assets/images/blacklight/email.svg +6 -0
  18. data/app/assets/images/blacklight/esri-globe.svg +34 -37
  19. data/app/assets/images/blacklight/geoblacklight-icons.json +2079 -0
  20. data/app/assets/images/blacklight/globe.svg +4 -0
  21. data/app/assets/images/blacklight/harvard.svg +6 -0
  22. data/app/assets/images/blacklight/home.svg +4 -0
  23. data/app/assets/images/blacklight/illinois.svg +7 -0
  24. data/app/assets/images/blacklight/image.svg +6 -0
  25. data/app/assets/images/blacklight/indiana.svg +6 -0
  26. data/app/assets/images/blacklight/iowa.svg +6 -0
  27. data/app/assets/images/blacklight/leaf.svg +6 -0
  28. data/app/assets/images/blacklight/lewis-clark.svg +8 -0
  29. data/app/assets/images/blacklight/line.svg +7 -0
  30. data/app/assets/images/blacklight/logo.svg +1 -0
  31. data/app/assets/images/blacklight/map-marker.svg +6 -0
  32. data/app/assets/images/blacklight/map.svg +6 -0
  33. data/app/assets/images/blacklight/maryland.svg +6 -0
  34. data/app/assets/images/blacklight/massgis.svg +6 -0
  35. data/app/assets/images/blacklight/metadata.svg +6 -0
  36. data/app/assets/images/blacklight/michigan-state.svg +7 -0
  37. data/app/assets/images/blacklight/michigan.svg +6 -0
  38. data/app/assets/images/blacklight/minnesota.svg +6 -0
  39. data/app/assets/images/blacklight/mit.svg +6 -0
  40. data/app/assets/images/blacklight/mixed.svg +8 -0
  41. data/app/assets/images/blacklight/multilinestring.svg +9 -0
  42. data/app/assets/images/blacklight/multipoint.svg +6 -0
  43. data/app/assets/images/blacklight/multipolygon.svg +9 -0
  44. data/app/assets/images/blacklight/nyu.svg +9 -0
  45. data/app/assets/images/blacklight/ohio-state.svg +8 -0
  46. data/app/assets/images/blacklight/pagelines-brands.svg +6 -0
  47. data/app/assets/images/blacklight/paper-map.svg +6 -0
  48. data/app/assets/images/blacklight/penn-state.svg +7 -0
  49. data/app/assets/images/blacklight/point.svg +6 -0
  50. data/app/assets/images/blacklight/polygon.svg +7 -0
  51. data/app/assets/images/blacklight/polyline.svg +9 -0
  52. data/app/assets/images/blacklight/princeton.svg +6 -0
  53. data/app/assets/images/blacklight/public.svg +6 -0
  54. data/app/assets/images/blacklight/purdue.svg +7 -0
  55. data/app/assets/images/blacklight/raster.svg +6 -0
  56. data/app/assets/images/blacklight/restricted.svg +6 -0
  57. data/app/assets/images/blacklight/sms.svg +6 -0
  58. data/app/assets/images/blacklight/stanford.svg +6 -0
  59. data/app/assets/images/blacklight/table.svg +6 -0
  60. data/app/assets/images/blacklight/tags.svg +4 -0
  61. data/app/assets/images/blacklight/texas.svg +6 -0
  62. data/app/assets/images/blacklight/tufts.svg +6 -0
  63. data/app/assets/images/blacklight/ucla.svg +6 -0
  64. data/app/assets/images/blacklight/uva.svg +6 -0
  65. data/app/assets/images/blacklight/web_services.svg +6 -0
  66. data/app/assets/images/blacklight/wisconsin.svg +6 -0
  67. data/app/assets/javascripts/geoblacklight/modules/help_text.js +7 -0
  68. data/app/assets/javascripts/geoblacklight/modules/item.js +1 -3
  69. data/app/assets/javascripts/geoblacklight/viewers/oembed.js +13 -0
  70. data/app/assets/stylesheets/geoblacklight/_blacklight_overrides.scss +9 -1
  71. data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +49 -59
  72. data/app/assets/stylesheets/geoblacklight/modules/item.scss +4 -0
  73. data/app/assets/stylesheets/geoblacklight/modules/results.scss +22 -0
  74. data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +4 -0
  75. data/app/helpers/geoblacklight_helper.rb +91 -5
  76. data/app/models/concerns/geoblacklight/solr_document.rb +4 -0
  77. data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +5 -0
  78. data/app/views/catalog/_data_dictionary.html.erb +3 -2
  79. data/app/views/catalog/_document_action.html.erb +1 -1
  80. data/app/views/catalog/_exports.html.erb +2 -10
  81. data/app/views/catalog/_home_text.html.erb +4 -4
  82. data/app/views/catalog/_show_default_viewer_container.html.erb +5 -0
  83. data/app/views/catalog/_show_header_default.html.erb +2 -4
  84. data/app/views/relation/_ancestors.html.erb +2 -1
  85. data/app/views/relation/_descendants.html.erb +2 -1
  86. data/app/views/shared/_header_navbar.html.erb +2 -0
  87. data/config/locales/geoblacklight.en.yml +88 -0
  88. data/geoblacklight.gemspec +1 -0
  89. data/lib/generators/geoblacklight/templates/geoblacklight.js +1 -1
  90. data/lib/generators/geoblacklight/templates/settings.yml +19 -0
  91. data/lib/geoblacklight/constants.rb +3 -2
  92. data/lib/geoblacklight/item_viewer.rb +5 -1
  93. data/lib/geoblacklight/metadata/base.rb +15 -10
  94. data/lib/geoblacklight/reference.rb +2 -1
  95. data/lib/geoblacklight/version.rb +1 -1
  96. data/package.json +4 -0
  97. data/schema/references.md +2 -1
  98. data/spec/features/exports_spec.rb +9 -0
  99. data/spec/features/help_text_spec.rb +8 -0
  100. data/spec/features/metadata_panel_spec.rb +51 -8
  101. data/spec/features/oembed_spec.rb +9 -0
  102. data/spec/features/search_results_map_spec.rb +1 -1
  103. data/spec/features/split_view.html.erb_spec.rb +1 -1
  104. data/spec/features/suppressed_records_spec.rb +14 -0
  105. data/spec/fixtures/fgdc/harvard-g7064-s2-1834-k3.xml +1 -0
  106. data/spec/fixtures/iso19139/stanford-cg357zz0321.xml +581 -0
  107. data/spec/fixtures/mods/fb897vt9938.mods +111 -0
  108. data/spec/fixtures/mods/stanford-cg357zz0321.mods +113 -0
  109. data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +1 -1
  110. data/spec/fixtures/solr_documents/oembed.json +24 -0
  111. data/spec/helpers/geoblacklight_helper_spec.rb +30 -7
  112. data/spec/javascripts/geoblacklight_spec.js +4 -0
  113. data/spec/javascripts/metadata_download_button_spec.js +1 -1
  114. data/spec/lib/geoblacklight/metadata/base_spec.rb +18 -4
  115. data/spec/lib/geoblacklight/reference_spec.rb +30 -0
  116. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +20 -0
  117. data/spec/spec_helper.rb +8 -5
  118. data/vendor/assets/javascripts/readmore.js +618 -0
  119. data/vendor/assets/javascripts/readmore.js.map +1 -0
  120. metadata +96 -3
  121. data/vendor/assets/javascripts/readmore.min.js +0 -11
@@ -1,60 +1,50 @@
1
- // Additional customizations beyond generated FontCustom styles
2
-
3
- .geoblacklight-icon {
4
- color: $gray-600;
5
- font-size: 1.2em;
6
- }
7
-
8
- .geoblacklight-stanford {
9
- color: #8c1515;
10
- }
11
-
12
- .geoblacklight-public {
13
- @extend .fa, .fa-unlock, .text-muted;
14
- }
15
-
16
- .geoblacklight-restricted {
17
- @extend .fa, .fa-lock, .text-muted;
18
- width: 17px;
19
- }
20
-
21
- .geoblacklight-citation {
22
- @extend .fa, .fa-bookmark;
23
- }
24
-
25
- .geoblacklight-data-dictionary {
26
- @extend .fa, .fa-book;
27
- }
28
-
29
- .geoblacklight-sms {
30
- @extend .fa, .fa-mobile;
31
- }
32
-
33
- .geoblacklight-email {
34
- @extend .fa, .fa-envelope;
35
- }
36
-
37
- .geoblacklight-relations-ancestor {
38
- @extend .fa, .fa-pagelines;
39
- }
40
-
41
- .geoblacklight-relations-descendant {
42
- @extend .fa, .fa-leaf;
43
- }
44
-
45
- .geoblacklight-web_services {
46
- @extend .fa, .fa-external-link;
47
- }
48
-
49
- .geoblacklight-metadata {
50
- @extend .fa, .fa-file-text-o;
51
- }
52
-
53
- .geoblacklight-carto {
54
- @extend .fa, .fa-map-marker;
55
- }
56
-
57
- // DEPRECATED: Will be removed in GeoBlacklight v2.0
58
- .geoblacklight-cartodb {
59
- @extend .geoblacklight-cartodb;
1
+ // SVG icons via FontAwesome and IcoMoon, see geoblacklight-icons.json for project data
2
+
3
+ span.icon-missing {
4
+ display: inline-block;
5
+ height: 1em;
6
+ width: 1em;
7
+ }
8
+
9
+ // CatalogController#index - Home
10
+ .category-icon {
11
+ .blacklight-icons {
12
+ height: 6rem;
13
+ width: auto;
14
+ }
15
+
16
+ .blacklight-icons svg {
17
+ width: 100%;
18
+ height: 100%;
19
+ top: 2rem;
20
+ }
21
+ }
22
+
23
+ // CatalogController#show
24
+ .document {
25
+ h2 {
26
+ .blacklight-icons {
27
+ height: 1.5rem;
28
+ width: auto;
29
+ }
30
+
31
+ .blacklight-icons svg {
32
+ width: auto;
33
+ height: 100%;
34
+ }
35
+ }
36
+ }
37
+
38
+ // CatalogController#index - search results
39
+ .facet-label {
40
+ .blacklight-icons, span.icon-missing {
41
+ margin-right:0.5em;
42
+ }
43
+ }
44
+
45
+ .blacklight-icons {
46
+ svg * {
47
+ width: 100%;
48
+ height: 100%;
49
+ }
60
50
  }
@@ -19,4 +19,8 @@
19
19
  }
20
20
  }
21
21
  }
22
+
23
+ .help-text {
24
+ cursor: pointer;
25
+ }
22
26
  }
@@ -44,3 +44,25 @@
44
44
  @extend .fa, .fa-caret-down;
45
45
  }
46
46
  }
47
+
48
+ #main-container {
49
+ .category-block {
50
+ min-height: 240px;
51
+
52
+ .category-icon {
53
+ font-size: 6em;
54
+ }
55
+ }
56
+
57
+ [data-map="index"] {
58
+ height: 400px;
59
+
60
+ .leaflet-control-container {
61
+ .search-control {
62
+ a {
63
+ color: $white;
64
+ }
65
+ }
66
+ }
67
+ }
68
+ }
@@ -3,6 +3,10 @@
3
3
 
4
4
  .list-group {
5
5
 
6
+ .list-group-item.exports {
7
+ margin-top:0px;
8
+ }
9
+
6
10
  .list-group-item {
7
11
 
8
12
  form {
@@ -81,12 +81,58 @@ module GeoblacklightHelper
81
81
  layout: 'facet_tag_layout')
82
82
  end
83
83
 
84
+ ##
85
+ # Returns an SVG icon or empty HTML span element
86
+ # @return [SVG or HTML tag]
84
87
  def geoblacklight_icon(name)
85
- icon_name = name ? name.parameterize : 'none'
86
- content_tag :span,
87
- '',
88
- class: "geoblacklight-icon geoblacklight-#{icon_name}",
89
- title: name
88
+ icon_name = name ? name.to_s.parameterize : 'none'
89
+ if asset_exists?(icon_name)
90
+ queue_icon_aria_label(icon_name)
91
+ blacklight_icon(icon_name)
92
+ else
93
+ render_empty_span('icon-missing geoblacklight-none')
94
+ end
95
+ end
96
+
97
+ ##
98
+ # Checks if an asset file exists
99
+ # @return [Boolean]
100
+ def asset_exists?(path)
101
+ Rails.application.assets.resolve("blacklight/#{path}").present?
102
+ end
103
+
104
+ ##
105
+ # Render an empty span
106
+ # @return [HTML tag]
107
+ def render_empty_span(classname)
108
+ tag.span class: classname
109
+ end
110
+
111
+ ##
112
+ # Capture SVG icon aria labels to describe
113
+ def queue_icon_aria_label(feature_name)
114
+ @aria_labels ||= Set.new
115
+ @aria_labels << feature_name
116
+ end
117
+
118
+ ##
119
+ # Render a div of divs describing aria-labelledby values
120
+ # @return [HTML tag]
121
+ def render_aria_labels(aria_labels)
122
+ return unless aria_labels
123
+ content_tag :div, id: 'aria-labels', class: 'sr-only sr-only-focusable' do
124
+ aria_labels.each do |label|
125
+ concat(render_aria_label(label))
126
+ end
127
+ end
128
+ end
129
+
130
+ # Render a div describing a aria-labelledby value
131
+ # @return [HTML tag]
132
+ def render_aria_label(label)
133
+ content_tag :div, id: "aria-label-#{label}" do
134
+ I18n.t("geoblacklight.aria-labels.#{label}")
135
+ end
90
136
  end
91
137
 
92
138
  ##
@@ -139,6 +185,29 @@ module GeoblacklightHelper
139
185
  value.html_safe
140
186
  end
141
187
 
188
+ ##
189
+ # Deteremines if a feature should include help text popover
190
+ # @return [Boolean]
191
+ def show_help_text?(feature, key)
192
+ Settings&.HELP_TEXT&.send(feature)&.include?(key)
193
+ end
194
+
195
+ ##
196
+ # Render help text popover for a given feature and translation key
197
+ # @return [HTML tag]
198
+ def render_help_text_entry(feature, key)
199
+ if I18n.exists?("geoblacklight.help_text.#{feature}.#{key}", locale)
200
+ help_text = I18n.t("geoblacklight.help_text.#{feature}.#{key}")
201
+ content_tag :h3, class: 'help-text viewer_protocol h6' do
202
+ content_tag :a, 'data': { toggle: 'popover', title: help_text[:title], content: help_text[:content] } do
203
+ help_text[:title]
204
+ end
205
+ end
206
+ else
207
+ tag.span class: 'help-text translation-missing'
208
+ end
209
+ end
210
+
142
211
  ##
143
212
  # Deteremines if item view should include attribute table
144
213
  # @return [Boolean]
@@ -164,6 +233,23 @@ module GeoblacklightHelper
164
233
  blacklight_config.basemap_provider || 'positron'
165
234
  end
166
235
 
236
+ def display_carto
237
+ return link_to(
238
+ content_tag(:span, '', class: 'geoblacklight geoblacklight-carto') +
239
+ t('geoblacklight.tools.open_carto'),
240
+ carto_link(@document.carto_reference),
241
+ target: '_blank'
242
+ ) if @document.carto_reference.present? && !Settings.CARTO_HIDE
243
+ end
244
+
245
+ def display_arcgis
246
+ return link_to(
247
+ blacklight_icon('esri-globe') + ' ' +
248
+ t('geoblacklight.tools.open_arcgis'),
249
+ arcgis_link(@document.arcgis_urls)
250
+ ) if @document.arcgis_urls.present? && !Settings.ARCGIS_HIDE
251
+ end
252
+
167
253
  ##
168
254
  # Creates a Carto OneClick link link, using the configuration link
169
255
  # @param [String] file_link
@@ -40,6 +40,10 @@ module Geoblacklight
40
40
  references.hgl.to_hash unless references.hgl.blank?
41
41
  end
42
42
 
43
+ def oembed
44
+ references.oembed.endpoint unless references.oembed.blank?
45
+ end
46
+
43
47
  def same_institution?
44
48
  fetch(Settings.FIELDS.PROVENANCE).casecmp(Settings.INSTITUTION.downcase).zero?
45
49
  end
@@ -57,6 +57,11 @@ module Geoblacklight
57
57
  def hide_suppressed_records(solr_params)
58
58
  # Show child records if searching for a specific source parent
59
59
  return unless blacklight_params.fetch(:f, {})[Settings.FIELDS.SOURCE.to_sym].nil?
60
+
61
+ # Do not suppress action_documents method calls for individual documents
62
+ # ex. CatalogController#web_services (exportable views)
63
+ return if solr_params[:q]&.include?('{!lucene}layer_slug_s:')
64
+
60
65
  solr_params[:fq] ||= []
61
66
  solr_params[:fq] << '-suppressed_b: true'
62
67
  end
@@ -1,5 +1,6 @@
1
1
  <% if document.data_dictionary_download.present? %>
2
2
  <%= link_to document.data_dictionary_download[:data_dictionary] do %>
3
- <span class='geoblacklight geoblacklight-data-dictionary'></span><%= t('geoblacklight.references.data_dictionary') %>
3
+ <%= geoblacklight_icon('book') %>
4
+ <%= t('geoblacklight.references.data_dictionary') %>
4
5
  <% end %>
5
- <% end %>
6
+ <% end %>
@@ -1,6 +1,6 @@
1
1
  <%= link_to document_action_path(document_action_config, (local_assigns.has_key?(:url_opts) ? url_opts : {}).merge(({id: document} if document) || {})),
2
2
  id: document_action_config.fetch(:id, "#{document_action_config.key}Link"),
3
3
  data: {}.merge(({blacklight_modal: "trigger"} if document_action_config.modal != false) || {}) do %>
4
- <%= content_tag :span, '', class: "geoblacklight geoblacklight-#{document_action_config.key}" %>
4
+ <%= geoblacklight_icon(document_action_config.key) %>
5
5
  <%= document_action_label(document_action_config.key, document_action_config) %>
6
6
  <% end %>
@@ -1,11 +1,3 @@
1
1
  <% document ||= @document %>
2
- <% if document.carto_reference.present? %>
3
- <%= link_to(carto_link(document.carto_reference), target: '_blank') do %>
4
- <span class='geoblacklight geoblacklight-carto'></span><%= t('geoblacklight.tools.open_carto') %>
5
- <% end %>
6
- <% end %>
7
- <% if document.arcgis_urls.present? %>
8
- <%= link_to(arcgis_link(document.arcgis_urls)) do %>
9
- <%= blacklight_icon('esri-globe') %> <%= t('geoblacklight.tools.open_arcgis') %>
10
- <% end %>
11
- <% end %>
2
+ <%= display_carto %>
3
+ <%= display_arcgis %>
@@ -5,14 +5,14 @@
5
5
  <div class='row'>
6
6
  <div class='category-block col-sm'>
7
7
  <div class='category-icon'>
8
- <span class='fa fa-home'></span>
8
+ <%= geoblacklight_icon('home') %>
9
9
  </div>
10
10
  <%= content_tag :h4, t('geoblacklight.home.institution') %>
11
11
  <%= render_facet_tags [Settings.FIELDS.PROVENANCE] %>
12
12
  </div>
13
13
  <div class='category-block col-sm'>
14
14
  <div class='category-icon'>
15
- <span class='fa fa-arrow-circle-down'></span>
15
+ <%= geoblacklight_icon('arrow-circle-down') %>
16
16
  </div>
17
17
  <%= content_tag :h4, t('geoblacklight.home.data_type') %>
18
18
  <%= render_facet_tags [Settings.FIELDS.GEOM_TYPE] %>
@@ -21,14 +21,14 @@
21
21
  <div class='row'>
22
22
  <div class='category-block col-sm'>
23
23
  <div class='category-icon'>
24
- <span class='fa fa-globe'></span>
24
+ <%= geoblacklight_icon('globe') %>
25
25
  </div>
26
26
  <%= content_tag :h4, t('geoblacklight.home.placename') %>
27
27
  <%= render_facet_tags [Settings.FIELDS.SPATIAL_COVERAGE] %>
28
28
  </div>
29
29
  <div class='category-block col-sm'>
30
30
  <div class='category-icon'>
31
- <span class='fa fa-tags'></span>
31
+ <%= geoblacklight_icon('tags') %>
32
32
  </div>
33
33
  <%= content_tag :h4, t('geoblacklight.home.subject') %>
34
34
  <%= render_facet_tags [Settings.FIELDS.SUBJECT] %>
@@ -1,6 +1,11 @@
1
1
  <% document ||= @document %>
2
2
  <div class='row'>
3
3
  <div id='viewer-container' class="col-md-12">
4
+
5
+ <% if show_help_text?('viewer_protocol', document.viewer_protocol) %>
6
+ <%= render_help_text_entry('viewer_protocol', document.viewer_protocol) %>
7
+ <% end %>
8
+
4
9
  <%= content_tag :div, id: 'map', data: { map: 'item', protocol: document.viewer_protocol.camelize, url: document.viewer_endpoint, 'layer-id' => document.wxs_identifier, 'map-bbox' => document.bounding_box_as_wsen, 'catalog-path'=> search_catalog_path, available: document_available?, inspect: show_attribute_table?, basemap: geoblacklight_basemap, leaflet_options: leaflet_options } do %>
5
10
  <% end %>
6
11
  </div>
@@ -1,6 +1,4 @@
1
1
  <h2>
2
2
  <span itemprop="name"><%= document_heading(document) %></span>
3
- <small>
4
- <%= render partial: 'header_icons', locals: { document: document } %>
5
- </small>
6
- </h2>
3
+ <%= render partial: 'header_icons', locals: { document: document } %>
4
+ </h2>
@@ -4,7 +4,8 @@
4
4
  <% @relations.ancestors['docs'].each do |ancestor| %>
5
5
  <li class="list-group-item">
6
6
  <%= link_to solr_document_path(ancestor['layer_slug_s']) do %>
7
- <span class='geoblacklight geoblacklight-relations-ancestor'></span> <%= ancestor['dc_title_s'] %>
7
+ <%= geoblacklight_icon('pagelines-brands') %>
8
+ <%= ancestor['dc_title_s'] %>
8
9
  <% end %>
9
10
  </li>
10
11
  <% end %>
@@ -4,7 +4,8 @@
4
4
  <% @relations.descendants['docs'][0..2].each do |descendant| %>
5
5
  <li class="list-group-item">
6
6
  <%= link_to solr_document_path(descendant['layer_slug_s']) do %>
7
- <span class='geoblacklight geoblacklight-relations-descendant'></span> <%= descendant['dc_title_s'] %>
7
+ <%= geoblacklight_icon('leaf') %>
8
+ <%= descendant['dc_title_s'] %>
8
9
  <% end %>
9
10
  </li>
10
11
  <% end %>
@@ -1,3 +1,5 @@
1
+ <%= render_aria_labels(@aria_labels) %>
2
+
1
3
  <nav class="navbar navbar-expand-md navbar-dark bg-dark topbar" role="navigation">
2
4
  <div class="<%= container_classes %>">
3
5
  <%= link_to application_name, root_path, class: 'mb-0 navbar-brand' %>
@@ -73,3 +73,91 @@ en:
73
73
  attribute: 'Attribute'
74
74
  value: 'Value'
75
75
  click_map: 'Click on map to inspect values'
76
+ help_text:
77
+ viewer_protocol:
78
+ dynamic_map_layer:
79
+ title: ArcGIS Dynamic Map Layer
80
+ content: An ArcGIS Dynamic Map Layer represents vector data (points, lines, and polygons). Map image layers are dynamically rendered image tiles.
81
+ feature_layer:
82
+ title: ArcGIS Feature Layer
83
+ content: An ArcGIS Feature Layer Service displays vector data (points, lines, and polygons) as individual or collected features.
84
+ iiif:
85
+ title: IIIF Service
86
+ content: The International Image Interoperability Framework (IIIF) web service API displays an image from a server. This image can be panned and zoomed.
87
+ iiif_manifest:
88
+ title: IIIF Service
89
+ content: The International Image Interoperability Framework (IIIF) web service API displays an image from a server. This image can be panned and zoomed.
90
+ image_map_layer:
91
+ title: ArcGIS Image Map Layer
92
+ content: An ArcGIS Image Map Layer displays raster data (a grid of cells used to store imagery).
93
+ index_map:
94
+ title: Index Map
95
+ content: Index maps are a "table of contents" that allow users to select a specific map or item within a larger set and navigate to it for viewing or downloading.
96
+ oembed:
97
+ title: Embedded Content
98
+ content: This content is embedded through a third-party viewer.
99
+ tiled_map_layer:
100
+ title: ArcGIS Tiled Map Layer
101
+ content: An ArcGIS Tiled Map Layer Service displays set of web-accessible tiles that reside on a server.
102
+ wms:
103
+ title: Web Map Service (WMS)
104
+ content: A Web Map Service displays a geospatial dataset as map images.
105
+ aria-labels:
106
+ arrow-circle-down: Arrow within a circle, pointing down (icon)
107
+ baruch-cuny: Baruch College (logo)
108
+ berkeley: University of California, Berkeley (logo)
109
+ book: Book (icon)
110
+ bookmark: Bookmark (icon)
111
+ cd-rom: CD-Rom (icon)
112
+ chicago: The University of Chicago (logo)
113
+ columbia: Columbia University (logo)
114
+ cornell: Cornell University (logo)
115
+ dvd-rom: DVD-Rom (icon)
116
+ email: Email (icon)
117
+ esri-globe: Esri Global (logo)
118
+ globe: Globe (icon)
119
+ harvard: Harvard University (logo)
120
+ home: Home (icon)
121
+ illinois: University of Illinois (logo)
122
+ image: Image (icon)
123
+ indiana: Indiana University (logo)
124
+ iowa: University of Iowa (logo)
125
+ leaf: Leaf (icon)
126
+ lewis-clark: Lewis & Clark (logo)
127
+ line: Line (icon)
128
+ map-marker: Map marker (icon)
129
+ map: Map (icon)
130
+ maryland: University of Maryland (logo)
131
+ massgis: MassGIS (logo)
132
+ metadata: Metadata (icon)
133
+ michigan-state: Michigan State University (logo)
134
+ michigan: University of Michigan (logo)
135
+ minnesota: University of Minnesota (logo)
136
+ mit: Massachusetts Institute of Technology (logo)
137
+ mixed: Mixed (icon)
138
+ multilinestring: Multi-line string (icon)
139
+ multipoint: Multi-point (icon)
140
+ multipolygon: Multi-polygon (icon)
141
+ nyu: New York University (logo)
142
+ ohio-state: The Ohio State University (logo)
143
+ pagelines-brands: Pagelines brands (icon)
144
+ paper-map: Paper map (icon)
145
+ penn-state: Penn State University (logo)
146
+ point: Point (icon)
147
+ polygon: Polygon (icon)
148
+ polyline: Polyline (icon)
149
+ princeton: Princeton University (logo)
150
+ public: Public content (icon)
151
+ purdue: Purdue University (logo)
152
+ raster: Raster (icon)
153
+ restricted: Restricted content (icon)
154
+ sms: SMS (icon)
155
+ stanford: Stanford University (logo)
156
+ table: Table (icon)
157
+ tags: Tags (icon)
158
+ texas: The University of Texas at Austin (logo)
159
+ tufts: Tufts University (logo)
160
+ ucla: University of California, Los Angeles (logo)
161
+ uva: University of Virginia (logo)
162
+ web_services: Web services (icon)
163
+ wisconsin: University of Wisconsin (logo)