govuk_publishing_components 23.7.1 → 23.7.2
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/app/views/govuk_publishing_components/components/_contextual_sidebar.html.erb +2 -1
- data/app/views/govuk_publishing_components/components/_related_navigation.html.erb +3 -1
- data/app/views/govuk_publishing_components/components/_transition_countdown.html.erb +6 -5
- data/app/views/govuk_publishing_components/components/related_navigation/_section.html.erb +1 -1
- data/lib/govuk_publishing_components/presenters/related_navigation_helper.rb +0 -40
- data/lib/govuk_publishing_components/presenters/shared_helper.rb +42 -0
- data/lib/govuk_publishing_components/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b65d39a36c66fce7a8137823bfc36e49e0da0a079aca53915b3d45285cae845
|
4
|
+
data.tar.gz: 34d3d5d5e175fa52e7ee61e5f259828a60d767d8b19bcc5c002010b3448a531c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64e67eaa447d97a8e42304b59c836e08131bde424cff2dac6631fae05bf035aa793d90a6987fd5af1777a6fe00e50d71f5cc176d9fc992ad8e0159ea649792f9
|
7
|
+
data.tar.gz: 59b458f62f226e28be467e1ae9c8eb4e7b5fde87dfbb09fdfe7eeb40c83190f91ecc1a3702973e459000bcb62318d5f30420c431a3b138ef28dc3807669f57a4
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<% navigation = GovukPublishingComponents::Presenters::ContextualNavigation.new(content_item, request) %>
|
2
|
+
<% shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns) %>
|
2
3
|
|
3
4
|
<div class="gem-c-contextual-sidebar">
|
4
5
|
<% if navigation.show_brexit_cta? && navigation.step_by_step_count.zero? %>
|
@@ -16,7 +17,7 @@
|
|
16
17
|
"track-dimension": t("components.related_navigation.transition.link_text"),
|
17
18
|
"track-dimension-index": "29",
|
18
19
|
},
|
19
|
-
lang:
|
20
|
+
lang: shared_helper.t_locale("components.related_navigation.transition.title"),
|
20
21
|
} %>
|
21
22
|
<% end %>
|
22
23
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<% related_nav_helper = GovukPublishingComponents::Presenters::RelatedNavigationHelper.new(local_assigns) %>
|
2
|
+
<% shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns) %>
|
2
3
|
|
3
4
|
<% if related_nav_helper.related_navigation? %>
|
4
5
|
<% random = SecureRandom.hex(4) %>
|
@@ -8,7 +9,7 @@
|
|
8
9
|
<h2 id="related-nav-related_items-<%= random %>"
|
9
10
|
class="gem-c-related-navigation__main-heading"
|
10
11
|
data-track-count="sidebarRelatedItemSection"
|
11
|
-
<%=
|
12
|
+
<%= shared_helper.t_lang(
|
12
13
|
"components.related_#{local_assigns[:context]}_navigation.related_content",
|
13
14
|
default: 'components.related_navigation.related_content'
|
14
15
|
)
|
@@ -28,6 +29,7 @@
|
|
28
29
|
|
29
30
|
<%= render 'govuk_publishing_components/components/related_navigation/section',
|
30
31
|
related_nav_helper: related_nav_helper,
|
32
|
+
shared_helper: shared_helper,
|
31
33
|
section_title: section_title,
|
32
34
|
links: links,
|
33
35
|
section_index: section_index,
|
@@ -7,10 +7,11 @@
|
|
7
7
|
text ||= nil
|
8
8
|
url ||= nil
|
9
9
|
data_attributes ||= {}
|
10
|
-
lang ||=
|
10
|
+
lang ||= "en"
|
11
|
+
direction ||= "ltr"
|
11
12
|
css_classes = %w(gem-c-transition-countdown)
|
12
|
-
css_classes <<
|
13
|
-
css_classes <<
|
13
|
+
css_classes << "gem-c-transition-countdown--cta" if url
|
14
|
+
css_classes << "govuk-link" if url
|
14
15
|
%>
|
15
16
|
|
16
17
|
<% countdown = capture do %>
|
@@ -24,11 +25,11 @@
|
|
24
25
|
<% end %>
|
25
26
|
|
26
27
|
<% if url %>
|
27
|
-
<%= link_to url, class: css_classes, data: data_attributes, lang: lang do %>
|
28
|
+
<%= link_to url, class: css_classes, data: data_attributes, lang: lang, dir: direction do %>
|
28
29
|
<%= countdown %>
|
29
30
|
<% end %>
|
30
31
|
<% else %>
|
31
|
-
<%= tag.div class: css_classes, lang: lang do %>
|
32
|
+
<%= tag.div class: css_classes, lang: lang, dir: direction do %>
|
32
33
|
<%= countdown %>
|
33
34
|
<% end %>
|
34
35
|
<% end %>
|
@@ -28,7 +28,7 @@
|
|
28
28
|
link[:path],
|
29
29
|
class: related_nav_helper.section_css_class("gem-c-related-navigation__section-link", section_title, link, (index >= section_link_limit)),
|
30
30
|
rel: link[:rel],
|
31
|
-
lang:
|
31
|
+
lang: shared_helper.t_locale_check(link[:locale]),
|
32
32
|
data: {
|
33
33
|
track_category: 'relatedLinkClicked',
|
34
34
|
track_action: "#{section_index}.#{index} #{related_nav_helper.construct_section_heading(section_title) || t('components.related_navigation.related_content')}",
|
@@ -97,48 +97,8 @@ module GovukPublishingComponents
|
|
97
97
|
related_navigation.flat_map(&:last).any?
|
98
98
|
end
|
99
99
|
|
100
|
-
def t_locale(content, options = {})
|
101
|
-
# Check if the content string has a translation
|
102
|
-
content_translation_available = translation_present?(content)
|
103
|
-
|
104
|
-
# True, return locale
|
105
|
-
this_locale = I18n.locale if content_translation_available
|
106
|
-
# If false, return default locale
|
107
|
-
this_locale = I18n.default_locale unless content_translation_available
|
108
|
-
|
109
|
-
# Check if default string passed in
|
110
|
-
if options[:default].present?
|
111
|
-
# Check if the default string has a translation
|
112
|
-
default_translation_available = translation_present?(options[:default])
|
113
|
-
# If true, return locale
|
114
|
-
this_locale = I18n.locale if default_translation_available
|
115
|
-
# If false, return default_locale
|
116
|
-
this_locale = I18n.default_locale unless default_translation_available
|
117
|
-
end
|
118
|
-
|
119
|
-
this_locale
|
120
|
-
end
|
121
|
-
|
122
|
-
def t_lang(content, options = {})
|
123
|
-
locale = t_locale(content, options)
|
124
|
-
"lang=#{locale}" unless locale.eql?(I18n.locale)
|
125
|
-
end
|
126
|
-
|
127
|
-
def t_locale_check(locale)
|
128
|
-
locale.presence unless locale.to_s.eql?(I18n.locale.to_s)
|
129
|
-
end
|
130
|
-
|
131
100
|
private
|
132
101
|
|
133
|
-
def translation_present?(content)
|
134
|
-
default_string = "This is a string to act as a default for the `I18n.translate` method. Comparing the result reveals if there is a translation in the i18n files."
|
135
|
-
I18n.translate(
|
136
|
-
content,
|
137
|
-
default: default_string,
|
138
|
-
fallback: false,
|
139
|
-
) != default_string
|
140
|
-
end
|
141
|
-
|
142
102
|
def related_items
|
143
103
|
related_quick_links = content_item_details_for("quick_links")
|
144
104
|
|
@@ -30,6 +30,48 @@ module GovukPublishingComponents
|
|
30
30
|
|
31
31
|
"span"
|
32
32
|
end
|
33
|
+
|
34
|
+
def t_locale(content, options = {})
|
35
|
+
# Check if the content string has a translation
|
36
|
+
content_translation_available = translation_present?(content)
|
37
|
+
|
38
|
+
# True, return locale
|
39
|
+
this_locale = I18n.locale if content_translation_available
|
40
|
+
# If false, return default locale
|
41
|
+
this_locale = I18n.default_locale unless content_translation_available
|
42
|
+
|
43
|
+
# Check if default string passed in
|
44
|
+
if options[:default].present?
|
45
|
+
# Check if the default string has a translation
|
46
|
+
default_translation_available = translation_present?(options[:default])
|
47
|
+
# If true, return locale
|
48
|
+
this_locale = I18n.locale if default_translation_available
|
49
|
+
# If false, return default_locale
|
50
|
+
this_locale = I18n.default_locale unless default_translation_available
|
51
|
+
end
|
52
|
+
|
53
|
+
this_locale
|
54
|
+
end
|
55
|
+
|
56
|
+
def t_lang(content, options = {})
|
57
|
+
locale = t_locale(content, options)
|
58
|
+
"lang=#{locale}" unless locale.eql?(I18n.locale)
|
59
|
+
end
|
60
|
+
|
61
|
+
def t_locale_check(locale)
|
62
|
+
locale.presence unless locale.to_s.eql?(I18n.locale.to_s)
|
63
|
+
end
|
64
|
+
|
65
|
+
private
|
66
|
+
|
67
|
+
def translation_present?(content)
|
68
|
+
default_string = "This is a string to act as a default for the `I18n.translate` method. Comparing the result reveals if there is a translation in the i18n files."
|
69
|
+
I18n.translate(
|
70
|
+
content,
|
71
|
+
default: default_string,
|
72
|
+
fallback: false,
|
73
|
+
) != default_string
|
74
|
+
end
|
33
75
|
end
|
34
76
|
end
|
35
77
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govuk_publishing_components
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 23.7.
|
4
|
+
version: 23.7.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GOV.UK Dev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-11-
|
11
|
+
date: 2020-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: govuk_app_config
|