diff --git a/src/js/client.js b/src/js/client.js index 4677673c9..757bd6c01 100644 --- a/src/js/client.js +++ b/src/js/client.js @@ -1300,6 +1300,21 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout }); }; + Client.prototype.waitForTask = function (taskId, callback) { + var that = this; + + function checkTask() { + that.getTask(taskId, function (error, result) { + if (error) return callback(error); + if (result.pending || result.active) return setTimeout(checkTask, 1000); + + callback(result.error, result.result); + }); + } + + checkTask(); + }; + Client.prototype.getTask = function (taskId, callback) { get('/api/v1/tasks/' + taskId, null, function (error, data, status) { if (error) return callback(error); @@ -1930,6 +1945,26 @@ angular.module('Application').service('Client', ['$http', '$interval', '$timeout }); }; + Client.prototype.diskUsage = function (callback) { + get('/api/v1/cloudron/disk_usage', null, function (error, data, status) { + if (error) return callback(error); + if (status !== 200) return callback(new ClientError(status, data)); + + callback(null, data); + }); + }; + + Client.prototype.refreshDiskUsage = function (callback) { + var that = this; + + post('/api/v1/cloudron/disk_usage', {}, null, function (error, data, status) { + if (error) return callback(error); + if (status !== 201) return callback(new ClientError(status, data)); + + that.waitForTask(data.taskId, callback); + }); + }; + Client.prototype.memory = function (callback) { get('/api/v1/cloudron/memory', null, function (error, data, status) { if (error) return callback(error); diff --git a/src/views/system.html b/src/views/system.html index 9b69368f1..e4d085267 100644 --- a/src/views/system.html +++ b/src/views/system.html @@ -69,12 +69,12 @@ {{ 'system.diskUsage.notAvailableYet' | tr }}
-
+

{{ 'system.diskUsage.diskContent' | tr:{ filesystem: disk.filesystem, mountpoint: disk.mountpoint } }}: