Sha256: 233a29b6e5ee818d2cb27f120a799208290ff2904a3c76a3f23ae8ff8295ee7d

Contents?: true

Size: 1.81 KB

Versions: 10

Compression:

Stored size: 1.81 KB

Contents

// Stageprompt 2.0.1
//
// See: https://github.com/alphagov/stageprompt
//
// Stageprompt allows user journeys to be described and instrumented
// using data attributes.
//
// Setup (run this on document ready):
//
//   GOVUK.performance.stageprompt.setupForGoogleAnalytics();
//
// Usage:
//
//   Sending events on page load:
//
//     <div id="wrapper" class="service" data-journey="pay-register-birth-abroad:start">
//         [...]
//     </div>
//
//   Sending events on click:
//
//     <a class="help-button" href="#" data-journey-click="stage:help:info">See more info...</a>

(function(global) {
  "use strict";

  var $ = global.jQuery;
  var GOVUK = global.GOVUK || {};

  GOVUK.performance = GOVUK.performance || {};

  GOVUK.performance.stageprompt = (function () {

    var setup, setupForGoogleAnalytics, splitAction;

    splitAction = function (action) {
      var parts = action.split(':');
      if (parts.length <= 3) return parts;
      return [parts.shift(), parts.shift(), parts.join(':')];
    };

    setup = function (analyticsCallback) {
      var journeyStage = $('[data-journey]').attr('data-journey'),
          journeyHelpers = $('[data-journey-click]');

      if (journeyStage) {
        analyticsCallback.apply(null, splitAction(journeyStage));
      }

      journeyHelpers.on('click', function (event) {
        analyticsCallback.apply(null, splitAction($(this).data('journey-click')));
      });
    };

    setupForGoogleAnalytics = function () {
      setup(GOVUK.performance.sendGoogleAnalyticsEvent);
    };

    return {
      setup: setup,
      setupForGoogleAnalytics: setupForGoogleAnalytics
    };
  }());

  GOVUK.performance.sendGoogleAnalyticsEvent = function (category, event, label) {
    _gaq.push(['_trackEvent', category, event, label, undefined, true]);
  };

  global.GOVUK = GOVUK;
})(window);

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
govuk_frontend_toolkit-4.18.3 app/assets/javascripts/stageprompt.js
govuk_frontend_toolkit-4.18.2 app/assets/javascripts/stageprompt.js
govuk_frontend_toolkit-4.18.1 app/assets/javascripts/stageprompt.js
govuk_frontend_toolkit-4.18.0 app/assets/javascripts/stageprompt.js
govuk_frontend_toolkit-4.17.0 app/assets/javascripts/stageprompt.js
govuk_frontend_toolkit-4.16.1 app/assets/javascripts/stageprompt.js
govuk_frontend_toolkit-4.16.0 app/assets/javascripts/stageprompt.js
govuk_frontend_toolkit-4.15.0 app/assets/javascripts/stageprompt.js
govuk_frontend_toolkit-4.14.1 app/assets/javascripts/stageprompt.js
govuk_frontend_toolkit-4.14.0 app/assets/javascripts/stageprompt.js