Merge pull request #102 from EETagent/page_filled_refactor

(frontend) filled page refactor
This commit is contained in:
Vojtěch Jungmann 2022-12-22 12:17:05 +01:00 committed by GitHub
commit 61bedefc21
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -21,7 +21,7 @@
const pageCount = 5;
let pageIndex = 0;
let pagesFilled = 0;
let pagesFilled = [false, false, false, false, false];
const formInitialValues = {
gdpr: false,
@ -443,7 +443,7 @@
if (isPageInvalid()) return;
if (pageIndex === pageCount) {
} else {
pagesFilled++;
pagesFilled[pageIndex] = true;
pageIndex++;
}
// @ts-ignore
@ -458,15 +458,17 @@
<button
class:dotActive={i === pageIndex}
on:click={async (e) => {
if (i <= pagesFilled) {
// never skip unfilled or invalid pages
pageIndex = i;
} else if (i == pagesFilled + 1) {
// if next page is clicked, validate current page
await handleSubmit(e);
if (isPageInvalid()) return;
pagesFilled++;
pageIndex++;
const progress = pagesFilled.slice(0, i ).every((item) => item === true);
if (progress) {
if (i > pageIndex) {
// if next page is clicked, validate current page
await handleSubmit(e);
if (isPageInvalid()) return;
pagesFilled[i] = true;
pageIndex++;
} else {
pageIndex = i;
}
// @ts-ignore
errors.set(formInitialValues);
}