[pbs-devel] [PATCH proxmox-backup v14 24/26] ui: support create removable datastore through directory creation

Hannes Laimer h.laimer at proxmox.com
Mon Nov 25 17:21:21 CET 2024



On 11/25/24 14:28, Dominik Csapak wrote:
> a bit offtopic, but why only directory storages and not also zfs based 
> ones?
> 

no reason, should be pretty easy to add. I'll do a follow-up

> e.g. i can imagine users wanting a zpool on an external disk too (for
> checksumming, send/receive, snapshotting, etc)
> 
> On 11/22/24 15:47, Hannes Laimer wrote:
>> Signed-off-by: Hannes Laimer <h.laimer at proxmox.com>
>> ---
>>   src/api2/node/disks/directory.rs |  2 ++
>>   www/DirectoryList.js             | 13 +++++++++++++
>>   www/window/CreateDirectory.js    | 14 ++++++++++++++
>>   3 files changed, 29 insertions(+)
>>
>> diff --git a/src/api2/node/disks/directory.rs b/src/api2/node/disks/ 
>> directory.rs
>> index ff817b253..2f7cc7a27 100644
>> --- a/src/api2/node/disks/directory.rs
>> +++ b/src/api2/node/disks/directory.rs
>> @@ -150,6 +150,8 @@ pub fn list_datastore_mounts() -> 
>> Result<Vec<DatastoreMountInfo>, Error> {
>>               "removable-datastore": {
>>                   description: "The added datastore is removable.",
>>                   type: bool,
>> +                optional: true,
>> +                default: false,
>>               },
>>               filesystem: {
>>                   type: FileSystemType,
>> diff --git a/www/DirectoryList.js b/www/DirectoryList.js
>> index adefa9abf..25921a623 100644
>> --- a/www/DirectoryList.js
>> +++ b/www/DirectoryList.js
>> @@ -121,6 +121,19 @@ Ext.define('PBS.admin.Directorylist', {
>>       ],
>>       columns: [
>> +    {
>> +        text: '<span class="fa fa-plug"/>',
>> +        flex: 0,
>> +        width: 35,
>> +        dataIndex: 'removable',
>> +        renderer: function(_text, _, row) {
>> +        if (row.data.removable) {
>> +            return `<i class="fa fa-check"/>`;
>> +        } else {
>> +            return '';
>> +        }
>> +        },
>> +    },
>>       {
>>           text: gettext('Path'),
>>           dataIndex: 'path',
>> diff --git a/www/window/CreateDirectory.js b/www/window/ 
>> CreateDirectory.js
>> index 6aabe21ab..38d6979d9 100644
>> --- a/www/window/CreateDirectory.js
>> +++ b/www/window/CreateDirectory.js
>> @@ -43,6 +43,20 @@ Ext.define('PBS.window.CreateDirectory', {
>>           name: 'add-datastore',
>>           fieldLabel: gettext('Add as Datastore'),
>>           value: '1',
>> +        listeners: {
>> +        change(field, newValue, _oldValue) {
>> +            let form = field.up('form');
>> +            let rmBox = form.down('[name=removable-datastore]');
>> +
>> +            rmBox.setDisabled(!newValue);
>> +            rmBox.setValue(false);
>> +        },
>> +        },
>> +    },
>> +    {
>> +        xtype: 'proxmoxcheckbox',
>> +        name: 'removable-datastore',
>> +        fieldLabel: gettext('is removable'),
>>       },
>>       ],
>>   });
> 
> 





More information about the pbs-devel mailing list