Skip to content
Snippets Groups Projects
Commit daf7ab1f authored by Jiří Setnička's avatar Jiří Setnička
Browse files

Zpracování skenů: Příjemnější scrollování

Už nepoužíváme scrollIntoView(), která pohybuje celou stránkou, ale
scrollujeme explicitně jenom v seznamu stránek.
parent ab240b86
No related branches found
No related tags found
No related merge requests found
......@@ -153,7 +153,7 @@ tlačítkem <b>[Uložit]</b>. Poté můžete celou dávku odeslat ke zpracován
</div>
<span tabindex=5 onfocus="document.getElementById('user_input').focus();"></span>
</div>
<div class="pages">
<div class="pages" id="rows_scroller">
<table class="data">
<thead>
<th title="Číslo skenu">#
......@@ -217,6 +217,7 @@ var task_input = document.getElementById('task_input');
var seq_input = document.getElementById('seq_input');
var process_all_button = document.getElementById('process-all-button');
var save_data_field = document.getElementById('save-data');
var rows_scroller = document.getElementById('rows_scroller');
PAGE_FIX = -1;
PAGE_EMPTY = -2;
......@@ -372,17 +373,28 @@ seq_input.addEventListener("blur", function(e) {
refreshActiveRow();
});
function scrollToRow(i) {
var top = rows[i].offsetTop;
var bottom = top + rows[i].offsetHeight;
if (rows_scroller.scrollTop > top - 45) {
rows_scroller.scrollTo({ top: top - 45, behavior: 'smooth'});
} else if (rows_scroller.scrollTop + rows_scroller.offsetHeight < bottom + 30) {
rows_scroller.scrollTo({ top: bottom - rows_scroller.offsetHeight + 30, behavior: 'smooth' });
}
}
function prevPage() {
if (activeRow > 0) {
selectRow(activeRow - 1);
rows[activeRow].scrollIntoView({ behavior: 'smooth', block: 'center' });
scrollToRow(activeRow);
}
}
function nextPage() {
if (activeRow < pages.length - 1) {
selectRow(activeRow + 1);
rows[activeRow].scrollIntoView({ behavior: 'smooth', block: 'center' });
scrollToRow(activeRow);
}
}
......@@ -446,6 +458,7 @@ for (let i = 0; i < pages.length; i++) {
}
selectRow(0);
scrollToRow(0);
</script>
{% endif %}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment