From a2b7729d8277ae8b73f8bd58fe9ef00145ea1a6c Mon Sep 17 00:00:00 2001 From: zuzanna-maria Date: Fri, 20 Dec 2024 10:54:28 +0100 Subject: [PATCH 1/6] Navigation and submission block now work as expected with pagebreak + conditional section --- www/form/inner.js | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/www/form/inner.js b/www/form/inner.js index 661b0ee98..77cd34b6d 100644 --- a/www/form/inner.js +++ b/www/form/inner.js @@ -4374,6 +4374,7 @@ define([ var shownPages = checkPages[1]; var shownLength = shownContent.length; $(state).text(Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownLength])); + togglePageArrows(shownLength) }); var left = h('button.btn.btn-secondary.cp-prev', [ h('i.fa.fa-arrow-left'), @@ -4385,6 +4386,29 @@ define([ if (shownPages.indexOf(_content[current-1])+1 === shownContent.length) { $(right).css('visibility', 'hidden'); } if (current === 1) { $(left).css('visibility', 'hidden'); } + var togglePageArrows = function(shownLength) { + var checkPages = checkEmptyPages(); + var shownContent = checkPages[0]; + var shownPages = checkPages[1]; + var shownLength = shownContent.length; + if (shownPages.indexOf(_content[current-1])+1 === shownLength) { + $(right).css('visibility', 'hidden'); + } else { + $(right).css('visibility', 'visible') + } + + if (current === 1) {$(left).css('visibility', 'hidden');} + $container.find('.cp-form-page').hide() + $($container.find('.cp-form-page').get(current-1)).show() + if (current !== shownLength) { + $container.find('.cp-form-send-container').hide() + } else { + $container.find('.cp-form-send-container').show() + } + } + + togglePageArrows() + $(left).click(function () { refreshPage(current - 1, 'prev'); }); @@ -4392,14 +4416,6 @@ define([ refreshPage(current + 1, 'next'); }); $page.append([left, state, right]); - - $container.find('.cp-form-page').hide(); - $($container.find('.cp-form-page').get(current-1)).show(); - if (current !== pages) { - $container.find('.cp-form-send-container').hide(); - } else { - $container.find('.cp-form-send-container').show(); - } }; setTimeout(refreshPage); } From bf01f3ff66d8151338c261d6bba9bdc534e90f7e Mon Sep 17 00:00:00 2001 From: zuzanna-maria Date: Fri, 20 Dec 2024 11:23:18 +0100 Subject: [PATCH 2/6] Refactor --- www/form/inner.js | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/www/form/inner.js b/www/form/inner.js index 77cd34b6d..8eb4e7c75 100644 --- a/www/form/inner.js +++ b/www/form/inner.js @@ -4346,11 +4346,8 @@ define([ $page.empty(); if (!current || current < 1) { current = 1; } - var checkPages = checkEmptyPages(); - var shownContent = checkPages[0]; - var shownPages = checkPages[1]; - var shownLength = shownContent.length; - + var shownContent = checkEmptyPages()[0]; + var shownPages = checkEmptyPages()[1]; if (pgcontent[(current - 1)] && pgcontent[current-1].empty) { if (direction === 'next') { current++; @@ -4367,14 +4364,13 @@ define([ } } - var state = h('span', Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownLength])); + var state = h('span', Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownContent.length])); evOnChange.reg(function(){ - var checkPages = checkEmptyPages(); - var shownContent = checkPages[0]; - var shownPages = checkPages[1]; - var shownLength = shownContent.length; - $(state).text(Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownLength])); - togglePageArrows(shownLength) + togglePageArrows() + var shownContent = checkEmptyPages()[0]; + var shownPages = checkEmptyPages()[1]; + $(state).text(Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownContent.length])); + }); var left = h('button.btn.btn-secondary.cp-prev', [ h('i.fa.fa-arrow-left'), @@ -4386,12 +4382,10 @@ define([ if (shownPages.indexOf(_content[current-1])+1 === shownContent.length) { $(right).css('visibility', 'hidden'); } if (current === 1) { $(left).css('visibility', 'hidden'); } - var togglePageArrows = function(shownLength) { - var checkPages = checkEmptyPages(); - var shownContent = checkPages[0]; - var shownPages = checkPages[1]; - var shownLength = shownContent.length; - if (shownPages.indexOf(_content[current-1])+1 === shownLength) { + var togglePageArrows = function() { + var shownContent = checkEmptyPages()[0]; + var shownPages = checkEmptyPages()[1]; + if (shownPages.indexOf(_content[current-1])+1 === shownContent.length) { $(right).css('visibility', 'hidden'); } else { $(right).css('visibility', 'visible') @@ -4400,7 +4394,7 @@ define([ if (current === 1) {$(left).css('visibility', 'hidden');} $container.find('.cp-form-page').hide() $($container.find('.cp-form-page').get(current-1)).show() - if (current !== shownLength) { + if (current !== shownContent.length) { $container.find('.cp-form-send-container').hide() } else { $container.find('.cp-form-send-container').show() From 0de7fa52ff180c9f5921c150a53564853f303558 Mon Sep 17 00:00:00 2001 From: zuzanna-maria Date: Fri, 20 Dec 2024 11:29:53 +0100 Subject: [PATCH 3/6] Linting --- www/form/inner.js | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/www/form/inner.js b/www/form/inner.js index 8eb4e7c75..c426090a6 100644 --- a/www/form/inner.js +++ b/www/form/inner.js @@ -4364,14 +4364,6 @@ define([ } } - var state = h('span', Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownContent.length])); - evOnChange.reg(function(){ - togglePageArrows() - var shownContent = checkEmptyPages()[0]; - var shownPages = checkEmptyPages()[1]; - $(state).text(Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownContent.length])); - - }); var left = h('button.btn.btn-secondary.cp-prev', [ h('i.fa.fa-arrow-left'), ]); @@ -4379,29 +4371,38 @@ define([ h('i.fa.fa-arrow-right'), ]); - if (shownPages.indexOf(_content[current-1])+1 === shownContent.length) { $(right).css('visibility', 'hidden'); } - if (current === 1) { $(left).css('visibility', 'hidden'); } - var togglePageArrows = function() { var shownContent = checkEmptyPages()[0]; var shownPages = checkEmptyPages()[1]; if (shownPages.indexOf(_content[current-1])+1 === shownContent.length) { $(right).css('visibility', 'hidden'); } else { - $(right).css('visibility', 'visible') + $(right).css('visibility', 'visible'); } if (current === 1) {$(left).css('visibility', 'hidden');} - $container.find('.cp-form-page').hide() - $($container.find('.cp-form-page').get(current-1)).show() + $container.find('.cp-form-page').hide(); + $($container.find('.cp-form-page').get(current-1)).show(); if (current !== shownContent.length) { - $container.find('.cp-form-send-container').hide() + $container.find('.cp-form-send-container').hide(); } else { - $container.find('.cp-form-send-container').show() + $container.find('.cp-form-send-container').show(); } - } + }; - togglePageArrows() + var state = h('span', Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownContent.length])); + evOnChange.reg(function(){ + togglePageArrows(); + var shownContent = checkEmptyPages()[0]; + var shownPages = checkEmptyPages()[1]; + $(state).text(Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownContent.length])); + + }); + + if (shownPages.indexOf(_content[current-1])+1 === shownContent.length) { $(right).css('visibility', 'hidden'); } + if (current === 1) { $(left).css('visibility', 'hidden'); } + + togglePageArrows(); $(left).click(function () { refreshPage(current - 1, 'prev'); From 06bde188d4027c7f6283db8cc1f3397c8cc19ae6 Mon Sep 17 00:00:00 2001 From: zuzanna-maria Date: Fri, 17 Jan 2025 15:22:08 +0100 Subject: [PATCH 4/6] Refactor --- www/form/inner.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/www/form/inner.js b/www/form/inner.js index c426090a6..e5c9afa4c 100644 --- a/www/form/inner.js +++ b/www/form/inner.js @@ -4345,9 +4345,9 @@ define([ var refreshPage = APP.refreshPage = function (current, direction) { $page.empty(); if (!current || current < 1) { current = 1; } - - var shownContent = checkEmptyPages()[0]; - var shownPages = checkEmptyPages()[1]; + var checkPages = checkEmptyPages() + var shownContent = checkPages[0]; + var shownPages = checkPages[1]; if (pgcontent[(current - 1)] && pgcontent[current-1].empty) { if (direction === 'next') { current++; @@ -4372,8 +4372,9 @@ define([ ]); var togglePageArrows = function() { - var shownContent = checkEmptyPages()[0]; - var shownPages = checkEmptyPages()[1]; + var checkPages = checkEmptyPages() + var shownContent = checkPages[0]; + var shownPages = checkPages[1]; if (shownPages.indexOf(_content[current-1])+1 === shownContent.length) { $(right).css('visibility', 'hidden'); } else { @@ -4393,8 +4394,9 @@ define([ var state = h('span', Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownContent.length])); evOnChange.reg(function(){ togglePageArrows(); - var shownContent = checkEmptyPages()[0]; - var shownPages = checkEmptyPages()[1]; + var checkPages = checkEmptyPages() + var shownContent = checkPages[0]; + var shownPages = checkPages[1]; $(state).text(Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownContent.length])); }); From 0f7ab5f5e4fa214bdfd87c3ea5baa4b04529f542 Mon Sep 17 00:00:00 2001 From: zuzanna-maria Date: Fri, 17 Jan 2025 15:23:37 +0100 Subject: [PATCH 5/6] Linting --- www/form/inner.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/www/form/inner.js b/www/form/inner.js index e5c9afa4c..af2ace46e 100644 --- a/www/form/inner.js +++ b/www/form/inner.js @@ -4345,7 +4345,7 @@ define([ var refreshPage = APP.refreshPage = function (current, direction) { $page.empty(); if (!current || current < 1) { current = 1; } - var checkPages = checkEmptyPages() + var checkPages = checkEmptyPages(); var shownContent = checkPages[0]; var shownPages = checkPages[1]; if (pgcontent[(current - 1)] && pgcontent[current-1].empty) { @@ -4372,7 +4372,7 @@ define([ ]); var togglePageArrows = function() { - var checkPages = checkEmptyPages() + var checkPages = checkEmptyPages(); var shownContent = checkPages[0]; var shownPages = checkPages[1]; if (shownPages.indexOf(_content[current-1])+1 === shownContent.length) { @@ -4394,7 +4394,7 @@ define([ var state = h('span', Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownContent.length])); evOnChange.reg(function(){ togglePageArrows(); - var checkPages = checkEmptyPages() + var checkPages = checkEmptyPages(); var shownContent = checkPages[0]; var shownPages = checkPages[1]; $(state).text(Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownContent.length])); From 54dfd955012145a359bc2bf9bebb4776c70bba62 Mon Sep 17 00:00:00 2001 From: zuzanna-maria Date: Fri, 17 Jan 2025 16:34:44 +0100 Subject: [PATCH 6/6] Refactoring & fixed bug --- www/form/inner.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/www/form/inner.js b/www/form/inner.js index af2ace46e..43af934e3 100644 --- a/www/form/inner.js +++ b/www/form/inner.js @@ -4371,8 +4371,7 @@ define([ h('i.fa.fa-arrow-right'), ]); - var togglePageArrows = function() { - var checkPages = checkEmptyPages(); + var togglePageArrows = function(checkPages) { var shownContent = checkPages[0]; var shownPages = checkPages[1]; if (shownPages.indexOf(_content[current-1])+1 === shownContent.length) { @@ -4384,7 +4383,7 @@ define([ if (current === 1) {$(left).css('visibility', 'hidden');} $container.find('.cp-form-page').hide(); $($container.find('.cp-form-page').get(current-1)).show(); - if (current !== shownContent.length) { + if (current < shownContent.length) { $container.find('.cp-form-send-container').hide(); } else { $container.find('.cp-form-send-container').show(); @@ -4393,8 +4392,8 @@ define([ var state = h('span', Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownContent.length])); evOnChange.reg(function(){ - togglePageArrows(); var checkPages = checkEmptyPages(); + togglePageArrows(checkPages); var shownContent = checkPages[0]; var shownPages = checkPages[1]; $(state).text(Messages._getKey('form_page', [shownPages.indexOf(_content[current-1])+1, shownContent.length])); @@ -4404,7 +4403,7 @@ define([ if (shownPages.indexOf(_content[current-1])+1 === shownContent.length) { $(right).css('visibility', 'hidden'); } if (current === 1) { $(left).css('visibility', 'hidden'); } - togglePageArrows(); + togglePageArrows(checkPages); $(left).click(function () { refreshPage(current - 1, 'prev');