arclight 1.1.3 → 1.1.4

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: 8fa0be8b6a63486a158607273080d3bc226029d05c8d8b76b73f72a60dc6afa3
4
- data.tar.gz: 155b435d83af03435aff13db82a1509148da62a84fa960135d1c73b5dfa335ae
3
+ metadata.gz: fdbe09a3fa39235bc0ad186308ec24b786c984e4abbcbabafb87e07ad2ebb8e3
4
+ data.tar.gz: fca899fbe2740f3f1220b59129297991b1975aa10a24ed1033c0e4b59bd870da
5
5
  SHA512:
6
- metadata.gz: 22eeea5a79c6fc8a777a42eff6f9c0ebd2be7bead5a4a3e92277be5a88936b5628b89042999c7b21c3963824767dadc0448f9912ebf9d76fbd9b630e98dfa7e6
7
- data.tar.gz: d5b7a8fa47adfa754db93b8fe0012b7bf51c38f6c10a801b762610b4ca0621fae43a9f80cef4bb71264a90ecebb2bfe002f6b99b02ab36698e86fda7e10e6842
6
+ metadata.gz: 3a6c9812f1e88a5150e3bb645e00092633ff8d67ba4075dc6654bad4baebd21abea209ae917a9c6babaa01387beffaabc8a45e3b37ac2fd83da1142f25fc0650
7
+ data.tar.gz: 6436d64454bd0ea806806265e333ca5c588875640f812773f4b41d7ae4495ff3baf5f4797bd86991e8ba262818756ea71f8f7851740c479be562638988fe9e2c
@@ -46,8 +46,8 @@ $hierarchy-view-collapse-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3
46
46
  display: none;
47
47
  }
48
48
 
49
- turbo-frame[loading]:not([complete]) {
50
- &::after {
49
+ turbo-frame[busy] {
50
+ &::before {
51
51
  @extend .placeholder !optional;
52
52
  animation: placeholder-glow 2s ease-in-out infinite;
53
53
  content: 'Loading...';
@@ -29,13 +29,11 @@ module Arclight
29
29
  end
30
30
 
31
31
  def document_path
32
- @document_path ||= solr_document_path(normalized_eadid)
32
+ @document_path ||= solr_document_path(document.collection_id)
33
33
  end
34
34
 
35
35
  def section_anchor(section)
36
36
  "##{t("arclight.views.show.sections.#{section}").parameterize}"
37
37
  end
38
-
39
- delegate :normalized_eadid, to: :document
40
38
  end
41
39
  end
@@ -29,7 +29,7 @@ module Arclight
29
29
  # @param [SolrDocument] document
30
30
  def self.from_solr_document(document)
31
31
  ids = document.parent_ids
32
- legacy_ids = document.legacy_parent_ids.map { |legacy_id| document.eadid == legacy_id ? legacy_id : "#{document.eadid}#{legacy_id}" }
32
+ legacy_ids = document.legacy_parent_ids.map { |legacy_id| document.collection_id == legacy_id ? legacy_id : "#{document.collection_id}#{legacy_id}" }
33
33
  labels = document.parent_labels
34
34
  eadid = document.eadid
35
35
  levels = document.parent_levels
@@ -7,6 +7,7 @@ module Arclight
7
7
  extend ActiveSupport::Concern
8
8
 
9
9
  included do
10
+ attribute :collection_id, :string, '_root_'
10
11
  attribute :parent_ids, :array, 'parent_ids_ssim'
11
12
  attribute :legacy_parent_ids, :array, 'parent_ssim'
12
13
  Arclight.deprecation.deprecate_methods(self, legacy_parent_ids: 'Use `parent_ids` instead')
@@ -50,6 +51,7 @@ module Arclight
50
51
  def normalized_eadid
51
52
  Arclight::NormalizedId.new(eadid).to_s
52
53
  end
54
+ Arclight.deprecation.deprecate_methods(self, normalized_eadid: 'Use `collection_id` instead')
53
55
 
54
56
  def repository
55
57
  first('repository_ssm') || collection&.first('repository_ssm')
@@ -5,9 +5,11 @@ require 'arclight/exceptions'
5
5
  module Arclight
6
6
  ##
7
7
  # A simple utility class to normalize identifiers
8
- # to be used around the application for linking
9
8
  class NormalizedId
10
- def initialize(id)
9
+ # Accepts unused kwargs from the ead2_config.rb id to_field directive
10
+ # (:title and :repository) so that applications can provide a custom
11
+ # id_normalizer class to traject to form the collection id from these attributes.
12
+ def initialize(id, **_kwargs)
11
13
  @id = id
12
14
  end
13
15
 
@@ -6,6 +6,7 @@ require 'traject/nokogiri_reader'
6
6
  require 'traject_plus'
7
7
  require 'traject_plus/macros'
8
8
  require 'arclight/level_label'
9
+ require 'arclight/normalized_id'
9
10
  require 'arclight/normalized_date'
10
11
  require 'arclight/normalized_title'
11
12
  require 'active_model/conversion' ## Needed for Arclight::Repository
@@ -53,6 +54,7 @@ DID_SEARCHABLE_NOTES_FIELDS = %w[
53
54
 
54
55
  settings do
55
56
  provide 'component_traject_config', File.join(__dir__, 'ead2_component_config.rb')
57
+ provide 'id_normalizer', 'Arclight::NormalizedId'
56
58
  provide 'date_normalizer', 'Arclight::NormalizedDate'
57
59
  provide 'title_normalizer', 'Arclight::NormalizedTitle'
58
60
  provide 'reader_class_name', 'Arclight::Traject::NokogiriNamespacelessReader'
@@ -75,7 +77,13 @@ end
75
77
  # NOTE: All fields should be stored in Solr
76
78
  # ==================
77
79
 
78
- to_field 'id', extract_xpath('/ead/eadheader/eadid'), strip, gsub('.', '-')
80
+ to_field 'id' do |record, accumulator|
81
+ id = record.at_xpath('/ead/eadheader/eadid')&.text
82
+ title = record.at_xpath('/ead/archdesc/did/unittitle')&.text
83
+ repository = settings['repository']
84
+ accumulator << settings['id_normalizer'].constantize.new(id, title: title, repository: repository).to_s
85
+ end
86
+
79
87
  to_field 'title_filing_ssi', extract_xpath('/ead/eadheader/filedesc/titlestmt/titleproper[@type="filing"]')
80
88
  to_field 'title_ssm', extract_xpath('/ead/archdesc/did/unittitle')
81
89
  to_field 'title_tesim', extract_xpath('/ead/archdesc/did/unittitle')
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Arclight
4
- VERSION = '1.1.3'
4
+ VERSION = '1.1.4'
5
5
  end
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arclight",
3
- "version": "1.1.0",
3
+ "version": "1.1.4",
4
4
  "description": "The frontend for arclight",
5
5
  "main": "app/assets/javascript/arclight/arclight.js",
6
6
  "files": [
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: 1.1.3
4
+ version: 1.1.4
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: 2024-03-29 00:00:00.000000000 Z
14
+ date: 2024-05-13 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: blacklight
@@ -501,7 +501,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
501
501
  - !ruby/object:Gem::Version
502
502
  version: '0'
503
503
  requirements: []
504
- rubygems_version: 3.4.10
504
+ rubygems_version: 3.5.10
505
505
  signing_key:
506
506
  specification_version: 4
507
507
  summary: A Blacklight-based environment to support discovery and delivery for archives