]>
git.proxmox.com Git - proxmox-backup.git/blob - www/DataStorePrune.js
1 Ext
.define('pbs-prune-list', {
2 extend
: 'Ext.data.Model',
9 dateFormat
: 'timestamp'
14 Ext
.define('PBS.DataStorePruneInputPanel', {
15 extend
: 'Proxmox.panel.InputPanel',
16 alias
: 'widget.pbsDataStorePruneInputPanel',
17 mixins
: ['Proxmox.Mixin.CBind'],
19 onGetValues: function(values
) {
22 values
["backup-type"] = me
.backup_type
;
23 values
["backup-id"] = me
.backup_id
;
28 xclass
: 'Ext.app.ViewController',
30 init: function(view
) {
32 throw "no url specified";
34 if (!view
.backup_type
) {
35 throw "no backup_type specified";
37 if (!view
.backup_id
) {
38 throw "no backup_id specified";
41 this.reload(); // initial load
45 var view
= this.getView();
47 let params
= view
.getValues();
48 params
["dry-run"] = true;
50 Proxmox
.Utils
.API2Request({
54 callback: function() {
57 failure: function (response
, opts
) {
58 Ext
.Msg
.alert(gettext('Error'), response
.htmlStatus
);
60 success: function(response
, options
) {
61 var data
= response
.result
.data
;
63 view
.prune_store
.setData(data
);
69 field
: { change
: 'reload' }
75 xtype
: 'proxmoxintegerfield',
78 fieldLabel
: gettext('keep-last'),
82 xtype
: 'proxmoxintegerfield',
85 fieldLabel
: gettext('keep-hourly'),
89 xtype
: 'proxmoxintegerfield',
92 fieldLabel
: gettext('keep-daily'),
96 xtype
: 'proxmoxintegerfield',
99 fieldLabel
: gettext('keep-weekly'),
103 xtype
: 'proxmoxintegerfield',
104 name
: 'keep-monthly',
106 fieldLabel
: gettext('keep-monthly'),
110 xtype
: 'proxmoxintegerfield',
113 fieldLabel
: gettext('keep-yearly'),
119 initComponent : function() {
122 me
.prune_store
= Ext
.create('Ext.data.Store', {
123 model
: 'pbs-prune-list',
124 sorters
: { property
: 'backup-time', direction
: 'DESC' }
131 store
: me
.prune_store
,
134 header
: gettext('Backup Time'),
136 dataIndex
: 'backup-time',
137 renderer: function(value
, metaData
, record
) {
138 let text
= Ext
.Date
.format(value
, 'Y-m-d H:i:s');
139 if (record
.data
.keep
) {
142 return '<div style="text-decoration: line-through;">'+ text
+'</div>';
159 Ext
.define('PBS.DataStorePrune', {
160 extend
: 'Proxmox.window.Edit',
167 initComponent : function() {
171 throw "no datastore specified";
173 if (!me
.backup_type
) {
174 throw "no backup_type specified";
177 throw "no backup_id specified";
181 url
: '/api2/extjs/admin/datastore/' + me
.datastore
+ "/prune",
182 title
: "Prune Datastore '" + me
.datastore
+ "'",
184 xtype
: 'pbsDataStorePruneInputPanel',
185 url
: '/api2/extjs/admin/datastore/' + me
.datastore
+ "/prune",
186 backup_type
: me
.backup_type
,
187 backup_id
: me
.backup_id