diff --git a/www/Utils.js b/www/Utils.js index 3d370781..3d7e6824 100644 --- a/www/Utils.js +++ b/www/Utils.js @@ -167,6 +167,24 @@ Ext.define('PBS.Utils', { return tokenid.match(/^(.+)!([^!]+)$/)[2]; }, + render_estimate: function(value) { + if (!value) { + return gettext('Not enough data'); + } + + let now = new Date(); + let estimate = new Date(value*1000); + + let timespan = (estimate - now)/1000; + + if (Number(estimate) <= Number(now) || isNaN(timespan)) { + return gettext('Never'); + } + + let duration = Proxmox.Utils.format_duration_human(timespan); + return Ext.String.format(gettext("in {0}"), duration); + }, + constructor: function() { var me = this; diff --git a/www/dashboard/DataStoreStatistics.js b/www/dashboard/DataStoreStatistics.js index 3aaa3c9b..13e1d160 100644 --- a/www/dashboard/DataStoreStatistics.js +++ b/www/dashboard/DataStoreStatistics.js @@ -47,24 +47,6 @@ Ext.define('PBS.DatastoreStatistics', { controller: { xclass: 'Ext.app.ViewController', - render_estimate: function(value) { - if (!value) { - return gettext('Not enough data'); - } - - let now = new Date(); - let estimate = new Date(value*1000); - - let timespan = (estimate - now)/1000; - - if (Number(estimate) <= Number(now) || isNaN(timespan)) { - return gettext('Never'); - } - - let duration = Proxmox.Utils.format_duration_human(timespan); - return Ext.String.format(gettext("in {0}"), duration); - }, - init: function(view) { Proxmox.Utils.monStoreErrors(view, view.getStore().rstore); }, @@ -111,7 +93,7 @@ Ext.define('PBS.DatastoreStatistics', { text: gettext('Estimated Full'), dataIndex: 'estimated-full-date', sortable: true, - renderer: 'render_estimate', + renderer: PBS.Utils.render_estimate, flex: 1, minWidth: 130, maxWidth: 200,