diff --git a/www/manager6/Makefile b/www/manager6/Makefile index ff8ad00f..3e3fb6eb 100644 --- a/www/manager6/Makefile +++ b/www/manager6/Makefile @@ -264,6 +264,7 @@ JSSRC= \ storage/IScsiEdit.js \ storage/LVMEdit.js \ storage/LvmThinEdit.js \ + storage/BTRFSEdit.js \ storage/NFSEdit.js \ storage/PBSEdit.js \ storage/RBDEdit.js \ diff --git a/www/manager6/Utils.js b/www/manager6/Utils.js index 3415c9eb..3fdf37d3 100644 --- a/www/manager6/Utils.js +++ b/www/manager6/Utils.js @@ -771,6 +771,12 @@ Ext.define('PVE.Utils', { faIcon: 'folder', backups: false, }, + btrfs: { + name: 'BTRFS', + ipanel: 'BTRFSInputPanel', + faIcon: 'folder', + backups: true, + }, nfs: { name: 'NFS', ipanel: 'NFSInputPanel', diff --git a/www/manager6/storage/BTRFSEdit.js b/www/manager6/storage/BTRFSEdit.js new file mode 100644 index 00000000..32581e98 --- /dev/null +++ b/www/manager6/storage/BTRFSEdit.js @@ -0,0 +1,37 @@ +Ext.define('PVE.storage.BTRFSInputPanel', { + extend: 'PVE.panel.StorageBase', + + onlineHelp: 'storage_btrfs', + + initComponent: function() { + let me = this; + + me.column1 = [ + { + xtype: me.isCreate ? 'textfield' : 'displayfield', + name: 'path', + value: '', + fieldLabel: gettext('Path'), + allowBlank: false, + }, + { + xtype: 'pveContentTypeSelector', + name: 'content', + value: ['images', 'rootdir'], + multiSelect: true, + fieldLabel: gettext('Content'), + allowBlank: false, + }, + ]; + + me.columnB = [ + { + xtype: 'displayfield', + userCls: 'pmx-hint', + value: `BTRFS integration is currently a technology preview.`, + }, + ]; + + me.callParent(); + }, +});