document.addEventListener("DOMContentLoaded", function (event) { var isbnButton = document.querySelector('#id_isbn_button'); var isbn = document.querySelector('#id_isbn'); isbnButton.addEventListener('click', function (event) { isbn.setAttribute('disabled', 'disabled'); isbnButton.setAttribute('disabled', 'disabled'); document.querySelector('#id_title').setAttribute('disabled', 'disabled'); document.querySelector('#id_authors').setAttribute('disabled', 'disabled'); document.querySelector('#id_publication_year').setAttribute('disabled', 'disabled'); document.querySelector('#id_price').setAttribute('disabled', 'disabled'); document.querySelector('#id_editor').setAttribute('disabled', 'disabled'); document.querySelector('#id_other_editor').setAttribute('disabled', 'disabled'); document.querySelector('#id_isbn_spinner').removeAttribute('hidden'); $.get("/isbn_api/" + isbn.value, {}, function (data, status, xhr) { if (data.error) { isbn.classList.add('is-invalid'); isbn.classList.remove('is-valid'); document.querySelector('#id_isbn_invalid_feedback').style.display = 'block'; document.querySelector('#id_isbn_invalid_feedback').textContent = data.error; return; } isbn.classList.remove('is-invalid'); isbn.classList.add('is-valid'); document.querySelector('#id_isbn_invalid_feedback').style.display = 'none'; document.querySelector('#id_isbn_invalid_feedback').textContent = ''; document.querySelector('#id_title').value = data.title; document.querySelector('#id_title').classList.add('is-valid'); document.querySelector('#id_authors').value = data.authors; document.querySelector('#id_authors').classList.add('is-valid'); document.querySelector('#id_publication_year').value = data.year; document.querySelector('#id_publication_year').classList.add('is-valid'); document.querySelector('#id_price').value = data.price; document.querySelector('#id_price').classList.add('is-valid'); var editorValue = ""; var editorIsOther = false; for (var option of document.querySelector('#id_editor').children) { if (editorValue === "" && option.firstChild.data.toLowerCase().indexOf('autre') !== -1) { editorValue = option.value; editorIsOther = true; } if (option.firstChild.data.toLowerCase() === data.editor.toLowerCase()) { editorValue = option.value; editorIsOther = false; } } document.querySelector('#id_editor').value = editorValue; document.querySelector('#id_editor').classList.add('is-valid'); event = document.createEvent("HTMLEvents"); event.initEvent("change", true, true); event.eventName = "change"; document.querySelector('#id_editor').dispatchEvent(event); if (editorIsOther) { document.querySelector('#id_other_editor').value = data.editor; document.querySelector('#id_other_editor').classList.add('is-valid'); } isbn.removeAttribute('disabled'); isbnButton.removeAttribute('disabled'); document.querySelector('#id_title').removeAttribute('disabled'); document.querySelector('#id_authors').removeAttribute('disabled'); document.querySelector('#id_publication_year').removeAttribute('disabled'); document.querySelector('#id_price').removeAttribute('disabled'); document.querySelector('#id_editor').removeAttribute('disabled'); document.querySelector('#id_other_editor').removeAttribute('disabled'); document.querySelector('#id_isbn_spinner').setAttribute('hidden', 'hidden'); }); }); });