From ab81bb13add5f02b84ec06998dfa6429b9cb9aae Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Mon, 9 Nov 2020 16:01:25 +0100 Subject: [PATCH] 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 --- www/config/SyncView.js | 8 +++++--- www/config/VerifyView.js | 8 +++++--- www/window/SyncJobEdit.js | 11 ++++++++--- www/window/VerifyJobEdit.js | 11 ++++++++--- 4 files changed, 26 insertions(+), 12 deletions(-) diff --git a/www/config/SyncView.js b/www/config/SyncView.js index 20fc5e86..24990ff0 100644 --- a/www/config/SyncView.js +++ b/www/config/SyncView.js @@ -162,9 +162,11 @@ Ext.define('PBS.config.SyncJobView', { reload: function() { this.getView().getStore().rstore.load(); }, init: function(view) { - view.getStore().rstore.getProxy().setExtraParams({ - store: view.datastore, - }); + let params = {}; + if (view.datastore !== undefined) { + params.store = view.datastore; + } + view.getStore().rstore.getProxy().setExtraParams(params); Proxmox.Utils.monStoreErrors(view, view.getStore().rstore); }, }, diff --git a/www/config/VerifyView.js b/www/config/VerifyView.js index da8e9889..8a0ed6d4 100644 --- a/www/config/VerifyView.js +++ b/www/config/VerifyView.js @@ -157,9 +157,11 @@ Ext.define('PBS.config.VerifyJobView', { reload: function() { this.getView().getStore().rstore.load(); }, init: function(view) { - view.getStore().rstore.getProxy().setExtraParams({ - store: view.datastore, - }); + let params = {}; + if (view.datastore !== undefined) { + params.store = view.datastore; + } + view.getStore().rstore.getProxy().setExtraParams(params); Proxmox.Utils.monStoreErrors(view, view.getStore().rstore); }, }, diff --git a/www/window/SyncJobEdit.js b/www/window/SyncJobEdit.js index 573a4af6..982cec93 100644 --- a/www/window/SyncJobEdit.js +++ b/www/window/SyncJobEdit.js @@ -113,6 +113,7 @@ Ext.define('PBS.window.SyncJobEdit', { me.autoLoad = !!id; me.scheduleValue = id ? null : 'hourly'; me.authid = id ? null : Proxmox.UserName; + me.editDatastore = me.datastore === undefined && me.isCreate; return { }; }, @@ -128,14 +129,18 @@ Ext.define('PBS.window.SyncJobEdit', { }, column1: [ { - xtype: 'displayfield', - name: 'store', + xtype: 'pmxDisplayEditField', fieldLabel: gettext('Local Datastore'), - allowBlank: false, + name: 'store', submitValue: true, cbind: { + editable: '{editDatastore}', value: '{datastore}', }, + editConfig: { + xtype: 'pbsDataStoreSelector', + allowBlank: false, + }, }, { fieldLabel: gettext('Local Owner'), diff --git a/www/window/VerifyJobEdit.js b/www/window/VerifyJobEdit.js index 48a181b6..6153c8e5 100644 --- a/www/window/VerifyJobEdit.js +++ b/www/window/VerifyJobEdit.js @@ -24,6 +24,7 @@ Ext.define('PBS.window.VerifyJobEdit', { me.url = id ? `${baseurl}/${id}` : baseurl; me.method = id ? 'PUT' : 'POST'; me.autoLoad = !!id; + me.editDatastore = me.datastore === undefined && me.isCreate; return { }; }, @@ -45,14 +46,18 @@ Ext.define('PBS.window.VerifyJobEdit', { }, column1: [ { - xtype: 'displayfield', + xtype: 'pmxDisplayEditField', + fieldLabel: gettext('Local Datastore'), name: 'store', - fieldLabel: gettext('Datastore'), - allowBlank: false, submitValue: true, cbind: { + editable: '{editDatastore}', value: '{datastore}', }, + editConfig: { + xtype: 'pbsDataStoreSelector', + allowBlank: false, + }, }, { xtype: 'pbsCalendarEvent',