arclight 0.3.3 → 0.4.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.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +29 -0
- data/README.md +3 -3
- data/app/assets/javascripts/arclight/context_navigation.js +12 -47
- data/app/assets/stylesheets/arclight/modules/layout.scss +5 -6
- data/app/views/catalog/_index_collection_context_default.html.erb +1 -1
- data/arclight.gemspec +1 -1
- data/lib/arclight/version.rb +1 -1
- data/lib/generators/arclight/templates/catalog_controller.rb +2 -0
- metadata +5 -5
- data/.travis.yml +0 -37
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f51a3a7025a39a90504bd7a9fe679f84a88b1ebc14c3497d16b4a3f0f7919c36
         | 
| 4 | 
            +
              data.tar.gz: c39d93f039a1ac4bd05373353d121268801c2eabb097ff16e142b08f155a518d
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: dd10ff42c38f9a1c8c408279182adc4c2c6af1a77ed2d1996435efb43a46d2398064de8e878a552be062cc94c77407734cb5db7992f266baaba77931eab031e7
         | 
| 7 | 
            +
              data.tar.gz: 2fea971f65494fccbb43d1bf42ff5ae3da35fd03e13425b1480a7064411ff9dd3cc4bbc8f7cdd2355e58dab2930822e74434732ceab7792ea2112f9d5877bb57
         | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            name: CI
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            on:
         | 
| 4 | 
            +
              push:
         | 
| 5 | 
            +
                branches: [ master ]
         | 
| 6 | 
            +
              pull_request:
         | 
| 7 | 
            +
                branches: [ master ]
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            jobs:
         | 
| 10 | 
            +
              test:
         | 
| 11 | 
            +
                runs-on: ubuntu-latest
         | 
| 12 | 
            +
                strategy:
         | 
| 13 | 
            +
                  matrix:
         | 
| 14 | 
            +
                    rails_version: [5.2.4.3, 6.0.3.2, 6.1.0]
         | 
| 15 | 
            +
                    ruby: [2.6, 2.7]
         | 
| 16 | 
            +
                env:
         | 
| 17 | 
            +
                  RAILS_VERSION: ${{ matrix.rails_version }}
         | 
| 18 | 
            +
                steps:
         | 
| 19 | 
            +
                - uses: actions/checkout@v2
         | 
| 20 | 
            +
                - name: Set up Ruby ${{ matrix.ruby }}
         | 
| 21 | 
            +
                  uses: ruby/setup-ruby@v1
         | 
| 22 | 
            +
                  with:
         | 
| 23 | 
            +
                    ruby-version: ${{ matrix.ruby }}
         | 
| 24 | 
            +
                - name: Install dependencies with Rails ${{ matrix.rails_version }}
         | 
| 25 | 
            +
                  run: bundle install
         | 
| 26 | 
            +
                - name: Install dependencies with yarn
         | 
| 27 | 
            +
                  run: yarn install
         | 
| 28 | 
            +
                - name: Run tests
         | 
| 29 | 
            +
                  run: bundle exec rake
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1,4 +1,4 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            
         | 
| 2 2 | 
             
            [](CONTRIBUTORS.md)
         | 
