[pbs-devel] [PATCH proxmox-backup 4/4] ui: DataStoreList: add remove button
Dominik Csapak
d.csapak at proxmox.com
Tue Jun 1 14:13:50 CEST 2021
so that a user can remove a datastore from the gui,
though no data is deleted, this has to be done elsewhere (for now)
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
www/Utils.js | 1 +
www/datastore/DataStoreList.js | 39 ++++++++++++++++++++++++++++++++++
2 files changed, 40 insertions(+)
diff --git a/www/Utils.js b/www/Utils.js
index f614d77e..6b378355 100644
--- a/www/Utils.js
+++ b/www/Utils.js
@@ -380,6 +380,7 @@ Ext.define('PBS.Utils', {
backup: (type, id) => PBS.Utils.render_datastore_worker_id(id, gettext('Backup')),
'barcode-label-media': [gettext('Drive'), gettext('Barcode-Label Media')],
'catalog-media': [gettext('Drive'), gettext('Catalog Media')],
+ 'delete-datastore': [gettext('Datastore'), gettext('Remove Datastore')],
dircreate: [gettext('Directory Storage'), gettext('Create')],
dirremove: [gettext('Directory'), gettext('Remove')],
'eject-media': [gettext('Drive'), gettext('Eject Media')],
diff --git a/www/datastore/DataStoreList.js b/www/datastore/DataStoreList.js
index 353709d3..f81b25b7 100644
--- a/www/datastore/DataStoreList.js
+++ b/www/datastore/DataStoreList.js
@@ -113,11 +113,50 @@ Ext.define('PBS.datastore.DataStoreList', {
me.datastores[data.store] = me.insert(i, {
datastore: data.store,
+ header: {
+ padding: '6 6 7 9',
+ },
+ tools: [
+ {
+ xtype: 'button',
+ text: gettext('Remove'),
+ iconCls: 'fa fa-trash-o',
+ handler: () => me.removeDatastore(data.store),
+ padding: 2,
+ },
+ ],
});
me.datastores[data.store].setStatus(data);
me.datastores[data.store].setTasks(me.tasks[data.store], me.since);
},
+ removeDatastore: function(datastore) {
+ let me = this;
+ Ext.create('Proxmox.window.SafeDestroy', {
+ url: `/config/datastore/${datastore}`,
+ item: {
+ id: datastore,
+ },
+ note: gettext('Configuration change only, no data will be deleted.'),
+ autoShow: true,
+ taskName: 'delete-datastore',
+ listeners: {
+ destroy: () => {
+ me.reload();
+ let navtree = Ext.ComponentQuery.query('navigationtree')[0];
+ navtree.rstore.load();
+ },
+ },
+ });
+ },
+
+ reload: function() {
+ let me = this;
+ me.mask();
+ me.usageStore.load();
+ me.taskStore.load();
+ },
+
initComponent: function() {
let me = this;
me.items = [
--
2.20.1
More information about the pbs-devel
mailing list