/** * @file * Javascript behaviors for roles element integration. */ (function ($, Drupal) { 'use strict'; /** * Enhance roles element. * * @type {Drupal~behavior} */ Drupal.behaviors.webformRoles = { attach: function (context) { $(context).find('.js-webform-roles-role[value="authenticated"]').once('webform-roles').each(function () { var $authenticated = $(this); var $checkboxes = $authenticated.parents('.form-checkboxes').find('.js-webform-roles-role').filter(function () { return ($(this).val() != 'anonymous' && $(this).val() != 'authenticated'); }); $authenticated.on('click', function () { if ($authenticated.is(':checked')) { $checkboxes.prop('checked', true).attr('disabled', true); } else { $checkboxes.prop('checked', false).removeAttr('disabled'); } }); if ($authenticated.is(':checked')) { $checkboxes.prop('checked', true).attr('disabled', true); } }) } }; })(jQuery, Drupal);