From 5db10ab1c14f3f233bea91030381a10bf8609944 Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Thu, 23 Feb 2023 13:17:50 +0100 Subject: [PATCH 1/6] Refactored code used to sending requests to backends --- Frontend/assets/scripts/tools/scripts.js | 41 ++++++++++++++---------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/Frontend/assets/scripts/tools/scripts.js b/Frontend/assets/scripts/tools/scripts.js index d44f732..adf9188 100644 --- a/Frontend/assets/scripts/tools/scripts.js +++ b/Frontend/assets/scripts/tools/scripts.js @@ -111,7 +111,16 @@ function performRequest(endpoint, checkXML, checkTransform){ empty = true; } if (!empty) { - restRequest(endpoint, xmlData, transformData); + restRequest(endpoint, xmlData, transformData).then(function(result) { + document.getElementById("resultArea").value = result.result; + document.getElementById("procinfo").innerText = ' Computed using '.concat(" ", result.processor); + if (result.status = "OK") { + document.getElementById("procinfo").innerText = document.getElementById("procinfo").innerText.concat(" in ", result.time, "ms"); + procinfo.style.color = "#30aa58"; + } else { + procinfo.style.color = "#aa3030"; + } + }); }else{ document.getElementById("resultArea").value = "No data provided!"; return false; @@ -129,7 +138,15 @@ function performFormatRequest(endpoint, checkXML){ empty = true; } if (!empty) { - restRequest(endpoint, xmlData, null); + var result = restRequest(endpoint, xmlData, null); + document.getElementById("resultArea").value = result.result; + document.getElementById("procinfo").innerText = ' Computed using '.concat(" ", result.processor); + if (response.ok) { + document.getElementById("procinfo").innerText = document.getElementById("procinfo").innerText.concat(" in ", result.time, "ms"); + procinfo.style.color = "#30aa58"; + } else { + procinfo.style.color = "#aa3030"; + } }else{ document.getElementById("resultArea").value = "No data provided!"; return false; @@ -172,21 +189,11 @@ async function restRequest(endpoint, xmlData, transformData) { var request = new Request(addr, init); - - await fetch(request).then(response => { - console.log(response.status); - response.text().then(function (text) { - console.log(text); - var result = JSON.parse(text); - document.getElementById("resultArea").value = result.result; - document.getElementById("procinfo").innerText = ' Computed using '.concat(" ", result.processor); - if (response.ok) { - document.getElementById("procinfo").innerText = document.getElementById("procinfo").innerText.concat(" in ", result.time, "ms"); - procinfo.style.color = "#30aa58"; - } else { - procinfo.style.color = "#aa3030"; - } + var result = await fetch(request).then(response => { + return response.text().then(function(text) { + return JSON.parse(text); }); - + }); + return result; } From 9bc3370f3b27640cea5d7085d36ef6d73011636b Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Thu, 23 Feb 2023 13:39:57 +0100 Subject: [PATCH 2/6] Format function now allows to choose source and target IDs --- Frontend/assets/scripts/tools/scripts.js | 34 +++++++++++------------- Frontend/tools/formatter.html | 4 +-- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/Frontend/assets/scripts/tools/scripts.js b/Frontend/assets/scripts/tools/scripts.js index adf9188..d55ea46 100644 --- a/Frontend/assets/scripts/tools/scripts.js +++ b/Frontend/assets/scripts/tools/scripts.js @@ -96,18 +96,20 @@ function refreshTooltip() { document.getElementById("xsltelementsheader").innerText = XSLTheader; } + + function performRequest(endpoint, checkXML, checkTransform){ - var xmlData = document.getElementById("xmlArea").value.trim(); - var transformData = document.getElementById("transformArea").value.trim(); + var xmlData = document.getElementById(sourceId).value.trim(); + var transformData = document.getElementById(targetId).value.trim(); var empty = false; if (defaultStrings.includes(xmlData) && checkXML) { - document.getElementById("xmlArea").style.backgroundColor = color_red; + document.getElementById(sourceId).style.backgroundColor = color_red; xmlData = ""; empty = true; } if (defaultStrings.includes(transformData) && checkTransform) { - document.getElementById("transformArea").style.backgroundColor = color_red; + document.getElementById(targetId).style.backgroundColor = color_red; empty = true; } if (!empty) { @@ -128,34 +130,30 @@ function performRequest(endpoint, checkXML, checkTransform){ } -function performFormatRequest(endpoint, checkXML){ - var xmlData = document.getElementById("xmlArea").value.trim(); +function performFormatRequest(endpoint, checkXML, sourceId, targetId){ + var xmlData = document.getElementById(sourceId).value.trim(); var empty = false; if (defaultStrings.includes(xmlData) && checkXML) { - document.getElementById("xmlArea").style.backgroundColor = color_red; + document.getElementById(sourceId).style.backgroundColor = color_red; xmlData = ""; empty = true; } + if (!empty) { - var result = restRequest(endpoint, xmlData, null); - document.getElementById("resultArea").value = result.result; - document.getElementById("procinfo").innerText = ' Computed using '.concat(" ", result.processor); - if (response.ok) { - document.getElementById("procinfo").innerText = document.getElementById("procinfo").innerText.concat(" in ", result.time, "ms"); - procinfo.style.color = "#30aa58"; - } else { - procinfo.style.color = "#aa3030"; - } + restRequest(endpoint, xmlData, "").then(function(result) { + document.getElementById(targetId).value = result.result; + + }); }else{ - document.getElementById("resultArea").value = "No data provided!"; + document.getElementById(targetId).value = "No data provided!"; return false; } } -//Form REST request, send, receive and display in resultArea +//Form REST request, send and return received data async function restRequest(endpoint, xmlData, transformData) { const escapeChar = "specialEscapeChar"; var port = ":8081/" diff --git a/Frontend/tools/formatter.html b/Frontend/tools/formatter.html index c5d88f6..b58249a 100644 --- a/Frontend/tools/formatter.html +++ b/Frontend/tools/formatter.html @@ -29,9 +29,9 @@ onfocus="clearDefaultContent(this, 'Insert XML here');">

+ onclick="performFormatRequest('prettifypost', true, 'xmlArea', 'resultArea')">Prettify XML + onclick="performFormatRequest('minimizepost', true, 'xmlArea', 'resultArea')">Minimize XML

From 1e56b2885ab5448116f6b3ebc41275d7c52d9258 Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Thu, 23 Feb 2023 13:46:30 +0100 Subject: [PATCH 3/6] Simplified formatter --- Frontend/assets/css/tools/r11form.css | 4 ++++ Frontend/tools/formatter.html | 13 ++++--------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Frontend/assets/css/tools/r11form.css b/Frontend/assets/css/tools/r11form.css index 6eb8ab9..e54e151 100644 --- a/Frontend/assets/css/tools/r11form.css +++ b/Frontend/assets/css/tools/r11form.css @@ -330,6 +330,10 @@ height: 300px; } +.textarea-800 { + height: 800px; +} + .centered-content { display: flex; justify-content: center; diff --git a/Frontend/tools/formatter.html b/Frontend/tools/formatter.html index b58249a..9803e0f 100644 --- a/Frontend/tools/formatter.html +++ b/Frontend/tools/formatter.html @@ -24,20 +24,15 @@

+ onclick="performFormatRequest('prettifypost', true, 'xmlArea', 'xmlArea')">Prettify XML -

- - - - + onclick="performFormatRequest('minimizepost', true, 'xmlArea', 'xmlArea')">Minimize XML +
From c7d34ed05f946542f8221cb2e8ebd8077f80ffed Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Thu, 23 Feb 2023 13:57:57 +0100 Subject: [PATCH 4/6] Fixed bug with choosing ports --- Frontend/assets/scripts/tools/scripts.js | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Frontend/assets/scripts/tools/scripts.js b/Frontend/assets/scripts/tools/scripts.js index d55ea46..d464330 100644 --- a/Frontend/assets/scripts/tools/scripts.js +++ b/Frontend/assets/scripts/tools/scripts.js @@ -102,6 +102,11 @@ function performRequest(endpoint, checkXML, checkTransform){ var xmlData = document.getElementById(sourceId).value.trim(); var transformData = document.getElementById(targetId).value.trim(); + var port = 8081 + if (getProcessor() == "libxml") { + port = 8082 + } + var empty = false; if (defaultStrings.includes(xmlData) && checkXML) { document.getElementById(sourceId).style.backgroundColor = color_red; @@ -113,7 +118,7 @@ function performRequest(endpoint, checkXML, checkTransform){ empty = true; } if (!empty) { - restRequest(endpoint, xmlData, transformData).then(function(result) { + restRequest(port, endpoint, xmlData, transformData).then(function(result) { document.getElementById("resultArea").value = result.result; document.getElementById("procinfo").innerText = ' Computed using '.concat(" ", result.processor); if (result.status = "OK") { @@ -131,6 +136,7 @@ function performRequest(endpoint, checkXML, checkTransform){ } function performFormatRequest(endpoint, checkXML, sourceId, targetId){ + const port = 8082; var xmlData = document.getElementById(sourceId).value.trim(); var empty = false; @@ -141,7 +147,7 @@ function performFormatRequest(endpoint, checkXML, sourceId, targetId){ } if (!empty) { - restRequest(endpoint, xmlData, "").then(function(result) { + restRequest(port, endpoint, xmlData, "").then(function(result) { document.getElementById(targetId).value = result.result; }); @@ -154,13 +160,10 @@ function performFormatRequest(endpoint, checkXML, sourceId, targetId){ //Form REST request, send and return received data -async function restRequest(endpoint, xmlData, transformData) { +async function restRequest(port, endpoint, xmlData, transformData) { const escapeChar = "specialEscapeChar"; - var port = ":8081/" - if (getProcessor() == "libxml") { - port = ":8082/" - } - const addr = window.location.protocol + "//" + window.location.hostname + port + endpoint; + + const addr = window.location.protocol + "//" + window.location.hostname + ":" + port + "/" + endpoint; if(defaultStrings.includes(xmlData)){ xmlData = ""; From 15830d7adf70a56f7b511e69224e4c1d2508f6f8 Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Thu, 23 Feb 2023 13:59:08 +0100 Subject: [PATCH 5/6] Implemented Format XML button --- Frontend/tools/xpath.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Frontend/tools/xpath.html b/Frontend/tools/xpath.html index 2a0bcdd..67b8aec 100644 --- a/Frontend/tools/xpath.html +++ b/Frontend/tools/xpath.html @@ -37,8 +37,10 @@
- +
From 7042959ee3988cf841c30971de35b1a85f5df13c Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Thu, 23 Feb 2023 14:11:18 +0100 Subject: [PATCH 6/6] Added Format XML button in XSLT and XSD tools --- Frontend/tools/xsd.html | 4 +++- Frontend/tools/xslt.html | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Frontend/tools/xsd.html b/Frontend/tools/xsd.html index 95de619..dd74623 100644 --- a/Frontend/tools/xsd.html +++ b/Frontend/tools/xsd.html @@ -26,8 +26,10 @@
- +
diff --git a/Frontend/tools/xslt.html b/Frontend/tools/xslt.html index 5128300..3751237 100644 --- a/Frontend/tools/xslt.html +++ b/Frontend/tools/xslt.html @@ -26,8 +26,10 @@
- +