From 2860f19a7b196d72a04325268c9225185df57d26 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sun, 18 Jul 2021 14:17:40 +0200
Subject: [PATCH] #585 - prefill with chart settings

---
 .../budgetmaster/charts/ChartController.java           |  2 --
 src/main/resources/static/js/charts.js                 |  4 ++--
 src/main/resources/templates/charts/charts.ftl         | 10 +++++-----
 3 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java b/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java
index 3004c9a60..d5df9e4a4 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java
@@ -67,9 +67,7 @@ public class ChartController extends BaseController
 		model.addAttribute("chartSettings", defaultChartSettings);
 		model.addAttribute("charts", charts);
 		model.addAttribute("displayTypes", ChartDisplayType.values());
-		model.addAttribute("initialDisplayType", ChartDisplayType.BAR);
 		model.addAttribute("groupTypes", ChartGroupType.values());
-		model.addAttribute("initialGroupType", ChartGroupType.MONTH);
 
 		return "charts/charts";
 	}
diff --git a/src/main/resources/static/js/charts.js b/src/main/resources/static/js/charts.js
index 6b243fb2c..b605ab720 100644
--- a/src/main/resources/static/js/charts.js
+++ b/src/main/resources/static/js/charts.js
@@ -272,13 +272,13 @@ function filterChartPreviews()
     let allChartPreviews = document.getElementsByClassName('chart-preview-column');
     for(let i = 0; i < allChartPreviews.length; i++)
     {
-        allChartPreviews[i].style.display = 'none';
+        allChartPreviews[i].classList.toggle('hidden', true);
     }
 
     let chartPreviews = document.querySelectorAll('.chart-preview-column[data-display-type="' + displayTypeName + '"][data-group-type="' + groupTypeName + '"]');
     for(let i = 0; i < chartPreviews.length; i++)
     {
-        chartPreviews[i].style.display = '';
+        chartPreviews[i].classList.toggle('hidden', false);
     }
 
     unsetActiveChartPreview();
diff --git a/src/main/resources/templates/charts/charts.ftl b/src/main/resources/templates/charts/charts.ftl
index 079e23895..06d368346 100644
--- a/src/main/resources/templates/charts/charts.ftl
+++ b/src/main/resources/templates/charts/charts.ftl
@@ -36,23 +36,23 @@
                             <div class="row hide-on-small-and-down">
                                 <div class="col s12 center-align">
                                     <#list displayTypes as displayType>
-                                        <@chartTypeButton item=displayType buttonClass="button-display-type" initialItem=initialDisplayType/>
+                                        <@chartTypeButton item=displayType buttonClass="button-display-type" initialItem=chartSettings.getDisplayType()/>
                                     </#list>
                                 </div>
                             </div>
                         </div>
-                        <input type="hidden" name="displayType" value="${initialDisplayType.name()}">
+                        <input type="hidden" name="displayType" value="${chartSettings.getDisplayType().name()}">
 
                         <div class="container">
                             <div class="row hide-on-small-and-down">
                                 <div class="col s12 center-align">
                                     <#list groupTypes as groupType>
-                                        <@chartTypeButton item=groupType buttonClass="button-group-type" initialItem=initialGroupType/>
+                                        <@chartTypeButton item=groupType buttonClass="button-group-type" initialItem=chartSettings.getGroupType()/>
                                     </#list>
                                 </div>
                             </div>
                         </div>
-                        <input type="hidden" name="groupType" value="${initialGroupType.name()}">
+                        <input type="hidden" name="groupType" value="${chartSettings.getGroupType().name()}">
 
                         <div class="container">
                             <div class="row">
@@ -277,7 +277,7 @@
 </#macro>
 
 <#macro chartPreview chart>
-    <div class="col s6 m4 l3 center-align chart-preview-column" data-display-type="${chart.getDisplayType()}" data-group-type="${chart.getGroupType()}" data-id="${chart.getID()?c}">
+    <div class="col s6 m4 l3 center-align chart-preview-column hidden" data-display-type="${chart.getDisplayType()}" data-group-type="${chart.getGroupType()}" data-id="${chart.getID()?c}">
         <div class="card chart-preview background-grey-dark">
             <div class="card-image">
                 <img src="<@s.url '/images/charts/' + chart.getPreviewImageFileName()!"placeholder.png"/>">
-- 
GitLab