geoblacklight 2.1.2 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +214 -108
- data/.gitignore +3 -1
- data/.rubocop.yml +19 -15
- data/.rubocop_todo.yml +28 -159
- data/Gemfile +3 -8
- data/README.md +6 -7
- data/Rakefile +1 -0
- data/app/assets/images/blacklight/arrow-circle-down.svg +3 -0
- data/app/assets/images/blacklight/baruch-cuny.svg +3 -0
- data/app/assets/images/blacklight/berkeley.svg +4 -0
- data/app/assets/images/blacklight/book.svg +3 -0
- data/app/assets/images/blacklight/bookmark.svg +3 -0
- data/app/assets/images/blacklight/cd-rom.svg +3 -0
- data/app/assets/images/blacklight/chicago.svg +4 -0
- data/app/assets/images/blacklight/citation.svg +3 -0
- data/app/assets/images/blacklight/collection.svg +3 -0
- data/app/assets/images/blacklight/columbia.svg +3 -0
- data/app/assets/images/blacklight/cornell.svg +5 -0
- data/app/assets/images/blacklight/dvd-rom.svg +3 -0
- data/app/assets/images/blacklight/email.svg +3 -0
- data/app/assets/images/blacklight/esri-globe.svg +31 -37
- data/app/assets/images/blacklight/geoblacklight-icons.json +2079 -0
- data/app/assets/images/blacklight/globe.svg +3 -0
- data/app/assets/images/blacklight/harvard.svg +3 -0
- data/app/assets/images/blacklight/home.svg +3 -0
- data/app/assets/images/blacklight/illinois.svg +4 -0
- data/app/assets/images/blacklight/image.svg +3 -0
- data/app/assets/images/blacklight/indiana.svg +3 -0
- data/app/assets/images/blacklight/iowa.svg +3 -0
- data/app/assets/images/blacklight/leaf.svg +3 -0
- data/app/assets/images/blacklight/lewis-clark.svg +5 -0
- data/app/assets/images/blacklight/line.svg +4 -0
- data/app/assets/images/blacklight/logo.svg +1 -0
- data/app/assets/images/blacklight/map-marker.svg +3 -0
- data/app/assets/images/blacklight/map.svg +3 -0
- data/app/assets/images/blacklight/maryland.svg +3 -0
- data/app/assets/images/blacklight/massgis.svg +3 -0
- data/app/assets/images/blacklight/metadata.svg +3 -0
- data/app/assets/images/blacklight/michigan-state.svg +4 -0
- data/app/assets/images/blacklight/michigan.svg +3 -0
- data/app/assets/images/blacklight/minnesota.svg +3 -0
- data/app/assets/images/blacklight/mit.svg +3 -0
- data/app/assets/images/blacklight/mixed.svg +5 -0
- data/app/assets/images/blacklight/multilinestring.svg +6 -0
- data/app/assets/images/blacklight/multipoint.svg +3 -0
- data/app/assets/images/blacklight/multipolygon.svg +6 -0
- data/app/assets/images/blacklight/nyu.svg +6 -0
- data/app/assets/images/blacklight/ohio-state.svg +5 -0
- data/app/assets/images/blacklight/pagelines-brands.svg +3 -0
- data/app/assets/images/blacklight/paper-map.svg +3 -0
- data/app/assets/images/blacklight/penn-state.svg +4 -0
- data/app/assets/images/blacklight/point.svg +3 -0
- data/app/assets/images/blacklight/polygon.svg +4 -0
- data/app/assets/images/blacklight/polyline.svg +6 -0
- data/app/assets/images/blacklight/princeton.svg +3 -0
- data/app/assets/images/blacklight/public.svg +3 -0
- data/app/assets/images/blacklight/purdue.svg +4 -0
- data/app/assets/images/blacklight/raster.svg +3 -0
- data/app/assets/images/blacklight/restricted.svg +3 -0
- data/app/assets/images/blacklight/sms.svg +3 -0
- data/app/assets/images/blacklight/stanford.svg +3 -0
- data/app/assets/images/blacklight/table.svg +3 -0
- data/app/assets/images/blacklight/tags.svg +3 -0
- data/app/assets/images/blacklight/texas.svg +3 -0
- data/app/assets/images/blacklight/tufts.svg +3 -0
- data/app/assets/images/blacklight/ucla.svg +3 -0
- data/app/assets/images/blacklight/uva.svg +3 -0
- data/app/assets/images/blacklight/web_services.svg +3 -0
- data/app/assets/images/blacklight/wisconsin.svg +3 -0
- data/app/assets/javascripts/geoblacklight/basemaps.js +18 -0
- data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +1 -1
- data/app/assets/javascripts/geoblacklight/modules/geosearch.js +1 -1
- data/app/assets/javascripts/geoblacklight/modules/help_text.js +7 -0
- data/app/assets/javascripts/geoblacklight/modules/home.js +1 -1
- data/app/assets/javascripts/geoblacklight/modules/item.js +19 -2
- data/app/assets/javascripts/geoblacklight/modules/results.js +4 -2
- data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +31 -0
- data/app/assets/javascripts/geoblacklight/viewers/esri.js +2 -2
- data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +1 -1
- data/app/assets/javascripts/geoblacklight/viewers/oembed.js +13 -0
- data/app/assets/javascripts/geoblacklight/viewers/wms.js +2 -2
- data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +2 -0
- data/app/assets/stylesheets/geoblacklight/modules/_base.scss +33 -0
- data/app/assets/stylesheets/geoblacklight/{_blacklight_overrides.scss → modules/_blacklight_overrides.scss} +8 -9
- data/app/assets/stylesheets/geoblacklight/{_styles.scss → modules/_styles.scss} +1 -0
- data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +37 -54
- data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +49 -59
- data/app/assets/stylesheets/geoblacklight/modules/item.scss +17 -0
- data/app/assets/stylesheets/geoblacklight/modules/results.scss +47 -28
- data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +12 -42
- data/app/assets/stylesheets/geoblacklight/modules/toolbar.scss +17 -55
- data/app/controllers/download_controller.rb +12 -12
- data/app/controllers/relation_controller.rb +1 -0
- data/app/controllers/wms_controller.rb +1 -0
- data/app/helpers/arcgis_helper.rb +1 -0
- data/app/helpers/blacklight_helper.rb +1 -0
- data/app/helpers/carto_helper.rb +1 -0
- data/app/helpers/geoblacklight_helper.rb +62 -19
- data/app/models/concerns/geoblacklight/solr_document.rb +18 -8
- data/app/models/concerns/geoblacklight/solr_document/arcgis.rb +2 -1
- data/app/models/concerns/geoblacklight/solr_document/carto.rb +1 -13
- data/app/models/concerns/geoblacklight/solr_document/citation.rb +29 -0
- data/app/models/concerns/geoblacklight/solr_document/finder.rb +1 -0
- data/app/models/concerns/geoblacklight/solr_document/inspection.rb +2 -1
- data/app/models/concerns/geoblacklight/spatial_search_behavior.rb +8 -1
- data/app/presenters/geoblacklight/document_presenter.rb +2 -1
- data/app/views/catalog/_arcgis.html.erb +4 -0
- data/app/views/catalog/_carto.html.erb +4 -0
- data/app/views/catalog/_citation.html.erb +11 -0
- data/app/views/catalog/_data_dictionary.html.erb +3 -2
- data/app/views/catalog/_document_action.html.erb +1 -1
- data/app/views/catalog/_document_split.html.erb +1 -1
- data/app/views/catalog/_downloads_primary.html.erb +8 -1
- data/app/views/catalog/_header_icons.html.erb +3 -3
- data/app/views/catalog/_home_text.html.erb +8 -5
- data/app/views/catalog/_index_split_default.html.erb +22 -14
- data/app/views/catalog/_show_default_viewer_container.html.erb +6 -1
- data/app/views/catalog/_show_header_default.html.erb +2 -4
- data/app/views/catalog/_web_services_wfs.html.erb +3 -3
- data/app/views/catalog/_web_services_wms.html.erb +3 -3
- data/app/views/catalog/metadata.html.erb +3 -1
- data/app/views/catalog/web_services.html.erb +9 -7
- data/app/views/relation/_ancestors.html.erb +3 -5
- data/app/views/relation/_descendants.html.erb +4 -6
- data/app/views/relation/index.html.erb +20 -8
- data/app/views/relation/index.json.jbuilder +2 -1
- data/app/views/shared/_header_navbar.html.erb +1 -1
- data/bin/coverage.rb +36 -0
- data/config/initializers/rails_config.rb +1 -0
- data/config/locales/geoblacklight.en.yml +75 -2
- data/geoblacklight.gemspec +6 -8
- data/lib/generators/geoblacklight/assets_generator.rb +46 -0
- data/lib/generators/geoblacklight/install_generator.rb +8 -9
- data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +1 -0
- data/lib/generators/geoblacklight/templates/assets/_customizations.scss +28 -0
- data/{app/assets/stylesheets/geoblacklight/application.scss → lib/generators/geoblacklight/templates/assets/_geoblacklight.scss} +0 -1
- data/lib/generators/geoblacklight/templates/assets/application.scss +7 -0
- data/lib/generators/geoblacklight/templates/{geoblacklight.js → assets/geoblacklight.js} +0 -1
- data/lib/generators/geoblacklight/templates/catalog_controller.rb +6 -2
- data/lib/generators/geoblacklight/templates/settings.yml +17 -0
- data/lib/generators/geoblacklight/webpacker_generator.rb +2 -1
- data/lib/geoblacklight.rb +1 -0
- data/lib/geoblacklight/bounding_box.rb +1 -0
- data/lib/geoblacklight/catalog_helper_override.rb +2 -1
- data/lib/geoblacklight/constants.rb +4 -2
- data/lib/geoblacklight/download.rb +6 -5
- data/lib/geoblacklight/download/geojson_download.rb +1 -0
- data/lib/geoblacklight/download/geotiff_download.rb +1 -0
- data/lib/geoblacklight/download/hgl_download.rb +1 -0
- data/lib/geoblacklight/download/kmz_download.rb +2 -1
- data/lib/geoblacklight/download/shapefile_download.rb +1 -0
- data/lib/geoblacklight/engine.rb +1 -2
- data/lib/geoblacklight/exceptions.rb +1 -0
- data/lib/geoblacklight/geoblacklight_helper_behavior.rb +1 -0
- data/lib/geoblacklight/item_viewer.rb +6 -1
- data/lib/geoblacklight/metadata.rb +1 -0
- data/lib/geoblacklight/metadata/base.rb +16 -10
- data/lib/geoblacklight/metadata/fgdc.rb +1 -0
- data/lib/geoblacklight/metadata/html.rb +2 -2
- data/lib/geoblacklight/metadata/iso19139.rb +1 -0
- data/lib/geoblacklight/metadata_transformer.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/base.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/fgdc.rb +1 -0
- data/lib/geoblacklight/metadata_transformer/iso19139.rb +1 -0
- data/lib/geoblacklight/reference.rb +3 -1
- data/lib/geoblacklight/references.rb +7 -3
- data/lib/geoblacklight/relation/ancestors.rb +2 -1
- data/lib/geoblacklight/relation/descendants.rb +2 -1
- data/lib/geoblacklight/relation/relation_response.rb +2 -1
- data/lib/geoblacklight/routes.rb +1 -0
- data/lib/geoblacklight/routes/downloadable.rb +1 -0
- data/lib/geoblacklight/routes/exportable.rb +1 -0
- data/lib/geoblacklight/routes/wms.rb +1 -0
- data/lib/geoblacklight/version.rb +2 -1
- data/lib/geoblacklight/view_helper_override.rb +2 -1
- data/lib/geoblacklight/wms_layer.rb +3 -2
- data/lib/geoblacklight/wms_layer/feature_info_response.rb +1 -0
- data/lib/tasks/geoblacklight.rake +33 -32
- data/package.json +4 -0
- data/schema/references.md +2 -1
- data/solr/conf/schema.xml +5 -5
- data/spec/controllers/catalog_controller_spec.rb +1 -0
- data/spec/controllers/download_controller_spec.rb +2 -1
- data/spec/controllers/relation_controller_spec.rb +1 -0
- data/spec/controllers/wms_controller_spec.rb +2 -1
- data/spec/factories/user.rb +1 -0
- data/spec/features/bookmarks_spec.rb +1 -0
- data/spec/features/configurable_basemap_spec.rb +10 -0
- data/spec/features/data_dictionary_download_spec.rb +1 -0
- data/spec/features/download_layer_spec.rb +1 -0
- data/spec/features/empty_search_spec.rb +1 -0
- data/spec/features/esri_viewer_spec.rb +1 -6
- data/spec/features/exports_spec.rb +4 -3
- data/spec/features/help_text_spec.rb +9 -0
- data/spec/features/home_page_spec.rb +6 -0
- data/spec/features/iiif_viewer_spec.rb +1 -0
- data/spec/features/index_map_spec.rb +1 -0
- data/spec/features/layer_inspection_spec.rb +1 -0
- data/spec/features/layer_opacity_spec.rb +1 -0
- data/spec/features/layer_preview_spec.rb +1 -0
- data/spec/features/layer_with_no_references_spec.rb +1 -0
- data/spec/features/linkified_attribute_table_spec.rb +1 -0
- data/spec/features/metadata_panel_spec.rb +52 -8
- data/spec/features/missing_metadata_spec.rb +13 -0
- data/spec/features/multiple_downloads_spec.rb +15 -0
- data/spec/features/oembed_spec.rb +10 -0
- data/spec/features/relations_spec.rb +10 -28
- data/spec/features/saved_searches_spec.rb +1 -0
- data/spec/features/search_bar_spec.rb +1 -0
- data/spec/features/search_results_map_spec.rb +2 -7
- data/spec/features/search_results_overlap_ratio_spec.rb +4 -3
- data/spec/features/search_spec.rb +1 -0
- data/spec/features/show_page_metadata_spec.rb +1 -0
- data/spec/features/sms_spec.rb +1 -0
- data/spec/features/split_view.html.erb_spec.rb +5 -4
- data/spec/features/suppressed_records_spec.rb +15 -0
- data/spec/features/web_services_modal_spec.rb +1 -0
- data/spec/fixtures/fgdc/harvard-g7064-s2-1834-k3.xml +1 -0
- data/spec/fixtures/iso19139/stanford-cg357zz0321.xml +581 -0
- data/spec/fixtures/mods/fb897vt9938.mods +111 -0
- data/spec/fixtures/mods/stanford-cg357zz0321.mods +113 -0
- data/spec/fixtures/solr_documents/iiif-eastern-hemisphere.json +1 -1
- data/spec/fixtures/solr_documents/metadata_no_dct_provenance_s.json +30 -0
- data/spec/fixtures/solr_documents/metadata_no_layer_geom_type_s.json +17 -0
- data/spec/fixtures/solr_documents/metadata_no_solr_geom.json +23 -0
- data/spec/fixtures/solr_documents/multiple-downloads.json +30 -0
- data/spec/fixtures/solr_documents/oembed.json +24 -0
- data/spec/helpers/arcgis_helper_spec.rb +1 -0
- data/spec/helpers/carto_helper_spec.rb +1 -0
- data/spec/helpers/geoblacklight_helper_spec.rb +81 -12
- data/spec/javascripts/geoblacklight/viewers/esri/tiled_map_layer_spec.js +12 -0
- data/spec/javascripts/metadata_download_button_spec.js +1 -1
- data/spec/lib/geoblacklight/bounding_box_spec.rb +1 -0
- data/spec/lib/geoblacklight/controller_override_spec.rb +1 -0
- data/spec/lib/geoblacklight/document_presenter_spec.rb +3 -2
- data/spec/lib/geoblacklight/download/geojson_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/geotiff_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/hgl_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/kmz_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download/shapefile_download_spec.rb +1 -0
- data/spec/lib/geoblacklight/download_spec.rb +4 -3
- data/spec/lib/geoblacklight/geoblacklight_helper_behavior_spec.rb +1 -0
- data/spec/lib/geoblacklight/item_viewer_spec.rb +1 -0
- data/spec/lib/geoblacklight/metadata/base_spec.rb +22 -7
- data/spec/lib/geoblacklight/metadata/html_spec.rb +1 -0
- data/spec/lib/geoblacklight/metadata_spec.rb +1 -0
- data/spec/lib/geoblacklight/metadata_transformer/base_spec.rb +3 -2
- data/spec/lib/geoblacklight/metadata_transformer/fgdc_spec.rb +3 -2
- data/spec/lib/geoblacklight/metadata_transformer/iso19139_spec.rb +3 -2
- data/spec/lib/geoblacklight/metadata_transformer_spec.rb +4 -3
- data/spec/lib/geoblacklight/reference_spec.rb +31 -0
- data/spec/lib/geoblacklight/references_spec.rb +2 -3
- data/spec/lib/geoblacklight/relation/ancestors_spec.rb +2 -1
- data/spec/lib/geoblacklight/relation/descendants_spec.rb +2 -1
- data/spec/lib/geoblacklight/relation/relation_response_spec.rb +1 -0
- data/spec/lib/geoblacklight/view_helper_override_spec.rb +1 -0
- data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +5 -4
- data/spec/lib/geoblacklight/wms_layer_spec.rb +3 -2
- data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +1 -20
- data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +14 -0
- data/spec/models/concerns/geoblacklight/solr_document/finder_spec.rb +1 -0
- data/spec/models/concerns/geoblacklight/solr_document/inspection_spec.rb +1 -0
- data/spec/models/concerns/geoblacklight/solr_document_spec.rb +47 -0
- data/spec/models/concerns/geoblacklight/spatial_search_behavior_spec.rb +15 -2
- data/spec/routing/catalog_routing_spec.rb +1 -0
- data/spec/spec_helper.rb +20 -14
- data/spec/support/backport_test_helpers.rb +1 -0
- data/spec/support/features.rb +1 -0
- data/spec/support/features/session_helpers.rb +1 -0
- data/spec/support/fixtures.rb +8 -0
- data/spec/tasks/geoblacklight_spec.rb +19 -0
- data/spec/teaspoon_env.rb +1 -0
- data/spec/test_app_templates/Gemfile.extra +1 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -0
- data/spec/views/catalog/_document_split.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_index_split.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_results_pagination.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_show_downloads.html.erb_spec.rb +1 -0
- data/spec/views/catalog/_show_tools.html.erb_spec.rb +2 -4
- data/template.rb +1 -0
- data/vendor/assets/stylesheets/leaflet.css +0 -1
- metadata +158 -75
- data/app/assets/images/blacklight/logo.png +0 -0
- data/app/assets/javascripts/geoblacklight/modules/collapse.js +0 -7
- data/app/assets/stylesheets/geoblacklight/_geoblacklight.scss +0 -36
- data/app/assets/stylesheets/geoblacklight/modules/relations.scss +0 -15
- data/app/views/catalog/_exports.html.erb +0 -11
- data/app/views/catalog/_show_tools.html.erb +0 -25
- data/lib/generators/geoblacklight/templates/geoblacklight.scss +0 -4
- data/vendor/assets/javascripts/readmore.min.js +0 -11
Binary file
|
@@ -1,36 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
3
|
-
* listed below.
|
4
|
-
*
|
5
|
-
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
6
|
-
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
7
|
-
*
|
8
|
-
* You're free to add application-wide styles to this file and they'll appear at the top of the
|
9
|
-
* compiled file, but it's generally better to create a new file per style scope.
|
10
|
-
*
|
11
|
-
*/
|
12
|
-
@import 'leaflet';
|
13
|
-
@import 'geoblacklight-icons-rails';
|
14
|
-
@import 'font-awesome';
|
15
|
-
@import 'geoblacklight/styles';
|
16
|
-
@import 'modules/facets';
|
17
|
-
@import 'modules/mixins';
|
18
|
-
@import 'modules/icon-customization';
|
19
|
-
@import 'modules/home';
|
20
|
-
@import 'modules/index_maps';
|
21
|
-
@import 'modules/item';
|
22
|
-
@import 'modules/layer_opacity';
|
23
|
-
@import 'modules/metadata';
|
24
|
-
@import 'modules/metadata_content';
|
25
|
-
@import 'modules/metadata_missing';
|
26
|
-
@import 'modules/metadata_markup';
|
27
|
-
@import 'modules/modal';
|
28
|
-
@import 'modules/results';
|
29
|
-
@import 'modules/geosearch';
|
30
|
-
@import 'modules/search_widgets';
|
31
|
-
@import 'modules/sidebar';
|
32
|
-
@import 'modules/toolbar';
|
33
|
-
@import 'modules/relations';
|
34
|
-
@import 'modules/web_services';
|
35
|
-
@import 'blacklight_overrides';
|
36
|
-
@import 'modules/downloads';
|
@@ -1,11 +0,0 @@
|
|
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 %>
|
@@ -1,25 +0,0 @@
|
|
1
|
-
<%-
|
2
|
-
# Compare with render_document_functions_partial helper, and
|
3
|
-
# _document_functions partial. BL actually has two groups
|
4
|
-
# of document-related tools. "document functions" by default
|
5
|
-
# contains Bookmark functionality shown on both results and
|
6
|
-
# item view. While "document tools" contains external export type
|
7
|
-
# functions by default only on detail.
|
8
|
-
-%>
|
9
|
-
<% if show_doc_actions? %>
|
10
|
-
<div class="card show-tools">
|
11
|
-
<div class="card-header">
|
12
|
-
<h2><%= t('blacklight.tools.title') %></h2>
|
13
|
-
</div>
|
14
|
-
|
15
|
-
<ul class="list-group list-group-flush">
|
16
|
-
<%= render_show_doc_actions @document do |config, inner| %>
|
17
|
-
<% if inner.present? %>
|
18
|
-
<li class="list-group-item <%= config.key %>">
|
19
|
-
<%= inner %>
|
20
|
-
</li>
|
21
|
-
<% end %>
|
22
|
-
<% end %>
|
23
|
-
</ul>
|
24
|
-
</div>
|
25
|
-
<% end %>
|
@@ -1,11 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* @preserve
|
3
|
-
*
|
4
|
-
* Readmore.js jQuery plugin
|
5
|
-
* Author: @jed_foster
|
6
|
-
* Project home: http://jedfoster.github.io/Readmore.js
|
7
|
-
* Licensed under the MIT license
|
8
|
-
*
|
9
|
-
* Debounce function from http://davidwalsh.name/javascript-debounce-function
|
10
|
-
*/
|
11
|
-
!function(e){"use strict";function t(e,t,a){var i;return function(){var n=this,o=arguments,r=function(){i=null,a||e.apply(n,o)},s=a&&!i;clearTimeout(i),i=setTimeout(r,t),s&&e.apply(n,o)}}function a(e){var t=++h;return String(null==e?"rmjs-":e)+t}function i(e){var t=e.clone().css({height:"auto",width:e.width(),maxHeight:"none",overflow:"hidden"}).insertAfter(e),a=t.outerHeight(),i=parseInt(t.css({maxHeight:""}).css("max-height").replace(/[^-\d\.]/g,""),10),n=e.data("defaultHeight");t.remove();var o=i||e.data("collapsedHeight")||n;e.data({expandedHeight:a,maxHeight:i,collapsedHeight:o}).css({maxHeight:"none"})}function n(e){if(!d[e.selector]){var t=" ";e.embedCSS&&""!==e.blockCSS&&(t+=e.selector+" + [data-readmore-toggle], "+e.selector+"[data-readmore]{"+e.blockCSS+"}"),t+=e.selector+"[data-readmore]{transition: height "+e.speed+"ms;overflow: hidden;}",function(e,t){var a=e.createElement("style");a.type="text/css",a.styleSheet?a.styleSheet.cssText=t:a.appendChild(e.createTextNode(t)),e.getElementsByTagName("head")[0].appendChild(a)}(document,t),d[e.selector]=!0}}function o(t,a){this.element=t,this.options=e.extend({},s,a),n(this.options),this._defaults=s,this._name=r,this.init(),window.addEventListener("load",l),window.addEventListener("resize",l)}var r="readmore",s={speed:100,collapsedHeight:200,heightMargin:16,moreLink:'<a href="#">Read More</a>',lessLink:'<a href="#">Close</a>',embedCSS:!0,blockCSS:"display: block; width: 100%;",startOpen:!1,beforeToggle:function(){},afterToggle:function(){}},d={},h=0,l=t(function(){e("[data-readmore]").each(function(){var t=e(this),a="true"===t.attr("aria-expanded");i(t),t.css({height:t.data(a?"expandedHeight":"collapsedHeight")})})},100);o.prototype={init:function(){var t=this,n=e(this.element);n.data({defaultHeight:this.options.collapsedHeight,heightMargin:this.options.heightMargin}),i(n);var o=n.data("collapsedHeight"),r=n.data("heightMargin");if(n.outerHeight(!0)<=o+r)return!0;var s=n.attr("id")||a(),d=t.options.startOpen?t.options.lessLink:t.options.moreLink;n.attr({"data-readmore":"","aria-expanded":!1,id:s}),n.after(e(d).on("click",function(e){t.toggle(this,n[0],e)}).attr({"data-readmore-toggle":"","aria-controls":s})),t.options.startOpen||n.css({height:o})},toggle:function(t,a,i){i&&i.preventDefault(),t||(t=e('[aria-controls="'+this.element.id+'"]')[0]),a||(a=this.element);var n=this,o=e(a),r="",s="",d=!1,h=o.data("collapsedHeight");o.height()<=h?(r=o.data("expandedHeight")+"px",s="lessLink",d=!0):(r=h,s="moreLink"),n.options.beforeToggle(t,a,!d),o.css({height:r}),o.on("transitionend",function(){n.options.afterToggle(t,a,d),e(this).attr({"aria-expanded":d}).off("transitionend")}),e(t).replaceWith(e(n.options[s]).on("click",function(e){n.toggle(this,a,e)}).attr({"data-readmore-toggle":"","aria-controls":o.attr("id")}))},destroy:function(){e(this.element).each(function(){var t=e(this);t.attr({"data-readmore":null,"aria-expanded":null}).css({maxHeight:"",height:""}).next("[data-readmore-toggle]").remove(),t.removeData()})}},e.fn.readmore=function(t){var a=arguments,i=this.selector;return t=t||{},"object"==typeof t?this.each(function(){if(e.data(this,"plugin_"+r)){var a=e.data(this,"plugin_"+r);a.destroy.apply(a)}t.selector=i,e.data(this,"plugin_"+r,new o(this,t))}):"string"==typeof t&&"_"!==t[0]&&"init"!==t?this.each(function(){var i=e.data(this,"plugin_"+r);i instanceof o&&"function"==typeof i[t]&&i[t].apply(i,Array.prototype.slice.call(a,1))}):void 0}}(jQuery);
|