Добавление веб-версии сервиса #5
@ -46,6 +46,11 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg">
|
<div class="col-lg">
|
||||||
|
<div id="loaderWrapper" class="d-none">
|
||||||
|
<div class="spinner-border text-primary" role="status">
|
||||||
|
<span class="visually-hidden">Загрузка...</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<img src="none.png" alt="Результат" id="imgslot" class="w-100" />
|
<img src="none.png" alt="Результат" id="imgslot" class="w-100" />
|
||||||
<div id="queriesResult"></div>
|
<div id="queriesResult"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -27,15 +27,25 @@ const processAnalyzeResult = (data) => {
|
|||||||
for (const [query, result] of Object.entries(data.data.response)) {
|
for (const [query, result] of Object.entries(data.data.response)) {
|
||||||
queriesResult.innerHTML += renderResultMarkup(query, result);
|
queriesResult.innerHTML += renderResultMarkup(query, result);
|
||||||
}
|
}
|
||||||
|
} else if (data.data && data.data.error) {
|
||||||
|
queriesResult.innerHTML = `<div class="alert alert-danger">${JSON.stringify(data.data.error)}</div>`;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleFormSubmit = (event) => {
|
const handleFormSubmit = (event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
const data = new FormData(event.target);
|
const data = new FormData(event.target);
|
||||||
|
const loaderWrapper = document.getElementById('loaderWrapper');
|
||||||
|
loaderWrapper.classList.remove('d-none');
|
||||||
fetch('/analyze', { method: 'POST', body: data })
|
fetch('/analyze', { method: 'POST', body: data })
|
||||||
.then((res) => res.json())
|
.then((res) => res.json())
|
||||||
.then(processAnalyzeResult);
|
.then(processAnalyzeResult)
|
||||||
|
.catch(() => {
|
||||||
|
alert('Произошла внутренняя ошибка.');
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
loaderWrapper.classList.add('d-none');
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
#loaderWrapper {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background-color: #33333333;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user