From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 65D1D69081 for ; Mon, 1 Mar 2021 14:10:34 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 5A308203FF for ; Mon, 1 Mar 2021 14:10:34 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [212.186.127.180]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 358D7203ED for ; Mon, 1 Mar 2021 14:10:33 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id EED104581D for ; Mon, 1 Mar 2021 14:10:32 +0100 (CET) From: Dominik Csapak To: pbs-devel@lists.proxmox.com Date: Mon, 1 Mar 2021 14:10:31 +0100 Message-Id: <20210301131032.24432-1-d.csapak@proxmox.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.204 Adjusted score from AWL reputation of From: address KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_DNSWL_MED -2.3 Sender listed at https://www.dnswl.org/, medium trust SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: [pbs-devel] [PATCH proxmox-backup 1/2] ui: tape/BackupOverview: add sublevel for groups X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Mar 2021 13:10:34 -0000 For tapes with many snapshots/group, a simple list of them is too big. Instead, add a level for just the groups, this makes searching for a specific backup much easier. Signed-off-by: Dominik Csapak --- www/tape/BackupOverview.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/www/tape/BackupOverview.js b/www/tape/BackupOverview.js index 4b4c02ff..c3f30b58 100644 --- a/www/tape/BackupOverview.js +++ b/www/tape/BackupOverview.js @@ -151,7 +151,20 @@ Ext.define('PBS.TapeManagement.BackupOverview', { children: [], }; } - tapes[tape].children.push(entry); + let [type, group, _id] = PBS.Utils.parse_snapshot_id(entry.snapshot); + + let children = tapes[tape].children; + let text = `${type}/${group}`; + if (children.length < 1 || children[children.length - 1].text !== text) { + children.push({ + text, + 'media-set-uuid': entry['media-set-uuid'], + leaf: false, + iconCls: `fa ${iconCls}`, + children: [], + }); + } + children[children.length - 1].children.push(entry); } for (const tape of Object.values(tapes)) { -- 2.20.1