From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id AB77E1FF183 for ; Wed, 30 Jul 2025 07:41:08 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 5F351324F3; Wed, 30 Jul 2025 07:42:34 +0200 (CEST) X-Spam-Processed: ms.sianit.com, Wed, 30 Jul 2025 13:41:59 +0800 (not processed: spam filter heuristic analysis disabled) X-MDArrival-Date: Wed, 30 Jul 2025 13:41:59 +0800 X-Authenticated-Sender: nansen.su@sianit.com X-Return-Path: nansen.su@sianit.com X-Envelope-From: nansen.su@sianit.com X-MDaemon-Deliver-To: pve-devel@lists.proxmox.com From: "nansen.su" To: pve-devel@lists.proxmox.com Date: Wed, 30 Jul 2025 13:41:40 +0800 Message-ID: <20250730054139.2277904-2-nansen.su@sianit.com> X-Mailer: git-send-email 2.50.1 MIME-Version: 1.0 X-MDCFSigsAdded: sianit.com X-SPAM-LEVEL: Spam detection results: 0 AWL 0.862 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pve-devel] [PATCH pve-manager v1 2/2] fix #4929: ui: add hidden storage support for iSCSI X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox VE development discussion Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" This patch implements the UI components for the hidden storage feature: - Add hidden checkbox to iSCSI storage edit dialog - Filter hidden storages from resource tree display - Include hidden property in storage API response - Show hidden status in storage management view This is part 2 of 2 patches that together implement hidden storage support for iSCSI. This patch depends on the storage plugin changes submitted to pve-storage. Depends-on: [PATCH pve-storage v1 1/2] iscsi: add hidden option to hide storage from UI Signed-off-by: Nansen Su --- PVE/API2Tools.pm | 1 + www/manager6/dc/StorageView.js | 7 +++++++ www/manager6/storage/IScsiEdit.js | 10 ++++++++++ www/manager6/tree/ResourceTree.js | 4 ++++ 4 files changed, 22 insertions(+) diff --git a/PVE/API2Tools.pm b/PVE/API2Tools.pm index d6154925..6a82c800 100644 --- a/PVE/API2Tools.pm +++ b/PVE/API2Tools.pm @@ -149,6 +149,7 @@ sub extract_storage_stats { status => 'unknown', shared => $scfg->{shared} || 0, content => $content, + hidden => $scfg->{hidden} || 0, }; if (my $d = $rrd->{"pve2-storage/$node/$storeid"}) { diff --git a/www/manager6/dc/StorageView.js b/www/manager6/dc/StorageView.js index e4c6f07d..93e5ffec 100644 --- a/www/manager6/dc/StorageView.js +++ b/www/manager6/dc/StorageView.js @@ -154,6 +154,13 @@ Ext.define( sortable: true, dataIndex: 'bwlimit', }, + { + header: gettext('Hidden'), + flex: 1, + sortable: true, + dataIndex: 'hidden', + renderer: Proxmox.Utils.format_boolean, + }, ], listeners: { activate: () => store.load(), diff --git a/www/manager6/storage/IScsiEdit.js b/www/manager6/storage/IScsiEdit.js index cd474f7d..283aec09 100644 --- a/www/manager6/storage/IScsiEdit.js +++ b/www/manager6/storage/IScsiEdit.js @@ -145,5 +145,15 @@ Ext.define('PVE.storage.IScsiInputPanel', { checked: true, fieldLabel: gettext('Use LUNs directly'), }, + { + xtype: 'checkbox', + name: 'hidden', + uncheckedValue: 0, + fieldLabel: gettext('Hide in UI'), + autoEl: { + tag: 'div', + 'data-qtip': gettext('Hide this storage from the resource tree'), + }, + }, ], }); diff --git a/www/manager6/tree/ResourceTree.js b/www/manager6/tree/ResourceTree.js index 58611aa3..d9ec67e5 100644 --- a/www/manager6/tree/ResourceTree.js +++ b/www/manager6/tree/ResourceTree.js @@ -425,6 +425,10 @@ Ext.define('PVE.tree.ResourceTree', { if (filterFn && !filterFn(item)) { return; } + // skip hidden storage + if (item.data.type === 'storage' && item.data.hidden) { + return; + } let info = Ext.apply({ leaf: true }, item.data); let child = me.groupChild(rootnode, info, groups, 0); -- 2.50.1 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel