diff --git a/octoprint_dashboard/static/js/dashboard.js b/octoprint_dashboard/static/js/dashboard.js index f04571e..2dfead7 100644 --- a/octoprint_dashboard/static/js/dashboard.js +++ b/octoprint_dashboard/static/js/dashboard.js @@ -50,7 +50,6 @@ $(function () { self.lastLayerDuration = ko.observable("-"); self.lastLayerDurationInSeconds = ko.observable("-"); self.averageLayerDuration = ko.observable("-"); - self.averageLayerDurationInSeconds = ko.observable("-"); self.changeFilamentCount = ko.observable("-"); self.feedrate = ko.observable(0); @@ -317,7 +316,6 @@ $(function () { if (data.lastLayerDuration) { self.lastLayerDuration(data.lastLayerDuration); } if (data.lastLayerDurationInSeconds) { self.lastLayerDurationInSeconds(data.lastLayerDurationInSeconds); } if (data.averageLayerDuration) { self.averageLayerDuration(data.averageLayerDuration); } - if (data.averageLayerDurationInSeconds) { self.averageLayerDurationInSeconds(data.averageLayerDurationInSeconds); } // System Stats handling if (data.cpuPercent) { self.cpuPercent(data.cpuPercent); } @@ -757,6 +755,18 @@ $(function () { // --- Time Display Code --- + self.formatSeconds = function (seconds) { + var minutes = Math.floor(seconds / 60); + seconds %= 60; + seconds = String(seconds).padStart(2, '0'); + var hours = Math.floor(minutes / 60); + minutes %= 60; + minutes = String(minutes).padStart(2, '0'); + if (hours != 0) + return `${hours}:${minutes}:${seconds}`; + return `${minutes}:${seconds}`; + } + var formatTime = (date) => { var str = ""; var ampm = ""; diff --git a/octoprint_dashboard/templates/dashboard_tab.jinja2 b/octoprint_dashboard/templates/dashboard_tab.jinja2 index 613787c..64c9066 100644 --- a/octoprint_dashboard/templates/dashboard_tab.jinja2 +++ b/octoprint_dashboard/templates/dashboard_tab.jinja2 @@ -645,7 +645,7 @@
+ title="{{ _('Average Layer Time') }}" data-bind="html: formatSeconds(averageLayerDuration())">