gui: add snapshot/file fingerprint tooltip

display short key ID, like backend's Display trait.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
Fabian Grünbichler 2020-11-20 17:38:43 +01:00 committed by Dietmar Maurer
parent 035c40e638
commit 6982a54701
2 changed files with 17 additions and 1 deletions

View File

@ -161,6 +161,11 @@ Ext.define('PBS.Utils', {
return `Datastore ${what} ${id}`; return `Datastore ${what} ${id}`;
}, },
// mimics Display trait in backend
renderKeyID: function(fingerprint) {
return fingerprint.substring(0, 23);
},
parse_datastore_worker_id: function(type, id) { parse_datastore_worker_id: function(type, id) {
let result; let result;
let res; let res;

View File

@ -12,6 +12,7 @@ Ext.define('pbs-data-store-snapshots', {
'files', 'files',
'owner', 'owner',
'verification', 'verification',
'fingerprint',
{ name: 'size', type: 'int', allowNull: true }, { name: 'size', type: 'int', allowNull: true },
{ {
name: 'crypt-mode', name: 'crypt-mode',
@ -182,6 +183,7 @@ Ext.define('PBS.DataStoreContent', {
for (const file of data.files) { for (const file of data.files) {
file.text = file.filename; file.text = file.filename;
file['crypt-mode'] = PBS.Utils.cryptmap.indexOf(file['crypt-mode']); file['crypt-mode'] = PBS.Utils.cryptmap.indexOf(file['crypt-mode']);
file.fingerprint = data.fingerprint;
file.leaf = true; file.leaf = true;
file.matchesFilter = true; file.matchesFilter = true;
@ -699,7 +701,16 @@ Ext.define('PBS.DataStoreContent', {
if (iconCls) { if (iconCls) {
iconTxt = `<i class="fa fa-fw fa-${iconCls}"></i> `; iconTxt = `<i class="fa fa-fw fa-${iconCls}"></i> `;
} }
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 `<span data-qtip="${tip}">${txt}</span>`;
}
}, },
}, },
{ {