]> git.proxmox.com Git - proxmox-backup.git/blame - www/DataStoreConfig.js
src/api2/admin/datastore/backup/environment.rs: register/lookup known chunks
[proxmox-backup.git] / www / DataStoreConfig.js
CommitLineData
d85facd1
DM
1Ext.define('pbs-data-store-config', {
2 extend: 'Ext.data.Model',
3 fields: [ 'name', 'path', 'comment' ],
4 proxy: {
5 type: 'proxmox',
6 url: "/api2/json/config/datastore"
7 },
8 idProperty: 'name'
9});
10
11Ext.define('PBS.DataStoreConfig', {
12 extend: 'Ext.grid.GridPanel',
13 alias: 'widget.pbsDataStoreConfig',
14
c8fd2dd2
DM
15 title: gettext('Data Store Configuration'),
16
d85facd1
DM
17 initComponent : function() {
18 var me = this;
19
20 var store = new Ext.data.Store({
21 model: 'pbs-data-store-config',
22 sorters: 'name',
23 });
24
25 var reload = function() {
26 store.load();
27 };
28
ad281d1b
DM
29 var sm = Ext.create('Ext.selection.RowModel', {});
30
31 var gc_btn = new Proxmox.button.Button({
32 text: gettext('Start GC'),
33 disabled: true,
34 selModel: sm,
35 handler: function() {
36 var rec = sm.getSelection()[0];
37 Proxmox.Utils.API2Request({
38 url: '/admin/datastore/' + rec.data.name + '/gc',
39 method: 'POST',
40 failure: function(response) {
41 Ext.Msg.alert(gettext('Error'), response.htmlStatus);
8d76e8b7
DM
42 },
43 success: function(response, options) {
44 var upid = response.result.data;
45
46 var win = Ext.create('Proxmox.window.TaskViewer', {
47 upid: upid
48 });
49 win.show();
50 me.close();
ad281d1b
DM
51 }
52 });
53 }
54 });
55
56 var tbar = [
d85facd1
DM
57 {
58 text: gettext('Create'),
59 handler: function() {
60 alert("not implemented");
61 //var win = Ext.create('PVE.dc.PoolEdit', {});
62 //win.on('destroy', reload);
63 //win.show();
64 }
ad281d1b
DM
65 },
66 gc_btn
d85facd1
DM
67 //edit_btn, remove_btn
68 ];
69
d85facd1
DM
70 Proxmox.Utils.monStoreErrors(me, store);
71
72 Ext.apply(me, {
73 store: store,
74 selModel: sm,
75 tbar: tbar,
76 viewConfig: {
77 trackOver: false
78 },
79 columns: [
80 {
81 header: gettext('Name'),
82 sortable: true,
83 dataIndex: 'name',
84 flex: 1
85 },
86 {
87 header: gettext('Path'),
88 sortable: true,
89 dataIndex: 'path',
90 flex: 1
91 },
92 {
93 header: gettext('Comment'),
94 sortable: false,
95 dataIndex: 'comment',
96 renderer: Ext.String.htmlEncode,
97 flex: 2
98 }
99 ],
100 listeners: {
101 activate: reload
102 }
103 });
104
105 me.callParent();
106
107 store.load();
108 }
109});