* [pve-devel] [PATCH pve-manager v3] ui: storage: add is_mountpoint checkbox to dir/btrfs storage edit
@ 2025-03-25 15:20 Hannes Laimer
0 siblings, 0 replies; only message in thread
From: Hannes Laimer @ 2025-03-25 15:20 UTC (permalink / raw)
To: pve-devel
This came up in support, and there is no reason to not have it in
the UI, while having it in the API.
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
---
v2:
- use Aaron's improved help text
v3, thanks @Fabian and @Fiona:
- handle if a path is set correctly
- move to BaseStorage, so we don't have the same code in two places
www/manager6/storage/Base.js | 44 ++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/www/manager6/storage/Base.js b/www/manager6/storage/Base.js
index c8c735f3..813f961b 100644
--- a/www/manager6/storage/Base.js
+++ b/www/manager6/storage/Base.js
@@ -4,6 +4,13 @@ Ext.define('PVE.panel.StorageBase', {
type: '',
+ viewModel: {
+ data: {
+ isMpReadOnly: false,
+ isMpChecked: false,
+ },
+ },
+
onGetValues: function(values) {
let me = this;
@@ -19,6 +26,16 @@ Ext.define('PVE.panel.StorageBase', {
return values;
},
+ setValues: function(values) {
+ let isMp = values.is_mountpoint;
+ let isMpSet = !!isMp && isMp !== '0';
+ let isMpIsPath = isMpSet && isMp !== '1';
+ this.viewModel.set('isMpReadOnly', isMpIsPath);
+ this.viewModel.set('isMpChecked', isMpSet);
+
+ this.callParent([values]);
+ },
+
initComponent: function() {
let me = this;
@@ -73,6 +90,33 @@ Ext.define('PVE.panel.StorageBase', {
}
}
+ const hasIsMountpointStorageTypes = ['dir', 'btrfs'];
+
+ if (hasIsMountpointStorageTypes.includes(me.type)) {
+ const isMountpointBox = {
+ xtype: 'proxmoxcheckbox',
+ name: 'is_mountpoint',
+ uncheckedValue: 0,
+ fieldLabel: gettext('Mountpoint'),
+ bind: {
+ disabled: '{isMpReadOnly}',
+ value: '{isMpChecked}',
+ },
+ autoEl: {
+ tag: 'div',
+ 'data-qtip': gettext('Enable if something is mounted at this path. Storage is considered offline as long as nothing is mounted.'),
+ },
+ };
+
+ me.advancedColumn1 = me.advancedColumn1 || [];
+ me.advancedColumn2 = me.advancedColumn2 || [];
+ if (me.advancedColumn2.length < me.advancedColumn1.length) {
+ me.advancedColumn2.unshift(isMountpointBox);
+ } else {
+ me.advancedColumn1.unshift(isMountpointBox);
+ }
+ }
+
me.callParent();
},
});
--
2.39.5
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-03-25 15:21 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-03-25 15:20 [pve-devel] [PATCH pve-manager v3] ui: storage: add is_mountpoint checkbox to dir/btrfs storage edit Hannes Laimer
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal