govuk_frontend_toolkit 4.0.1 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,7 @@
1
+ # 4.1.0
2
+
3
+ - Add support for sending the `page` option to `GOVUK.analytics.trackEvent` (PR #203)
4
+
1
5
  # 4.0.1
2
6
 
3
7
  - Fix: stop multiline text from dropping below phase tag.
@@ -1 +1 @@
1
- 4.0.1
1
+ 4.1.0
@@ -90,6 +90,7 @@ Argument | Description
90
90
 
91
91
  Option | Description
92
92
  -------|------------
93
+ `page` | Useful for sending the URL when `window.location` has been updated using JavaScript since the Analytics tracking object was created
93
94
  `label` | Useful for categorising events, eg Javascript error source
94
95
  `value` | Values must be non-negative. Useful to pass counts, eg error happened 5 times
95
96
  `nonInteraction` | Defaults to false. When set the event will not affect bounce rate
@@ -98,8 +99,9 @@ Option | Description
98
99
  // Track a custom event with required category and action fields
99
100
  GOVUK.analytics.trackEvent('category', 'action');
100
101
 
101
- // Track a custom event with optional label, value and nonInteraction options
102
+ // Track a custom event with optional page, label, value and nonInteraction options
102
103
  GOVUK.analytics.trackEvent('category', 'action', {
104
+ page: '/path/to/page',
103
105
  label: 'label',
104
106
  value: 1,
105
107
  nonInteraction: true // event will not affect bounce rate
@@ -54,6 +54,11 @@
54
54
  evt.eventLabel = options.label;
55
55
  }
56
56
 
57
+ // Page is optional
58
+ if (typeof options.page === "string") {
59
+ evt.page = options.page;
60
+ }
61
+
57
62
  // Value is optional, but when used must be an
58
63
  // integer, otherwise the event will be invalid
59
64
  // and not logged
@@ -94,6 +94,13 @@ describe("GOVUK.GoogleAnalyticsUniversalTracker", function() {
94
94
  }]
95
95
  );
96
96
  });
97
+
98
+ it('sends the page if supplied', function() {
99
+ universal.trackEvent('category', 'action', {page: '/path/to/page'});
100
+ expect(window.ga.calls.mostRecent().args).toEqual(
101
+ ['send', {hitType: 'event', eventCategory: 'category', eventAction: 'action', page: '/path/to/page'}]
102
+ );
103
+ });
97
104
  });
98
105
 
99
106
  describe('when social events are tracked', function() {
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_frontend_toolkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.1
4
+ version: 4.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-06-03 00:00:00.000000000 Z
12
+ date: 2015-07-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -286,7 +286,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
286
286
  version: '0'
287
287
  segments:
288
288
  - 0
289
- hash: -3399682699568352727
289
+ hash: 4509289467583034213
290
290
  required_rubygems_version: !ruby/object:Gem::Requirement
291
291
  none: false
292
292
  requirements:
@@ -295,7 +295,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
295
295
  version: '0'
296
296
  segments:
297
297
  - 0
298
- hash: -3399682699568352727
298
+ hash: 4509289467583034213
299
299
  requirements: []
300
300
  rubyforge_project:
301
301
  rubygems_version: 1.8.23