ui: move sync/verify jobs to the datastores
add the datastore as parameter for the store, remove the datastore selector for the edit windows and give the datastore to it instead also remove the autostart from the rstore, since we only want to start it when we change to the relevant tab and add icons for all other datastore tabs Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
68931742cb
commit
028d0a1352
@ -20,6 +20,7 @@ Ext.define('PBS.DataStorePanel', {
|
|||||||
xtype: 'pbsDataStoreSummary',
|
xtype: 'pbsDataStoreSummary',
|
||||||
title: gettext('Summary'),
|
title: gettext('Summary'),
|
||||||
itemId: 'summary',
|
itemId: 'summary',
|
||||||
|
iconCls: 'fa fa-book',
|
||||||
cbind: {
|
cbind: {
|
||||||
datastore: '{datastore}',
|
datastore: '{datastore}',
|
||||||
},
|
},
|
||||||
@ -27,6 +28,7 @@ Ext.define('PBS.DataStorePanel', {
|
|||||||
{
|
{
|
||||||
xtype: 'pbsDataStoreContent',
|
xtype: 'pbsDataStoreContent',
|
||||||
itemId: 'content',
|
itemId: 'content',
|
||||||
|
iconCls: 'fa fa-th',
|
||||||
cbind: {
|
cbind: {
|
||||||
datastore: '{datastore}',
|
datastore: '{datastore}',
|
||||||
},
|
},
|
||||||
@ -35,6 +37,23 @@ Ext.define('PBS.DataStorePanel', {
|
|||||||
title: gettext('Prune & Garbage collection'),
|
title: gettext('Prune & Garbage collection'),
|
||||||
xtype: 'pbsDataStorePruneAndGC',
|
xtype: 'pbsDataStorePruneAndGC',
|
||||||
itemId: 'prunegc',
|
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: {
|
cbind: {
|
||||||
datastore: '{datastore}',
|
datastore: '{datastore}',
|
||||||
},
|
},
|
||||||
@ -42,6 +61,7 @@ Ext.define('PBS.DataStorePanel', {
|
|||||||
{
|
{
|
||||||
itemId: 'acl',
|
itemId: 'acl',
|
||||||
xtype: 'pbsACLView',
|
xtype: 'pbsACLView',
|
||||||
|
iconCls: 'fa fa-unlock',
|
||||||
aclExact: true,
|
aclExact: true,
|
||||||
cbind: {
|
cbind: {
|
||||||
aclPath: '{aclPath}',
|
aclPath: '{aclPath}',
|
||||||
|
@ -36,18 +36,6 @@ Ext.define('PBS.store.NavigationStore', {
|
|||||||
path: 'pbsRemoteView',
|
path: 'pbsRemoteView',
|
||||||
leaf: true,
|
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'),
|
text: gettext('Subscription'),
|
||||||
iconCls: 'fa fa-support',
|
iconCls: 'fa fa-support',
|
||||||
|
@ -12,6 +12,7 @@ Ext.define('pbs-sync-jobs-status', {
|
|||||||
return endtime - task.starttime;
|
return endtime - task.starttime;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
'comment',
|
||||||
],
|
],
|
||||||
idProperty: 'id',
|
idProperty: 'id',
|
||||||
proxy: {
|
proxy: {
|
||||||
@ -34,7 +35,9 @@ Ext.define('PBS.config.SyncJobView', {
|
|||||||
|
|
||||||
addSyncJob: function() {
|
addSyncJob: function() {
|
||||||
let me = this;
|
let me = this;
|
||||||
|
let view = me.getView();
|
||||||
Ext.create('PBS.window.SyncJobEdit', {
|
Ext.create('PBS.window.SyncJobEdit', {
|
||||||
|
datastore: view.datastore,
|
||||||
listeners: {
|
listeners: {
|
||||||
destroy: function() {
|
destroy: function() {
|
||||||
me.reload();
|
me.reload();
|
||||||
@ -50,6 +53,7 @@ Ext.define('PBS.config.SyncJobView', {
|
|||||||
if (selection.length < 1) return;
|
if (selection.length < 1) return;
|
||||||
|
|
||||||
Ext.create('PBS.window.SyncJobEdit', {
|
Ext.create('PBS.window.SyncJobEdit', {
|
||||||
|
datastore: view.datastore,
|
||||||
id: selection[0].data.id,
|
id: selection[0].data.id,
|
||||||
listeners: {
|
listeners: {
|
||||||
destroy: function() {
|
destroy: function() {
|
||||||
@ -147,15 +151,22 @@ Ext.define('PBS.config.SyncJobView', {
|
|||||||
return Proxmox.Utils.render_timestamp(value);
|
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(); },
|
reload: function() { this.getView().getStore().rstore.load(); },
|
||||||
|
|
||||||
init: function(view) {
|
init: function(view) {
|
||||||
|
view.getStore().rstore.getProxy().setExtraParams({
|
||||||
|
store: view.datastore,
|
||||||
|
});
|
||||||
Proxmox.Utils.monStoreErrors(view, view.getStore().rstore);
|
Proxmox.Utils.monStoreErrors(view, view.getStore().rstore);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
listeners: {
|
listeners: {
|
||||||
activate: 'reload',
|
activate: 'startStore',
|
||||||
|
deactivate: 'stopStore',
|
||||||
itemdblclick: 'editSyncJob',
|
itemdblclick: 'editSyncJob',
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -168,7 +179,6 @@ Ext.define('PBS.config.SyncJobView', {
|
|||||||
type: 'update',
|
type: 'update',
|
||||||
storeid: 'pbs-sync-jobs-status',
|
storeid: 'pbs-sync-jobs-status',
|
||||||
model: 'pbs-sync-jobs-status',
|
model: 'pbs-sync-jobs-status',
|
||||||
autoStart: true,
|
|
||||||
interval: 5000,
|
interval: 5000,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -12,6 +12,7 @@ Ext.define('pbs-verify-jobs-status', {
|
|||||||
return endtime - task.starttime;
|
return endtime - task.starttime;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
'comment',
|
||||||
],
|
],
|
||||||
idProperty: 'id',
|
idProperty: 'id',
|
||||||
proxy: {
|
proxy: {
|
||||||
@ -34,7 +35,9 @@ Ext.define('PBS.config.VerifyJobView', {
|
|||||||
|
|
||||||
addVerifyJob: function() {
|
addVerifyJob: function() {
|
||||||
let me = this;
|
let me = this;
|
||||||
|
let view = me.getView();
|
||||||
Ext.create('PBS.window.VerifyJobEdit', {
|
Ext.create('PBS.window.VerifyJobEdit', {
|
||||||
|
datastore: view.datastore,
|
||||||
listeners: {
|
listeners: {
|
||||||
destroy: function() {
|
destroy: function() {
|
||||||
me.reload();
|
me.reload();
|
||||||
@ -50,6 +53,7 @@ Ext.define('PBS.config.VerifyJobView', {
|
|||||||
if (selection.length < 1) return;
|
if (selection.length < 1) return;
|
||||||
|
|
||||||
Ext.create('PBS.window.VerifyJobEdit', {
|
Ext.create('PBS.window.VerifyJobEdit', {
|
||||||
|
datastore: view.datastore,
|
||||||
id: selection[0].data.id,
|
id: selection[0].data.id,
|
||||||
listeners: {
|
listeners: {
|
||||||
destroy: function() {
|
destroy: function() {
|
||||||
@ -147,15 +151,22 @@ Ext.define('PBS.config.VerifyJobView', {
|
|||||||
return Proxmox.Utils.render_timestamp(value);
|
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(); },
|
reload: function() { this.getView().getStore().rstore.load(); },
|
||||||
|
|
||||||
init: function(view) {
|
init: function(view) {
|
||||||
|
view.getStore().rstore.getProxy().setExtraParams({
|
||||||
|
store: view.datastore,
|
||||||
|
});
|
||||||
Proxmox.Utils.monStoreErrors(view, view.getStore().rstore);
|
Proxmox.Utils.monStoreErrors(view, view.getStore().rstore);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
listeners: {
|
listeners: {
|
||||||
activate: 'reload',
|
activate: 'startStore',
|
||||||
|
deactivate: 'stopStore',
|
||||||
itemdblclick: 'editVerifyJob',
|
itemdblclick: 'editVerifyJob',
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -168,7 +179,6 @@ Ext.define('PBS.config.VerifyJobView', {
|
|||||||
type: 'update',
|
type: 'update',
|
||||||
storeid: 'pbs-verify-jobs-status',
|
storeid: 'pbs-verify-jobs-status',
|
||||||
model: 'pbs-verify-jobs-status',
|
model: 'pbs-verify-jobs-status',
|
||||||
autoStart: true,
|
|
||||||
interval: 5000,
|
interval: 5000,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -219,12 +229,6 @@ Ext.define('PBS.config.VerifyJobView', {
|
|||||||
renderer: Ext.String.htmlEncode,
|
renderer: Ext.String.htmlEncode,
|
||||||
dataIndex: 'id',
|
dataIndex: 'id',
|
||||||
},
|
},
|
||||||
{
|
|
||||||
header: gettext('Datastore'),
|
|
||||||
width: 100,
|
|
||||||
sortable: true,
|
|
||||||
dataIndex: 'store',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
header: gettext('Days valid'),
|
header: gettext('Days valid'),
|
||||||
width: 125,
|
width: 125,
|
||||||
|
@ -53,10 +53,12 @@ Ext.define('PBS.window.SyncJobEdit', {
|
|||||||
name: 'remote-store',
|
name: 'remote-store',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldLabel: gettext('Local Datastore'),
|
xtype: 'hiddenfield',
|
||||||
xtype: 'pbsDataStoreSelector',
|
|
||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
name: 'store',
|
name: 'store',
|
||||||
|
cbind: {
|
||||||
|
value: '{datastore}',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
|
@ -41,10 +41,12 @@ Ext.define('PBS.window.VerifyJobEdit', {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
fieldLabel: gettext('Datastore'),
|
xtype: 'hiddenfield',
|
||||||
xtype: 'pbsDataStoreSelector',
|
|
||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
name: 'store',
|
name: 'store',
|
||||||
|
cbind: {
|
||||||
|
value: '{datastore}',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'proxmoxintegerfield',
|
xtype: 'proxmoxintegerfield',
|
||||||
|
Loading…
Reference in New Issue
Block a user