From a7dca9092ca9b438f137afa3b103e46857454964 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Sat, 27 Jul 2019 15:13:58 +0200
Subject: [PATCH] Fixed #470 - charts: export size; always show mode bar

---
 .../budgetmaster/charts/DefaultCharts.java    | 10 ++++-----
 src/main/resources/charts/AccountSumPerDay.js | 21 ++++++++++++++-----
 .../IncomesAndExpendituresByCategoryBar.js    |  9 +++++++-
 .../IncomesAndExpendituresPerMonthBar.js      |  9 +++++++-
 ...omesAndExpendituresPerMonthByCategories.js |  9 +++++++-
 .../IncomesAndExpendituresPerMonthLine.js     |  9 +++++++-
 6 files changed, 53 insertions(+), 14 deletions(-)

diff --git a/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java b/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java
index 5dc6a32f6..503bb7c22 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/charts/DefaultCharts.java
@@ -19,23 +19,23 @@ public class DefaultCharts
 
 	private static final Chart CHART_ACCOUNT_SUM_PER_DAY = new Chart("charts.default.accountSumPerDay",
 			getChartFromFile("charts/AccountSumPerDay.js"),
-			ChartType.DEFAULT, 1);
+			ChartType.DEFAULT, 4);
 
 	private static final Chart CHART_INCOMES_AND_EXPENDITURES_PER_MONTH_BAR = new Chart("charts.default.incomesAndExpendituresPerMonthBar",
 			getChartFromFile("charts/IncomesAndExpendituresPerMonthBar.js"),
-			ChartType.DEFAULT, 3);
+			ChartType.DEFAULT, 5);
 
 	private static final Chart CHART_INCOMES_AND_EXPENDITURES_PER_MONTH_LINE = new Chart("charts.default.incomesAndExpendituresPerMonthLine",
 			getChartFromFile("charts/IncomesAndExpendituresPerMonthLine.js"),
-			ChartType.DEFAULT, 3);
+			ChartType.DEFAULT, 5);
 
 	private static final Chart CHART_INCOMES_AND_EXPENDITURES_BY_CATEGORY_BAR = new Chart("charts.default.incomesAndExpendituresByCategoryBar",
 			getChartFromFile("charts/IncomesAndExpendituresByCategoryBar.js"),
-			ChartType.DEFAULT, 21);
+			ChartType.DEFAULT, 23);
 
 	private static final Chart CHART_INCOMES_AND_EXPENDITURES_PER_MONTH_BY_CATEGORIES = new Chart("charts.default.incomesAndExpendituresPerMonthByCategories",
 		getChartFromFile("charts/IncomesAndExpendituresPerMonthByCategories.js"),
-		ChartType.DEFAULT, 8);
+		ChartType.DEFAULT, 10);
 
 
 	public static List<Chart> getDefaultCharts()
diff --git a/src/main/resources/charts/AccountSumPerDay.js b/src/main/resources/charts/AccountSumPerDay.js
index b02850031..7873da257 100644
--- a/src/main/resources/charts/AccountSumPerDay.js
+++ b/src/main/resources/charts/AccountSumPerDay.js
@@ -9,9 +9,11 @@ var transactionData = [];
 // Note: All variables starting with "localized" are only available inside default charts.
 
 // group transactions by date
-var groups = transactionData.reverse().reduce((groups, transaction) => {
+var groups = transactionData.reverse().reduce((groups, transaction) =>
+{
     var date = transaction.date;
-    if (!groups[date]) {
+    if(!groups[date])
+    {
         groups[date] = [];
     }
     groups[date].push(transaction);
@@ -23,8 +25,10 @@ var previousSum = 0;
 var sums = [];
 
 // calculate sum for each date
-for (var key in groups) {
-    if (groups.hasOwnProperty(key)) {
+for(var key in groups)
+{
+    if(groups.hasOwnProperty(key))
+    {
         var group = groups[key];
 
         // extract all amount values
@@ -74,7 +78,14 @@ var plotlyConfig = {
     showSendToCloud: false,
     displaylogo: false,
     showLink: false,
-    responsive: true
+    responsive: true,
+    displayModeBar: true,
+    toImageButtonOptions: {
+        format: 'png',
+        filename: 'BudgetMaster_chart_export',
+        height: 1080,
+        width: 1920,
+    }
 };
 
 // Don't touch this line
diff --git a/src/main/resources/charts/IncomesAndExpendituresByCategoryBar.js b/src/main/resources/charts/IncomesAndExpendituresByCategoryBar.js
index 6d7887968..89871e82f 100644
--- a/src/main/resources/charts/IncomesAndExpendituresByCategoryBar.js
+++ b/src/main/resources/charts/IncomesAndExpendituresByCategoryBar.js
@@ -123,7 +123,14 @@ var plotlyConfig = {
     showSendToCloud: false,
     displaylogo: false,
     showLink: false,
-    responsive: true
+    responsive: true,
+    displayModeBar: true,
+    toImageButtonOptions: {
+        format: 'png',
+        filename: 'BudgetMaster_chart_export',
+        height: 1080,
+        width: 1920,
+    }
 };
 
 // Don't touch this line
diff --git a/src/main/resources/charts/IncomesAndExpendituresPerMonthBar.js b/src/main/resources/charts/IncomesAndExpendituresPerMonthBar.js
index 659683b81..bbc45ccf5 100644
--- a/src/main/resources/charts/IncomesAndExpendituresPerMonthBar.js
+++ b/src/main/resources/charts/IncomesAndExpendituresPerMonthBar.js
@@ -89,7 +89,14 @@ var plotlyConfig = {
     showSendToCloud: false,
     displaylogo: false,
     showLink: false,
-    responsive: true
+    responsive: true,
+    displayModeBar: true,
+    toImageButtonOptions: {
+        format: 'png',
+        filename: 'BudgetMaster_chart_export',
+        height: 1080,
+        width: 1920,
+    }
 };
 
 // Don't touch this line
diff --git a/src/main/resources/charts/IncomesAndExpendituresPerMonthByCategories.js b/src/main/resources/charts/IncomesAndExpendituresPerMonthByCategories.js
index 060f855ac..9967491a2 100644
--- a/src/main/resources/charts/IncomesAndExpendituresPerMonthByCategories.js
+++ b/src/main/resources/charts/IncomesAndExpendituresPerMonthByCategories.js
@@ -172,7 +172,14 @@ var plotlyConfig = {
     showSendToCloud: false,
     displaylogo: false,
     showLink: false,
-    responsive: true
+    responsive: true,
+    displayModeBar: true,
+    toImageButtonOptions: {
+        format: 'png',
+        filename: 'BudgetMaster_chart_export',
+        height: 1080,
+        width: 1920,
+    }
 };
 
 // Don't touch this line
diff --git a/src/main/resources/charts/IncomesAndExpendituresPerMonthLine.js b/src/main/resources/charts/IncomesAndExpendituresPerMonthLine.js
index f06eb0709..554310c9c 100644
--- a/src/main/resources/charts/IncomesAndExpendituresPerMonthLine.js
+++ b/src/main/resources/charts/IncomesAndExpendituresPerMonthLine.js
@@ -89,7 +89,14 @@ var plotlyConfig = {
     showSendToCloud: false,
     displaylogo: false,
     showLink: false,
-    responsive: true
+    responsive: true,
+    displayModeBar: true,
+    toImageButtonOptions: {
+        format: 'png',
+        filename: 'BudgetMaster_chart_export',
+        height: 1080,
+        width: 1920,
+    }
 };
 
 // Don't touch this line
-- 
GitLab