Sha256: fd60b8da4b734a84b9c49aab5f144c9641983a0745afe658add0b850ba5655cc

Contents?: true

Size: 1.55 KB

Versions: 51

Compression:

Stored size: 1.55 KB

Contents

// used by the header navigation from govuk_template

(function () {
  'use strict'

  if (document.querySelectorAll && document.addEventListener) {
    var els = document.querySelectorAll('.js-header-toggle')
    var i
    var _i
    for (i = 0, _i = els.length; i < _i; i++) {
      els[i].addEventListener('click', function (e) {
        e.preventDefault()
        var target = this.getAttribute('href') ? document.getElementById(this.getAttribute('href').substr(1)) : document.getElementById(this.getAttribute('data-search-toggle-for'))
        var targetClass = target.getAttribute('class') || ''
        var sourceClass = this.getAttribute('class') || ''
        var isSearchToggle = sourceClass.match('search-toggle')

        if (targetClass.indexOf('js-visible') !== -1) {
          target.setAttribute('class', targetClass.replace(/(^|\s)js-visible(\s|$)/, ''))
        } else {
          target.setAttribute('class', targetClass + ' js-visible')
        }
        if (sourceClass.indexOf('js-visible') !== -1) {
          this.setAttribute('class', sourceClass.replace(/(^|\s)js-visible(\s|$)/, ''))
          if (isSearchToggle) {
            this.innerText = 'Show search'
          }
        } else {
          this.setAttribute('class', sourceClass + ' js-visible')
          if (isSearchToggle) {
            this.innerText = 'Hide search'
          }
        }
        this.setAttribute('aria-expanded', this.getAttribute('aria-expanded') !== 'true')
        target.setAttribute('aria-hidden', target.getAttribute('aria-hidden') === 'false')
      })
    }
  }
}).call(this)

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
govuk_publishing_components-24.4.1 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-24.4.0 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-24.3.1 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-24.3.0 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-24.2.0 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-24.1.1 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-24.1.0 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-24.0.0 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-23.15.0 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-23.14.0 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-23.13.1 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-23.13.0 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-23.12.3 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-23.12.2 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-23.12.1 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-23.12.0 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-23.11.1 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-23.11.0 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-23.10.2 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js
govuk_publishing_components-23.10.1 app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js