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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7808677713ad5aae304dd2839b2ff3a189f8afe33826953ba1dc47266a79a871
4
- data.tar.gz: b49f87ca3d6a279d9b511985fb91d4870f817daabde87fd900b251c73ad80805
3
+ metadata.gz: f51a3a7025a39a90504bd7a9fe679f84a88b1ebc14c3497d16b4a3f0f7919c36
4
+ data.tar.gz: c39d93f039a1ac4bd05373353d121268801c2eabb097ff16e142b08f155a518d
5
5
  SHA512:
6
- metadata.gz: 7d9f27aa642ed24bf138d4752c03a81e84f4d29f2551ed0f88dca72acd15e7bd4ecdbcee67d45f5e4e807bb746d735e7017a02f6dfce18baaa0dc83a9d9ec875
7
- data.tar.gz: 0d6ba7a004bd76fd849c59b995c2aa6f9a8a87ab6a7495dd3e82bc1a1fd80ac0e67bde12f24c477953bcfc3d67845e3d061a13b09a91c483b0f829f7af6ef6e1
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
- [![Build Status](https://travis-ci.org/projectblacklight/arclight.svg?branch=master)](https://travis-ci.org/projectblacklight/arclight)
1
+ ![Build Status](https://github.com/projectblacklight/arclight/workflows/CI/badge.svg)
2
2
  [![All Contributors](https://img.shields.io/badge/all_contributors-17-orange.svg?style=flat-square)](CONTRIBUTORS.md)
3
3
  [![Code Climate Test Coverage](https://codeclimate.com/github/projectblacklight/arclight/badges/coverage.svg)](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.5 or later
14
- * [Rails](http://rubyonrails.org) 5.0 or later
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
- findSiblings() {
36
- const $siblings = this.$el.parent().children('li');
37
- return $siblings.slice(0, -1);
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.findSiblings();
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.target).attr('href'));
360
- if (!targetArea.data().resolved) {
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
- &:not(.collapsed) {
115
- & {
116
- content: image-url('blacklight/minus.svg');
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
- blacklight_icon(:plus),
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'),
@@ -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.1'
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'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Arclight
4
- VERSION = '0.3.3'
4
+ VERSION = '0.4.0'
5
5
  end
@@ -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.3.3
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: 2020-07-24 00:00:00.000000000 Z
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.1'
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.1'
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
@@ -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