| 3 3 | 
             
            [](https://codeclimate.com/github/projectblacklight/arclight/coverage)
         | 
| 4 4 |  | 
| @@ -10,8 +10,8 @@ A Rails engine supporting discovery of archival materials, based on [Blacklight] | |
| 10 10 |  | 
| 11 11 | 
             
            ## Requirements
         | 
| 12 12 |  | 
| 13 | 
            -
            * [Ruby](https://www.ruby-lang.org/en/) 2. | 
| 14 | 
            -
            * [Rails](http://rubyonrails.org) 5. | 
| 13 | 
            +
            * [Ruby](https://www.ruby-lang.org/en/) 2.6 or later
         | 
| 14 | 
            +
            * [Rails](http://rubyonrails.org) 5.2 or later
         | 
| 15 15 | 
             
            * Solr 8.1 or later
         | 
| 16 16 |  | 
| 17 17 | 
             
            ## Installation
         | 
| @@ -11,6 +11,10 @@ class NavigationDocument { | |
| 11 11 | 
             
                this.el.find('li.al-collection-context').addClass('al-hierarchy-highlight');
         | 
| 12 12 | 
             
              }
         | 
| 13 13 |  | 
| 14 | 
            +
              makeCollapsible() {
         | 
| 15 | 
            +
                this.el.find('li.al-collection-context').addClass('collapsible');
         | 
| 16 | 
            +
              }
         | 
| 17 | 
            +
             | 
| 14 18 | 
             
              collapse() {
         | 
| 15 19 | 
             
                this.el.find('li.al-collection-context').addClass('collapsed');
         | 
| 16 20 | 
             
              }
         | 
| @@ -32,9 +36,9 @@ class ExpandButton { | |
| 32 36 | 
             
               * @param {jQuery} $li - the <button> element
         | 
| 33 37 | 
             
               * @return {jQuery} - a jQuery object containing the targeted <li>
         | 
| 34 38 | 
             
               */
         | 
| 35 | 
            -
               | 
| 36 | 
            -
                const $siblings = this.$el.parent().children('li');
         | 
| 37 | 
            -
                return $siblings | 
| 39 | 
            +
              findCollapsibleSiblings() {
         | 
| 40 | 
            +
                const $siblings = this.$el.parent().children('li.collapsible');
         | 
| 41 | 
            +
                return $siblings;
         | 
| 38 42 | 
             
              }
         | 
| 39 43 |  | 
| 40 44 | 
             
              /**
         | 
| @@ -44,7 +48,7 @@ class ExpandButton { | |
| 44 48 | 
             
               *   <button> element
         | 
| 45 49 | 
             
               */
         | 
| 46 50 | 
             
              handleClick() {
         | 
| 47 | 
            -
                const $targeted = this. | 
| 51 | 
            +
                const $targeted = this.findCollapsibleSiblings();
         | 
| 48 52 |  | 
| 49 53 | 
             
                $targeted.toggleClass('collapsed');
         | 
| 50 54 | 
             
                this.$el.toggleClass('collapsed');
         | 
| @@ -66,25 +70,6 @@ class ExpandButton { | |
| 66 70 | 
             
              }
         | 
| 67 71 | 
             
            }
         | 
| 68 72 |  | 
| 69 | 
            -
            /**
         | 
| 70 | 
            -
             * Modeling <button> Elements which hide or retrieve <li> elements for sibling
         | 
| 71 | 
            -
             *   documents nested within the <li> elements of the <ul> tree
         | 
| 72 | 
            -
             * @class
         | 
| 73 | 
            -
             */
         | 
| 74 | 
            -
            class NestedExpandButton extends ExpandButton {
         | 
| 75 | 
            -
              /**
         | 
| 76 | 
            -
               * This retrieves the <li> elements which are hidden/rendered in response to
         | 
| 77 | 
            -
               *   clicking the <button> element
         | 
| 78 | 
            -
               * @param {jQuery} $li - the <button> element
         | 
| 79 | 
            -
               * @return {jQuery} - a jQuery object containing the targeted <li>
         | 
| 80 | 
            -
               */
         | 
| 81 | 
            -
              findSiblings() {
         | 
| 82 | 
            -
                const highlighted = this.$el.siblings('.al-hierarchy-highlight');
         | 
| 83 | 
            -
                const $siblings = highlighted.prevAll('.al-collection-context');
         | 
| 84 | 
            -
                return $siblings.slice(0, -1);
         | 
| 85 | 
            -
              }
         | 
| 86 | 
            -
            }
         | 
| 87 | 
            -
             | 
| 88 73 | 
             
            /**
         | 
| 89 74 | 
             
             * Models the placeholder display elements for content loading from AJAX
         | 
| 90 75 | 
             
             *   requests
         | 
| @@ -198,6 +183,7 @@ class ContextNavigation { | |
| 198 183 | 
             
                if (prevSiblingDocs.length > 1 && originalDocumentIndex > 0) {
         | 
| 199 184 | 
             
                  const hiddenPrevSiblingDocs = prevSiblingDocs.slice(0, -1);
         | 
| 200 185 | 
             
                  hiddenPrevSiblingDocs.forEach(siblingDoc => {
         | 
| 186 | 
            +
                    siblingDoc.makeCollapsible();
         | 
| 201 187 | 
             
                    siblingDoc.collapse();
         | 
| 202 188 | 
             
                  });
         | 
| 203 189 |  | 
| @@ -245,6 +231,7 @@ class ContextNavigation { | |
| 245 231 | 
             
                let renderedBeforeDocs;
         | 
| 246 232 | 
             
                if (beforeDocs.length > 1) {
         | 
| 247 233 | 
             
                  beforeDocs.forEach(function (parentDoc) {
         | 
| 234 | 
            +
                    parentDoc.makeCollapsible();
         | 
| 248 235 | 
             
                    parentDoc.collapse();
         | 
| 249 236 | 
             
                  });
         | 
| 250 237 | 
             
                  renderedBeforeDocs = beforeDocs.map(newDoc => newDoc.render()).join('');
         | 
| @@ -281,28 +268,6 @@ class ContextNavigation { | |
| 281 268 | 
             
                });
         | 
| 282 269 | 
             
              }
         | 
| 283 270 |  | 
| 284 | 
            -
             | 
| 285 | 
            -
              /**
         | 
| 286 | 
            -
               * Update the ancestors for <li> elements
         | 
| 287 | 
            -
               * @param {jQuery} $li - the <li> element for the current, highlighted
         | 
| 288 | 
            -
               *   Document in the <ul> context list of collections, components, and
         | 
| 289 | 
            -
               *   containers
         | 
| 290 | 
            -
               */
         | 
| 291 | 
            -
              /* eslint-disable class-methods-use-this */
         | 
| 292 | 
            -
              updateListSiblings($li) {
         | 
| 293 | 
            -
                const prevSiblings = $li.prevAll('.al-collection-context');
         | 
| 294 | 
            -
                if (prevSiblings.length > 1) {
         | 
| 295 | 
            -
                  const hiddenNextSiblings = prevSiblings.slice(0, -1);
         | 
| 296 | 
            -
                  hiddenNextSiblings.toggleClass('collapsed');
         | 
| 297 | 
            -
             | 
| 298 | 
            -
                  const button = new NestedExpandButton();
         | 
| 299 | 
            -
             | 
| 300 | 
            -
                  const lastHiddenNextSibling = hiddenNextSiblings[hiddenNextSiblings.length - 1];
         | 
| 301 | 
            -
                  button.$el.insertAfter(lastHiddenNextSibling);
         | 
| 302 | 
            -
                }
         | 
| 303 | 
            -
              }
         | 
| 304 | 
            -
              /* eslint-enable class-methods-use-this */
         | 
| 305 | 
            -
             | 
| 306 271 | 
             
              /**
         | 
| 307 272 | 
             
               * This updates the elements in the View DOM using an AJAX response containing
         | 
| 308 273 | 
             
               *   the HTML of a server-rendered View template.
         | 
| @@ -356,8 +321,8 @@ class ContextNavigation { | |
| 356 321 | 
             
                const that = this;
         | 
| 357 322 | 
             
                this.ul.find('.al-toggle-view-children').on('click', (e) => {
         | 
| 358 323 | 
             
                  e.preventDefault();
         | 
| 359 | 
            -
                  const targetArea = $($(e. | 
| 360 | 
            -
                  if (!targetArea.data( | 
| 324 | 
            +
                  const targetArea = $($(e.currentTarget).attr('href'));
         | 
| 325 | 
            +
                  if (!targetArea.data('resolved') === true) {
         | 
| 361 326 | 
             
                    targetArea.find('.context-navigator').each((i, ee) => {
         | 
| 362 327 | 
             
                      const contextNavigation = new ContextNavigation(
         | 
| 363 328 | 
             
                        // Send null for originalParents. We want to disregard the original
         | 
| @@ -111,13 +111,12 @@ | |
| 111 111 |  | 
| 112 112 | 
             
            // Collapse +/- indicators
         | 
| 113 113 | 
             
            .al-toggle-view-children {
         | 
| 114 | 
            -
               | 
| 115 | 
            -
                 | 
| 116 | 
            -
             | 
| 117 | 
            -
             | 
| 114 | 
            +
              &::after {
         | 
| 115 | 
            +
                content: image-url('blacklight/plus.svg');
         | 
| 116 | 
            +
              }
         | 
| 117 | 
            +
              &:not(.collapsed)::after {
         | 
| 118 | 
            +
                content: image-url('blacklight/minus.svg');
         | 
| 118 119 | 
             
              }
         | 
| 119 | 
            -
             | 
| 120 | 
            -
              content: image-url('blacklight/plus.svg');
         | 
| 121 120 | 
             
            }
         | 
| 122 121 |  | 
| 123 122 | 
             
            .al-toggle-children-container {
         | 
| @@ -4,7 +4,7 @@ | |
| 4 4 | 
             
                <% if document.children? %>
         | 
| 5 5 | 
             
                  <div class="al-toggle-children-container">
         | 
| 6 6 | 
             
                    <%= link_to(
         | 
| 7 | 
            -
                       | 
| 7 | 
            +
                      '',
         | 
| 8 8 | 
             
                      "##{document.id}-collapsible-hierarchy",
         | 
| 9 9 | 
             
                      class: "al-toggle-view-children #{!show_expanded?(document) ? 'collapsed' : ''}",
         | 
| 10 10 | 
             
                      'aria-label': t('arclight.hierarchy.view_all'),
         | 
    
        data/arclight.gemspec
    CHANGED
    
    | @@ -24,7 +24,7 @@ Gem::Specification.new do |spec| | |
| 24 24 |  | 
| 25 25 | 
             
              spec.add_dependency 'blacklight', '~> 7.2'
         | 
| 26 26 | 
             
              spec.add_dependency 'blacklight_range_limit', '~> 7.1'
         | 
| 27 | 
            -
              spec.add_dependency 'rails', '>= 5.2.3', '< 6. | 
| 27 | 
            +
              spec.add_dependency 'rails', '>= 5.2.3', '< 6.2'
         | 
| 28 28 | 
             
              spec.add_dependency 'sprockets-bumble_d'
         | 
| 29 29 | 
             
              spec.add_dependency 'traject', '~> 3.0'
         | 
| 30 30 | 
             
              spec.add_dependency 'traject_plus', '~> 1.2'
         | 
    
        data/lib/arclight/version.rb
    CHANGED
    
    
| @@ -95,6 +95,8 @@ class CatalogController < ApplicationController | |
| 95 95 | 
             
                config.add_facet_field 'geogname_sim', label: 'Place', limit: 10
         | 
| 96 96 | 
             
                config.add_facet_field 'places_ssim', label: 'Places', show: false
         | 
| 97 97 | 
             
                config.add_facet_field 'access_subjects_ssim', label: 'Subject', limit: 10
         | 
| 98 | 
            +
                config.add_facet_field 'component_level_isim', show: false
         | 
| 99 | 
            +
                config.add_facet_field 'parent_ssim', show: false
         | 
| 98 100 |  | 
| 99 101 | 
             
                # Have BL send all facet field names to Solr, which has been the default
         | 
| 100 102 | 
             
                # previously. Simply remove these lines if you'd rather use Solr request
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: arclight
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.4.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Darren Hardy
         | 
| @@ -11,7 +11,7 @@ authors: | |
| 11 11 | 
             
            autorequire: 
         | 
| 12 12 | 
             
            bindir: exe
         | 
| 13 13 | 
             
            cert_chain: []
         | 
| 14 | 
            -
            date:  | 
| 14 | 
            +
            date: 2021-01-05 00:00:00.000000000 Z
         | 
| 15 15 | 
             
            dependencies:
         | 
| 16 16 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 17 17 | 
             
              name: blacklight
         | 
| @@ -50,7 +50,7 @@ dependencies: | |
| 50 50 | 
             
                    version: 5.2.3
         | 
| 51 51 | 
             
                - - "<"
         | 
| 52 52 | 
             
                  - !ruby/object:Gem::Version
         | 
| 53 | 
            -
                    version: '6. | 
| 53 | 
            +
                    version: '6.2'
         | 
| 54 54 | 
             
              type: :runtime
         | 
| 55 55 | 
             
              prerelease: false
         | 
| 56 56 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -60,7 +60,7 @@ dependencies: | |
| 60 60 | 
             
                    version: 5.2.3
         | 
| 61 61 | 
             
                - - "<"
         | 
| 62 62 | 
             
                  - !ruby/object:Gem::Version
         | 
| 63 | 
            -
                    version: '6. | 
| 63 | 
            +
                    version: '6.2'
         | 
| 64 64 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 65 65 | 
             
              name: sprockets-bumble_d
         | 
| 66 66 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -285,12 +285,12 @@ files: | |
| 285 285 | 
             
            - ".babelrc"
         | 
| 286 286 | 
             
            - ".codeclimate.yml"
         | 
| 287 287 | 
             
            - ".eslintrc"
         | 
| 288 | 
            +
            - ".github/workflows/ruby.yml"
         | 
| 288 289 | 
             
            - ".gitignore"
         | 
| 289 290 | 
             
            - ".rspec"
         | 
| 290 291 | 
             
            - ".rubocop.yml"
         | 
| 291 292 | 
             
            - ".rubocop_todo.yml"
         | 
| 292 293 | 
             
            - ".solr_wrapper"
         | 
| 293 | 
            -
            - ".travis.yml"
         | 
| 294 294 | 
             
            - CONTRIBUTING.md
         | 
| 295 295 | 
             
            - CONTRIBUTORS.md
         | 
| 296 296 | 
             
            - Gemfile
         | 
    
        data/.travis.yml
    DELETED
    
    | @@ -1,37 +0,0 @@ | |
| 1 | 
            -
            sudo: false
         | 
| 2 | 
            -
            language: ruby
         | 
| 3 | 
            -
            notifications:
         | 
| 4 | 
            -
              email: false
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            matrix:
         | 
| 7 | 
            -
              include:
         | 
| 8 | 
            -
                - rvm: 2.7.1
         | 
| 9 | 
            -
                  env: RAILS_VERSION=6.0.3.2
         | 
| 10 | 
            -
                - rvm: 2.7.1
         | 
| 11 | 
            -
                  env: RAILS_VERSION=5.2.4.3
         | 
| 12 | 
            -
                - rvm: 2.6.6
         | 
| 13 | 
            -
                  env: RAILS_VERSION=6.0.3.2
         | 
| 14 | 
            -
                - rvm: 2.6.6
         | 
| 15 | 
            -
                  env: RAILS_VERSION=5.2.4.3
         | 
| 16 | 
            -
             | 
| 17 | 
            -
            jdk:
         | 
| 18 | 
            -
              - openjdk11
         | 
| 19 | 
            -
             | 
| 20 | 
            -
            before_script:
         | 
| 21 | 
            -
              - find spec/fixtures/ead -name '*.xml' | xargs xmllint --noout --schema spec/fixtures/xsd/ead.xsd
         | 
| 22 | 
            -
              - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
         | 
| 23 | 
            -
              - chmod +x ./cc-test-reporter
         | 
| 24 | 
            -
              - ./cc-test-reporter before-build
         | 
| 25 | 
            -
              - yarn install
         | 
| 26 | 
            -
            addons:
         | 
| 27 | 
            -
              apt:
         | 
| 28 | 
            -
                packages:
         | 
| 29 | 
            -
                - libxml2-utils
         | 
| 30 | 
            -
              chrome: stable
         | 
| 31 | 
            -
             | 
| 32 | 
            -
            env:
         | 
| 33 | 
            -
              global:
         | 
| 34 | 
            -
                - CC_TEST_REPORTER_ID=0bbc7b5fd7f6bab0c0517183ae34a4d2f6010ca1ef2d1c7c3ccdec55ea823115
         | 
| 35 | 
            -
             | 
| 36 | 
            -
            after_script:
         | 
| 37 | 
            -
              - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
         |