]> git.proxmox.com Git - proxmox-backup.git/blob - www/DataStoreContent.js
ui: datastore content: add size column
[proxmox-backup.git] / www / DataStoreContent.js
1 Ext.define('pbs-data-store-content', {
2 extend: 'Ext.data.Model',
3 fields: [
4 'backup-id',
5 'backup-time',
6 'backup-type',
7 'files',
8 { name: 'size', type: 'int', defaultValue: 0 },
9 ],
10 });
11
12 Ext.define('PBS.DataStoreContent', {
13 extend: 'Ext.grid.GridPanel',
14 alias: 'widget.pbsDataStoreContent',
15
16 columns: [
17 {
18 header: gettext('Type'),
19 sortable: true,
20 dataIndex: 'backup-type',
21 flex: 1
22 },
23 {
24 header: gettext('ID'),
25 sortable: true,
26 dataIndex: 'backup-id',
27 flex: 1
28 },
29 {
30 header: gettext('Time'),
31 sortable: true,
32 dataIndex: 'backup-time',
33 renderer: Proxmox.Utils.render_timestamp,
34 flex: 1
35 },
36 {
37 header: gettext('Size'),
38 sortable: true,
39 dataIndex: 'size',
40 renderer: Proxmox.Utils.format_size,
41 flex: 1
42 },
43 ],
44
45 store: {
46 model: 'pbs-data-store-content',
47 sorters: 'name',
48 },
49
50 reload: function() {
51 let url = `/api2/json/admin/datastore/${this.datastore}/snapshots`;
52 this.store.setProxy({
53 type: 'proxmox',
54 url: url
55 });
56 this.store.load();
57 },
58
59 initComponent : function() {
60 var me = this;
61
62 if (!me.datastore) {
63 throw "no datastore specified";
64 }
65
66 me.title = gettext('Data Store Content: ') + me.datastore;
67
68 me.callParent();
69
70 Proxmox.Utils.monStoreErrors(me, me.store, true);
71 me.reload(); // initial load
72 }
73 });