]> git.proxmox.com Git - proxmox-backup.git/blob - www/Utils.js
ui: use Proxmox.Utils.setAuthData
[proxmox-backup.git] / www / Utils.js
1 /*global Proxmox */
2 Ext.ns('PBS');
3
4 console.log("Starting Backup Server GUI");
5
6 Ext.define('PBS.Utils', {
7 singleton: true,
8
9 updateLoginData: function(data) {
10
11 Proxmox.Utils.setAuthData(data);
12 },
13
14 dataStorePrefix: 'DataStore-',
15
16 getDataStoreFromPath: function(path) {
17 return path.slice(PBS.Utils.dataStorePrefix.length);
18 },
19
20 isDataStorePath: function(path) {
21 return path.indexOf(PBS.Utils.dataStorePrefix) === 0;
22 },
23
24 render_datetime_utc: function(datetime) {
25 let pad = (number) => number < 10 ? '0' + number : number;
26 return datetime.getUTCFullYear() +
27 '-' + pad(datetime.getUTCMonth() + 1) +
28 '-' + pad(datetime.getUTCDate()) +
29 'T' + pad(datetime.getUTCHours()) +
30 ':' + pad(datetime.getUTCMinutes()) +
31 ':' + pad(datetime.getUTCSeconds()) +
32 'Z';
33 },
34
35 render_datastore_worker_id: function(id, what) {
36 const result = id.match(/^(\S+)_([^_\s]+)_([^_\s]+)$/);
37 if (result) {
38 let datastore = result[1], type = result[2], id = result[3];
39 return `Datastore ${datastore} - ${what} ${type}/${id}`;
40 }
41 return what;
42 },
43 render_datastore_time_worker_id: function(id, what) {
44 const res = id.match(/^(\S+)_([^_\s]+)_([^_\s]+)_([^_\s]+)$/);
45 if (res) {
46 let datastore = res[1], type = res[2], id = res[3];
47 let datetime = Ext.Date.parse(parseInt(res[4], 16), 'U');
48 let utctime = PBS.Utils.render_datetime_utc(datetime);
49 return `Datastore ${datastore} - ${what} ${type}/${id}/${utctime}`;
50 }
51 return what;
52 },
53
54 constructor: function() {
55 var me = this;
56
57 // do whatever you want here
58 Proxmox.Utils.override_task_descriptions({
59 garbage_collection: ['Datastore', gettext('Garbage collect') ],
60 sync: ['Datastore', gettext('Remote Sync') ],
61 syncjob: [gettext('Sync Job'), gettext('Remote Sync') ],
62 prune: (type, id) => {
63 return PBS.Utils.render_datastore_worker_id(id, gettext('Prune'));
64 },
65 backup: (type, id) => {
66 return PBS.Utils.render_datastore_worker_id(id, gettext('Backup'));
67 },
68 reader: (type, id) => {
69 return PBS.Utils.render_datastore_time_worker_id(id, gettext('Read objects'));
70 },
71 });
72 }
73 });