/**
* @file
* Attaches behavior for the Filter module.
*/
(function ($, Drupal) {
/**
* Displays the guidelines of the selected text format automatically.
*
* @type {Drupal~behavior}
*
* @prop {Drupal~behaviorAttach} attach
* Attaches behavior for updating filter guidelines.
*/
Drupal.behaviors.filterGuidelines = {
attach(context) {
function updateFilterGuidelines(event) {
const $this = $(event.target);
const value = $this.val();
$this
.closest('.js-filter-wrapper')
.find('[data-drupal-format-id]')
.hide()
.filter(`[data-drupal-format-id="${value}"]`)
.show();
}
$(context)
.find('.js-filter-guidelines')
.once('filter-guidelines')
.find(':header')
.hide()
.closest('.js-filter-wrapper')
.find('select.js-filter-list')
.on('change.filterGuidelines', updateFilterGuidelines)
// Need to trigger the namespaced event to avoid triggering formUpdated
// when initializing the select.
.trigger('change.filterGuidelines');
},
};
})(jQuery, Drupal);