Sha256: f119b354973e843d1d48aac5e146e994b34ab7ed2e6f770598803b9d8ec2b480

Contents?: true

Size: 1.31 KB

Versions: 3

Compression:

Stored size: 1.31 KB

Contents

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

(function (Modules) {
  function CookieBanner () { }

  CookieBanner.prototype.start = function ($module) {
    this.$module = $module[0]

    this.$module.hideCookieMessage = this.hideCookieMessage.bind(this)
    this.$hideLink = this.$module.querySelector('a[data-hide-cookie-banner]')
    if (this.$hideLink) {
      this.$hideLink.addEventListener('click', this.$module.hideCookieMessage)
    }

    this.showCookieMessage()
  }

  CookieBanner.prototype.showCookieMessage = function () {
    var hasCookieMessage = (this.$module && window.GOVUK.cookie('seen_cookie_message') !== 'true')
    if (hasCookieMessage) {
      this.$module.style.display = 'block'
    } else {
      if (window.GOVUK.analytics && typeof window.GOVUK.analytics.trackEvent === 'function') {
        window.GOVUK.analytics.trackEvent('cookieBanner', 'Cookie banner not shown', {
          nonInteraction: true
        })
      }
    }
  }

  CookieBanner.prototype.hideCookieMessage = function (event) {
    if (this.$module) {
      this.$module.style.display = 'none'
      window.GOVUK.cookie('seen_cookie_message', 'true', { days: 365 })
    }

    if (event.target) {
      event.preventDefault()
    }
  }

  Modules.CookieBanner = CookieBanner
})(window.GOVUK.Modules)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
govuk_publishing_components-16.14.0 app/assets/javascripts/govuk_publishing_components/components/cookie-banner.js
govuk_publishing_components-16.13.0 app/assets/javascripts/govuk_publishing_components/components/cookie-banner.js
govuk_publishing_components-16.12.0 app/assets/javascripts/govuk_publishing_components/components/cookie-banner.js