luci-app-nlbwmon: Fixed incorrect period parameter/display 2538/head
authorJo-Philipp Wich <jo@mein.io>
Fri, 1 Feb 2019 18:54:32 +0000 (13:54 -0500)
committerJo-Philipp Wich <jo@mein.io>
Fri, 15 Feb 2019 11:21:09 +0000 (12:21 +0100)
Switch from using the unreliable string data constructor syntax to
a more explicit year / month / day variant and pass through the
period value as-is in order to ensure that the proper start date
is requested from the backend.

This should fix issues with prevent the display of older data
periods in the nlbwmon gui.

Ref: https://github.com/jow-/nlbwmon/issues/25
Ref: https://github.com/openwrt/luci/pull/2496
Suggested-by: Aktanusa <chanam.geo@yahoo.com>
[squashed commits, add a more thorough commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(backported from commit bd56c1aac650c9d60d9f66bb0c923b0346f3fa41)

applications/luci-app-nlbwmon/luasrc/view/nlbw/display.htm

index 616bcc52a124f5231de98e870603fc9bf3918340..2262737cb8c6b5a1949297a92ee47f3c6dd490f8 100644 (file)
@@ -428,13 +428,15 @@ function renderPeriods()
        var sel = document.getElementById('nlbw.period');
 
        for (var e, i = trafficPeriods.length - 1; e = trafficPeriods[i]; i--) {
-               var d1 = new Date(e);
-               var d2, pd;
+               var ymd1 = e.split(/-/);
+               var d1 = new Date(+ymd1[0], +ymd1[1] - 1, +ymd1[2]);
+               var ymd2, d2, pd;
 
                if (i) {
-                       d2 = new Date(trafficPeriods[i - 1]);
+                       ymd2 = trafficPeriods[i - 1].split(/-/);
+                       d2 = new Date(+ymd2[0], +ymd2[1] - 1, +ymd2[2]);
                        d2.setDate(d2.getDate() - 1);
-                       pd = '%04d-%02d-%02d'.format(d1.getFullYear(), d1.getMonth() + 1, d1.getDate());
+                       pd = e;
                }
                else {
                        d2 = new Date();