From 0fe2e128a6757c52bfc7a41d394b10dc68b925b8 Mon Sep 17 00:00:00 2001
From: Robert Goldmann <deadlocker@gmx.de>
Date: Mon, 19 Jul 2021 22:20:58 +0200
Subject: [PATCH] #585 - added macro for quick date options

---
 .../resources/templates/charts/charts.ftl     | 65 ++++++++++---------
 1 file changed, 35 insertions(+), 30 deletions(-)

diff --git a/src/main/resources/templates/charts/charts.ftl b/src/main/resources/templates/charts/charts.ftl
index 0c752cd5d..ca6ba1a25 100644
--- a/src/main/resources/templates/charts/charts.ftl
+++ b/src/main/resources/templates/charts/charts.ftl
@@ -83,37 +83,15 @@
                                                     <label for="chart-datepicker-end">${locale.getString("chart.steps.second.label.end")}</label>
                                                 </div>
                                             </div>
-                                            <div class="row no-margin-bottom">
-                                                <div class="col s12 m12 l8 offset-l2 no-margin-top">
-                                                    <table class="no-border-table">
-                                                        <tr>
-                                                            <@quickDateOption index="0" localizationKey="chart.quick.this.week"/>
-                                                            <@quickDateOption index="1" localizationKey="chart.quick.this.month"/>
-                                                            <@quickDateOption index="2" localizationKey="chart.quick.this.year"/>
-                                                            <@quickDateOption index="3" localizationKey="chart.quick.all"/>
-                                                        </tr>
-                                                        <tr>
-                                                            <@quickDateOption index="4" localizationKey="chart.quick.last.week"/>
-                                                            <@quickDateOption index="5" localizationKey="chart.quick.last.month"/>
-                                                            <@quickDateOption index="6" localizationKey="chart.quick.last.year"/>
-                                                            <@quickDateOption index="7" localizationKey="chart.quick.until.endOfLastYear"/>
-                                                        </tr>
-                                                        <tr>
-                                                            <@quickDateOption index="8" localizationKey="chart.quick.last.week.days"/>
-                                                            <@quickDateOption index="9" localizationKey="chart.quick.last.month.days"/>
-                                                            <@quickDateOption index="10" localizationKey="chart.quick.last.year.days"/>
-                                                            <@quickDateOption index="11" localizationKey="chart.quick.until.today"/>
-                                                        </tr>
-                                                    </table>
-                                                </div>
 
-                                                <script>
-                                                    startDate = "${startDate}".split(".");
-                                                    startDate = new Date(startDate[2], startDate[1] - 1, startDate[0]);
-                                                    endDate = "${endDate}".split(".");
-                                                    endDate = new Date(endDate[2], endDate[1] - 1, endDate[0]);
-                                                </script>
-                                            </div>
+                                            <@quickDateOptions/>
+
+                                            <script>
+                                                startDate = "${startDate}".split(".");
+                                                startDate = new Date(startDate[2], startDate[1] - 1, startDate[0]);
+                                                endDate = "${endDate}".split(".");
+                                                endDate = new Date(endDate[2], endDate[1] - 1, endDate[0]);
+                                            </script>
                                         </div>
                                     </div>
                                 </div>
@@ -217,6 +195,33 @@
     </div>
 </#macro>
 
+<#macro quickDateOptions>
+    <div class="row no-margin-bottom">
+        <div class="col s12 m12 l8 offset-l2 no-margin-top">
+            <table class="no-border-table">
+                <tr>
+                    <@quickDateOption index="0" localizationKey="chart.quick.this.week"/>
+                    <@quickDateOption index="1" localizationKey="chart.quick.this.month"/>
+                    <@quickDateOption index="2" localizationKey="chart.quick.this.year"/>
+                    <@quickDateOption index="3" localizationKey="chart.quick.all"/>
+                </tr>
+                <tr>
+                    <@quickDateOption index="4" localizationKey="chart.quick.last.week"/>
+                    <@quickDateOption index="5" localizationKey="chart.quick.last.month"/>
+                    <@quickDateOption index="6" localizationKey="chart.quick.last.year"/>
+                    <@quickDateOption index="7" localizationKey="chart.quick.until.endOfLastYear"/>
+                </tr>
+                <tr>
+                    <@quickDateOption index="8" localizationKey="chart.quick.last.week.days"/>
+                    <@quickDateOption index="9" localizationKey="chart.quick.last.month.days"/>
+                    <@quickDateOption index="10" localizationKey="chart.quick.last.year.days"/>
+                    <@quickDateOption index="11" localizationKey="chart.quick.until.today"/>
+                </tr>
+            </table>
+        </div>
+    </div>
+</#macro>
+
 <#macro quickDateOption index localizationKey>
     <td class="quick-date" data-quick="${index}">${locale.getString(localizationKey)}</td>
 </#macro>
-- 
GitLab