Sha256: 3b0d1e0da8e9cb2e787cfba0399c5f1b6447a29da7a2ed19f21b6bed5a0b48be

Contents?: true

Size: 1.06 KB

Versions: 331

Compression:

Stored size: 1.06 KB

Contents

// Extension to monitor attempts to print pages.
;(function (global) {
  'use strict'

  var GOVUK = global.GOVUK || {}

  GOVUK.analyticsPlugins = GOVUK.analyticsPlugins || {}

  GOVUK.analyticsPlugins.printIntent = function () {
    var printAttempt = function () {
      GOVUK.analytics.trackEvent('Print Intent', document.location.pathname)
      GOVUK.analytics.trackPageview('/print' + document.location.pathname)
    }

    // Most browsers
    if (global.matchMedia) {
      var mediaQueryList = global.matchMedia('print')
      var mqlListenerCount = 0
      mediaQueryList.addListener(function (mql) {
        if (!mql.matches && mqlListenerCount === 0) {
          printAttempt()
          mqlListenerCount++
          // If we try and print again within 3 seconds, don't log it
          setTimeout(function () {
            mqlListenerCount = 0
            // printing will be tracked again now
          }, 3000)
        }
      })
    }

    // IE < 10
    if (global.onafterprint) {
      global.onafterprint = printAttempt
    }
  }

  global.GOVUK = GOVUK
})(window)

Version data entries

331 entries across 331 versions & 3 rubygems

Version Path
govuk_publishing_components-40.1.0 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-40.0.0 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-39.2.5 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-39.2.4 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-39.2.3 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-39.2.2 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-39.2.1 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-39.2.0 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-39.1.0 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-39.0.0 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-38.4.2 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-38.1.1 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-38.1.0 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-38.0.1 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-38.0.0 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-37.10.0 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-37.9.1 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-37.9.0 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-37.8.1 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
govuk_publishing_components-37.8.0 app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js