This repository has been archived on 2025-01-19. You can view files and clone it, but cannot push or open issues or pull requests.
drupalcampbristol/web/modules/contrib/webform/js/webform.element.composite.js
2018-11-23 12:29:20 +00:00

43 lines
1.1 KiB
JavaScript

/**
* @file
* JavaScript behaviors for composite element builder.
*/
(function ($, Drupal) {
'use strict';
/**
* Initialize composite element builder.
*
* @type {Drupal~behavior}
*/
Drupal.behaviors.webformElementComposite = {
attach: function (context) {
$('[data-composite-types]').once('webform-composite-types').each(function () {
var $element = $(this);
var $type = $element.closest('tr').find('.js-webform-composite-type');
var types = $element.attr('data-composite-types').split(',');
var required = $element.attr('data-composite-required');
$type.on('change', function () {
if ($.inArray($(this).val(), types) === -1) {
$element.hide();
if (required) {
$element.removeAttr('required aria-required');
}
}
else {
$element.show();
if (required) {
$element.attr({'required': 'required', 'aria-required': 'true'});
}
}
}).change();
});
}
};
})(jQuery, Drupal);