From 0548a696a4b03c7fbf2bd3b439b362cccb4745f7 Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 14 Jul 2019 11:20:32 +0200 Subject: [PATCH] #435 - added basic page --- .../budgetmaster/charts/ChartController.java | 8 ++ src/main/resources/languages/_de.properties | 9 +- src/main/resources/languages/_en.properties | 9 +- src/main/resources/static/css/dark/style.css | 4 + src/main/resources/static/css/style.css | 4 + .../resources/templates/charts/charts.ftl | 85 +++++++++++++++++++ 6 files changed, 117 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/templates/charts/charts.ftl diff --git a/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java b/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java index 49db6e9e9..7904249cb 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/charts/ChartController.java @@ -28,6 +28,14 @@ public class ChartController extends BaseController this.settingsService = settingsService; } + @RequestMapping("/charts") + public String charts(Model model) + { + model.addAttribute("charts", chartService.getRepository().findAllByOrderByNameAsc()); + model.addAttribute("settings", settingsService.getSettings()); + return "charts/charts"; + } + @RequestMapping("/charts/manage") public String manage(Model model) { diff --git a/src/main/resources/languages/_de.properties b/src/main/resources/languages/_de.properties index 8792d9715..b2e74e865 100644 --- a/src/main/resources/languages/_de.properties +++ b/src/main/resources/languages/_de.properties @@ -44,6 +44,7 @@ title.account.new=Neues Konto title.account.edit=Konto bearbeiten title.category.budgets=Verbrauch nach Kategorien title.filter=Filter +title.charts=Diagramme title.chart.new=Neues Diagramm title.chart.edit=Diagramm bearbeiten @@ -333,4 +334,10 @@ chart.new.label.name=Name chart.new.label.script=Script chart.new.info.default=Diese mitgeliefert Diagrammvorlage kann nicht �berschrieben werden, aber du kannst dir den Code ansehen. chart.type=Typ -chart.actions=Aktionen \ No newline at end of file +chart.actions=Aktionen +chart.show=Anzeigen + +chart.steps.first=Schritt 1: W�hle ein Diagramm +chart.steps.first.label=Diagramm +chart.steps.second=Schritt 2: W�hle eine Zeitspanne +chart.steps.third=Schritt 3: Wende Filter an (optional) \ No newline at end of file diff --git a/src/main/resources/languages/_en.properties b/src/main/resources/languages/_en.properties index aeae2ece8..0fe85feb3 100644 --- a/src/main/resources/languages/_en.properties +++ b/src/main/resources/languages/_en.properties @@ -44,6 +44,7 @@ title.account.new=New Account title.account.edit=Edit Account title.category.budgets=Consumption by categories title.filter=Filter +title.charts=Charts title.chart.new=New Chart title.chart.edit=Edit Chart @@ -333,4 +334,10 @@ chart.new.label.name=Name chart.new.label.script=Script chart.new.info.default=This default chart can\'t be overwritten but you can have a look on how it's implemented. chart.type=Type -chart.actions=Actions \ No newline at end of file +chart.actions=Actions +chart.show=Show + +chart.steps.first=Step 1: Choose a chart +chart.steps.first.label=Chart +chart.steps.second=Step 2: Choose a date range +chart.steps.third=Step 3: Apply filters (optional) \ No newline at end of file diff --git a/src/main/resources/static/css/dark/style.css b/src/main/resources/static/css/dark/style.css index 0e9f302a2..66d6a0448 100644 --- a/src/main/resources/static/css/dark/style.css +++ b/src/main/resources/static/css/dark/style.css @@ -298,6 +298,10 @@ textarea { margin-bottom: 0; } +.no-margin-top { + margin-top: 0; +} + .no-margin { margin: 0 !important; } diff --git a/src/main/resources/static/css/style.css b/src/main/resources/static/css/style.css index a50e1b17c..aa697a2ae 100644 --- a/src/main/resources/static/css/style.css +++ b/src/main/resources/static/css/style.css @@ -248,6 +248,10 @@ main { margin-bottom: 0; } +.no-margin-top { + margin-top: 0; +} + .no-margin { margin: 0 !important; } diff --git a/src/main/resources/templates/charts/charts.ftl b/src/main/resources/templates/charts/charts.ftl new file mode 100644 index 000000000..e783c1d57 --- /dev/null +++ b/src/main/resources/templates/charts/charts.ftl @@ -0,0 +1,85 @@ +<html> + <head> + <#import "../helpers/header.ftl" as header> + <@header.header "BudgetMaster"/> + <#import "/spring.ftl" as s> + </head> + <body class="budgetmaster-blue-light"> + <#import "../helpers/navbar.ftl" as navbar> + <@navbar.navbar "charts" settings/> + + <#import "chartFunctions.ftl" as chartFunctions> + + <main> + <div class="card main-card background-color"> + <div class="container"> + <div class="section center-align"> + <div class="headline">${locale.getString("title.charts")}</div> + </div> + </div> + <div class="container"> + <form name="ChartSettings" action="<@s.url '/charts/showChart'/>" method="post"> + <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/> + + <div class="row no-margin-bottom"> + <div class="col s12 m12 l8 offset-l2"> + ${locale.getString("chart.steps.first")} + </div> + </div> + <div class="row"> + <div class="input-field col s12 m12 l8 offset-l2 no-margin-top"> + <select name="chart"> + <#list charts as chart> + <#assign chartName=chartFunctions.getChartName(chart)> + <option value="${chart.getID()?c}">${chartName}</option> + </#list> + </select> + </div> + </div> + + <div class="row no-margin-bottom"> + <div class="col s12 m12 l8 offset-l2"> + ${locale.getString("chart.steps.second")} + </div> + </div> + <div class="row"> + <div class="input-field col s12 m12 l8 offset-l2 no-margin-top"> + <input id="chart-name" type="text" name="name" value=""> + <label for="chart-name">${locale.getString("chart.new.label.name")}</label> + </div> + </div> + + <div class="row no-margin-bottom"> + <div class="col s12 m12 l8 offset-l2"> + ${locale.getString("chart.steps.third")} + </div> + </div> + <div class="row"> + <div class="input-field col s12 m12 l8 offset-l2 no-margin-top"> + <input id="chart-name" type="text" name="name" value=""> + <label for="chart-name">${locale.getString("chart.new.label.name")}</label> + </div> + </div> + + <br> + + <#-- buttons --> + <div class="hide-on-med-and-up"> + <div class="row center-align"> + <div class="col s12"> + <button class="btn waves-effect waves-light budgetmaster-blue" type="submit" name="buttonSave"> + <i class="material-icons left">show_chart</i>${locale.getString("chart.show")} + </button> + </div> + </div> + </div> + </form> + </div> + </div> + </main> + + <!-- Scripts--> + <#import "../helpers/scripts.ftl" as scripts> + <@scripts.scripts/> + </body> +</html> \ No newline at end of file -- GitLab