Sha256: c32908402857938dbe48d7a3b6d9d2a20d9223fdcdd24e4b747a1ca7981e4848

Contents?: true

Size: 884 Bytes

Versions: 135

Compression:

Stored size: 884 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

135 entries across 135 versions & 1 rubygems

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