blacklight-hierarchy 0.0.3 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +3 -1
- data/Rakefile +24 -17
- data/app/assets/{stylesheets/blacklight/hierarchy → images}/collapsed.png +0 -0
- data/app/assets/{stylesheets/blacklight/hierarchy → images}/empty_marker.png +0 -0
- data/app/assets/{stylesheets/blacklight/hierarchy → images}/expanded.png +0 -0
- data/app/assets/{stylesheets/blacklight/hierarchy → images}/minus_arrow.png +0 -0
- data/app/assets/{stylesheets/blacklight/hierarchy → images}/plus_arrow.png +0 -0
- data/app/assets/javascripts/blacklight/hierarchy/hierarchy.js +1 -1
- data/app/assets/stylesheets/blacklight/hierarchy/hierarchy.css.scss +2 -2
- data/app/helpers/blacklight/hierarchy_helper.rb +148 -111
- data/lib/blacklight/hierarchy.rb +2 -1
- data/lib/blacklight/hierarchy/engine.rb +2 -0
- data/lib/blacklight/hierarchy/version.rb +1 -1
- data/lib/generators/blacklight_hierarchy/install_generator.rb +12 -0
- data/lib/generators/blacklight_hierarchy/templates/blacklight_hierarchy.css.scss +3 -0
- data/lib/generators/blacklight_hierarchy/templates/blacklight_hierarchy.js +1 -0
- data/spec/features/basic_spec.rb +114 -0
- data/spec/helpers/hierarchy_helper_spec.rb +11 -0
- data/spec/internal/Gemfile +40 -0
- data/spec/internal/Gemfile.lock +151 -0
- data/spec/internal/README.rdoc +28 -0
- data/spec/internal/Rakefile +6 -0
- data/spec/internal/app/assets/javascripts/application.js +19 -0
- data/spec/internal/app/assets/javascripts/blacklight_hierarchy.js +1 -0
- data/spec/internal/app/assets/stylesheets/application.css +15 -0
- data/spec/internal/app/assets/stylesheets/blacklight.css.scss +5 -0
- data/spec/internal/app/assets/stylesheets/blacklight_hierarchy.css.scss +3 -0
- data/spec/internal/app/controllers/catalog_controller.rb +182 -0
- data/spec/internal/app/helpers/application_helper.rb +2 -0
- data/spec/internal/app/views/layouts/application.html.erb +14 -0
- data/spec/internal/bin/bundle +3 -0
- data/spec/internal/bin/rails +4 -0
- data/spec/internal/bin/rake +4 -0
- data/spec/internal/config.ru +4 -0
- data/spec/internal/config/application.rb +23 -0
- data/spec/internal/config/boot.rb +4 -0
- data/spec/internal/config/environment.rb +5 -0
- data/spec/internal/config/environments/development.rb +37 -0
- data/spec/internal/config/environments/production.rb +82 -0
- data/spec/internal/config/environments/test.rb +39 -0
- data/spec/internal/config/initializers/assets.rb +8 -0
- data/spec/internal/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/internal/config/initializers/blacklight_initializer.rb +7 -0
- data/spec/internal/config/initializers/cookies_serializer.rb +3 -0
- data/spec/internal/config/initializers/filter_parameter_logging.rb +4 -0
- data/spec/internal/config/initializers/inflections.rb +16 -0
- data/spec/internal/config/initializers/mime_types.rb +4 -0
- data/spec/internal/config/initializers/session_store.rb +3 -0
- data/spec/internal/config/initializers/wrap_parameters.rb +14 -0
- data/spec/internal/config/locales/blacklight.en.yml +3 -0
- data/spec/internal/config/locales/en.yml +23 -0
- data/spec/internal/config/secrets.yml +22 -0
- data/spec/internal/config/solr.yml +18 -0
- data/spec/internal/db/development.sqlite3 +0 -0
- data/spec/internal/db/migrate/20141111225552_create_searches.blacklight.rb +19 -0
- data/spec/internal/db/migrate/20141111225553_create_bookmarks.blacklight.rb +18 -0
- data/spec/internal/db/migrate/20141111225554_add_polymorphic_type_to_bookmarks.blacklight.rb +9 -0
- data/spec/internal/db/seeds.rb +7 -0
- data/spec/internal/db/test.sqlite3 +0 -0
- data/spec/internal/lib/generators/test_app_generator.rb +28 -0
- data/spec/internal/log/development.log +49 -0
- data/spec/internal/log/test.log +56 -0
- data/spec/internal/public/404.html +67 -0
- data/spec/internal/public/422.html +67 -0
- data/spec/internal/public/500.html +66 -0
- data/spec/internal/public/robots.txt +5 -0
- data/spec/internal/test/test_helper.rb +10 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_alerts.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_badges.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_breadcrumbs.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_button-groups.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_buttons.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_carousel.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_close.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_code.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_component-animations.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_dropdowns.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_forms.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_glyphicons.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_grid.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_input-groups.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_jumbotron.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_labels.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_list-group.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_media.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_mixins.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_modals.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_navbar.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_navs.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_normalize.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_pager.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_pagination.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_panels.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_popovers.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_print.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_progress-bars.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_responsive-embed.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_responsive-utilities.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_scaffolding.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_tables.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_thumbnails.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_tooltip.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_type.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_utilities.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_variables.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/359f517ba1ab8c953bbb6dc91543c3de140373f6/_wells.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/68dcee9be34904261460cf4a0e994beb05701732/blacklight.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/68dcee9be34904261460cf4a0e994beb05701732/blacklight_hierarchy.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/6d89983d04228b19fffeb0ffc236c10e9a0e1ee2/_bootstrap-sprockets.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/6d89983d04228b19fffeb0ffc236c10e9a0e1ee2/bootstrap.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/8d5abc2e34d47d479bbaf9a94007cb1fbbb587fc/_blacklight_base.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/8d5abc2e34d47d479bbaf9a94007cb1fbbb587fc/_bookmark.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/8d5abc2e34d47d479bbaf9a94007cb1fbbb587fc/_catalog.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/8d5abc2e34d47d479bbaf9a94007cb1fbbb587fc/_facets.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/8d5abc2e34d47d479bbaf9a94007cb1fbbb587fc/_group.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/8d5abc2e34d47d479bbaf9a94007cb1fbbb587fc/_header.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/8d5abc2e34d47d479bbaf9a94007cb1fbbb587fc/_layout.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/8d5abc2e34d47d479bbaf9a94007cb1fbbb587fc/_modal.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/8d5abc2e34d47d479bbaf9a94007cb1fbbb587fc/_search_history.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/8d5abc2e34d47d479bbaf9a94007cb1fbbb587fc/blacklight.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/8d5abc2e34d47d479bbaf9a94007cb1fbbb587fc/blacklight_defaults.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/c3fd5239c31441bb56d49be4a217da70f39ecc0a/hierarchy.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_alerts.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_background-variant.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_border-radius.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_buttons.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_center-block.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_clearfix.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_forms.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_gradients.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_grid-framework.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_grid.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_hide-text.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_image.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_labels.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_list-group.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_nav-divider.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_nav-vertical-align.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_opacity.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_pagination.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_panels.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_progress-bar.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_reset-filter.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_resize.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_responsive-visibility.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_size.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_tab-focus.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_table-row.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_text-emphasis.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_text-overflow.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cb83b9c8b85bb3982652db91c3d946cb936820a9/_vendor-prefixes.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/0ea779b3e0c121243bf582547101b1bf +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/136ab1950eca13da4e894ff1b2b27de2 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/1966ca6fe626f223bc02aafae8d215d6 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/20933494402377b5a4ae573ec38089e3 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/21539670dc497a0e6393ad19df075b66 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/268df18aed2972da207f2e747bcf232c +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/2e749ad3910712f029c8f9c22e87806b +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/384e54eed00c0341519df9a625117650 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/439c2eeec401a8ab7397179ee2504ae3 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/4927f44cd4ccc2c884e82cedccde4a22 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/4a2c3a8e36587ca53b2b7e290c89b4b1 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/4b9cd5c4b234a84bbb3a69e13c83e1a4 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/4ff8d0bb5f0dcb3063b2920517715e0e +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/5a064e6539708f214231ea360825b3c3 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/5e37ca964d93d3d7f4af368078665594 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/64c2e27e6730eb8be8e4037688652a29 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/6616d72225dab9428ddccc5930a08831 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/683ff1620ded8c9d80411699bafdb0ff +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/69a0b39e8aec99edabb13313660e28f2 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/6cf100c049b646808cc7700f2ee3d125 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/6dc95768f586b1f6aafc2e5707c25180 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/6f546449c0ef031d9b207a3922074493 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/7048f4e2f244cc702d01c26562014d88 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/74a8e8cd6ec72e44e546b4155ef6b683 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/77ad53b1026d69b8468759e78b981bab +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/81349b365a8ee3e987899f493404a773 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/82a17d90b083e4e3d65199d44611dfcf +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/8c0b0cb5677cee6c8bea459404d33cc9 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/8d3af96d0accc2a659b97d5c8686b749 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/93aaa9231a32901266b05632f3d35ecd +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/97be66cd58fc884d042f89a63ffca480 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/9942d6f024866931b4c6a4202eafd24f +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/9c939b2d5c9084a7ab8e411f4045cdd8 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/a0d7ebce705ba4b4828c9f6792532a48 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/a43e23596cf407d9ac7eb883da3a9202 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/a792eacf67e82469b1fe83bf6fb0773d +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ac0afaf210ca89ebd3dc6798b44a923d +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ac3dd20c3079957e6543251f6c6565bc +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ac9e614f7d87003b8ef8fb55fab81db3 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ad4a54c43c2a4c3874bfde1c9f08c248 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/b4d6f2b931b66f805dfeff1bbe3bd5ec +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/b83ff1ff283372c8b643d490698ac5f2 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/bcf37edb17dbd10ffc3f86624b272a65 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/bdc6984a3b4d68f1fdcd9a88309645d2 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/beafdda6cada3ea47ad16bddbd74147e +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/c336a8218b9e8beef9723db01f63bb93 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/c8297abf45d95e6b50a977ac286c4416 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/cb05c309abebfd78bfa687ea7ec893c9 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/cb6b2f5142c44b5c536e4f9974853c6a +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/cba3dd7cc3802e4d5ac14a44c1846f08 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/cc1ae9d597a5f4ab4ff90b6ae37e5952 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/cff8e998f306908d16c122c3029e5b42 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/d2a9756a14b665060574742c4ea33429 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/d49ce2111c14bc8f827481d660ae2256 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/d69f621b8584a241ef83d7144b5bf05e +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/d8a5d13c0222d0ed583276f64fdf6951 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/dd9f78a7dfe678c27939f19abf53d525 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/dedbb55c79535e15a1e57650e4c39659 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/df45f6613abfb235029866b5a1624150 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/dfebe186cbfff08ef68f2e4713af70a3 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/e12a325f7b89f9608f1ce67d0c8fc01c +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ea3067540ee9514e70e592a251d0ea14 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/f64fc5a7979fecfb0b31bee536ff4cbd +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/fcbb570c156ad59bdcc099427cba1c4e +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ffa439acb56ac6162efb387270e055f2 +0 -0
- data/spec/spec_helper.rb +22 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +28 -0
- metadata +467 -65
- data/lib/tasks/blacklight_hierarchy_tasks.rake +0 -4
@@ -0,0 +1,114 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "catalog" do
|
4
|
+
|
5
|
+
before do
|
6
|
+
CatalogController.blacklight_config = Blacklight::Configuration.new
|
7
|
+
CatalogController.configure_blacklight do |config|
|
8
|
+
# config.add_facet_field 'rotate_tag_facet', :label => 'Tag', :partial => 'blacklight/hierarchy/facet_hierarchy'
|
9
|
+
config.add_facet_field 'tag_facet', :label => 'Tag', :partial => 'blacklight/hierarchy/facet_hierarchy'
|
10
|
+
config.add_facet_field 'my_top_facet', :label => 'Slash Delim', :partial => 'blacklight/hierarchy/facet_hierarchy'
|
11
|
+
config.facet_display = {
|
12
|
+
:hierarchy => {
|
13
|
+
# 'rotate' => [['tag'], ':'], # this would work if config.add_facet_field was called rotate_tag_facet, instead of tag_facet, I think.
|
14
|
+
'tag' => [['facet'], ':'], # stupidly, the facet field is expected to have an underscore followed by SOMETHING; in this case it is "facet"
|
15
|
+
'my_top' => [['facet'], '/']
|
16
|
+
}
|
17
|
+
}
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context "facet tree without repeated nodes" do
|
22
|
+
before {
|
23
|
+
solr_facet_resp = {'responseHeader'=>{'status'=>0, 'QTime'=>4, 'params'=>{'wt'=>'ruby','rows'=>'0'}},
|
24
|
+
'response'=>{'numFound'=>30, 'start'=>0, 'maxScore'=>1.0, 'docs' => []},
|
25
|
+
'facet_counts' => {
|
26
|
+
'facet_queries' => {},
|
27
|
+
'facet_fields' => {
|
28
|
+
'tag_facet' => [
|
29
|
+
'a:b:c', 30,
|
30
|
+
'a:b:d', 25,
|
31
|
+
'a:c:d', 5,
|
32
|
+
'p:r:q', 25,
|
33
|
+
'x:y', 5,
|
34
|
+
'n', 1 ],
|
35
|
+
'my_top_facet' => [
|
36
|
+
'f/g/h', 30,
|
37
|
+
'j/k', 5,
|
38
|
+
'z', 1 ],
|
39
|
+
},
|
40
|
+
'facet_dates' => {},
|
41
|
+
'facet_ranges' => {}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
rsolr_client = double("rsolr_client")
|
45
|
+
expect(rsolr_client).to receive(:send_and_receive).and_return solr_facet_resp
|
46
|
+
expect(RSolr).to receive(:connect).and_return rsolr_client
|
47
|
+
}
|
48
|
+
|
49
|
+
it "should display the hierarchy" do
|
50
|
+
visit '/'
|
51
|
+
expect(page).to have_selector('li.h-node', :text => 'a')
|
52
|
+
expect(page).to have_selector('li.h-node > ul > li.h-node', :text => 'b')
|
53
|
+
expect(page).to have_selector('li.h-node li.h-leaf', :text => 'c 30')
|
54
|
+
expect(page).to have_selector('li.h-node li.h-leaf', :text => 'd 25')
|
55
|
+
expect(page).to have_selector('li.h-node > ul > li.h-node', :text => 'c')
|
56
|
+
expect(page).to have_selector('li.h-node li.h-leaf', :text => 'd 5')
|
57
|
+
expect(page).to have_selector('li.h-node', :text => 'p')
|
58
|
+
expect(page).to have_selector('li.h-node > ul > li.h-node', :text => 'r')
|
59
|
+
expect(page).to have_selector('li.h-node li.h-leaf', :text => 'q 25')
|
60
|
+
expect(page).to have_selector('li.h-node', :text => 'x')
|
61
|
+
expect(page).to have_selector('li.h-node li.h-leaf', :text => 'y 5')
|
62
|
+
expect(page).to have_selector('.facet-hierarchy > li.h-leaf', :text => 'n 1')
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should properly link the hierarchy", :wip => true do
|
66
|
+
visit '/'
|
67
|
+
# visit catalog_index_path
|
68
|
+
expect(page.all(:css, 'li.h-leaf a').map { |a| a[:href].to_s }).to include(catalog_index_path('f' => { 'tag_facet' => ['n'] }))
|
69
|
+
expect(page.all(:css, 'li.h-leaf a').map { |a| a[:href].to_s }).to include(catalog_index_path('f' => { 'tag_facet' => ['a:b:c'] }))
|
70
|
+
expect(page.all(:css, 'li.h-leaf a').map { |a| a[:href].to_s }).to include(catalog_index_path('f' => { 'tag_facet' => ['x:y'] }))
|
71
|
+
end
|
72
|
+
|
73
|
+
it "should work with a different value delimiter" do
|
74
|
+
visit '/'
|
75
|
+
expect(page).to have_selector('li.h-node', :text => 'f')
|
76
|
+
expect(page).to have_selector('li.h-node > ul > li.h-node', :text => 'g')
|
77
|
+
expect(page).to have_selector('li.h-node li.h-leaf', :text => 'h 30')
|
78
|
+
expect(page).to have_selector('li.h-node', :text => 'j')
|
79
|
+
expect(page).to have_selector('li.h-node li.h-leaf', :text => 'k 5')
|
80
|
+
expect(page).to have_selector('.facet-hierarchy > li.h-leaf', :text => 'z 1')
|
81
|
+
end
|
82
|
+
end # facet tree without repeated nodes
|
83
|
+
|
84
|
+
context "facet tree with repeated nodes" do
|
85
|
+
before do
|
86
|
+
facet_resp = {'responseHeader'=>{'status'=>0, 'QTime'=>4, 'params'=>{'wt'=>'ruby','rows'=>'0'}},
|
87
|
+
'response'=>{'numFound'=>30, 'start'=>0, 'maxScore'=>1.0, 'docs' => []},
|
88
|
+
'facet_counts' => {
|
89
|
+
'facet_queries' => {},
|
90
|
+
'facet_fields' => {
|
91
|
+
'tag_facet' => [
|
92
|
+
'm:w:w:t', 15,
|
93
|
+
'm:w:v:z', 10],
|
94
|
+
},
|
95
|
+
'facet_dates' => {},
|
96
|
+
'facet_ranges' => {}
|
97
|
+
}
|
98
|
+
}
|
99
|
+
my_rsolr_client = double("rsolr_client")
|
100
|
+
expect(my_rsolr_client).to receive(:send_and_receive).and_return facet_resp
|
101
|
+
expect(RSolr).to receive(:connect).and_return my_rsolr_client
|
102
|
+
end
|
103
|
+
it "should display all child nodes when a node value is repeated at its child level" do
|
104
|
+
visit '/'
|
105
|
+
expect(page).to have_selector('li.h-node', :text => 'm')
|
106
|
+
expect(page).to have_selector('li.h-node > ul > li.h-node', :text => 'w')
|
107
|
+
expect(page).to have_selector('li.h-node > ul > li.h-node > ul > li.h-node', :text => 'w')
|
108
|
+
expect(page).to have_selector('li.h-node > ul > li.h-node > ul > li.h-node', :text => 'v')
|
109
|
+
expect(page).to have_selector('li.h-node li.h-leaf', :text => 't 15')
|
110
|
+
expect(page).to have_selector('li.h-node li.h-leaf', :text => 'z 10')
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe Blacklight::HierarchyHelper do
|
4
|
+
describe '#render_hierarchy' do
|
5
|
+
it 'should remove the _suffix from the field name' do
|
6
|
+
field = OpenStruct.new(field: "the_field_name_facet")
|
7
|
+
expect(helper).to receive(:facet_tree).with("the_field_name").and_return({})
|
8
|
+
helper.render_hierarchy(field)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
|
4
|
+
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
|
5
|
+
gem 'rails', '4.1.5'
|
6
|
+
# Use sqlite3 as the database for Active Record
|
7
|
+
gem 'sqlite3'
|
8
|
+
# Use SCSS for stylesheets
|
9
|
+
gem 'sass-rails', '~> 4.0.3'
|
10
|
+
# Use Uglifier as compressor for JavaScript assets
|
11
|
+
gem 'uglifier', '>= 1.3.0'
|
12
|
+
# Use CoffeeScript for .js.coffee assets and views
|
13
|
+
gem 'coffee-rails', '~> 4.0.0'
|
14
|
+
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
|
15
|
+
# gem 'therubyracer', platforms: :ruby
|
16
|
+
|
17
|
+
# Use jquery as the JavaScript library
|
18
|
+
gem 'jquery-rails'
|
19
|
+
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
|
20
|
+
gem 'turbolinks'
|
21
|
+
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
22
|
+
gem 'jbuilder', '~> 2.0'
|
23
|
+
# bundle exec rake doc:rails generates the API under doc/api.
|
24
|
+
gem 'sdoc', '~> 0.4.0', group: :doc
|
25
|
+
|
26
|
+
# Use ActiveModel has_secure_password
|
27
|
+
# gem 'bcrypt', '~> 3.1.7'
|
28
|
+
|
29
|
+
# Use unicorn as the app server
|
30
|
+
# gem 'unicorn'
|
31
|
+
|
32
|
+
# Use Capistrano for deployment
|
33
|
+
# gem 'capistrano-rails', group: :development
|
34
|
+
|
35
|
+
# Use debugger
|
36
|
+
# gem 'debugger', group: [:development, :test]
|
37
|
+
|
38
|
+
gem 'blacklight-hierarchy', :path => '/Users/jkeck/Projects/blacklight/blacklight-hierarchy'
|
39
|
+
|
40
|
+
gem "blacklight"
|
@@ -0,0 +1,151 @@
|
|
1
|
+
PATH
|
2
|
+
remote: /Users/jkeck/Projects/blacklight/blacklight-hierarchy
|
3
|
+
specs:
|
4
|
+
blacklight-hierarchy (1.0.0)
|
5
|
+
blacklight (~> 5, < 6)
|
6
|
+
rails (~> 4.1)
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: https://rubygems.org/
|
10
|
+
specs:
|
11
|
+
actionmailer (4.1.5)
|
12
|
+
actionpack (= 4.1.5)
|
13
|
+
actionview (= 4.1.5)
|
14
|
+
mail (~> 2.5.4)
|
15
|
+
actionpack (4.1.5)
|
16
|
+
actionview (= 4.1.5)
|
17
|
+
activesupport (= 4.1.5)
|
18
|
+
rack (~> 1.5.2)
|
19
|
+
rack-test (~> 0.6.2)
|
20
|
+
actionview (4.1.5)
|
21
|
+
activesupport (= 4.1.5)
|
22
|
+
builder (~> 3.1)
|
23
|
+
erubis (~> 2.7.0)
|
24
|
+
activemodel (4.1.5)
|
25
|
+
activesupport (= 4.1.5)
|
26
|
+
builder (~> 3.1)
|
27
|
+
activerecord (4.1.5)
|
28
|
+
activemodel (= 4.1.5)
|
29
|
+
activesupport (= 4.1.5)
|
30
|
+
arel (~> 5.0.0)
|
31
|
+
activesupport (4.1.5)
|
32
|
+
i18n (~> 0.6, >= 0.6.9)
|
33
|
+
json (~> 1.7, >= 1.7.7)
|
34
|
+
minitest (~> 5.1)
|
35
|
+
thread_safe (~> 0.1)
|
36
|
+
tzinfo (~> 1.1)
|
37
|
+
arel (5.0.1.20140414130214)
|
38
|
+
blacklight (5.7.1)
|
39
|
+
bootstrap-sass (~> 3.2)
|
40
|
+
deprecation
|
41
|
+
kaminari (~> 0.13)
|
42
|
+
nokogiri (~> 1.6)
|
43
|
+
rails (>= 3.2.6, < 5)
|
44
|
+
rsolr (~> 1.0.6)
|
45
|
+
bootstrap-sass (3.2.0.2)
|
46
|
+
sass (~> 3.2)
|
47
|
+
builder (3.2.2)
|
48
|
+
coffee-rails (4.0.1)
|
49
|
+
coffee-script (>= 2.2.0)
|
50
|
+
railties (>= 4.0.0, < 5.0)
|
51
|
+
coffee-script (2.3.0)
|
52
|
+
coffee-script-source
|
53
|
+
execjs
|
54
|
+
coffee-script-source (1.8.0)
|
55
|
+
deprecation (0.1.0)
|
56
|
+
activesupport
|
57
|
+
erubis (2.7.0)
|
58
|
+
execjs (2.2.2)
|
59
|
+
hike (1.2.3)
|
60
|
+
i18n (0.6.11)
|
61
|
+
jbuilder (2.2.4)
|
62
|
+
activesupport (>= 3.0.0, < 5)
|
63
|
+
multi_json (~> 1.2)
|
64
|
+
jquery-rails (3.1.2)
|
65
|
+
railties (>= 3.0, < 5.0)
|
66
|
+
thor (>= 0.14, < 2.0)
|
67
|
+
json (1.8.1)
|
68
|
+
kaminari (0.16.1)
|
69
|
+
actionpack (>= 3.0.0)
|
70
|
+
activesupport (>= 3.0.0)
|
71
|
+
mail (2.5.4)
|
72
|
+
mime-types (~> 1.16)
|
73
|
+
treetop (~> 1.4.8)
|
74
|
+
mime-types (1.25.1)
|
75
|
+
mini_portile (0.6.0)
|
76
|
+
minitest (5.4.2)
|
77
|
+
multi_json (1.10.1)
|
78
|
+
nokogiri (1.6.3.1)
|
79
|
+
mini_portile (= 0.6.0)
|
80
|
+
polyglot (0.3.5)
|
81
|
+
rack (1.5.2)
|
82
|
+
rack-test (0.6.2)
|
83
|
+
rack (>= 1.0)
|
84
|
+
rails (4.1.5)
|
85
|
+
actionmailer (= 4.1.5)
|
86
|
+
actionpack (= 4.1.5)
|
87
|
+
actionview (= 4.1.5)
|
88
|
+
activemodel (= 4.1.5)
|
89
|
+
activerecord (= 4.1.5)
|
90
|
+
activesupport (= 4.1.5)
|
91
|
+
bundler (>= 1.3.0, < 2.0)
|
92
|
+
railties (= 4.1.5)
|
93
|
+
sprockets-rails (~> 2.0)
|
94
|
+
railties (4.1.5)
|
95
|
+
actionpack (= 4.1.5)
|
96
|
+
activesupport (= 4.1.5)
|
97
|
+
rake (>= 0.8.7)
|
98
|
+
thor (>= 0.18.1, < 2.0)
|
99
|
+
rake (10.3.2)
|
100
|
+
rdoc (4.1.2)
|
101
|
+
json (~> 1.4)
|
102
|
+
rsolr (1.0.10)
|
103
|
+
builder (>= 2.1.2)
|
104
|
+
sass (3.2.19)
|
105
|
+
sass-rails (4.0.4)
|
106
|
+
railties (>= 4.0.0, < 5.0)
|
107
|
+
sass (~> 3.2.2)
|
108
|
+
sprockets (~> 2.8, < 2.12)
|
109
|
+
sprockets-rails (~> 2.0)
|
110
|
+
sdoc (0.4.1)
|
111
|
+
json (~> 1.7, >= 1.7.7)
|
112
|
+
rdoc (~> 4.0)
|
113
|
+
sprockets (2.11.3)
|
114
|
+
hike (~> 1.2)
|
115
|
+
multi_json (~> 1.0)
|
116
|
+
rack (~> 1.0)
|
117
|
+
tilt (~> 1.1, != 1.3.0)
|
118
|
+
sprockets-rails (2.2.0)
|
119
|
+
actionpack (>= 3.0)
|
120
|
+
activesupport (>= 3.0)
|
121
|
+
sprockets (>= 2.8, < 4.0)
|
122
|
+
sqlite3 (1.3.10)
|
123
|
+
thor (0.19.1)
|
124
|
+
thread_safe (0.3.4)
|
125
|
+
tilt (1.4.1)
|
126
|
+
treetop (1.4.15)
|
127
|
+
polyglot
|
128
|
+
polyglot (>= 0.3.1)
|
129
|
+
turbolinks (2.5.2)
|
130
|
+
coffee-rails
|
131
|
+
tzinfo (1.2.2)
|
132
|
+
thread_safe (~> 0.1)
|
133
|
+
uglifier (2.5.3)
|
134
|
+
execjs (>= 0.3.0)
|
135
|
+
json (>= 1.8.0)
|
136
|
+
|
137
|
+
PLATFORMS
|
138
|
+
ruby
|
139
|
+
|
140
|
+
DEPENDENCIES
|
141
|
+
blacklight
|
142
|
+
blacklight-hierarchy!
|
143
|
+
coffee-rails (~> 4.0.0)
|
144
|
+
jbuilder (~> 2.0)
|
145
|
+
jquery-rails
|
146
|
+
rails (= 4.1.5)
|
147
|
+
sass-rails (~> 4.0.3)
|
148
|
+
sdoc (~> 0.4.0)
|
149
|
+
sqlite3
|
150
|
+
turbolinks
|
151
|
+
uglifier (>= 1.3.0)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
== README
|
2
|
+
|
3
|
+
This README would normally document whatever steps are necessary to get the
|
4
|
+
application up and running.
|
5
|
+
|
6
|
+
Things you may want to cover:
|
7
|
+
|
8
|
+
* Ruby version
|
9
|
+
|
10
|
+
* System dependencies
|
11
|
+
|
12
|
+
* Configuration
|
13
|
+
|
14
|
+
* Database creation
|
15
|
+
|
16
|
+
* Database initialization
|
17
|
+
|
18
|
+
* How to run the test suite
|
19
|
+
|
20
|
+
* Services (job queues, cache servers, search engines, etc.)
|
21
|
+
|
22
|
+
* Deployment instructions
|
23
|
+
|
24
|
+
* ...
|
25
|
+
|
26
|
+
|
27
|
+
Please feel free to use a different markup language if you do not plan to run
|
28
|
+
<tt>rake doc:app</tt>.
|
@@ -0,0 +1,19 @@
|
|
1
|
+
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
2
|
+
// listed below.
|
3
|
+
//
|
4
|
+
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
+
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
6
|
+
//
|
7
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
|
+
// compiled file.
|
9
|
+
//
|
10
|
+
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
|
11
|
+
// about supported directives.
|
12
|
+
//
|
13
|
+
//= require jquery
|
14
|
+
//= require jquery_ujs
|
15
|
+
//= require turbolinks
|
16
|
+
//
|
17
|
+
// Required by Blacklight
|
18
|
+
//= require blacklight/blacklight
|
19
|
+
//= require_tree .
|
@@ -0,0 +1 @@
|
|
1
|
+
//= require blacklight/hierarchy/hierarchy
|
@@ -0,0 +1,15 @@
|
|
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 bottom of the
|
9
|
+
* compiled file so the styles you add here take precedence over styles defined in any styles
|
10
|
+
* defined in the other CSS/SCSS files in this directory. It is generally better to create a new
|
11
|
+
* file per style scope.
|
12
|
+
*
|
13
|
+
*= require_tree .
|
14
|
+
*= require_self
|
15
|
+
*/
|
@@ -0,0 +1,182 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
#
|
3
|
+
class CatalogController < ApplicationController
|
4
|
+
|
5
|
+
include Blacklight::Catalog
|
6
|
+
|
7
|
+
configure_blacklight do |config|
|
8
|
+
## Default parameters to send to solr for all search-like requests. See also SolrHelper#solr_search_params
|
9
|
+
config.default_solr_params = {
|
10
|
+
:qt => 'search',
|
11
|
+
:rows => 10
|
12
|
+
}
|
13
|
+
|
14
|
+
# solr path which will be added to solr base url before the other solr params.
|
15
|
+
#config.solr_path = 'select'
|
16
|
+
|
17
|
+
# items to show per page, each number in the array represent another option to choose from.
|
18
|
+
#config.per_page = [10,20,50,100]
|
19
|
+
|
20
|
+
## Default parameters to send on single-document requests to Solr. These settings are the Blackligt defaults (see SolrHelper#solr_doc_params) or
|
21
|
+
## parameters included in the Blacklight-jetty document requestHandler.
|
22
|
+
#
|
23
|
+
#config.default_document_solr_params = {
|
24
|
+
# :qt => 'document',
|
25
|
+
# ## These are hard-coded in the blacklight 'document' requestHandler
|
26
|
+
# # :fl => '*',
|
27
|
+
# # :rows => 1
|
28
|
+
# # :q => '{!raw f=id v=$id}'
|
29
|
+
#}
|
30
|
+
|
31
|
+
# solr field configuration for search results/index views
|
32
|
+
config.index.title_field = 'title_display'
|
33
|
+
config.index.display_type_field = 'format'
|
34
|
+
|
35
|
+
# solr field configuration for document/show views
|
36
|
+
#config.show.title_field = 'title_display'
|
37
|
+
#config.show.display_type_field = 'format'
|
38
|
+
|
39
|
+
# solr fields that will be treated as facets by the blacklight application
|
40
|
+
# The ordering of the field names is the order of the display
|
41
|
+
#
|
42
|
+
# Setting a limit will trigger Blacklight's 'more' facet values link.
|
43
|
+
# * If left unset, then all facet values returned by solr will be displayed.
|
44
|
+
# * If set to an integer, then "f.somefield.facet.limit" will be added to
|
45
|
+
# solr request, with actual solr request being +1 your configured limit --
|
46
|
+
# you configure the number of items you actually want _displayed_ in a page.
|
47
|
+
# * If set to 'true', then no additional parameters will be sent to solr,
|
48
|
+
# but any 'sniffed' request limit parameters will be used for paging, with
|
49
|
+
# paging at requested limit -1. Can sniff from facet.limit or
|
50
|
+
# f.specific_field.facet.limit solr request params. This 'true' config
|
51
|
+
# can be used if you set limits in :default_solr_params, or as defaults
|
52
|
+
# on the solr side in the request handler itself. Request handler defaults
|
53
|
+
# sniffing requires solr requests to be made with "echoParams=all", for
|
54
|
+
# app code to actually have it echo'd back to see it.
|
55
|
+
#
|
56
|
+
# :show may be set to false if you don't want the facet to be drawn in the
|
57
|
+
# facet bar
|
58
|
+
config.add_facet_field 'format', :label => 'Format'
|
59
|
+
config.add_facet_field 'pub_date', :label => 'Publication Year', :single => true
|
60
|
+
config.add_facet_field 'subject_topic_facet', :label => 'Topic', :limit => 20
|
61
|
+
config.add_facet_field 'language_facet', :label => 'Language', :limit => true
|
62
|
+
config.add_facet_field 'lc_1letter_facet', :label => 'Call Number'
|
63
|
+
config.add_facet_field 'subject_geo_facet', :label => 'Region'
|
64
|
+
config.add_facet_field 'subject_era_facet', :label => 'Era'
|
65
|
+
|
66
|
+
config.add_facet_field 'example_pivot_field', :label => 'Pivot Field', :pivot => ['format', 'language_facet']
|
67
|
+
|
68
|
+
config.add_facet_field 'example_query_facet_field', :label => 'Publish Date', :query => {
|
69
|
+
:years_5 => { :label => 'within 5 Years', :fq => "pub_date:[#{Time.now.year - 5 } TO *]" },
|
70
|
+
:years_10 => { :label => 'within 10 Years', :fq => "pub_date:[#{Time.now.year - 10 } TO *]" },
|
71
|
+
:years_25 => { :label => 'within 25 Years', :fq => "pub_date:[#{Time.now.year - 25 } TO *]" }
|
72
|
+
}
|
73
|
+
|
74
|
+
|
75
|
+
# Have BL send all facet field names to Solr, which has been the default
|
76
|
+
# previously. Simply remove these lines if you'd rather use Solr request
|
77
|
+
# handler defaults, or have no facets.
|
78
|
+
config.add_facet_fields_to_solr_request!
|
79
|
+
|
80
|
+
# solr fields to be displayed in the index (search results) view
|
81
|
+
# The ordering of the field names is the order of the display
|
82
|
+
config.add_index_field 'title_display', :label => 'Title'
|
83
|
+
config.add_index_field 'title_vern_display', :label => 'Title'
|
84
|
+
config.add_index_field 'author_display', :label => 'Author'
|
85
|
+
config.add_index_field 'author_vern_display', :label => 'Author'
|
86
|
+
config.add_index_field 'format', :label => 'Format'
|
87
|
+
config.add_index_field 'language_facet', :label => 'Language'
|
88
|
+
config.add_index_field 'published_display', :label => 'Published'
|
89
|
+
config.add_index_field 'published_vern_display', :label => 'Published'
|
90
|
+
config.add_index_field 'lc_callnum_display', :label => 'Call number'
|
91
|
+
|
92
|
+
# solr fields to be displayed in the show (single result) view
|
93
|
+
# The ordering of the field names is the order of the display
|
94
|
+
config.add_show_field 'title_display', :label => 'Title'
|
95
|
+
config.add_show_field 'title_vern_display', :label => 'Title'
|
96
|
+
config.add_show_field 'subtitle_display', :label => 'Subtitle'
|
97
|
+
config.add_show_field 'subtitle_vern_display', :label => 'Subtitle'
|
98
|
+
config.add_show_field 'author_display', :label => 'Author'
|
99
|
+
config.add_show_field 'author_vern_display', :label => 'Author'
|
100
|
+
config.add_show_field 'format', :label => 'Format'
|
101
|
+
config.add_show_field 'url_fulltext_display', :label => 'URL'
|
102
|
+
config.add_show_field 'url_suppl_display', :label => 'More Information'
|
103
|
+
config.add_show_field 'language_facet', :label => 'Language'
|
104
|
+
config.add_show_field 'published_display', :label => 'Published'
|
105
|
+
config.add_show_field 'published_vern_display', :label => 'Published'
|
106
|
+
config.add_show_field 'lc_callnum_display', :label => 'Call number'
|
107
|
+
config.add_show_field 'isbn_t', :label => 'ISBN'
|
108
|
+
|
109
|
+
# "fielded" search configuration. Used by pulldown among other places.
|
110
|
+
# For supported keys in hash, see rdoc for Blacklight::SearchFields
|
111
|
+
#
|
112
|
+
# Search fields will inherit the :qt solr request handler from
|
113
|
+
# config[:default_solr_parameters], OR can specify a different one
|
114
|
+
# with a :qt key/value. Below examples inherit, except for subject
|
115
|
+
# that specifies the same :qt as default for our own internal
|
116
|
+
# testing purposes.
|
117
|
+
#
|
118
|
+
# The :key is what will be used to identify this BL search field internally,
|
119
|
+
# as well as in URLs -- so changing it after deployment may break bookmarked
|
120
|
+
# urls. A display label will be automatically calculated from the :key,
|
121
|
+
# or can be specified manually to be different.
|
122
|
+
|
123
|
+
# This one uses all the defaults set by the solr request handler. Which
|
124
|
+
# solr request handler? The one set in config[:default_solr_parameters][:qt],
|
125
|
+
# since we aren't specifying it otherwise.
|
126
|
+
|
127
|
+
config.add_search_field 'all_fields', :label => 'All Fields'
|
128
|
+
|
129
|
+
|
130
|
+
# Now we see how to over-ride Solr request handler defaults, in this
|
131
|
+
# case for a BL "search field", which is really a dismax aggregate
|
132
|
+
# of Solr search fields.
|
133
|
+
|
134
|
+
config.add_search_field('title') do |field|
|
135
|
+
# solr_parameters hash are sent to Solr as ordinary url query params.
|
136
|
+
field.solr_parameters = { :'spellcheck.dictionary' => 'title' }
|
137
|
+
|
138
|
+
# :solr_local_parameters will be sent using Solr LocalParams
|
139
|
+
# syntax, as eg {! qf=$title_qf }. This is neccesary to use
|
140
|
+
# Solr parameter de-referencing like $title_qf.
|
141
|
+
# See: http://wiki.apache.org/solr/LocalParams
|
142
|
+
field.solr_local_parameters = {
|
143
|
+
:qf => '$title_qf',
|
144
|
+
:pf => '$title_pf'
|
145
|
+
}
|
146
|
+
end
|
147
|
+
|
148
|
+
config.add_search_field('author') do |field|
|
149
|
+
field.solr_parameters = { :'spellcheck.dictionary' => 'author' }
|
150
|
+
field.solr_local_parameters = {
|
151
|
+
:qf => '$author_qf',
|
152
|
+
:pf => '$author_pf'
|
153
|
+
}
|
154
|
+
end
|
155
|
+
|
156
|
+
# Specifying a :qt only to show it's possible, and so our internal automated
|
157
|
+
# tests can test it. In this case it's the same as
|
158
|
+
# config[:default_solr_parameters][:qt], so isn't actually neccesary.
|
159
|
+
config.add_search_field('subject') do |field|
|
160
|
+
field.solr_parameters = { :'spellcheck.dictionary' => 'subject' }
|
161
|
+
field.qt = 'search'
|
162
|
+
field.solr_local_parameters = {
|
163
|
+
:qf => '$subject_qf',
|
164
|
+
:pf => '$subject_pf'
|
165
|
+
}
|
166
|
+
end
|
167
|
+
|
168
|
+
# "sort results by" select (pulldown)
|
169
|
+
# label in pulldown is followed by the name of the SOLR field to sort by and
|
170
|
+
# whether the sort is ascending or descending (it must be asc or desc
|
171
|
+
# except in the relevancy case).
|
172
|
+
config.add_sort_field 'score desc, pub_date_sort desc, title_sort asc', :label => 'relevance'
|
173
|
+
config.add_sort_field 'pub_date_sort desc, title_sort asc', :label => 'year'
|
174
|
+
config.add_sort_field 'author_sort asc, title_sort asc', :label => 'author'
|
175
|
+
config.add_sort_field 'title_sort asc, pub_date_sort desc', :label => 'title'
|
176
|
+
|
177
|
+
# If there are more than this many search results, no spelling ("did you
|
178
|
+
# mean") suggestion is offered.
|
179
|
+
config.spell_max = 5
|
180
|
+
end
|
181
|
+
|
182
|
+
end
|