From 910b3ecf32bbd0508161b59fe8e9a13469a42bee Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sun, 3 Oct 2021 12:09:53 +0200
Subject: [PATCH] #596 - added button to remove recurring options while on new
 transaction/transfer page

---
 src/main/resources/languages/base_de.properties |  3 ++-
 src/main/resources/languages/base_en.properties |  3 ++-
 src/main/resources/static/js/transactions.js    | 17 ++++++++++++++---
 .../transactions/newTransactionMacros.ftl       |  8 +++++++-
 4 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/src/main/resources/languages/base_de.properties b/src/main/resources/languages/base_de.properties
index 9383131d5..1580ae7fb 100644
--- a/src/main/resources/languages/base_de.properties
+++ b/src/main/resources/languages/base_de.properties
@@ -305,7 +305,8 @@ transaction.new.label.transfer.account=Zielkonto
 transaction.new.label.repeating=Wiederholung
 transaction.new.label.repeating.all=Alle
 
-repeating.button=Wiederholung hinzufügen
+repeating.button.add=Wiederholung hinzufügen
+repeating.button.remove=Wiederholung entfernen
 
 repeating.modifier.days=Tage
 repeating.modifier.months=Monate
diff --git a/src/main/resources/languages/base_en.properties b/src/main/resources/languages/base_en.properties
index c212409bb..abc0e8566 100644
--- a/src/main/resources/languages/base_en.properties
+++ b/src/main/resources/languages/base_en.properties
@@ -306,7 +306,8 @@ transaction.new.label.transfer.account=Destination Account
 transaction.new.label.repeating=Repeating
 transaction.new.label.repeating.all=Every
 
-repeating.button=Add repetition
+repeating.button.add=Add repetition
+repeating.button.remove=Remove repetition
 
 repeating.modifier.days=Days
 repeating.modifier.months=Months
diff --git a/src/main/resources/static/js/transactions.js b/src/main/resources/static/js/transactions.js
index 56914321a..a4d6a6af5 100644
--- a/src/main/resources/static/js/transactions.js
+++ b/src/main/resources/static/js/transactions.js
@@ -266,12 +266,23 @@ $(document).ready(function()
 
     $('#button-transaction-add-repeating-option').click(function()
     {
-        document.getElementById('button-transaction-add-repeating-option').classList.toggle('hidden', true);
-        document.getElementsByName('isRepeating')[0].value = true;
-        document.getElementById('transaction-repeating-option').classList.toggle('hidden', false);
+        toggleRepeatingOptions(true);
+    });
+
+    $('#button-transaction-remove-repeating-option').click(function()
+    {
+        toggleRepeatingOptions(false);
     });
 });
 
+function toggleRepeatingOptions(show)
+{
+    document.getElementById('button-transaction-add-repeating-option').classList.toggle('hidden', show);
+    document.getElementsByName('isRepeating')[0].value = show;
+    document.getElementById('transaction-repeating-option').classList.toggle('hidden', !show);
+    document.getElementById('button-transaction-remove-repeating-option').classList.toggle('hidden', !show);
+}
+
 function isHidden(el)
 {
     let style = window.getComputedStyle(el);
diff --git a/src/main/resources/templates/transactions/newTransactionMacros.ftl b/src/main/resources/templates/transactions/newTransactionMacros.ftl
index 75d726084..4a454bc14 100644
--- a/src/main/resources/templates/transactions/newTransactionMacros.ftl
+++ b/src/main/resources/templates/transactions/newTransactionMacros.ftl
@@ -156,7 +156,7 @@
 <#macro transactionRepeating transaction currentDate>
     <div class="row <#if transaction.isRepeating()>hidden</#if>">
         <div class="col s12 center-align">
-            <@header.buttonLink url='' icon='repeat' localizationKey='repeating.button' id='button-transaction-add-repeating-option' color='background-blue-baby' noUrl=true classes="text-black"/>
+            <@header.buttonLink url='' icon='repeat' localizationKey='repeating.button.add' id='button-transaction-add-repeating-option' color='background-blue-baby' noUrl=true classes="text-black"/>
         </div>
     </div>
 
@@ -174,6 +174,12 @@
 
         <@repeatingEndOption transaction currentDate/>
     </div>
+
+    <div class="row">
+        <div class="col s12 center-align">
+            <@header.buttonLink url='' icon='delete' localizationKey='repeating.button.remove' id='button-transaction-remove-repeating-option' color='background-blue-baby' noUrl=true classes="text-black hidden"/>
+        </div>
+    </div>
 </#macro>
 
 <#macro repeatingModifier transaction>
-- 
GitLab