Sha256: 46165ebdeb9cffbc9c8a4e94da4efaa7c50a2ef5780813bd0ac6c4f8705adc5f

Contents?: true

Size: 882 Bytes

Versions: 180

Compression:

Stored size: 882 Bytes

Contents

/*
  Toggle the class 'focus' on input boxes on element focus/blur
  Used by the search component but generic enough for reuse
*/
window.GOVUK.Modules = window.GOVUK.Modules || {};

(function (Modules) {
  'use strict'

  Modules.GemToggleInputClassOnFocus = function () {
    this.start = function ($el) {
      var $toggleTarget = $el.find('.js-class-toggle')

      if (!inputIsEmpty()) {
        addFocusClass()
      }

      $toggleTarget.on('focus', addFocusClass)
      $toggleTarget.on('blur', removeFocusClassFromEmptyInput)

      function inputIsEmpty () {
        return $toggleTarget.val() === ''
      }

      function addFocusClass () {
        $toggleTarget.addClass('focus')
      }

      function removeFocusClassFromEmptyInput () {
        if (inputIsEmpty()) {
          $toggleTarget.removeClass('focus')
        }
      }
    }
  }
})(window.GOVUK.Modules)

Version data entries

180 entries across 180 versions & 1 rubygems

Version Path
govuk_publishing_components-21.65.1 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.65.0 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.64.0 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.63.3 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.63.2 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.63.1 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.63.0 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.62.0 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.61.0 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.60.3 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.60.2 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.60.1 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.60.0 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.59.0 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.58.0 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.57.1 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.57.0 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.56.2 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.56.1 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
govuk_publishing_components-21.56.0 app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js