geoblacklight 2.3.0

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 (418) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +195 -0
  3. data/.github/ISSUE_TEMPLATE.md +17 -0
  4. data/.gitignore +21 -0
  5. data/.gitmodules +0 -0
  6. data/.hound.yml +8 -0
  7. data/.jshintignore +2 -0
  8. data/.jshintrc +67 -0
  9. data/.rubocop.yml +99 -0
  10. data/.rubocop_todo.yml +196 -0
  11. data/.solr_wrapper +5 -0
  12. data/CODE_OF_CONDUCT.md +76 -0
  13. data/CONTRIBUTING.md +49 -0
  14. data/Gemfile +39 -0
  15. data/LICENSE.txt +13 -0
  16. data/README.md +39 -0
  17. data/Rakefile +125 -0
  18. data/app/assets/images/blacklight/arrow-circle-down.svg +4 -0
  19. data/app/assets/images/blacklight/baruch-cuny.svg +6 -0
  20. data/app/assets/images/blacklight/berkeley.svg +7 -0
  21. data/app/assets/images/blacklight/book.svg +6 -0
  22. data/app/assets/images/blacklight/bookmark.svg +6 -0
  23. data/app/assets/images/blacklight/cd-rom.svg +6 -0
  24. data/app/assets/images/blacklight/chicago.svg +7 -0
  25. data/app/assets/images/blacklight/columbia.svg +6 -0
  26. data/app/assets/images/blacklight/cornell.svg +8 -0
  27. data/app/assets/images/blacklight/dvd-rom.svg +6 -0
  28. data/app/assets/images/blacklight/email.svg +6 -0
  29. data/app/assets/images/blacklight/esri-globe.svg +34 -0
  30. data/app/assets/images/blacklight/geoblacklight-icons.json +2079 -0
  31. data/app/assets/images/blacklight/globe.svg +4 -0
  32. data/app/assets/images/blacklight/harvard.svg +6 -0
  33. data/app/assets/images/blacklight/home.svg +4 -0
  34. data/app/assets/images/blacklight/illinois.svg +7 -0
  35. data/app/assets/images/blacklight/image.svg +6 -0
  36. data/app/assets/images/blacklight/indiana.svg +6 -0
  37. data/app/assets/images/blacklight/iowa.svg +6 -0
  38. data/app/assets/images/blacklight/leaf.svg +6 -0
  39. data/app/assets/images/blacklight/lewis-clark.svg +8 -0
  40. data/app/assets/images/blacklight/line.svg +7 -0
  41. data/app/assets/images/blacklight/logo.svg +1 -0
  42. data/app/assets/images/blacklight/map-marker.svg +6 -0
  43. data/app/assets/images/blacklight/map.svg +6 -0
  44. data/app/assets/images/blacklight/maryland.svg +6 -0
  45. data/app/assets/images/blacklight/massgis.svg +6 -0
  46. data/app/assets/images/blacklight/metadata.svg +6 -0
  47. data/app/assets/images/blacklight/michigan-state.svg +7 -0
  48. data/app/assets/images/blacklight/michigan.svg +6 -0
  49. data/app/assets/images/blacklight/minnesota.svg +6 -0
  50. data/app/assets/images/blacklight/mit.svg +6 -0
  51. data/app/assets/images/blacklight/mixed.svg +8 -0
  52. data/app/assets/images/blacklight/multilinestring.svg +9 -0
  53. data/app/assets/images/blacklight/multipoint.svg +6 -0
  54. data/app/assets/images/blacklight/multipolygon.svg +9 -0
  55. data/app/assets/images/blacklight/nyu.svg +9 -0
  56. data/app/assets/images/blacklight/ohio-state.svg +8 -0
  57. data/app/assets/images/blacklight/pagelines-brands.svg +6 -0
  58. data/app/assets/images/blacklight/paper-map.svg +6 -0
  59. data/app/assets/images/blacklight/penn-state.svg +7 -0
  60. data/app/assets/images/blacklight/point.svg +6 -0
  61. data/app/assets/images/blacklight/polygon.svg +7 -0
  62. data/app/assets/images/blacklight/polyline.svg +9 -0
  63. data/app/assets/images/blacklight/princeton.svg +6 -0
  64. data/app/assets/images/blacklight/public.svg +6 -0
  65. data/app/assets/images/blacklight/purdue.svg +7 -0
  66. data/app/assets/images/blacklight/raster.svg +6 -0
  67. data/app/assets/images/blacklight/restricted.svg +6 -0
  68. data/app/assets/images/blacklight/sms.svg +6 -0
  69. data/app/assets/images/blacklight/stanford.svg +6 -0
  70. data/app/assets/images/blacklight/table.svg +6 -0
  71. data/app/assets/images/blacklight/tags.svg +4 -0
  72. data/app/assets/images/blacklight/texas.svg +6 -0
  73. data/app/assets/images/blacklight/tufts.svg +6 -0
  74. data/app/assets/images/blacklight/ucla.svg +6 -0
  75. data/app/assets/images/blacklight/uva.svg +6 -0
  76. data/app/assets/images/blacklight/web_services.svg +6 -0
  77. data/app/assets/images/blacklight/wisconsin.svg +6 -0
  78. data/app/assets/javascripts/geoblacklight/basemaps.js +85 -0
  79. data/app/assets/javascripts/geoblacklight/controls.js +1 -0
  80. data/app/assets/javascripts/geoblacklight/controls/opacity.js +6 -0
  81. data/app/assets/javascripts/geoblacklight/downloaders.js +1 -0
  82. data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +61 -0
  83. data/app/assets/javascripts/geoblacklight/downloaders/hgl_downloader.js +32 -0
  84. data/app/assets/javascripts/geoblacklight/geoblacklight.js +42 -0
  85. data/app/assets/javascripts/geoblacklight/modules.js +1 -0
  86. data/app/assets/javascripts/geoblacklight/modules/collapse.js +7 -0
  87. data/app/assets/javascripts/geoblacklight/modules/download.js +11 -0
  88. data/app/assets/javascripts/geoblacklight/modules/geosearch.js +133 -0
  89. data/app/assets/javascripts/geoblacklight/modules/help_text.js +7 -0
  90. data/app/assets/javascripts/geoblacklight/modules/home.js +16 -0
  91. data/app/assets/javascripts/geoblacklight/modules/item.js +13 -0
  92. data/app/assets/javascripts/geoblacklight/modules/layer_opacity.js +68 -0
  93. data/app/assets/javascripts/geoblacklight/modules/metadata.js +15 -0
  94. data/app/assets/javascripts/geoblacklight/modules/metadata_download_button.js +53 -0
  95. data/app/assets/javascripts/geoblacklight/modules/relations.js +14 -0
  96. data/app/assets/javascripts/geoblacklight/modules/results.js +82 -0
  97. data/app/assets/javascripts/geoblacklight/modules/util.js +38 -0
  98. data/app/assets/javascripts/geoblacklight/templates/index_map_download.hbs +19 -0
  99. data/app/assets/javascripts/geoblacklight/templates/index_map_info.hbs +40 -0
  100. data/app/assets/javascripts/geoblacklight/viewers.js +1 -0
  101. data/app/assets/javascripts/geoblacklight/viewers/esri.js +77 -0
  102. data/app/assets/javascripts/geoblacklight/viewers/esri/dynamic_map_layer.js +85 -0
  103. data/app/assets/javascripts/geoblacklight/viewers/esri/feature_layer.js +76 -0
  104. data/app/assets/javascripts/geoblacklight/viewers/esri/image_map_layer.js +14 -0
  105. data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +50 -0
  106. data/app/assets/javascripts/geoblacklight/viewers/iiif.js +25 -0
  107. data/app/assets/javascripts/geoblacklight/viewers/index_map.js +70 -0
  108. data/app/assets/javascripts/geoblacklight/viewers/map.js +67 -0
  109. data/app/assets/javascripts/geoblacklight/viewers/oembed.js +13 -0
  110. data/app/assets/javascripts/geoblacklight/viewers/viewer.js +65 -0
  111. data/app/assets/javascripts/geoblacklight/viewers/wms.js +74 -0
  112. data/app/assets/stylesheets/geoblacklight/_blacklight_overrides.scss +51 -0
  113. data/app/assets/stylesheets/geoblacklight/_geoblacklight.scss +36 -0
  114. data/app/assets/stylesheets/geoblacklight/_styles.scss +4 -0
  115. data/app/assets/stylesheets/geoblacklight/application.scss +2 -0
  116. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +93 -0
  117. data/app/assets/stylesheets/geoblacklight/modules/facets.scss +5 -0
  118. data/app/assets/stylesheets/geoblacklight/modules/geosearch.scss +29 -0
  119. data/app/assets/stylesheets/geoblacklight/modules/home.scss +28 -0
  120. data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +50 -0
  121. data/app/assets/stylesheets/geoblacklight/modules/index_maps.scss +7 -0
  122. data/app/assets/stylesheets/geoblacklight/modules/item.scss +26 -0
  123. data/app/assets/stylesheets/geoblacklight/modules/layer_opacity.scss +87 -0
  124. data/app/assets/stylesheets/geoblacklight/modules/metadata.scss +31 -0
  125. data/app/assets/stylesheets/geoblacklight/modules/metadata_content.scss +43 -0
  126. data/app/assets/stylesheets/geoblacklight/modules/metadata_markup.scss +9 -0
  127. data/app/assets/stylesheets/geoblacklight/modules/metadata_missing.scss +7 -0
  128. data/app/assets/stylesheets/geoblacklight/modules/mixins.scss +5 -0
  129. data/app/assets/stylesheets/geoblacklight/modules/modal.scss +14 -0
  130. data/app/assets/stylesheets/geoblacklight/modules/relations.scss +15 -0
  131. data/app/assets/stylesheets/geoblacklight/modules/results.scss +68 -0
  132. data/app/assets/stylesheets/geoblacklight/modules/search_widgets.scss +5 -0
  133. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +60 -0
  134. data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +70 -0
  135. data/app/assets/stylesheets/geoblacklight/modules/web_services.scss +5 -0
  136. data/app/controllers/download_controller.rb +114 -0
  137. data/app/controllers/relation_controller.rb +20 -0
  138. data/app/controllers/wms_controller.rb +15 -0
  139. data/app/helpers/arcgis_helper.rb +12 -0
  140. data/app/helpers/blacklight_helper.rb +9 -0
  141. data/app/helpers/carto_helper.rb +29 -0
  142. data/app/helpers/geoblacklight_helper.rb +323 -0
  143. data/app/models/concerns/geoblacklight/solr_document.rb +113 -0
  144. data/app/models/concerns/geoblacklight/solr_document/arcgis.rb +10 -0
  145. data/app/models/concerns/geoblacklight/solr_document/carto.rb +28 -0
  146. data/app/models/concerns/geoblacklight/solr_document/finder.rb +38 -0
  147. data/app/models/concerns/geoblacklight/solr_document/inspection.rb +15 -0
  148. data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +69 -0
  149. data/app/presenters/geoblacklight/document_presenter.rb +23 -0
  150. data/app/views/catalog/_data_dictionary.html.erb +6 -0
  151. data/app/views/catalog/_document_action.html.erb +6 -0
  152. data/app/views/catalog/_document_split.html.erb +6 -0
  153. data/app/views/catalog/_download_generated_link.html.erb +4 -0
  154. data/app/views/catalog/_download_link.html.erb +3 -0
  155. data/app/views/catalog/_downloads_generated.html.erb +6 -0
  156. data/app/views/catalog/_downloads_primary.html.erb +14 -0
  157. data/app/views/catalog/_downloads_secondary.html.erb +39 -0
  158. data/app/views/catalog/_exports.html.erb +3 -0
  159. data/app/views/catalog/_facet_tag_item.html.erb +3 -0
  160. data/app/views/catalog/_facet_tag_layout.html.erb +2 -0
  161. data/app/views/catalog/_header_icons.html.erb +3 -0
  162. data/app/views/catalog/_home_text.html.erb +43 -0
  163. data/app/views/catalog/_icon_facet.html.erb +16 -0
  164. data/app/views/catalog/_index_split_default.html.erb +22 -0
  165. data/app/views/catalog/_metadata.html.erb +27 -0
  166. data/app/views/catalog/_relations_container.html.erb +1 -0
  167. data/app/views/catalog/_results_pagination.html.erb +12 -0
  168. data/app/views/catalog/_show_default_attribute_table.html.erb +19 -0
  169. data/app/views/catalog/_show_default_viewer_container.html.erb +12 -0
  170. data/app/views/catalog/_show_default_viewer_information.html.erb +4 -0
  171. data/app/views/catalog/_show_downloads.html.erb +34 -0
  172. data/app/views/catalog/_show_header_default.html.erb +4 -0
  173. data/app/views/catalog/_show_sidebar.html.erb +12 -0
  174. data/app/views/catalog/_show_tools.html.erb +25 -0
  175. data/app/views/catalog/_web_services.html.erb +8 -0
  176. data/app/views/catalog/_web_services_default.html.erb +8 -0
  177. data/app/views/catalog/_web_services_wfs.html.erb +8 -0
  178. data/app/views/catalog/_web_services_wms.html.erb +8 -0
  179. data/app/views/catalog/index.html.erb +13 -0
  180. data/app/views/catalog/metadata.html.erb +11 -0
  181. data/app/views/catalog/metadata/_content.html.erb +3 -0
  182. data/app/views/catalog/metadata/_markup.html.erb +8 -0
  183. data/app/views/catalog/metadata/_missing.html.erb +6 -0
  184. data/app/views/catalog/web_services.html.erb +10 -0
  185. data/app/views/download/hgl.html.erb +25 -0
  186. data/app/views/relation/_ancestors.html.erb +11 -0
  187. data/app/views/relation/_descendants.html.erb +18 -0
  188. data/app/views/relation/index.html.erb +13 -0
  189. data/app/views/relation/index.json.jbuilder +3 -0
  190. data/app/views/shared/_header_navbar.html.erb +38 -0
  191. data/config/initializers/rails_config.rb +3 -0
  192. data/config/locales/geoblacklight.en.yml +163 -0
  193. data/geoblacklight.gemspec +49 -0
  194. data/lib/generators/geoblacklight/install_generator.rb +105 -0
  195. data/lib/generators/geoblacklight/templates/Procfile +3 -0
  196. data/lib/generators/geoblacklight/templates/catalog_controller.rb +272 -0
  197. data/lib/generators/geoblacklight/templates/geoblacklight.js +10 -0
  198. data/lib/generators/geoblacklight/templates/geoblacklight.scss +4 -0
  199. data/lib/generators/geoblacklight/templates/package.json +14 -0
  200. data/lib/generators/geoblacklight/templates/settings.yml +127 -0
  201. data/lib/generators/geoblacklight/templates/webpacker.yml +67 -0
  202. data/lib/generators/geoblacklight/webpacker_generator.rb +35 -0
  203. data/lib/geoblacklight.rb +50 -0
  204. data/lib/geoblacklight/bounding_box.rb +45 -0
  205. data/lib/geoblacklight/catalog_helper_override.rb +13 -0
  206. data/lib/geoblacklight/constants.rb +28 -0
  207. data/lib/geoblacklight/download.rb +108 -0
  208. data/lib/geoblacklight/download/geojson_download.rb +22 -0
  209. data/lib/geoblacklight/download/geotiff_download.rb +20 -0
  210. data/lib/geoblacklight/download/hgl_download.rb +18 -0
  211. data/lib/geoblacklight/download/kmz_download.rb +22 -0
  212. data/lib/geoblacklight/download/shapefile_download.rb +20 -0
  213. data/lib/geoblacklight/engine.rb +27 -0
  214. data/lib/geoblacklight/exceptions.rb +27 -0
  215. data/lib/geoblacklight/geoblacklight_helper_behavior.rb +14 -0
  216. data/lib/geoblacklight/item_viewer.rb +54 -0
  217. data/lib/geoblacklight/metadata.rb +18 -0
  218. data/lib/geoblacklight/metadata/base.rb +93 -0
  219. data/lib/geoblacklight/metadata/fgdc.rb +14 -0
  220. data/lib/geoblacklight/metadata/html.rb +13 -0
  221. data/lib/geoblacklight/metadata/iso19139.rb +14 -0
  222. data/lib/geoblacklight/metadata_transformer.rb +33 -0
  223. data/lib/geoblacklight/metadata_transformer/base.rb +42 -0
  224. data/lib/geoblacklight/metadata_transformer/fgdc.rb +8 -0
  225. data/lib/geoblacklight/metadata_transformer/iso19139.rb +8 -0
  226. data/lib/geoblacklight/reference.rb +45 -0
  227. data/lib/geoblacklight/references.rb +132 -0
  228. data/lib/geoblacklight/relation/ancestors.rb +27 -0
  229. data/lib/geoblacklight/relation/descendants.rb +27 -0
  230. data/lib/geoblacklight/relation/relation_response.rb +24 -0
  231. data/lib/geoblacklight/routes.rb +7 -0
  232. data/lib/geoblacklight/routes/downloadable.rb +14 -0
  233. data/lib/geoblacklight/routes/exportable.rb +17 -0
  234. data/lib/geoblacklight/routes/wms.rb +13 -0
  235. data/lib/geoblacklight/version.rb +3 -0
  236. data/lib/geoblacklight/view_helper_override.rb +40 -0
  237. data/lib/geoblacklight/wms_layer.rb +35 -0
  238. data/lib/geoblacklight/wms_layer/feature_info_response.rb +32 -0
  239. data/lib/tasks/geoblacklight.rake +108 -0
  240. data/package.json +4 -0
  241. data/schema/format-values.md +50 -0
  242. data/schema/geoblacklight-schema-deprecated.md +39 -0
  243. data/schema/geoblacklight-schema.json +214 -0
  244. data/schema/geoblacklight-schema.md +323 -0
  245. data/schema/geometry-type-values.md +11 -0
  246. data/schema/references.md +23 -0
  247. data/schema/schema-commentary.md +198 -0
  248. data/schema/subjects.md +41 -0
  249. data/schema/type-values.md +10 -0
  250. data/solr/conf/_rest_managed.json +3 -0
  251. data/solr/conf/admin-extra.html +31 -0
  252. data/solr/conf/core.properties +5 -0
  253. data/solr/conf/elevate.xml +36 -0
  254. data/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  255. data/solr/conf/protwords.txt +21 -0
  256. data/solr/conf/schema.xml +198 -0
  257. data/solr/conf/scripts.conf +24 -0
  258. data/solr/conf/solrconfig.xml +243 -0
  259. data/solr/conf/spellings.txt +2 -0
  260. data/solr/conf/stopwords.txt +58 -0
  261. data/solr/conf/stopwords_en.txt +58 -0
  262. data/solr/conf/synonyms.txt +31 -0
  263. data/solr/conf/xslt/example.xsl +132 -0
  264. data/solr/conf/xslt/example_atom.xsl +67 -0
  265. data/solr/conf/xslt/example_rss.xsl +66 -0
  266. data/solr/conf/xslt/luke.xsl +337 -0
  267. data/spec/controllers/catalog_controller_spec.rb +82 -0
  268. data/spec/controllers/download_controller_spec.rb +120 -0
  269. data/spec/controllers/relation_controller_spec.rb +11 -0
  270. data/spec/controllers/wms_controller_spec.rb +34 -0
  271. data/spec/factories/user.rb +7 -0
  272. data/spec/features/bookmarks_spec.rb +10 -0
  273. data/spec/features/configurable_basemap_spec.rb +35 -0
  274. data/spec/features/data_dictionary_download_spec.rb +16 -0
  275. data/spec/features/download_layer_spec.rb +93 -0
  276. data/spec/features/empty_search_spec.rb +11 -0
  277. data/spec/features/esri_viewer_spec.rb +42 -0
  278. data/spec/features/exports_spec.rb +36 -0
  279. data/spec/features/help_text_spec.rb +8 -0
  280. data/spec/features/home_page_spec.rb +40 -0
  281. data/spec/features/iiif_viewer_spec.rb +8 -0
  282. data/spec/features/index_map_spec.rb +31 -0
  283. data/spec/features/layer_inspection_spec.rb +10 -0
  284. data/spec/features/layer_opacity_spec.rb +20 -0
  285. data/spec/features/layer_preview_spec.rb +17 -0
  286. data/spec/features/layer_with_no_references_spec.rb +8 -0
  287. data/spec/features/linkified_attribute_table_spec.rb +11 -0
  288. data/spec/features/metadata_panel_spec.rb +78 -0
  289. data/spec/features/missing_metadata_spec.rb +24 -0
  290. data/spec/features/oembed_spec.rb +9 -0
  291. data/spec/features/relations_spec.rb +51 -0
  292. data/spec/features/saved_searches_spec.rb +13 -0
  293. data/spec/features/search_bar_spec.rb +12 -0
  294. data/spec/features/search_results_map_spec.rb +55 -0
  295. data/spec/features/search_results_overlap_ratio_spec.rb +55 -0
  296. data/spec/features/search_spec.rb +14 -0
  297. data/spec/features/show_page_metadata_spec.rb +12 -0
  298. data/spec/features/sms_spec.rb +15 -0
  299. data/spec/features/split_view.html.erb_spec.rb +75 -0
  300. data/spec/features/suppressed_records_spec.rb +14 -0
  301. data/spec/features/web_services_modal_spec.rb +25 -0
  302. data/spec/fixtures/fgdc/harvard-g7064-s2-1834-k3.xml +1 -0
  303. data/spec/fixtures/iso19139/stanford-cg357zz0321.xml +581 -0
  304. data/spec/fixtures/mods/fb897vt9938.mods +111 -0
  305. data/spec/fixtures/mods/stanford-cg357zz0321.mods +113 -0
  306. data/spec/fixtures/solr_documents/README.md +40 -0
  307. data/spec/fixtures/solr_documents/actual-papermap1.json +23 -0
  308. data/spec/fixtures/solr_documents/actual-point1.json +37 -0
  309. data/spec/fixtures/solr_documents/actual-polygon1.json +23 -0
  310. data/spec/fixtures/solr_documents/actual-raster1.json +38 -0
  311. data/spec/fixtures/solr_documents/baruch_ancestor1.json +46 -0
  312. data/spec/fixtures/solr_documents/baruch_ancestor2.json +46 -0
  313. data/spec/fixtures/solr_documents/baruch_documentation_download.json +49 -0
  314. data/spec/fixtures/solr_documents/bbox-spans-180.json +20 -0
  315. data/spec/fixtures/solr_documents/cornell_html_metadata.json +42 -0
  316. data/spec/fixtures/solr_documents/esri-dynamic-layer-all-layers.json +38 -0
  317. data/spec/fixtures/solr_documents/esri-dynamic-layer-single-layer.json +40 -0
  318. data/spec/fixtures/solr_documents/esri-feature-layer.json +46 -0
  319. data/spec/fixtures/solr_documents/esri-image-map-layer.json +42 -0
  320. data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +22 -0
  321. data/spec/fixtures/solr_documents/esri-wms-layer.json +33 -0
  322. data/spec/fixtures/solr_documents/harvard_raster.json +44 -0
  323. data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +30 -0
  324. data/spec/fixtures/solr_documents/index-map-polygon-no-downloadurl.json +37 -0
  325. data/spec/fixtures/solr_documents/index-map-polygon.json +37 -0
  326. data/spec/fixtures/solr_documents/index-map-stanford.json +37 -0
  327. data/spec/fixtures/solr_documents/index_map_point.json +27 -0
  328. data/spec/fixtures/solr_documents/metadata_no_dct_provenance_s.json +30 -0
  329. data/spec/fixtures/solr_documents/metadata_no_layer_geom_type_s.json +17 -0
  330. data/spec/fixtures/solr_documents/metadata_no_solr_geom.json +23 -0
  331. data/spec/fixtures/solr_documents/no_spatial.json +21 -0
  332. data/spec/fixtures/solr_documents/oembed.json +24 -0
  333. data/spec/fixtures/solr_documents/princeton-child1.json +30 -0
  334. data/spec/fixtures/solr_documents/princeton-child2.json +30 -0
  335. data/spec/fixtures/solr_documents/princeton-child3.json +30 -0
  336. data/spec/fixtures/solr_documents/princeton-child4.json +30 -0
  337. data/spec/fixtures/solr_documents/princeton-parent.json +25 -0
  338. data/spec/fixtures/solr_documents/public_direct_download.json +34 -0
  339. data/spec/fixtures/solr_documents/public_iiif_princeton.json +36 -0
  340. data/spec/fixtures/solr_documents/public_polygon_mit.json +27 -0
  341. data/spec/fixtures/solr_documents/restricted-line.json +37 -0
  342. data/spec/fixtures/solr_documents/umn_metro_result1.json +41 -0
  343. data/spec/fixtures/solr_documents/umn_state_result1.json +38 -0
  344. data/spec/fixtures/solr_documents/umn_state_result2.json +38 -0
  345. data/spec/fixtures/solr_documents/uva_slug_colon.json +25 -0
  346. data/spec/helpers/arcgis_helper_spec.rb +14 -0
  347. data/spec/helpers/carto_helper_spec.rb +11 -0
  348. data/spec/helpers/geoblacklight_helper_spec.rb +329 -0
  349. data/spec/javascripts/geoblacklight_spec.js +21 -0
  350. data/spec/javascripts/metadata_download_button_spec.js +14 -0
  351. data/spec/javascripts/spec_helper.js +32 -0
  352. data/spec/javascripts/util_spec.js +12 -0
  353. data/spec/lib/geoblacklight/bounding_box_spec.rb +27 -0
  354. data/spec/lib/geoblacklight/controller_override_spec.rb +1 -0
  355. data/spec/lib/geoblacklight/document_presenter_spec.rb +61 -0
  356. data/spec/lib/geoblacklight/download/geojson_download_spec.rb +19 -0
  357. data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +20 -0
  358. data/spec/lib/geoblacklight/download/hgl_download_spec.rb +60 -0
  359. data/spec/lib/geoblacklight/download/kmz_download_spec.rb +20 -0
  360. data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +19 -0
  361. data/spec/lib/geoblacklight/download_spec.rb +177 -0
  362. data/spec/lib/geoblacklight/geoblacklight_helper_behavior_spec.rb +30 -0
  363. data/spec/lib/geoblacklight/item_viewer_spec.rb +63 -0
  364. data/spec/lib/geoblacklight/metadata/base_spec.rb +157 -0
  365. data/spec/lib/geoblacklight/metadata/html_spec.rb +18 -0
  366. data/spec/lib/geoblacklight/metadata_spec.rb +42 -0
  367. data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +35 -0
  368. data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +23 -0
  369. data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +23 -0
  370. data/spec/lib/geoblacklight/metadata_transformer_spec.rb +69 -0
  371. data/spec/lib/geoblacklight/reference_spec.rb +64 -0
  372. data/spec/lib/geoblacklight/references_spec.rb +216 -0
  373. data/spec/lib/geoblacklight/relation/ancestors_spec.rb +32 -0
  374. data/spec/lib/geoblacklight/relation/descendants_spec.rb +32 -0
  375. data/spec/lib/geoblacklight/relation/relation_response_spec.rb +43 -0
  376. data/spec/lib/geoblacklight/view_helper_override_spec.rb +37 -0
  377. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +50 -0
  378. data/spec/lib/geoblacklight/wms_layer_spec.rb +99 -0
  379. data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +61 -0
  380. data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +40 -0
  381. data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +16 -0
  382. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +251 -0
  383. data/spec/models/concerns/geoblacklight/spatial_search_behavior_spec.rb +84 -0
  384. data/spec/routing/catalog_routing_spec.rb +8 -0
  385. data/spec/spec_helper.rb +79 -0
  386. data/spec/support/backport_test_helpers.rb +45 -0
  387. data/spec/support/features.rb +5 -0
  388. data/spec/support/features/session_helpers.rb +20 -0
  389. data/spec/teaspoon_env.rb +213 -0
  390. data/spec/test_app_templates/Gemfile.extra +1 -0
  391. data/spec/test_app_templates/lib/generators/test_app_generator.rb +49 -0
  392. data/spec/test_app_templates/metadata/fgdc.html +129 -0
  393. data/spec/test_app_templates/metadata/fgdc.xml +145 -0
  394. data/spec/test_app_templates/metadata/iso.html +275 -0
  395. data/spec/test_app_templates/metadata/iso.xml +511 -0
  396. data/spec/test_app_templates/solr_documents +1 -0
  397. data/spec/views/catalog/_document_split.html.erb_spec.rb +5 -0
  398. data/spec/views/catalog/_index_split.html.erb_spec.rb +5 -0
  399. data/spec/views/catalog/_results_pagination.html.erb_spec.rb +9 -0
  400. data/spec/views/catalog/_show_downloads.html.erb_spec.rb +41 -0
  401. data/spec/views/catalog/_show_tools.html.erb_spec.rb +39 -0
  402. data/template.rb +19 -0
  403. data/vendor/assets/images/layers-2x.png +0 -0
  404. data/vendor/assets/images/layers.png +0 -0
  405. data/vendor/assets/images/marker-icon-2x.png +0 -0
  406. data/vendor/assets/images/marker-icon.png +0 -0
  407. data/vendor/assets/images/marker-shadow.png +0 -0
  408. data/vendor/assets/javascripts/esri-leaflet.js +5 -0
  409. data/vendor/assets/javascripts/esri-leaflet.js.map +1 -0
  410. data/vendor/assets/javascripts/leaflet-iiif.js +302 -0
  411. data/vendor/assets/javascripts/leaflet-src.js.map +1 -0
  412. data/vendor/assets/javascripts/leaflet.js.erb +13922 -0
  413. data/vendor/assets/javascripts/native.history.js +1 -0
  414. data/vendor/assets/javascripts/readmore.js +618 -0
  415. data/vendor/assets/javascripts/readmore.js.map +1 -0
  416. data/vendor/assets/stylesheets/leaflet-label.css +54 -0
  417. data/vendor/assets/stylesheets/leaflet.css +635 -0
  418. metadata +967 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["webpack://Readmore/webpack/universalModuleDefinition","webpack://Readmore/webpack/bootstrap","webpack://Readmore/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://Readmore/./node_modules/@babel/runtime/helpers/createClass.js","webpack://Readmore/./node_modules/@babel/runtime/helpers/typeof.js","webpack://Readmore/./src/readmore.js"],"names":["uniqueIdCounter","isCssEmbeddedFor","removePolyfill","arr","forEach","item","Object","prototype","hasOwnProperty","call","defineProperty","configurable","enumerable","writable","value","remove","parentNode","removeChild","Element","CharacterData","DocumentType","callback","scope","i","length","extend","objects","hasProp","child","parent","args","keys","key","push","c1","shift","p1","unshift","debounce","func","wait","immediate","timeout","debouncedFunc","callNow","later","apply","clearTimeout","setTimeout","uniqueId","setBoxHeights","element","style","height","expandedHeight","parseInt","getBoundingClientRect","cssMaxHeight","window","getComputedStyle","maxHeight","defaultHeight","readmore","collapsedHeight","createElementFromString","htmlString","div","document","createElement","innerHTML","firstChild","embedCSS","selector","options","styles","blockCSS","speed","d","u","css","type","styleSheet","cssText","appendChild","createTextNode","getElementsByTagName","buildToggle","link","clickHandler","event","toggle","text","toggleLink","setAttribute","id","addEventListener","bind","isEnvironmentSupported","querySelectorAll","resizeBoxes","elements","expanded","getAttribute","defaults","heightMargin","moreLink","lessLink","startOpen","sourceOrder","blockProcessed","beforeToggle","afterToggle","Readmore","nodeName","instanceSelector","classList","add","substr","toggleElement","insertBefore","nextSibling","el","trigger","querySelector","newHeight","shouldContinueToggle","transitionendHandler","transitionEvent","stopPropagation","removeEventListener","target","replaceChild","Error","preventDefault","indexOf","filter","removeAttribute","VERSION"],"mappings":"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","file":"readmore.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"Readmore\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Readmore\"] = factory();\n\telse\n\t\troot[\"Readmore\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","let uniqueIdCounter = 0;\n\nconst isCssEmbeddedFor = [];\n\n// from:https://github.com/jserz/js_piece/blob/master/DOM/ChildNode/remove()/remove().md\n((function removePolyfill(arr) {\n arr.forEach((item) => {\n if (Object.prototype.hasOwnProperty.call(item, 'remove')) {\n return;\n }\n Object.defineProperty(item, 'remove', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: function remove() {\n if (this.parentNode !== null) {\n this.parentNode.removeChild(this);\n }\n }\n });\n });\n})([Element.prototype, CharacterData.prototype, DocumentType.prototype]));\n\nfunction forEach(arr, callback, scope) {\n for (let i = 0; i < arr.length; i += 1) {\n callback.call(scope, arr[i], i);\n }\n}\n\nfunction extend(...objects) {\n const hasProp = {}.hasOwnProperty;\n let child = objects[0];\n let parent = objects[1];\n\n if (objects.length > 2) {\n const args = [];\n\n Object.keys(objects).forEach((key) => {\n args.push(objects[key]);\n });\n\n while (args.length > 2) {\n const c1 = args.shift();\n const p1 = args.shift();\n args.unshift(extend(c1, p1));\n }\n\n child = args.shift();\n parent = args.shift();\n }\n\n if (parent) {\n Object.keys(parent).forEach((key) => {\n if (hasProp.call(parent, key)) {\n if (typeof parent[key] === 'object') {\n child[key] = child[key] || {};\n child[key] = extend(child[key], parent[key]);\n } else {\n child[key] = parent[key];\n }\n }\n });\n }\n\n return child;\n}\n\nfunction debounce(func, wait, immediate) {\n let timeout;\n\n return function debouncedFunc(...args) {\n const callNow = immediate && !timeout;\n const later = () => {\n timeout = null;\n if (!immediate) func.apply(this, args);\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n\n if (callNow) func.apply(this, args);\n };\n}\n\nfunction uniqueId() {\n uniqueIdCounter += 1;\n\n return `rmjs-${uniqueIdCounter}`;\n}\n\nfunction setBoxHeights(element) {\n element.style.height = 'auto';\n\n const expandedHeight = parseInt(element.getBoundingClientRect().height, 10);\n const cssMaxHeight = parseInt(window.getComputedStyle(element).maxHeight, 10);\n const defaultHeight = parseInt(element.readmore.defaultHeight, 10);\n\n // Store our measurements.\n element.readmore.expandedHeight = expandedHeight;\n element.readmore.maxHeight = cssMaxHeight;\n element.readmore.collapsedHeight = cssMaxHeight || element.readmore.collapsedHeight || defaultHeight;\n\n element.style.maxHeight = 'none';\n}\n\nfunction createElementFromString(htmlString) {\n const div = document.createElement('div');\n div.innerHTML = htmlString;\n\n return div.firstChild;\n}\n\nfunction embedCSS(selector, options) {\n if (!isCssEmbeddedFor[selector]) {\n let styles = '';\n\n if (options.embedCSS && options.blockCSS !== '') {\n styles += `${selector} + [data-readmore-toggle], ${selector}[data-readmore] {\n ${options.blockCSS}\n }`;\n }\n\n // Include the transition CSS even if embedCSS is false\n styles += `${selector}[data-readmore] {\n transition: height ${options.speed}ms;\n overflow: hidden;\n }`;\n\n (((d, u) => {\n const css = d.createElement('style');\n css.type = 'text/css';\n\n if (css.styleSheet) {\n css.styleSheet.cssText = u;\n } else {\n css.appendChild(d.createTextNode(u));\n }\n\n d.getElementsByTagName('head')[0].appendChild(css);\n })(document, styles));\n\n isCssEmbeddedFor[selector] = true;\n }\n}\n\nfunction buildToggle(link, element, scope) {\n function clickHandler(event) {\n this.toggle(element, event);\n }\n\n let text = link;\n if (typeof link === 'function') {\n text = link(element);\n }\n\n const toggleLink = createElementFromString(text);\n toggleLink.setAttribute('data-readmore-toggle', element.id);\n toggleLink.setAttribute('aria-controls', element.id);\n toggleLink.addEventListener('click', clickHandler.bind(scope));\n\n return toggleLink;\n}\n\nfunction isEnvironmentSupported() {\n return (typeof window !== 'undefined' && typeof document !== 'undefined')\n && !!document.querySelectorAll && !!window.addEventListener;\n}\n\nconst resizeBoxes = debounce(() => {\n const elements = document.querySelectorAll('[data-readmore]');\n\n forEach(elements, (element) => {\n const expanded = element.getAttribute('aria-expanded') === 'true';\n\n setBoxHeights(element);\n\n element.style.height = `${expanded ? element.readmore.expandedHeight : element.readmore.collapsedHeight}px`;\n });\n}, 100);\n\nconst defaults = {\n speed: 100,\n collapsedHeight: 200,\n heightMargin: 16,\n moreLink: '<a href=\"#\">Read More</a>',\n lessLink: '<a href=\"#\">Close</a>',\n embedCSS: true,\n blockCSS: 'display: block; width: 100%;',\n startOpen: false,\n sourceOrder: 'after',\n\n // callbacks\n blockProcessed: () => {},\n beforeToggle: () => {},\n afterToggle: () => {}\n};\n\nclass Readmore {\n constructor(...args) {\n if (!isEnvironmentSupported()) return;\n\n const [selector, options] = args;\n let elements;\n\n if (typeof selector === 'string') {\n elements = document.querySelectorAll(selector);\n } else if (selector.nodeName) {\n elements = [selector]; // emulate a NodeList by casting a single Node as an array\n } else {\n elements = selector;\n }\n\n // After all that, if we _still_ don't have iteratable NodeList, bail out.\n if (!elements.length) return;\n\n this.options = extend({}, defaults, options);\n\n if (typeof selector === 'string') {\n embedCSS(selector, this.options);\n } else {\n // Instances need distinct selectors so they don't stomp on each other.\n this.instanceSelector = `.${uniqueId()}`;\n embedCSS(this.instanceSelector, this.options);\n }\n\n // Need to resize boxes when the page has fully loaded.\n window.addEventListener('load', resizeBoxes);\n window.addEventListener('resize', resizeBoxes);\n\n this.elements = [];\n\n forEach(elements, (element) => {\n if (this.instanceSelector) {\n element.classList.add(this.instanceSelector.substr(1));\n }\n\n const expanded = this.options.startOpen;\n\n element.readmore = {\n defaultHeight: this.options.collapsedHeight,\n heightMargin: this.options.heightMargin\n };\n\n setBoxHeights(element);\n\n const { heightMargin } = element.readmore;\n\n if (element.getBoundingClientRect().height <= element.readmore.collapsedHeight + heightMargin) {\n if (typeof this.options.blockProcessed === 'function') {\n this.options.blockProcessed(element, false);\n }\n return;\n }\n\n element.setAttribute('data-readmore', '');\n element.setAttribute('aria-expanded', expanded);\n element.id = element.id || uniqueId();\n\n const toggleLink = expanded ? this.options.lessLink : this.options.moreLink;\n const toggleElement = buildToggle(toggleLink, element, this);\n\n element.parentNode.insertBefore(toggleElement, (this.options.sourceOrder === 'before') ? element : element.nextSibling);\n\n element.style.height = `${expanded ? element.readmore.expandedHeight : element.readmore.collapsedHeight}px`;\n\n if (typeof this.options.blockProcessed === 'function') {\n this.options.blockProcessed(element, true);\n }\n\n this.elements.push(element);\n });\n }\n\n // Signature when called internally by the toggleLink click handler:\n // toggle(element, event)\n //\n // When called externally by an instance,\n // e.g. readmoreDemo.toggle(document.querySelector('article:nth-of-type(1)')):\n // toggle(elementOrQuerySelector)\n toggle(...args) {\n let el = args[0];\n\n const toggleElement = (element) => {\n const trigger = document.querySelector(`[aria-controls=\"${element.id}\"]`);\n const expanded = element.getBoundingClientRect().height <= element.readmore.collapsedHeight;\n const newHeight = expanded ? element.readmore.expandedHeight : element.readmore.collapsedHeight;\n\n // Fire beforeToggle callback\n // Since we determined the new \"expanded\" state above we're now out of sync\n // with our true current state, so we need to flip the value of `expanded`\n if (typeof this.options.beforeToggle === 'function') {\n const shouldContinueToggle = this.options.beforeToggle(trigger, element, !expanded);\n\n // if the beforeToggle callback returns false, stop toggling\n if (shouldContinueToggle === false) {\n return;\n }\n }\n\n element.style.height = `${newHeight}px`;\n\n const transitionendHandler = (transitionEvent) => {\n // Fire afterToggle callback\n if (typeof this.options.afterToggle === 'function') {\n this.options.afterToggle(trigger, element, expanded);\n }\n\n transitionEvent.stopPropagation();\n\n element.setAttribute('aria-expanded', expanded);\n element.removeEventListener('transitionend', transitionendHandler, false);\n };\n\n element.addEventListener('transitionend', transitionendHandler, false);\n\n if (this.options.speed < 1) {\n transitionendHandler.call(this, { target: element });\n }\n\n const toggleLink = expanded ? this.options.lessLink : this.options.moreLink;\n\n if (!toggleLink) {\n trigger.remove();\n } else if (trigger && trigger.parentNode) {\n trigger.parentNode.replaceChild(buildToggle(toggleLink, element, this), trigger);\n }\n };\n\n if (typeof el === 'string') {\n el = document.querySelectorAll(el);\n }\n\n if (!el) {\n throw new Error('Element MUST be either an HTML node or querySelector string');\n }\n\n const event = args[1];\n\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n if (typeof el === 'object' && !el.nodeName) { // element is likely a NodeList\n forEach(el, toggleElement);\n } else {\n toggleElement(el);\n }\n }\n\n destroy(selector) {\n let elements;\n\n if (!selector) {\n elements = this.elements; // eslint-disable-line\n } else if (typeof selector === 'string') {\n elements = document.querySelectorAll(selector);\n } else if (selector.nodeName) {\n elements = [selector]; // emulate a NodeList by casting a single Node as an array\n } else {\n elements = selector;\n }\n\n forEach(elements, (element) => {\n if (this.elements.indexOf(element) === -1) {\n return;\n }\n\n this.elements = this.elements.filter((el) => el !== element);\n\n if (this.instanceSelector) {\n element.classList.remove(this.instanceSelector.substr(1));\n }\n\n delete element.readmore;\n\n element.style.height = 'initial';\n element.style.maxHeight = 'initial';\n\n element.removeAttribute('data-readmore');\n element.removeAttribute('aria-expanded');\n\n const trigger = document.querySelector(`[aria-controls=\"${element.id}\"]`);\n if (trigger) {\n trigger.remove();\n }\n\n if (element.id.indexOf('rmjs-') !== -1) {\n element.removeAttribute('id');\n }\n });\n\n delete this;\n }\n}\n\nReadmore.VERSION = __VERSION__;\n\nexport default Readmore;\n"],"sourceRoot":""}
