diff --git a/a11y_autocomplete_element.info.yml b/a11y_autocomplete_element.info.yml index b9c48d6..d66f8a9 100644 --- a/a11y_autocomplete_element.info.yml +++ b/a11y_autocomplete_element.info.yml @@ -3,4 +3,4 @@ description: 'Provides an accessible autocomplete element and widget to replace core_version_requirement: '>=9.2' type: module dependencies: - - options + - drupal:options diff --git a/a11y_autocomplete_element.install b/a11y_autocomplete_element.install index 4224920..633f61b 100644 --- a/a11y_autocomplete_element.install +++ b/a11y_autocomplete_element.install @@ -1,5 +1,10 @@ <?php +/** + * @file + * Installation. + */ + declare(strict_types=1); use Drupal\Core\File\FileSystemInterface; diff --git a/a11y_autocomplete_element.module b/a11y_autocomplete_element.module index 7104c6f..10a83e4 100644 --- a/a11y_autocomplete_element.module +++ b/a11y_autocomplete_element.module @@ -31,4 +31,3 @@ function a11y_autocomplete_element_library_info_build(): array { return []; } } - diff --git a/js/a11y-autocomplete.js b/js/a11y-autocomplete.js index af23bdf..b3f09fc 100644 --- a/js/a11y-autocomplete.js +++ b/js/a11y-autocomplete.js @@ -11,7 +11,7 @@ */ const init = el => { const generatePillForOption = (pillsContainer, option) => { - if (pillsContainer.querySelector(`[data-option="${option.value}"]`)) { + if (pillsContainer.querySelector(`[data - option = "${option.value}"]`)) { return; } const pill = document.createElement('div'); @@ -22,7 +22,7 @@ close.textContent = `Remove ${option.textContent}`; pill.textContent = option.textContent; close.addEventListener('click', () => { - option.selected = false; + option.selected = FALSE; pill.remove(); }); pill.append(close); @@ -34,7 +34,7 @@ const parent = el.parentNode; el.classList.add('visually-hidden'); parent.insertBefore(input, el); - if (el.multiple === true) { + if (el.multiple === TRUE) { const pills = document.createElement('div'); pills.classList.add('a11y-autocomplete__selected-items'); parent.insertBefore(pills, el); @@ -44,7 +44,7 @@ } else { input.value = - el.querySelector(`option[value="${el.value}"]`).textContent || ''; + el.querySelector(`option[value = "${el.value}"]`).textContent || ''; } const items = Array.from(el.querySelectorAll('option')).reduce( (carry, option) => { @@ -60,14 +60,14 @@ A11yAutocomplete(input, { source: items, }); - let selectionMade = false; + let selectionMade = FALSE; input.addEventListener('autocomplete-select', e => { - selectionMade = true; - if (el.multiple === true) { + selectionMade = TRUE; + if (el.multiple === TRUE) { const option = el.querySelector( - `option[value="${e.detail.selected.value}"]`, + `option[value = "${e.detail.selected.value}"]`, ); - option.selected = true; + option.selected = TRUE; generatePillForOption( parent.querySelector('.a11y-autocomplete__selected-items'), option, @@ -83,13 +83,13 @@ if (!selectionMade) { return; } - selectionMade = false; - if (el.multiple === true) { + selectionMade = FALSE; + if (el.multiple === TRUE) { input.value = ''; return; } input.value = - el.querySelector(`option[value="${el.value}"]`).textContent || ''; + el.querySelector(`option[value = "${el.value}"]`).textContent || ''; }); }; Drupal.behaviors.a11y_autocomplete_element = {