This is an automated email from the ASF dual-hosted git repository.

sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-ponymail.git


The following commit(s) were added to refs/heads/master by this push:
     new 35b1d52  Enh: stats.lua could return monthly stats
35b1d52 is described below

commit 35b1d52f2a8a62124801465ec1891cb3e4dc0597
Author: Sebb <[email protected]>
AuthorDate: Mon May 3 15:42:36 2021 +0100

    Enh: stats.lua could return monthly stats
    
    to show in calendar
    
    This fixes #532
---
 site/js/dev/ponymail_assign_vars.js |  2 +-
 site/js/dev/ponymail_pagebuilder.js | 24 +++++++++++++-----------
 site/js/ponymail.js                 | 26 ++++++++++++++------------
 3 files changed, 28 insertions(+), 24 deletions(-)

diff --git a/site/js/dev/ponymail_assign_vars.js 
b/site/js/dev/ponymail_assign_vars.js
index f9252d3..058c950 100644
--- a/site/js/dev/ponymail_assign_vars.js
+++ b/site/js/dev/ponymail_assign_vars.js
@@ -20,7 +20,7 @@
 // Thus lightening the load on the backend (caching and such)
 
 var _VERSION_ = "0.12-SNAPSHOT" // Current version (as far as we know)
-var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 
'August', 'September', 'October', 'November', 'December']
+var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 
'Oct', 'Nov', 'Dec']
 var d_ppp = 15; // results per page
 var c_page = 0; // current page position for list view
 var open_emails = [] // cache index for loaded emails
diff --git a/site/js/dev/ponymail_pagebuilder.js 
b/site/js/dev/ponymail_pagebuilder.js
index 8619aeb..3bdcd30 100644
--- a/site/js/dev/ponymail_pagebuilder.js
+++ b/site/js/dev/ponymail_pagebuilder.js
@@ -54,21 +54,23 @@ function buildCalendar(json) {
         if (fyear == firstYear) {
             n = "block"
         }
-        dp.innerHTML += "<label onmouseout='this.setAttribute(\"class\", 
\"label label-success\");'  onmouseover='this.setAttribute(\"class\", \"label 
label-warning\");' onclick='toggleCalendar(" + year + ");' class='label 
label-success' style='float: left; width: 110px; font-size: 11pt; cursor: 
pointer'>" + year + "</label><br/>"
-        var cale = "<div style='float: left; width: 80%; display: " + n + "; 
padding-left: 15px; margin-bottom: 15px;' id='cal_" + year + "'>"
+        var cale = ''
         var em = (new Date().getFullYear() == year) ? new Date().getMonth() : 
11;
         for (var y = em; y >= 0; y--) {
-            var url = "list.html?" + xlist + ":" + (year+"-"+(y+1))
-            var pfx = ''
-            var sfx = ''
-            if ((year == firstYear && y < firstMonth0) || (year == lastYear && 
y > lastMonth0)) {
-                pfx = '<i>'
-                sfx = '</i>'
+            var yyyymm = (year+"-"+(y+1))
+            var url = "list.html?" + xlist + ":" + yyyymm
+            var yyyy0m = y < 9 ? (year+"-0"+(y+1)) : yyyymm
+            if (monthly_emails[yyyy0m]) {
+                var count = monthly_emails[yyyy0m]
+                cale += "<a href='" + url + "' onclick='return false;'><label 
id='calmonth_" + yyyymm + "' style='width: 80px; float: left;cursor: pointer;' 
class='label label-default label-hover' onclick='toggleEmail(" + year + ", " + 
(y + 1) + ");' >" + months[y] + ' ('+ count + ')' + "</label></a><br/>"
             }
-            cale += "<a href='" + url + "' onclick='return false;'><label 
id='calmonth_" + (year+"-"+(y+1)) + "' style='width: 80px; float: left;cursor: 
pointer;' class='label label-default label-hover' onclick='toggleEmail(" + year 
+ ", " + (y + 1) + ");' >" + pfx + months[y] + sfx + "</label></a><br/>"
         }
-        cale += "</div>"
-        dp.innerHTML += cale
+        if (cale != '') {
+            cale += "</div>"
+            dp.innerHTML += "<label onmouseout='this.setAttribute(\"class\", 
\"label label-success\");'  onmouseover='this.setAttribute(\"class\", \"label 
label-warning\");' onclick='toggleCalendar(" + year + ");' class='label 
label-success' style='float: left; width: 110px; font-size: 11pt; cursor: 
pointer'>" + year + "</label><br/>"
+            var calehdr = "<div style='float: left; width: 80%; display: " + n 
+ "; padding-left: 15px; margin-bottom: 15px;' id='cal_" + year + "'>"
+            dp.innerHTML += calehdr + cale
+        }
     }
     
     // Build the mobile version (dropdown)
diff --git a/site/js/ponymail.js b/site/js/ponymail.js
index af50d38..e2f15ec 100644
--- a/site/js/ponymail.js
+++ b/site/js/ponymail.js
@@ -28,7 +28,7 @@
 // Thus lightening the load on the backend (caching and such)
 
 var _VERSION_ = "0.12-SNAPSHOT" // Current version (as far as we know)
-var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 
'August', 'September', 'October', 'November', 'December']
+var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 
'Oct', 'Nov', 'Dec']
 var d_ppp = 15; // results per page
 var c_page = 0; // current page position for list view
 var open_emails = [] // cache index for loaded emails
