[pbs-devel] [PATCH proxmox-backup v9 39/46] ui: expose s3 refresh button for datastores backed by object store
Christian Ebner
c.ebner at proxmox.com
Sat Jul 19 14:50:28 CEST 2025
Allows to trigger a refresh of the local datastore contents from
the WebUI.
Signed-off-by: Christian Ebner <c.ebner at proxmox.com>
---
changes since version 8:
- expose s3 refresh button in contents tab inside of 'More' dropdown
instead of in summary tab.
www/datastore/Content.js | 48 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 48 insertions(+)
diff --git a/www/datastore/Content.js b/www/datastore/Content.js
index e7fa3a8f7..37156c1cb 100644
--- a/www/datastore/Content.js
+++ b/www/datastore/Content.js
@@ -123,6 +123,22 @@ Ext.define('PBS.DataStoreContent', {
this.store.load();
},
+ s3Refresh: function () {
+ let me = this;
+ let view = me.getView();
+ Proxmox.Utils.API2Request({
+ url: `/admin/datastore/${view.datastore}/s3-refresh`,
+ method: 'PUT',
+ failure: (response) => Ext.Msg.alert(gettext('Error'), response.htmlStatus),
+ success: function (response, options) {
+ Ext.create('Proxmox.window.TaskViewer', {
+ upid: response.result.data,
+ taskDone: () => me.reload(),
+ }).show();
+ },
+ });
+ },
+
getRecordGroups: function (records) {
let groups = {};
@@ -1273,12 +1289,44 @@ Ext.define('PBS.DataStoreContent', {
},
],
+ initComponent: function () {
+ let me = this;
+
+ me.callParent();
+
+ Proxmox.Utils.API2Request({
+ url: `/config/datastore/${me.datastore}`,
+ failure: (response) => Ext.Msg.alert(gettext('Error'), response.htmlStatus),
+ success: function (response, options) {
+ let data = response.result.data;
+ if (data.backend) {
+ let backendConfig = PBS.Utils.parsePropertyString(data.backend);
+ let hasS3Backend = backendConfig.type === 's3';
+ me.down('#moreDropdown').setDisabled(!hasS3Backend);
+ }
+ },
+ });
+ },
+
tbar: [
{
text: gettext('Reload'),
iconCls: 'fa fa-refresh',
handler: 'reload',
},
+ {
+ text: gettext('More'),
+ itemId: 'moreDropdown',
+ disabled: true,
+ menu: [
+ {
+ text: gettext('Refresh contents from S3 bucket'),
+ iconCls: 'fa fa-cloud-download',
+ handler: 's3Refresh',
+ selModel: false,
+ },
+ ],
+ },
'-',
{
xtype: 'proxmoxButton',
--
2.47.2
More information about the pbs-devel
mailing list