From e663d3db0910819cf8842b63611034e68a78d031 Mon Sep 17 00:00:00 2001 From: ross-spencer Date: Sun, 30 Jun 2024 20:12:01 +0200 Subject: [PATCH] Enable download of Siegfried results --- index.htm | 4 ++++ sf/app.js | 29 ++++++++++++++++++++++------- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/index.htm b/index.htm index acbd45f..14df15b 100644 --- a/index.htm +++ b/index.htm @@ -151,6 +151,10 @@

An analysis tool for file-format reports for digital preser   + diff --git a/sf/app.js b/sf/app.js index 550be6e..bb1b69c 100644 --- a/sf/app.js +++ b/sf/app.js @@ -18,9 +18,19 @@ function getArgs() { return args; } +function downloadResults() { + let res = document.getElementById("sf-results").value.trim(); + var base64doc = btoa(unescape(encodeURIComponent(res))), + a = document.createElement('a'), + e = new MouseEvent('click'); + a.download = 'results.yaml'; + a.href = 'data:text/html;base64,' + base64doc; + a.dispatchEvent(e); +} + + function toggleInit() { let sf = true; - toggleHeight = document.getElementById("static-analysis").offsetHeight; document.getElementById("static-analysis").style.height = 0; document.getElementById("static-analysis").style.visibility = "hidden"; @@ -31,7 +41,7 @@ function toggleInit() { document.getElementById("static-analysis").style.height = toggleHeight + "px"; document.getElementById("static-analysis").style.visibility = "visible"; toggleHeight = document.getElementById("use-siegfried").offsetHeight; - document.getElementById("use-siegfried").style.height="0"; + document.getElementById("use-siegfried").style.height = "0"; sf = false; return; } @@ -42,7 +52,7 @@ function toggleInit() { document.getElementById("use-siegfried").style.height = toggleHeight + "px"; document.getElementById("use-siegfried").style.visibility = "visible"; toggleHeight = document.getElementById("static-analysis").offsetHeight; - document.getElementById("static-analysis").style.height="0"; + document.getElementById("static-analysis").style.height = "0"; sf = true; return; }); @@ -61,8 +71,7 @@ window.onload = () => { console.log("file selection error: " + err); }); }; - } - ).catch((err) => { + }).catch((err) => { console.log("file selection error: " + err); }); }); @@ -85,9 +94,15 @@ window.onload = () => { }).catch((err) => { console.log("directory selection error: " + err); }); - } - ).catch((err) => { + }).catch((err) => { console.log("directory selection error: " + err); }); }); + document.getElementById('butDownload').addEventListener('click', (event) => { + try { + downloadResults() + } catch (err) { + console.log("download siegfrried error (ensure siegfried has been run): " + err) + } + }); }