31 lines
997 B
JavaScript
31 lines
997 B
JavaScript
/**
|
|
* @file
|
|
* Extends methods from core/misc/form.js.
|
|
*/
|
|
|
|
(function ($, window, Drupal, drupalSettings, once) {
|
|
|
|
/**
|
|
* Behavior for "forms_has_error_value_toggle" theme setting.
|
|
*/
|
|
Drupal.behaviors.bootstrapForm = {
|
|
attach: function (context) {
|
|
if (drupalSettings.bootstrap && drupalSettings.bootstrap.forms_has_error_value_toggle) {
|
|
var $context = $(context);
|
|
$(once('error', '.form-item.has-error:not(.form-type-password.has-feedback)', context)).each(function () {
|
|
var $formItem = $(this);
|
|
var $input = $formItem.find(':input');
|
|
$input.on('keyup focus blur', function () {
|
|
if (this.defaultValue !== void 0) {
|
|
$formItem[this.defaultValue !== this.value ? 'removeClass' : 'addClass']('has-error');
|
|
$input[this.defaultValue !== this.value ? 'removeClass' : 'addClass']('error');
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
};
|
|
|
|
|
|
})(jQuery, this, Drupal, drupalSettings, once);
|