govuk_frontend_toolkit 8.0.0 → 8.1.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f34afb05f748a38078739d9b2595d60192ca1c27c47d693f4088e880dd339913
|
4
|
+
data.tar.gz: 19e14e37a076eabb3bcac4c252de97136bca744cee4ca378b7ad6c8502eddf12
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: add984158bb8c3260fec46decd67bdfbe6feac075e00b28e581ae46561ab89f1c310d6845d69b27fa0a192b618b66d66c9504d722420024b44e180c89ccfee6f
|
7
|
+
data.tar.gz: 09bc9cd4dcac41b40ab1e8a16b138c139bbc2836d1a335e42cbfa0b0c290a5b35966d3f5db86f2383edde8590dc7fe98f9b2f58bc1fac920acdc24140ab1b61e
|
data/app/assets/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Unreleased
|
2
2
|
|
3
|
+
# 8.1.0
|
4
|
+
|
5
|
+
- Enables cross domain event tracking. Preserves previous cross domain pageview tracking behaviours but adds optional
|
6
|
+
abilities to send events to linked GA trackers.
|
7
|
+
|
8
|
+
([PR 472](https://github.com/alphagov/govuk_frontend_toolkit/pull/472)).
|
9
|
+
|
3
10
|
# 8.0.0
|
4
11
|
|
5
12
|
- Breaking change: Add support for Google Analytics Universal in stageprompt.js
|
data/app/assets/VERSION.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
8.
|
1
|
+
8.1.0
|
@@ -74,6 +74,7 @@
|
|
74
74
|
GoogleAnalyticsUniversalTracker.prototype.trackEvent = function (category, action, options) {
|
75
75
|
options = options || {}
|
76
76
|
var value
|
77
|
+
var trackerName = ''
|
77
78
|
var evt = {
|
78
79
|
hitType: 'event',
|
79
80
|
eventCategory: category,
|
@@ -97,6 +98,12 @@
|
|
97
98
|
delete options.value
|
98
99
|
}
|
99
100
|
|
101
|
+
// trackerName is optional
|
102
|
+
if (typeof options.trackerName === 'string') {
|
103
|
+
trackerName = options.trackerName + '.'
|
104
|
+
delete options.trackerName
|
105
|
+
}
|
106
|
+
|
100
107
|
// Prevents an event from affecting bounce rate
|
101
108
|
// https://developers.google.com/analytics/devguides/collection/analyticsjs/events#implementation
|
102
109
|
if (options.nonInteraction) {
|
@@ -107,7 +114,7 @@
|
|
107
114
|
$.extend(evt, options)
|
108
115
|
}
|
109
116
|
|
110
|
-
sendToGa('send', evt)
|
117
|
+
sendToGa(trackerName + 'send', evt)
|
111
118
|
}
|
112
119
|
|
113
120
|
/*
|
@@ -132,11 +139,13 @@
|
|
132
139
|
|
133
140
|
/*
|
134
141
|
https://developers.google.com/analytics/devguides/collection/analyticsjs/cross-domain
|
135
|
-
trackerId
|
136
|
-
name
|
137
|
-
domain
|
142
|
+
trackerId - the UA account code to track the domain against
|
143
|
+
name - name for the tracker
|
144
|
+
domain - the domain to track
|
145
|
+
sendPageView - optional argument which controls the legacy behaviour of sending a pageview
|
146
|
+
on creation of the linked domain.
|
138
147
|
*/
|
139
|
-
GoogleAnalyticsUniversalTracker.prototype.addLinkedTrackerDomain = function (trackerId, name, domain) {
|
148
|
+
GoogleAnalyticsUniversalTracker.prototype.addLinkedTrackerDomain = function (trackerId, name, domain, sendPageView) {
|
140
149
|
sendToGa('create',
|
141
150
|
trackerId,
|
142
151
|
'auto',
|
@@ -151,7 +160,10 @@
|
|
151
160
|
|
152
161
|
sendToGa(name + '.set', 'anonymizeIp', true)
|
153
162
|
sendToGa(name + '.set', 'displayFeaturesTask', null)
|
154
|
-
|
163
|
+
|
164
|
+
if (typeof sendPageView === 'undefined' || sendPageView === true) {
|
165
|
+
sendToGa(name + '.send', 'pageview')
|
166
|
+
}
|
155
167
|
}
|
156
168
|
|
157
169
|
// https://developers.google.com/analytics/devguides/collection/analyticsjs/custom-dims-mets
|
@@ -114,6 +114,13 @@ describe('GOVUK.GoogleAnalyticsUniversalTracker', function () {
|
|
114
114
|
)
|
115
115
|
})
|
116
116
|
|
117
|
+
it('the option trackerName overrides the default tracker', function () {
|
118
|
+
universal.trackEvent('category', 'action', {trackerName: 'testTracker'})
|
119
|
+
expect(window.ga.calls.mostRecent().args).toEqual(
|
120
|
+
['testTracker.send', {hitType: 'event', eventCategory: 'category', eventAction: 'action'}]
|
121
|
+
)
|
122
|
+
})
|
123
|
+
|
117
124
|
it('only sends values if they are parseable as numbers', function () {
|
118
125
|
universal.trackEvent('category', 'action', {label: 'label', value: '10'})
|
119
126
|
expect(eventObjectFromSpy()['eventValue']).toEqual(10)
|
@@ -184,4 +191,27 @@ describe('GOVUK.GoogleAnalyticsUniversalTracker', function () {
|
|
184
191
|
expect(window.ga.calls.mostRecent().args[2]).toContain('address=[email]')
|
185
192
|
})
|
186
193
|
})
|
194
|
+
|
195
|
+
describe('adding a linked tracker', function () {
|
196
|
+
var callIndex
|
197
|
+
|
198
|
+
beforeEach(function () {
|
199
|
+
callIndex = window.ga.calls.count()
|
200
|
+
universal.addLinkedTrackerDomain('UA-123456', 'testTracker', 'some.service.gov.uk')
|
201
|
+
})
|
202
|
+
it('creates a tracker for the ID', function () {
|
203
|
+
expect(window.ga.calls.argsFor(callIndex)).toEqual(['create', 'UA-123456', 'auto', Object({ name: 'testTracker' })])
|
204
|
+
})
|
205
|
+
it('requires and configures the linker plugin', function () {
|
206
|
+
expect(window.ga.calls.argsFor(callIndex + 1)).toEqual(['require', 'linker'])
|
207
|
+
expect(window.ga.calls.argsFor(callIndex + 2)).toEqual(['testTracker.require', 'linker'])
|
208
|
+
})
|
209
|
+
it('sends a pageview', function () {
|
210
|
+
expect(window.ga.calls.mostRecent().args).toEqual(['testTracker.send', 'pageview'])
|
211
|
+
})
|
212
|
+
it('can omit sending a pageview', function () {
|
213
|
+
universal.addLinkedTrackerDomain('UA-123456', 'testTracker', 'some.service.gov.uk', false)
|
214
|
+
expect(window.ga.calls.mostRecent().args).not.toEqual(['testTracker.send', 'pageview'])
|
215
|
+
})
|
216
|
+
})
|
187
217
|
})
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: govuk_frontend_toolkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.
|
4
|
+
version: 8.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Government Digital Service
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-10-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|