@@ -0,0 +1,54 @@
1
+ .leaflet-label {
2
+ background: rgb(235, 235, 235);
3
+ background: rgba(235, 235, 235, 0.81);
4
+ background-clip: padding-box;
5
+ border-color: #777;
6
+ border-color: rgba(0,0,0,0.25);
7
+ border-radius: 4px;
8
+ border-style: solid;
9
+ border-width: 4px;
10
+ color: #111;
11
+ display: block;
12
+ font: 12px/20px "Helvetica Neue", Arial, Helvetica, sans-serif;
13
+ font-weight: bold;
14
+ padding: 1px 6px;
15
+ position: absolute;
16
+ -webkit-user-select: none;
17
+ -moz-user-select: none;
18
+ -ms-user-select: none;
19
+ user-select: none;
20
+ pointer-events: none;
21
+ white-space: nowrap;
22
+ z-index: 6;
23
+ }
24
+
25
+ .leaflet-label.leaflet-clickable {
26
+ cursor: pointer;
27
+ pointer-events: auto;
28
+ }
29
+
30
+ .leaflet-label:before,
31
+ .leaflet-label:after {
32
+ border-top: 6px solid transparent;
33
+ border-bottom: 6px solid transparent;
34
+ content: none;
35
+ position: absolute;
36
+ top: 5px;
37
+ }
38
+
39
+ .leaflet-label:before {
40
+ border-right: 6px solid black;
41
+ border-right-color: inherit;
42
+ left: -10px;
43
+ }
44
+
45
+ .leaflet-label:after {
46
+ border-left: 6px solid black;
47
+ border-left-color: inherit;
48
+ right: -10px;
49
+ }
50
+
51
+ .leaflet-label-right:before,
52
+ .leaflet-label-left:after {
53
+ content: "";
54
+ }
@@ -0,0 +1,635 @@
1
+ /* required styles */
2
+
3
+ .leaflet-pane,
4
+ .leaflet-tile,
5
+ .leaflet-marker-icon,
6
+ .leaflet-marker-shadow,
7
+ .leaflet-tile-container,
8
+ .leaflet-pane > svg,
9
+ .leaflet-pane > canvas,
10
+ .leaflet-zoom-box,
11
+ .leaflet-image-layer,
12
+ .leaflet-layer {
13
+ position: absolute;
14
+ left: 0;
15
+ top: 0;
16
+ }
17
+ .leaflet-container {
18
+ overflow: hidden;
19
+ }
20
+ .leaflet-tile,
21
+ .leaflet-marker-icon,
22
+ .leaflet-marker-shadow {
23
+ -webkit-user-select: none;
24
+ -moz-user-select: none;
25
+ user-select: none;
26
+ -webkit-user-drag: none;
27
+ }
28
+ /* Safari renders non-retina tile on retina better with this, but Chrome is worse */
29
+ .leaflet-safari .leaflet-tile {
30
+ image-rendering: -webkit-optimize-contrast;
31
+ }
32
+ /* hack that prevents hw layers "stretching" when loading new tiles */
33
+ .leaflet-safari .leaflet-tile-container {
34
+ width: 1600px;
35
+ height: 1600px;
36
+ -webkit-transform-origin: 0 0;
37
+ }
38
+ .leaflet-marker-icon,
39
+ .leaflet-marker-shadow {
40
+ display: block;
41
+ }
42
+ /* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
43
+ /* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
44
+ .leaflet-container .leaflet-overlay-pane svg,
45
+ .leaflet-container .leaflet-marker-pane img,
46
+ .leaflet-container .leaflet-shadow-pane img,
47
+ .leaflet-container .leaflet-tile-pane img,
48
+ .leaflet-container img.leaflet-image-layer,
49
+ .leaflet-container .leaflet-tile {
50
+ max-width: none !important;
51
+ max-height: none !important;
52
+ }
53
+
54
+ .leaflet-container.leaflet-touch-zoom {
55
+ -ms-touch-action: pan-x pan-y;
56
+ touch-action: pan-x pan-y;
57
+ }
58
+ .leaflet-container.leaflet-touch-drag {
59
+ -ms-touch-action: pinch-zoom;
60
+ /* Fallback for FF which doesn't support pinch-zoom */
61
+ touch-action: none;
62
+ touch-action: pinch-zoom;
63
+ }
64
+ .leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
65
+ -ms-touch-action: none;
66
+ touch-action: none;
67
+ }
68
+ .leaflet-container {
69
+ -webkit-tap-highlight-color: transparent;
70
+ }
71
+ .leaflet-container a {
72
+ -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
73
+ }
74
+ .leaflet-tile {
75
+ filter: inherit;
76
+ visibility: hidden;
77
+ }
78
+ .leaflet-tile-loaded {
79
+ visibility: inherit;
80
+ }
81
+ .leaflet-zoom-box {
82
+ width: 0;
83
+ height: 0;
84
+ -moz-box-sizing: border-box;
85
+ box-sizing: border-box;
86
+ z-index: 800;
87
+ }
88
+ /* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
89
+ .leaflet-overlay-pane svg {
90
+ -moz-user-select: none;
91
+ }
92
+
93
+ .leaflet-pane { z-index: 400; }
94
+
95
+ .leaflet-tile-pane { z-index: 200; }
96
+ .leaflet-overlay-pane { z-index: 400; }
97
+ .leaflet-shadow-pane { z-index: 500; }
98
+ .leaflet-marker-pane { z-index: 600; }
99
+ .leaflet-tooltip-pane { z-index: 650; }
100
+ .leaflet-popup-pane { z-index: 700; }
101
+
102
+ .leaflet-map-pane canvas { z-index: 100; }
103
+ .leaflet-map-pane svg { z-index: 200; }
104
+
105
+ .leaflet-vml-shape {
106
+ width: 1px;
107
+ height: 1px;
108
+ }
109
+ .lvml {
110
+ behavior: url(#default#VML);
111
+ display: inline-block;
112
+ position: absolute;
113
+ }
114
+
115
+
116
+ /* control positioning */
117
+
118
+ .leaflet-control {
119
+ position: relative;
120
+ z-index: 800;
121
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
122
+ pointer-events: auto;
123
+ }
124
+ .leaflet-top,
125
+ .leaflet-bottom {
126
+ position: absolute;
127
+ z-index: 1000;
128
+ pointer-events: none;
129
+ }
130
+ .leaflet-top {
131
+ top: 0;
132
+ }
133
+ .leaflet-right {
134
+ right: 0;
135
+ }
136
+ .leaflet-bottom {
137
+ bottom: 0;
138
+ }
139
+ .leaflet-left {
140
+ left: 0;
141
+ }
142
+ .leaflet-control {
143
+ float: left;
144
+ clear: both;
145
+ }
146
+ .leaflet-right .leaflet-control {
147
+ float: right;
148
+ }
149
+ .leaflet-top .leaflet-control {
150
+ margin-top: 10px;
151
+ }
152
+ .leaflet-bottom .leaflet-control {
153
+ margin-bottom: 10px;
154
+ }
155
+ .leaflet-left .leaflet-control {
156
+ margin-left: 10px;
157
+ }
158
+ .leaflet-right .leaflet-control {
159
+ margin-right: 10px;
160
+ }
161
+
162
+
163
+ /* zoom and fade animations */
164
+
165
+ .leaflet-fade-anim .leaflet-tile {
166
+ will-change: opacity;
167
+ }
168
+ .leaflet-fade-anim .leaflet-popup {
169
+ opacity: 0;
170
+ -webkit-transition: opacity 0.2s linear;
171
+ -moz-transition: opacity 0.2s linear;
172
+ transition: opacity 0.2s linear;
173
+ }
174
+ .leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
175
+ opacity: 1;
176
+ }
177
+ .leaflet-zoom-animated {
178
+ -webkit-transform-origin: 0 0;
179
+ -ms-transform-origin: 0 0;
180
+ transform-origin: 0 0;
181
+ }
182
+ .leaflet-zoom-anim .leaflet-zoom-animated {
183
+ will-change: transform;
184
+ }
185
+ .leaflet-zoom-anim .leaflet-zoom-animated {
186
+ -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
187
+ -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
188
+ transition: transform 0.25s cubic-bezier(0,0,0.25,1);
189
+ }
190
+ .leaflet-zoom-anim .leaflet-tile,
191
+ .leaflet-pan-anim .leaflet-tile {
192
+ -webkit-transition: none;
193
+ -moz-transition: none;
194
+ transition: none;
195
+ }
196
+
197
+ .leaflet-zoom-anim .leaflet-zoom-hide {
198
+ visibility: hidden;
199
+ }
200
+
201
+
202
+ /* cursors */
203
+
204
+ .leaflet-interactive {
205
+ cursor: pointer;
206
+ }
207
+ .leaflet-grab {
208
+ cursor: -webkit-grab;
209
+ cursor: -moz-grab;
210
+ cursor: grab;
211
+ }
212
+ .leaflet-crosshair,
213
+ .leaflet-crosshair .leaflet-interactive {
214
+ cursor: crosshair;
215
+ }
216
+ .leaflet-popup-pane,
217
+ .leaflet-control {
218
+ cursor: auto;
219
+ }
220
+ .leaflet-dragging .leaflet-grab,
221
+ .leaflet-dragging .leaflet-grab .leaflet-interactive,
222
+ .leaflet-dragging .leaflet-marker-draggable {
223
+ cursor: move;
224
+ cursor: -webkit-grabbing;
225
+ cursor: -moz-grabbing;
226
+ cursor: grabbing;
227
+ }
228
+
229
+ /* marker & overlays interactivity */
230
+ .leaflet-marker-icon,
231
+ .leaflet-marker-shadow,
232
+ .leaflet-image-layer,
233
+ .leaflet-pane > svg path,
234
+ .leaflet-tile-container {
235
+ pointer-events: none;
236
+ }
237
+
238
+ .leaflet-marker-icon.leaflet-interactive,
239
+ .leaflet-image-layer.leaflet-interactive,
240
+ .leaflet-pane > svg path.leaflet-interactive {
241
+ pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
242
+ pointer-events: auto;
243
+ }
244
+
245
+ /* visual tweaks */
246
+
247
+ .leaflet-container {
248
+ background: #ddd;
249
+ outline: 0;
250
+ }
251
+ .leaflet-container a {
252
+ color: #0078A8;
253
+ }
254
+ .leaflet-container a.leaflet-active {
255
+ outline: 2px solid orange;
256
+ }
257
+ .leaflet-zoom-box {
258
+ border: 2px dotted #38f;
259
+ background: rgba(255,255,255,0.5);
260
+ }
261
+
262
+
263
+ /* general typography */
264
+ .leaflet-container {
265
+ font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
266
+ }
267
+
268
+
269
+ /* general toolbar styles */
270
+
271
+ .leaflet-bar {
272
+ box-shadow: 0 1px 5px rgba(0,0,0,0.65);
273
+ border-radius: 4px;
274
+ }
275
+ .leaflet-bar a,
276
+ .leaflet-bar a:hover {
277
+ background-color: #fff;
278
+ border-bottom: 1px solid #ccc;
279
+ width: 26px;
280
+ height: 26px;
281
+ line-height: 26px;
282
+ display: block;
283
+ text-align: center;
284
+ text-decoration: none;
285
+ color: black;
286
+ }
287
+ .leaflet-bar a,
288
+ .leaflet-control-layers-toggle {
289
+ background-position: 50% 50%;
290
+ background-repeat: no-repeat;
291
+ display: block;
292
+ }
293
+ .leaflet-bar a:hover {
294
+ background-color: #f4f4f4;
295
+ }
296
+ .leaflet-bar a:first-child {
297
+ border-top-left-radius: 4px;
298
+ border-top-right-radius: 4px;
299
+ }
300
+ .leaflet-bar a:last-child {
301
+ border-bottom-left-radius: 4px;
302
+ border-bottom-right-radius: 4px;
303
+ border-bottom: none;
304
+ }
305
+ .leaflet-bar a.leaflet-disabled {
306
+ cursor: default;
307
+ background-color: #f4f4f4;
308
+ color: #bbb;
309
+ }
310
+
311
+ .leaflet-touch .leaflet-bar a {
312
+ width: 30px;
313
+ height: 30px;
314
+ line-height: 30px;
315
+ }
316
+ .leaflet-touch .leaflet-bar a:first-child {
317
+ border-top-left-radius: 2px;
318
+ border-top-right-radius: 2px;
319
+ }
320
+ .leaflet-touch .leaflet-bar a:last-child {
321
+ border-bottom-left-radius: 2px;
322
+ border-bottom-right-radius: 2px;
323
+ }
324
+
325
+ /* zoom control */
326
+
327
+ .leaflet-control-zoom-in,
328
+ .leaflet-control-zoom-out {
329
+ font: bold 18px 'Lucida Console', Monaco, monospace;
330
+ text-indent: 1px;
331
+ }
332
+
333
+ .leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
334
+ font-size: 22px;
335
+ }
336
+
337
+
338
+ /* layers control */
339
+
340
+ .leaflet-control-layers {
341
+ box-shadow: 0 1px 5px rgba(0,0,0,0.4);
342
+ background: #fff;
343
+ border-radius: 5px;
344
+ }
345
+ .leaflet-control-layers-toggle {
346
+ background-image: url(images/layers.png);
347
+ width: 36px;
348
+ height: 36px;
349
+ }
350
+ .leaflet-retina .leaflet-control-layers-toggle {
351
+ background-image: url(images/layers-2x.png);
352
+ background-size: 26px 26px;
353
+ }
354
+ .leaflet-touch .leaflet-control-layers-toggle {
355
+ width: 44px;
356
+ height: 44px;
357
+ }
358
+ .leaflet-control-layers .leaflet-control-layers-list,
359
+ .leaflet-control-layers-expanded .leaflet-control-layers-toggle {
360
+ display: none;
361
+ }
362
+ .leaflet-control-layers-expanded .leaflet-control-layers-list {
363
+ display: block;
364
+ position: relative;
365
+ }
366
+ .leaflet-control-layers-expanded {
367
+ padding: 6px 10px 6px 6px;
368
+ color: #333;
369
+ background: #fff;
370
+ }
371
+ .leaflet-control-layers-scrollbar {
372
+ overflow-y: scroll;
373
+ overflow-x: hidden;
374
+ padding-right: 5px;
375
+ }
376
+ .leaflet-control-layers-selector {
377
+ margin-top: 2px;
378
+ position: relative;
379
+ top: 1px;
380
+ }
381
+ .leaflet-control-layers label {
382
+ display: block;
383
+ }
384
+ .leaflet-control-layers-separator {
385
+ height: 0;
386
+ border-top: 1px solid #ddd;
387
+ margin: 5px -10px 5px -6px;
388
+ }
389
+
390
+ /* Default icon URLs */
391
+ .leaflet-default-icon-path {
392
+ background-image: url(images/marker-icon.png);
393
+ }
394
+
395
+
396
+ /* attribution and scale controls */
397
+
398
+ .leaflet-container .leaflet-control-attribution {
399
+ background: #fff;
400
+ background: rgba(255, 255, 255, 0.7);
401
+ margin: 0;
402
+ }
403
+ .leaflet-control-attribution,
404
+ .leaflet-control-scale-line {
405
+ padding: 0 5px;
406
+ color: #333;
407
+ }
408
+ .leaflet-control-attribution a {
409
+ text-decoration: none;
410
+ }
411
+ .leaflet-control-attribution a:hover {
412
+ text-decoration: underline;
413
+ }
414
+ .leaflet-container .leaflet-control-attribution,
415
+ .leaflet-container .leaflet-control-scale {
416
+ font-size: 11px;
417
+ }
418
+ .leaflet-left .leaflet-control-scale {
419
+ margin-left: 5px;
420
+ }
421
+ .leaflet-bottom .leaflet-control-scale {
422
+ margin-bottom: 5px;
423
+ }
424
+ .leaflet-control-scale-line {
425
+ border: 2px solid #777;
426
+ border-top: none;
427
+ line-height: 1.1;
428
+ padding: 2px 5px 1px;
429
+ font-size: 11px;
430
+ white-space: nowrap;
431
+ overflow: hidden;
432
+ -moz-box-sizing: border-box;
433
+ box-sizing: border-box;
434
+
435
+ background: #fff;
436
+ background: rgba(255, 255, 255, 0.5);
437
+ }
438
+ .leaflet-control-scale-line:not(:first-child) {
439
+ border-top: 2px solid #777;
440
+ border-bottom: none;
441
+ margin-top: -2px;
442
+ }
443
+ .leaflet-control-scale-line:not(:first-child):not(:last-child) {
444
+ border-bottom: 2px solid #777;
445
+ }
446
+
447
+ .leaflet-touch .leaflet-control-attribution,
448
+ .leaflet-touch .leaflet-control-layers,
449
+ .leaflet-touch .leaflet-bar {
450
+ box-shadow: none;
451
+ }
452
+ .leaflet-touch .leaflet-control-layers,
453
+ .leaflet-touch .leaflet-bar {
454
+ border: 2px solid rgba(0,0,0,0.2);
455
+ background-clip: padding-box;
456
+ }
457
+
458
+
459
+ /* popup */
460
+
461
+ .leaflet-popup {
462
+ position: absolute;
463
+ text-align: center;
464
+ margin-bottom: 20px;
465
+ }
466
+ .leaflet-popup-content-wrapper {
467
+ padding: 1px;
468
+ text-align: left;
469
+ border-radius: 12px;
470
+ }
471
+ .leaflet-popup-content {
472
+ margin: 13px 19px;
473
+ line-height: 1.4;
474
+ }
475
+ .leaflet-popup-content p {
476
+ margin: 18px 0;
477
+ }
478
+ .leaflet-popup-tip-container {
479
+ width: 40px;
480
+ height: 20px;
481
+ position: absolute;
482
+ left: 50%;
483
+ margin-left: -20px;
484
+ overflow: hidden;
485
+ pointer-events: none;
486
+ }
487
+ .leaflet-popup-tip {
488
+ width: 17px;
489
+ height: 17px;
490
+ padding: 1px;
491
+
492
+ margin: -10px auto 0;
493
+
494
+ -webkit-transform: rotate(45deg);
495
+ -moz-transform: rotate(45deg);
496
+ -ms-transform: rotate(45deg);
497
+ transform: rotate(45deg);
498
+ }
499
+ .leaflet-popup-content-wrapper,
500
+ .leaflet-popup-tip {
501
+ background: white;
502
+ color: #333;
503
+ box-shadow: 0 3px 14px rgba(0,0,0,0.4);
504
+ }
505
+ .leaflet-container a.leaflet-popup-close-button {
506
+ position: absolute;
507
+ top: 0;
508
+ right: 0;
509
+ padding: 4px 4px 0 0;
510
+ border: none;
511
+ text-align: center;
512
+ width: 18px;
513
+ height: 14px;
514
+ font: 16px/14px Tahoma, Verdana, sans-serif;
515
+ color: #c3c3c3;
516
+ text-decoration: none;
517
+ font-weight: bold;
518
+ background: transparent;
519
+ }
520
+ .leaflet-container a.leaflet-popup-close-button:hover {
521
+ color: #999;
522
+ }
523
+ .leaflet-popup-scrolled {
524
+ overflow: auto;
525
+ border-bottom: 1px solid #ddd;
526
+ border-top: 1px solid #ddd;
527
+ }
528
+
529
+ .leaflet-oldie .leaflet-popup-content-wrapper {
530
+ zoom: 1;
531
+ }
532
+ .leaflet-oldie .leaflet-popup-tip {
533
+ width: 24px;
534
+ margin: 0 auto;
535
+
536
+ -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
537
+ filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
538
+ }
539
+ .leaflet-oldie .leaflet-popup-tip-container {
540
+ margin-top: -1px;
541
+ }
542
+
543
+ .leaflet-oldie .leaflet-control-zoom,
544
+ .leaflet-oldie .leaflet-control-layers,
545
+ .leaflet-oldie .leaflet-popup-content-wrapper,
546
+ .leaflet-oldie .leaflet-popup-tip {
547
+ border: 1px solid #999;
548
+ }
549
+
550
+
551
+ /* div icon */
552
+
553
+ .leaflet-div-icon {
554
+ background: #fff;
555
+ border: 1px solid #666;
556
+ }
557
+
558
+
559
+ /* Tooltip */
560
+ /* Base styles for the element that has a tooltip */
561
+ .leaflet-tooltip {
562
+ position: absolute;
563
+ padding: 6px;
564
+ background-color: #fff;
565
+ border: 1px solid #fff;
566
+ border-radius: 3px;
567
+ color: #222;
568
+ white-space: nowrap;
569
+ -webkit-user-select: none;
570
+ -moz-user-select: none;
571
+ -ms-user-select: none;
572
+ user-select: none;
573
+ pointer-events: none;
574
+ box-shadow: 0 1px 3px rgba(0,0,0,0.4);
575
+ }
576
+ .leaflet-tooltip.leaflet-clickable {
577
+ cursor: pointer;
578
+ pointer-events: auto;
579
+ }
580
+ .leaflet-tooltip-top:before,
581
+ .leaflet-tooltip-bottom:before,
582
+ .leaflet-tooltip-left:before,
583
+ .leaflet-tooltip-right:before {
584
+ position: absolute;
585
+ pointer-events: none;
586
+ border: 6px solid transparent;
587
+ background: transparent;
588
+ content: "";
589
+ }
590
+
591
+ /* Directions */
592
+
593
+ .leaflet-tooltip-bottom {
594
+ margin-top: 6px;
595
+ }
596
+ .leaflet-tooltip-top {
597
+ margin-top: -6px;
598
+ }
599
+ .leaflet-tooltip-bottom:before,
600
+ .leaflet-tooltip-top:before {
601
+ left: 50%;
602
+ margin-left: -6px;
603
+ }
604
+ .leaflet-tooltip-top:before {
605
+ bottom: 0;
606
+ margin-bottom: -12px;
607
+ border-top-color: #fff;
608
+ }
609
+ .leaflet-tooltip-bottom:before {
610
+ top: 0;
611
+ margin-top: -12px;
612
+ margin-left: -6px;
613
+ border-bottom-color: #fff;
614
+ }
615
+ .leaflet-tooltip-left {
616
+ margin-left: -6px;
617
+ }
618
+ .leaflet-tooltip-right {
619
+ margin-left: 6px;
620
+ }
621
+ .leaflet-tooltip-left:before,
622
+ .leaflet-tooltip-right:before {
623
+ top: 50%;
624
+ margin-top: -6px;
625
+ }
626
+ .leaflet-tooltip-left:before {
627
+ right: 0;
628
+ margin-right: -12px;
629
+ border-left-color: #fff;
630
+ }
631
+ .leaflet-tooltip-right:before {
632
+ left: 0;
633
+ margin-left: -12px;
634
+ border-right-color: #fff;
635
+ }