Use delegation in SIRET champ code

This commit is contained in:
Paul Chavard 2018-08-16 18:04:18 +02:00
parent e8e62b0e63
commit 2500cd516b

View file

@ -1,37 +1,35 @@
import $ from 'jquery'; import $ from 'jquery';
addEventListener('turbolinks:load', () => { $(document).on('input', '[data-siret]', evt => {
$('[data-siret]').on('input', evt => { const input = $(evt.target);
const input = $(evt.target); const value = input.val();
const value = input.val(); const url = input.data('siret');
const url = input.attr('data-siret');
switch (value.length) { switch (value.length) {
case 0: case 0:
input.removeAttr('data-invalid'); input.removeData('invalid');
$.get(`${url}?siret=blank`); $.get(url, { siret: 'blank' });
break; break;
case 14: case 14:
input.attr('disabled', 'disabled'); input.attr('disabled', true);
$('.spinner').show(); $('.spinner').show();
$.get(`${url}?siret=${value}`).then( $.get(url, { siret: value }).then(
() => { () => {
input.removeAttr('data-invalid'); input.removeData('invalid');
input.removeAttr('disabled'); input.removeAttr('disabled');
$('.spinner').hide(); $('.spinner').hide();
}, },
() => { () => {
input.removeAttr('disabled'); input.removeAttr('disabled');
input.attr('data-invalid', true); input.data('invalid', true);
$('.spinner').hide(); $('.spinner').hide();
}
);
break;
default:
if (!input.attr('data-invalid')) {
input.attr('data-invalid', true);
$.get(`${url}?siret=invalid`);
} }
} );
}); break;
default:
if (!input.data('invalid')) {
input.data('invalid', true);
$.get(url, { siret: 'invalid' });
}
}
}); });