ui: make Sync/VerifyView and Edit usable without datastore

we want to use this panel again for a 'global' overview, without
any datastore preselected, so we have to handle that, and
adding a datastore selector in the editwindow

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2020-11-09 16:01:25 +01:00 committed by Thomas Lamprecht
parent 616650a198
commit ab81bb13ad
4 changed files with 26 additions and 12 deletions

View File

@ -162,9 +162,11 @@ Ext.define('PBS.config.SyncJobView', {
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({ let params = {};
store: view.datastore, if (view.datastore !== undefined) {
}); params.store = view.datastore;
}
view.getStore().rstore.getProxy().setExtraParams(params);
Proxmox.Utils.monStoreErrors(view, view.getStore().rstore); Proxmox.Utils.monStoreErrors(view, view.getStore().rstore);
}, },
}, },

View File

@ -157,9 +157,11 @@ Ext.define('PBS.config.VerifyJobView', {
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({ let params = {};
store: view.datastore, if (view.datastore !== undefined) {
}); params.store = view.datastore;
}
view.getStore().rstore.getProxy().setExtraParams(params);
Proxmox.Utils.monStoreErrors(view, view.getStore().rstore); Proxmox.Utils.monStoreErrors(view, view.getStore().rstore);
}, },
}, },

View File

@ -113,6 +113,7 @@ Ext.define('PBS.window.SyncJobEdit', {
me.autoLoad = !!id; me.autoLoad = !!id;
me.scheduleValue = id ? null : 'hourly'; me.scheduleValue = id ? null : 'hourly';
me.authid = id ? null : Proxmox.UserName; me.authid = id ? null : Proxmox.UserName;
me.editDatastore = me.datastore === undefined && me.isCreate;
return { }; return { };
}, },
@ -128,14 +129,18 @@ Ext.define('PBS.window.SyncJobEdit', {
}, },
column1: [ column1: [
{ {
xtype: 'displayfield', xtype: 'pmxDisplayEditField',
name: 'store',
fieldLabel: gettext('Local Datastore'), fieldLabel: gettext('Local Datastore'),
allowBlank: false, name: 'store',
submitValue: true, submitValue: true,
cbind: { cbind: {
editable: '{editDatastore}',
value: '{datastore}', value: '{datastore}',
}, },
editConfig: {
xtype: 'pbsDataStoreSelector',
allowBlank: false,
},
}, },
{ {
fieldLabel: gettext('Local Owner'), fieldLabel: gettext('Local Owner'),

View File

@ -24,6 +24,7 @@ Ext.define('PBS.window.VerifyJobEdit', {
me.url = id ? `${baseurl}/${id}` : baseurl; me.url = id ? `${baseurl}/${id}` : baseurl;
me.method = id ? 'PUT' : 'POST'; me.method = id ? 'PUT' : 'POST';
me.autoLoad = !!id; me.autoLoad = !!id;
me.editDatastore = me.datastore === undefined && me.isCreate;
return { }; return { };
}, },
@ -45,14 +46,18 @@ Ext.define('PBS.window.VerifyJobEdit', {
}, },
column1: [ column1: [
{ {
xtype: 'displayfield', xtype: 'pmxDisplayEditField',
fieldLabel: gettext('Local Datastore'),
name: 'store', name: 'store',
fieldLabel: gettext('Datastore'),
allowBlank: false,
submitValue: true, submitValue: true,
cbind: { cbind: {
editable: '{editDatastore}',
value: '{datastore}', value: '{datastore}',
}, },
editConfig: {
xtype: 'pbsDataStoreSelector',
allowBlank: false,
},
}, },
{ {
xtype: 'pbsCalendarEvent', xtype: 'pbsCalendarEvent',