blob: 245529ba2c3fd39cce0e5ee9960628776472686e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
/**
* @file
* Claro's enhancement for autocomplete form element.
*/
(($, Drupal) => {
Drupal.behaviors.claroAutoCompete = {
attach(context) {
$(context)
.find('input.form-autocomplete')
.once('claroAutoComplete')
.each((index, value) => {
const $input = $(value);
const timeout = 400;
let classRemoveTimeout;
const classRemove = ($autoCompleteElem) => {
$autoCompleteElem.removeClass('is-autocompleting');
$autoCompleteElem
.siblings('[data-drupal-selector="autocomplete-message"]')
.addClass('hidden');
};
$input.on(
'input autocompletesearch autocompleteresponses',
(event) => {
if (event && event.type && event.type === 'autocompletesearch') {
$(event.target).addClass('is-autocompleting');
$(event.target)
.siblings('[data-drupal-selector="autocomplete-message"]')
.removeClass('hidden');
}
clearTimeout(classRemoveTimeout);
classRemoveTimeout = setTimeout(
classRemove,
timeout,
$(event.target),
);
},
);
});
},
};
})(jQuery, Drupal);
|