mirror of
https://github.com/itplr-kosit/validator.git
synced 2026-05-25 16:55:39 +00:00
Addressed change requests on pull requests:
- Changed back to innerText on output - replaced global var report and extracted info for download from div - put another check on the download button to insure that the report can only be downloaded once data is available
This commit is contained in:
parent
590e4cde16
commit
aef5a50cf8
2 changed files with 42 additions and 18 deletions
|
|
@ -16,6 +16,9 @@ View [validator configuration](/server/config) or <a href="/server/health" targe
|
|||
<input type="button" id="submit" value="Validate" onclick="return validate();">
|
||||
<input type="button" id="dwn-btn" value="Download Report" onclick="return download();" disabled>
|
||||
</div>
|
||||
</br>
|
||||
<div id="good_status" style="color:#008000"></div>
|
||||
<div id="bad_status" style="color:#800000"></div>
|
||||
<div id="result"></div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -40,13 +40,19 @@
|
|||
<body>
|
||||
<script type="text/javascript">
|
||||
|
||||
var report;
|
||||
|
||||
var validate = function validate() {
|
||||
const input = document.getElementById('file');
|
||||
const output = document.getElementById('result');
|
||||
const output_bad_status = document.getElementById('bad_status');
|
||||
const output_good_status = document.getElementById('good_status');
|
||||
const output_result = document.getElementById('result');
|
||||
const download = document.getElementById('dwn-btn');
|
||||
|
||||
// Reset all variables
|
||||
output_bad_status.innerText = "";
|
||||
output_good_status.innerText = "";
|
||||
download.disabled = true;
|
||||
output_result.innerText = "";
|
||||
|
||||
var headers = new Headers();
|
||||
headers.append('Content-Type', 'application/xml');
|
||||
|
||||
|
|
@ -58,21 +64,35 @@
|
|||
};
|
||||
|
||||
fetch('/', requestOptions)
|
||||
.then(response => response.text())
|
||||
.then(result => {
|
||||
output.innerHTML = result;
|
||||
report = result;
|
||||
.then(response => {
|
||||
let status = response.status + " " + response.statusText;
|
||||
if(response.status === 200) {
|
||||
output_good_status.innerText = status;
|
||||
} else {
|
||||
output_bad_status.innerText = status;
|
||||
}
|
||||
response.text().then(result => {
|
||||
output_result.innerText = result;
|
||||
download.disabled = false;
|
||||
})
|
||||
.catch(error => output.innerText = result);
|
||||
response.text().catch(error => output_result.innerText = error);
|
||||
})
|
||||
return false;
|
||||
};
|
||||
|
||||
var download = function download() {
|
||||
var filename = "report.html";
|
||||
let download = function download() {
|
||||
const result = document.getElementById('result');
|
||||
const filename = "report.html";
|
||||
const element = document.createElement('a');
|
||||
|
||||
var element = document.createElement('a');
|
||||
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(report));
|
||||
// Check if there is a report to download
|
||||
if(result.innerText !== "") {
|
||||
// Extraction of HTML Result from div-box "result"
|
||||
let html_result = new DOMParser().parseFromString(result.innerText, "text/html");
|
||||
// Eliminate the abundance
|
||||
html_result = html_result.documentElement.innerHTML.replace(/<rep:report (.+)><rep:explanation>/, "");
|
||||
|
||||
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(html_result));
|
||||
element.setAttribute('download', filename);
|
||||
|
||||
element.style.display = 'none';
|
||||
|
|
@ -81,6 +101,7 @@
|
|||
element.click();
|
||||
|
||||
document.body.removeChild(element);
|
||||
}
|
||||
};
|
||||
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue