Sha256: c0c69e83ac9b37619b2058196fbcbc2dbb2ab393026f58e728d0f5c80fda8f03

Contents?: true

Size: 1.48 KB

Versions: 34

Compression:

Stored size: 1.48 KB

Contents

window.GOVUK = window.GOVUK || {};
window.GOVUK.Modules = window.GOVUK.Modules || {};

(function (Modules) {
  'use strict';

  Modules.TrackSelectChange = function () {
    this.start = function (element) {
      element.change(function(e) {
        var selectedOption = $(this).find(":selected");
        var trackable = '[data-track-category][data-track-action]';

        if (selectedOption.is(trackable)) {
          fireTrackingChange(selectedOption);
        }
      });

      function fireTrackingChange(element) {
        var options = {transport: 'beacon'},
            category = element.attr('data-track-category'),
            action = element.attr('data-track-action'),
            label = element.attr('data-track-label'),
            value = element.attr('data-track-value'),
            dimension = element.attr('data-track-dimension'),
            dimensionIndex = element.attr('data-track-dimension-index'),
            extraOptions = element.attr('data-track-options');

        if (label) {
          options.label = label;
        }

        if (value) {
          options.value = value;
        }

        if (dimension && dimensionIndex) {
          options['dimension' + dimensionIndex] = dimension;
        }

        if (extraOptions) {
          $.extend(options, JSON.parse(extraOptions));
        }

        if (GOVUK.analytics && GOVUK.analytics.trackEvent) {
          GOVUK.analytics.trackEvent(category, action, options);
        }
      };
    };
  };
})(window.GOVUK.Modules);

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
govuk_publishing_components-16.16.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.15.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.14.1 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.14.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.13.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.12.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.11.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.10.1 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.10.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.9.2 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.9.1 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.9.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.8.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.7.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.6.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.5.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.4.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.3.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.2.0 app/assets/javascripts/govuk_publishing_components/lib/select.js
govuk_publishing_components-16.1.0 app/assets/javascripts/govuk_publishing_components/lib/select.js