govuk_publishing_components 35.1.0 → 35.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/govuk_publishing_components/analytics/page-content.js +0 -8
- data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-core.js +9 -4
- data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-link-tracker.js +18 -2
- data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +5 -2
- data/app/assets/javascripts/govuk_publishing_components/vendor/lux/lux-reporter.js +430 -313
- data/app/assets/stylesheets/govuk_publishing_components/components/_layout-super-navigation-header.scss +2 -3
- data/app/controllers/govuk_publishing_components/component_guide_controller.rb +1 -1
- data/app/models/govuk_publishing_components/audit_applications.rb +5 -1
- data/app/models/govuk_publishing_components/audit_comparer.rb +4 -4
- data/app/views/govuk_publishing_components/audit/_applications.html.erb +22 -4
- data/app/views/govuk_publishing_components/components/_layout_super_navigation_header.html.erb +19 -5
- data/app/views/govuk_publishing_components/components/_step_by_step_nav_related.html.erb +24 -4
- data/config/locales/en.yml +2 -2
- data/lib/govuk_publishing_components/presenters/component_wrapper_helper.rb +35 -12
- data/lib/govuk_publishing_components/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 972ee046b894a4166b8098b0fd68443fe83c9dd3ca990dc53df66943719bc3f8
|
4
|
+
data.tar.gz: fe06a9efe47489b88fe35088fe043cbf404683516ba709d9ec8192412749e2e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 788a0616987260f023d3c4b982e9ae7ca1150bdf996ed6001c7d999eb22116725b4a5ebaef2069ab23882fb4d1acbdb7c47d7f0686c1ef4bd171773de27da178
|
7
|
+
data.tar.gz: ee4d860cc7fcaa7e7f374edd761d4f513455b319efea4b1e115667ae8cef89c0fef815c46c00b9b0330eb511ce6d5822dea79877174dddc3e1c67cb9feac3182
|
@@ -17,8 +17,6 @@
|
|
17
17
|
// if there are no accordion sections on the browse level 2 page
|
18
18
|
// then it is a default page with one or two lists
|
19
19
|
return document.querySelectorAll('[data-track-count="accordionSection"]').length || document.querySelectorAll('main .govuk-list').length
|
20
|
-
case isCostOfLivingHub():
|
21
|
-
return document.querySelectorAll('[data-track-count="accordionSection"]').length
|
22
20
|
case isNewBrowsePage():
|
23
21
|
return document.querySelectorAll('[data-track-count="cardList"]').length
|
24
22
|
case isMainstreamBrowsePage():
|
@@ -53,7 +51,6 @@
|
|
53
51
|
case isDocumentCollectionPage():
|
54
52
|
return document.querySelectorAll('.document-collection .group-document-list li a').length
|
55
53
|
case isNewBrowsePageLevelTwo():
|
56
|
-
case isCostOfLivingHub():
|
57
54
|
return document.querySelectorAll('[data-track-count="contentLink"]').length
|
58
55
|
case isNewBrowsePage():
|
59
56
|
return document.querySelectorAll('[data-track-count="cardLink"]').length
|
@@ -111,11 +108,6 @@
|
|
111
108
|
getMetaAttribute(metaNavigationTypeSelector) === 'browse level 2'
|
112
109
|
}
|
113
110
|
|
114
|
-
function isCostOfLivingHub () {
|
115
|
-
return getMetaAttribute(metaApplicationSelector) === 'collections' &&
|
116
|
-
getMetaAttribute(metaNavigationTypeSelector) === 'cost of living hub'
|
117
|
-
}
|
118
|
-
|
119
111
|
function isNewBrowsePage () {
|
120
112
|
return getMetaAttribute(metaApplicationSelector) === 'collections' &&
|
121
113
|
(getMetaAttribute(metaNavigationTypeSelector) === 'browse level 0' ||
|
@@ -230,13 +230,18 @@ window.GOVUK.analyticsGa4 = window.GOVUK.analyticsGa4 || {};
|
|
230
230
|
// Only index links that are not search results
|
231
231
|
if (!link.getAttribute('data-ga4-ecommerce-path')) {
|
232
232
|
totalLinks++
|
233
|
-
link.setAttribute('data-ga4-index', totalLinks)
|
233
|
+
link.setAttribute('data-ga4-index', '{"index_link": "' + totalLinks + '"}')
|
234
234
|
}
|
235
235
|
}
|
236
236
|
|
237
|
-
|
238
|
-
|
239
|
-
|
237
|
+
try {
|
238
|
+
var ga4LinkData = JSON.parse(module.getAttribute('data-ga4-link'))
|
239
|
+
ga4LinkData.index_total = totalLinks
|
240
|
+
module.setAttribute('data-ga4-link', JSON.stringify(ga4LinkData))
|
241
|
+
} catch (e) {
|
242
|
+
// if there's a problem with the config, don't start the tracker
|
243
|
+
console.error('Unable to JSON.parse or JSON.stringify index: ' + e.message, window.location)
|
244
|
+
}
|
240
245
|
},
|
241
246
|
|
242
247
|
// index is given as a string of the form 1.2.3 or 1.2
|
@@ -87,8 +87,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
87
87
|
data.link_path_parts = window.GOVUK.analyticsGa4.core.trackFunctions.populateLinkPathParts(data.url)
|
88
88
|
data.method = window.GOVUK.analyticsGa4.core.trackFunctions.getClickType(event)
|
89
89
|
data.external = window.GOVUK.analyticsGa4.core.trackFunctions.isExternalLink(data.url) ? 'true' : 'false'
|
90
|
-
data.index =
|
91
|
-
data.index = window.GOVUK.analyticsGa4.core.trackFunctions.createIndexObject(data.index)
|
90
|
+
data.index = this.setIndex(data.index, event.target)
|
92
91
|
|
93
92
|
if (data.type === 'smart answer' && data.action === 'change response') {
|
94
93
|
data.section = PIIRemover.stripPIIWithOverride(data.section, true, true)
|
@@ -108,5 +107,22 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
108
107
|
}
|
109
108
|
}
|
110
109
|
|
110
|
+
Ga4LinkTracker.prototype.setIndex = function (indexData, target) {
|
111
|
+
var index
|
112
|
+
|
113
|
+
if (target.getAttribute('data-ga4-index')) {
|
114
|
+
try {
|
115
|
+
index = JSON.parse(target.getAttribute('data-ga4-index'))
|
116
|
+
} catch (e) {
|
117
|
+
console.error('Unable to parse index as JSON: ' + e.message, window.location)
|
118
|
+
return
|
119
|
+
}
|
120
|
+
} else {
|
121
|
+
index = indexData || undefined
|
122
|
+
}
|
123
|
+
|
124
|
+
return window.GOVUK.analyticsGa4.core.trackFunctions.createIndexObject(index)
|
125
|
+
}
|
126
|
+
|
111
127
|
Modules.Ga4LinkTracker = Ga4LinkTracker
|
112
128
|
})(window.GOVUK.Modules)
|
@@ -196,8 +196,11 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
196
196
|
event_name: 'select_content',
|
197
197
|
type: 'step by step',
|
198
198
|
text: titleText.trim(),
|
199
|
-
index:
|
200
|
-
|
199
|
+
index: {
|
200
|
+
index_section: i + 1,
|
201
|
+
index_section_count: this.$module.totalSteps
|
202
|
+
},
|
203
|
+
index_total: thisel.querySelectorAll('a').length
|
201
204
|
}
|
202
205
|
|
203
206
|
var button = thisel.querySelector('.js-step-title-button')
|