@@ -3705,21 +3705,23 @@ function buildCalendar(json) {
         if (fyear == firstYear) {
             n = "block"
         }
-        dp.innerHTML += "<label onmouseout='this.setAttribute(\"class\", 
\"label label-success\");'  onmouseover='this.setAttribute(\"class\", \"label 
label-warning\");' onclick='toggleCalendar(" + year + ");' class='label 
label-success' style='float: left; width: 110px; font-size: 11pt; cursor: 
pointer'>" + year + "</label><br/>"
-        var cale = "<div style='float: left; width: 80%; display: " + n + "; 
padding-left: 15px; margin-bottom: 15px;' id='cal_" + year + "'>"
+        var cale = ''
         var em = (new Date().getFullYear() == year) ? new Date().getMonth() : 
11;
         for (var y = em; y >= 0; y--) {
-            var url = "list.html?" + xlist + ":" + (year+"-"+(y+1))
-            var pfx = ''
-            var sfx = ''
-            if ((year == firstYear && y < firstMonth0) || (year == lastYear && 
y > lastMonth0)) {
-                pfx = '<i>'
-                sfx = '</i>'
+            var yyyymm = (year+"-"+(y+1))
+            var url = "list.html?" + xlist + ":" + yyyymm
+            var yyyy0m = y < 9 ? (year+"-0"+(y+1)) : yyyymm
+            if (monthly_emails[yyyy0m]) {
+                var count = monthly_emails[yyyy0m]
+                cale += "<a href='" + url + "' onclick='return false;'><label 
id='calmonth_" + yyyymm + "' style='width: 80px; float: left;cursor: pointer;' 
class='label label-default label-hover' onclick='toggleEmail(" + year + ", " + 
(y + 1) + ");' >" + months[y] + ' ('+ count + ')' + "</label></a><br/>"
             }
-            cale += "<a href='" + url + "' onclick='return false;'><label 
id='calmonth_" + (year+"-"+(y+1)) + "' style='width: 80px; float: left;cursor: 
pointer;' class='label label-default label-hover' onclick='toggleEmail(" + year 
+ ", " + (y + 1) + ");' >" + pfx + months[y] + sfx + "</label></a><br/>"
         }
-        cale += "</div>"
-        dp.innerHTML += cale
+        if (cale != '') {
+            cale += "</div>"
+            dp.innerHTML += "<label onmouseout='this.setAttribute(\"class\", 
\"label label-success\");'  onmouseover='this.setAttribute(\"class\", \"label 
label-warning\");' onclick='toggleCalendar(" + year + ");' class='label 
label-success' style='float: left; width: 110px; font-size: 11pt; cursor: 
pointer'>" + year + "</label><br/>"
+            var calehdr = "<div style='float: left; width: 80%; display: " + n 
+ "; padding-left: 15px; margin-bottom: 15px;' id='cal_" + year + "'>"
+            dp.innerHTML += calehdr + cale
+        }
     }
     
     // Build the mobile version (dropdown)

Reply via email to