xtype: 'pbsDataStoreSummary',
title: gettext('Summary'),
itemId: 'summary',
+ iconCls: 'fa fa-book',
cbind: {
datastore: '{datastore}',
},
{
xtype: 'pbsDataStoreContent',
itemId: 'content',
+ iconCls: 'fa fa-th',
cbind: {
datastore: '{datastore}',
},
title: gettext('Prune & Garbage collection'),
xtype: 'pbsDataStorePruneAndGC',
itemId: 'prunegc',
+ iconCls: 'fa fa-trash-o',
+ cbind: {
+ datastore: '{datastore}',
+ },
+ },
+ {
+ iconCls: 'fa fa-refresh',
+ itemId: 'syncjobs',
+ xtype: 'pbsSyncJobView',
+ cbind: {
+ datastore: '{datastore}',
+ },
+ },
+ {
+ iconCls: 'fa fa-check-circle',
+ itemId: 'verifyjobs',
+ xtype: 'pbsVerifyJobView',
cbind: {
datastore: '{datastore}',
},
{
itemId: 'acl',
xtype: 'pbsACLView',
+ iconCls: 'fa fa-unlock',
aclExact: true,
cbind: {
aclPath: '{aclPath}',
path: 'pbsRemoteView',
leaf: true,
},
- {
- text: gettext('Sync Jobs'),
- iconCls: 'fa fa-refresh',
- path: 'pbsSyncJobView',
- leaf: true,
- },
- {
- text: gettext('Verify Jobs'),
- iconCls: 'fa fa-check-circle',
- path: 'pbsVerifyJobView',
- leaf: true,
- },
{
text: gettext('Subscription'),
iconCls: 'fa fa-support',
return endtime - task.starttime;
},
},
+ 'comment',
],
idProperty: 'id',
proxy: {
addSyncJob: function() {
let me = this;
+ let view = me.getView();
Ext.create('PBS.window.SyncJobEdit', {
+ datastore: view.datastore,
listeners: {
destroy: function() {
me.reload();
if (selection.length < 1) return;
Ext.create('PBS.window.SyncJobEdit', {
+ datastore: view.datastore,
id: selection[0].data.id,
listeners: {
destroy: function() {
return Proxmox.Utils.render_timestamp(value);
},
+ startStore: function() { this.getView().getStore().rstore.startUpdate(); },
+ stopStore: function() { this.getView().getStore().rstore.stopUpdate(); },
+
reload: function() { this.getView().getStore().rstore.load(); },
init: function(view) {
+ view.getStore().rstore.getProxy().setExtraParams({
+ store: view.datastore,
+ });
Proxmox.Utils.monStoreErrors(view, view.getStore().rstore);
},
},
listeners: {
- activate: 'reload',
+ activate: 'startStore',
+ deactivate: 'stopStore',
itemdblclick: 'editSyncJob',
},
type: 'update',
storeid: 'pbs-sync-jobs-status',
model: 'pbs-sync-jobs-status',
- autoStart: true,
interval: 5000,
},
},
return endtime - task.starttime;
},
},
+ 'comment',
],
idProperty: 'id',
proxy: {
addVerifyJob: function() {
let me = this;
+ let view = me.getView();
Ext.create('PBS.window.VerifyJobEdit', {
+ datastore: view.datastore,
listeners: {
destroy: function() {
me.reload();
if (selection.length < 1) return;
Ext.create('PBS.window.VerifyJobEdit', {
+ datastore: view.datastore,
id: selection[0].data.id,
listeners: {
destroy: function() {
return Proxmox.Utils.render_timestamp(value);
},
+ startStore: function() { this.getView().getStore().rstore.startUpdate(); },
+ stopStore: function() { this.getView().getStore().rstore.stopUpdate(); },
+
reload: function() { this.getView().getStore().rstore.load(); },
init: function(view) {
+ view.getStore().rstore.getProxy().setExtraParams({
+ store: view.datastore,
+ });
Proxmox.Utils.monStoreErrors(view, view.getStore().rstore);
},
},
listeners: {
- activate: 'reload',
+ activate: 'startStore',
+ deactivate: 'stopStore',
itemdblclick: 'editVerifyJob',
},
type: 'update',
storeid: 'pbs-verify-jobs-status',
model: 'pbs-verify-jobs-status',
- autoStart: true,
interval: 5000,
},
},
renderer: Ext.String.htmlEncode,
dataIndex: 'id',
},
- {
- header: gettext('Datastore'),
- width: 100,
- sortable: true,
- dataIndex: 'store',
- },
{
header: gettext('Days valid'),
width: 125,
name: 'remote-store',
},
{
- fieldLabel: gettext('Local Datastore'),
- xtype: 'pbsDataStoreSelector',
+ xtype: 'hiddenfield',
allowBlank: false,
name: 'store',
+ cbind: {
+ value: '{datastore}',
+ },
},
],
},
},
{
- fieldLabel: gettext('Datastore'),
- xtype: 'pbsDataStoreSelector',
+ xtype: 'hiddenfield',
allowBlank: false,
name: 'store',
+ cbind: {
+ value: '{datastore}',
+ },
},
{
xtype: 'proxmoxintegerfield',