From 6982a547014d7ea2e8eee75c22b05df233ae2839 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fabian=20Gr=C3=BCnbichler?= Date: Fri, 20 Nov 2020 17:38:43 +0100 Subject: [PATCH] gui: add snapshot/file fingerprint tooltip MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit display short key ID, like backend's Display trait. Signed-off-by: Fabian Grünbichler --- www/Utils.js | 5 +++++ www/datastore/Content.js | 13 ++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/www/Utils.js b/www/Utils.js index ab48bdcf..775c03d7 100644 --- a/www/Utils.js +++ b/www/Utils.js @@ -161,6 +161,11 @@ Ext.define('PBS.Utils', { return `Datastore ${what} ${id}`; }, + // mimics Display trait in backend + renderKeyID: function(fingerprint) { + return fingerprint.substring(0, 23); + }, + parse_datastore_worker_id: function(type, id) { let result; let res; diff --git a/www/datastore/Content.js b/www/datastore/Content.js index acd4184b..12dacb89 100644 --- a/www/datastore/Content.js +++ b/www/datastore/Content.js @@ -12,6 +12,7 @@ Ext.define('pbs-data-store-snapshots', { 'files', 'owner', 'verification', + 'fingerprint', { name: 'size', type: 'int', allowNull: true }, { name: 'crypt-mode', @@ -182,6 +183,7 @@ Ext.define('PBS.DataStoreContent', { for (const file of data.files) { file.text = file.filename; file['crypt-mode'] = PBS.Utils.cryptmap.indexOf(file['crypt-mode']); + file.fingerprint = data.fingerprint; file.leaf = true; file.matchesFilter = true; @@ -699,7 +701,16 @@ Ext.define('PBS.DataStoreContent', { if (iconCls) { iconTxt = ` `; } - return (iconTxt + PBS.Utils.cryptText[v]) || Proxmox.Utils.unknownText; + let tip; + if (v !== PBS.Utils.cryptmap.indexOf('none') && record.data.fingerprint !== undefined) { + tip = "Key: " + PBS.Utils.renderKeyID(record.data.fingerprint); + } + let txt = (iconTxt + PBS.Utils.cryptText[v]) || Proxmox.Utils.unknownText; + if (record.parentNode.id === 'root' || tip === undefined) { + return txt; + } else { + return `${txt}`; + } }, }, { -- 2.39.5