[pbs-devel] [PATCH proxmox-backup v14 24/26] ui: support create removable datastore through directory creation
Dominik Csapak
d.csapak at proxmox.com
Mon Nov 25 14:28:07 CET 2024
a bit offtopic, but why only directory storages and not also zfs based ones?
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