Fixed intendations and added missing docs

This commit is contained in:
2023-03-23 09:52:47 +01:00
parent 52ca53adb6
commit 2572ffccd8

View File

@@ -3,15 +3,15 @@ const color_grey = "#6b6b6b";
const color_red = "#ff8f8f"; const color_red = "#ff8f8f";
/** /**
* It clears default content of the element and sets it's color to black. * It clears default content of the element and sets it's color to black.
* *
* @function * @function
* @name clearDefaultContent * @name clearDefaultContent
* @kind function * @kind function
* @param {any} element to set * @param {any} element to set
* @param {any} text to set * @param {any} text to set
* @returns {void} * @returns {void}
*/ */
function clearDefaultContent(element, text) { function clearDefaultContent(element, text) {
if (element.value == text) { if (element.value == text) {
element.value = ""; element.value = "";
@@ -21,25 +21,25 @@ function clearDefaultContent(element, text) {
} }
/** /**
* It returns the value of the element with id "processors". * It returns the value of the element with id "processors".
* *
* @function * @function
* @name getProcessor * @name getProcessor
* @kind function * @kind function
* @returns {any} * @returns {any}
*/ */
function getProcessor() { function getProcessor() {
return document.getElementById("processors").value; return document.getElementById("processors").value;
} }
/** /**
* It returns version of XSLT. * It returns version of XSLT.
* *
* @function * @function
* @name getVersion * @name getVersion
* @kind function * @kind function
* @returns {"1.0" | "3.0"} * @returns {"1.0" | "3.0"}
*/ */
function getVersion() { function getVersion() {
if (getProcessor() == "xalan") { if (getProcessor() == "xalan") {
return "1.0"; return "1.0";
@@ -49,13 +49,13 @@ function getVersion() {
} }
/** /**
* It clears all data fields. * It clears all data fields.
* *
* @function * @function
* @name clearDataField * @name clearDataField
* @kind function * @kind function
*/ */
function clearDataField(){ function clearDataField() {
document.getElementById("xmlArea").value = ""; document.getElementById("xmlArea").value = "";
document.getElementById("xmlArea").style.color = null; document.getElementById("xmlArea").style.color = null;
document.getElementById("xmlArea").style.backgroundColor = null; document.getElementById("xmlArea").style.backgroundColor = null;
@@ -65,28 +65,37 @@ function clearDataField(){
document.getElementById("transformArea").style.backgroundColor = null; document.getElementById("transformArea").style.backgroundColor = null;
} }
/**
* It fills the XML area with a sample XML.
*
* @function
* @name fillDefaultXML
* @kind function
* @param {any} element
* @returns {void}
*/
function fillDefaultXML(element) { function fillDefaultXML(element) {
if(element.classList.contains("active")){ if (element.classList.contains("active")) {
const serverAddress = window.location.protocol + "//" + window.location.hostname + ":8086"; const serverAddress = window.location.protocol + "//" + window.location.hostname + ":8086";
clearDefaultContent(document.getElementById("xmlArea"), "Insert XML here"); clearDefaultContent(document.getElementById("xmlArea"), "Insert XML here");
fetch(serverAddress + "/assets/samples/sampleXml.xml") fetch(serverAddress + "/assets/samples/sampleXml.xml")
.then(response => response.text()) .then(response => response.text())
.then((exampleData) => { .then((exampleData) => {
document.getElementById("xmlArea").value = exampleData; document.getElementById("xmlArea").value = exampleData;
document.getElementById("xmlArea").style.backgroundColor = null; document.getElementById("xmlArea").style.backgroundColor = null;
}) })
} }
} }
/** /**
* It sets default content for the element an changes it's color to grey * It sets default content for the element an changes it's color to grey
* *
* @function * @function
* @name setDefaultContent * @name setDefaultContent
* @kind function * @kind function
* @param {any} element to set * @param {any} element to set
* @param {any} text to set * @param {any} text to set
*/ */
function setDefaultContent(element, text) { function setDefaultContent(element, text) {
if (element.value == "") { if (element.value == "") {
var id = element.getAttribute('id'); var id = element.getAttribute('id');
@@ -109,14 +118,14 @@ function setDefaultContent(element, text) {
} }
/** /**
* It hides list for specified version of XPath * It hides list for specified version of XPath
* *
* @function * @function
* @name hideList * @name hideList
* @kind function * @kind function
* @param {any} collList class name of list to hide * @param {any} collList class name of list to hide
* @returns {void} * @returns {void}
*/ */
function hideList(collList) { function hideList(collList) {
for (i = 0; i < collList.length; i++) { for (i = 0; i < collList.length; i++) {
if (collList[i].nextElementSibling !== null) { if (collList[i].nextElementSibling !== null) {
@@ -129,27 +138,27 @@ function hideList(collList) {
} }
/** /**
* It checks if the text is a default text. * It checks if the text is a default text.
* *
* @function * @function
* @name checkDefault * @name checkDefault
* @kind function * @kind function
* @param {any} text * @param {any} text
* @returns {boolean} * @returns {boolean}
*/ */
function checkDefault(text){ function checkDefault(text) {
return defaultStrings.includes(text); return defaultStrings.includes(text);
} }
/** /**
* It show list for specified version of XPath * It show list for specified version of XPath
* *
* @function * @function
* @name showList * @name showList
* @kind function * @kind function
* @param {any} collList class name of list to hide * @param {any} collList class name of list to hide
* @returns {void} * @returns {void}
*/ */
function showList(collList) { function showList(collList) {
for (i = 0; i < collList.length; i++) { for (i = 0; i < collList.length; i++) {
collList[i].style.display = 'block'; collList[i].style.display = 'block';
@@ -157,20 +166,20 @@ function showList(collList) {
} }
/** /**
* A function that is used to fold/unfold collapsible elements. * A function that is used to fold/unfold collapsible elements.
* *
* @function * @function
* @name smoothFoldElement * @name smoothFoldElement
* @kind function * @kind function
* @param {any} element * @param {any} element
* @param {any} toogleState * @param {any} toogleState
* @param {any} toggleParrent * @param {any} toggleParrent
* @returns {void} * @returns {void}
*/ */
function smoothFoldElement(element, toogleState, toggleParrent){ function smoothFoldElement(element, toogleState, toggleParrent) {
if (toogleState) { if (toogleState) {
console.log("DUPA"); console.log("DUPA");
if(toggleParrent){ if (toggleParrent) {
element.parentElement.style.maxHeight = "0px"; element.parentElement.style.maxHeight = "0px";
} }
@@ -189,13 +198,13 @@ function smoothFoldElement(element, toogleState, toggleParrent){
} }
/** /**
* Set tooltip info, function is called by onClick handlers * Set tooltip info, function is called by onClick handlers
* *
* @function * @function
* @name refreshTooltip * @name refreshTooltip
* @kind function * @kind function
* @returns {void} * @returns {void}
*/ */
function refreshTooltip() { function refreshTooltip() {
var resizeList = document.getElementsByClassName("collapsibleData"); var resizeList = document.getElementsByClassName("collapsibleData");
console.log("collDataList: " + resizeList.length) console.log("collDataList: " + resizeList.length)
@@ -206,17 +215,17 @@ function refreshTooltip() {
/** /**
* A function that performs a request to the server. * A function that performs a request to the server.
* *
* @function * @function
* @name performRequest * @name performRequest
* @kind function * @kind function
* @param {any} endpoint of target service * @param {any} endpoint of target service
* @param {any} checkXML enable checking for empty XML * @param {any} checkXML enable checking for empty XML
* @param {any} checkTransform enable checking for empty transform data * @param {any} checkTransform enable checking for empty transform data
* @returns {false | undefined} * @returns {false | undefined}
*/ */
function performRequest(endpoint, checkXML, checkTransform){ function performRequest(endpoint, checkXML, checkTransform) {
const sourceId = "xmlArea"; const sourceId = "xmlArea";
const transformId = "transformArea"; const transformId = "transformArea";
var xmlData = document.getElementById(sourceId).value.trim(); var xmlData = document.getElementById(sourceId).value.trim();
@@ -226,19 +235,19 @@ function performRequest(endpoint, checkXML, checkTransform){
if (getProcessor() == "libxml") { if (getProcessor() == "libxml") {
port = 8082; port = 8082;
} }
var empty = false; var empty = false;
if (defaultStrings.includes(xmlData) && checkXML) { if (defaultStrings.includes(xmlData) && checkXML) {
document.getElementById(sourceId).style.backgroundColor = color_red; document.getElementById(sourceId).style.backgroundColor = color_red;
xmlData = ""; xmlData = "";
empty = true; empty = true;
} }
if (defaultStrings.includes(transformData) && checkTransform) { if (defaultStrings.includes(transformData) && checkTransform) {
document.getElementById(transformId).style.backgroundColor = color_red; document.getElementById(transformId).style.backgroundColor = color_red;
empty = true; empty = true;
} }
if (!empty) { if (!empty) {
restRequest(port, endpoint, xmlData, transformData).then(function(result) { restRequest(port, endpoint, xmlData, transformData).then(function (result) {
document.getElementById("resultArea").value = result.result; document.getElementById("resultArea").value = result.result;
document.getElementById("procinfo").innerText = ' Computed using '.concat(" ", result.processor); document.getElementById("procinfo").innerText = ' Computed using '.concat(" ", result.processor);
if (result.status = "OK") { if (result.status = "OK") {
@@ -248,7 +257,7 @@ function performRequest(endpoint, checkXML, checkTransform){
procinfo.style.color = "#aa3030"; procinfo.style.color = "#aa3030";
} }
}); });
}else{ } else {
document.getElementById("resultArea").value = "No data provided!"; document.getElementById("resultArea").value = "No data provided!";
return false; return false;
} }
@@ -256,18 +265,18 @@ function performRequest(endpoint, checkXML, checkTransform){
} }
/** /**
* Function that prepares data to send and handles response * Function that prepares data to send and handles response
* *
* @function * @function
* @name performFormatRequest * @name performFormatRequest
* @kind function * @kind function
* @param {any} endpoint of target service * @param {any} endpoint of target service
* @param {any} checkXML enable checking for empty XML * @param {any} checkXML enable checking for empty XML
* @param {any} sourceId ID of element to get XML from * @param {any} sourceId ID of element to get XML from
* @param {any} targetId ID of element to write formatted XML * @param {any} targetId ID of element to write formatted XML
* @returns {void} * @returns {void}
*/ */
function performFormatRequest(endpoint, checkXML, sourceId, targetId){ function performFormatRequest(endpoint, checkXML, sourceId, targetId) {
const sourceElement = document.getElementById(sourceId); const sourceElement = document.getElementById(sourceId);
const targetElement = document.getElementById(targetId); const targetElement = document.getElementById(targetId);
const infoElement = document.getElementById("formatinfo"); const infoElement = document.getElementById("formatinfo");
@@ -276,13 +285,13 @@ function performFormatRequest(endpoint, checkXML, sourceId, targetId){
var empty = false; var empty = false;
if (defaultStrings.includes(xmlData) && checkXML) { if (defaultStrings.includes(xmlData) && checkXML) {
sourceElement.style.backgroundColor = color_red; sourceElement.style.backgroundColor = color_red;
xmlData = ""; xmlData = "";
empty = true; empty = true;
} }
if (!empty) { if (!empty) {
restRequest(port, endpoint, xmlData, "").then(function(result) { restRequest(port, endpoint, xmlData, "").then(function (result) {
console.log(result); console.log(result);
if (result.status == "OK") { if (result.status == "OK") {
targetElement.value = result.result; targetElement.value = result.result;
@@ -303,36 +312,36 @@ function performFormatRequest(endpoint, checkXML, sourceId, targetId){
/** /**
* Form REST request, send and return received data * Form REST request, send and return received data
* *
* @async * @async
* @function * @function
* @name restRequest * @name restRequest
* @kind function * @kind function
* @param {any} port of target service * @param {any} port of target service
* @param {any} endpoint of target service * @param {any} endpoint of target service
* @param {any} xmlData XML that will be sent * @param {any} xmlData XML that will be sent
* @param {any} transformData data used to transform given XML * @param {any} transformData data used to transform given XML
* @returns {Promise<any>} * @returns {Promise<any>}
*/ */
async function restRequest(port, endpoint, xmlData, transformData) { async function restRequest(port, endpoint, xmlData, transformData) {
const escapeChar = "specialEscapeChar"; const escapeChar = "specialEscapeChar";
const addr = window.location.protocol + "//" + window.location.hostname + ":" + port + "/" + endpoint; const addr = window.location.protocol + "//" + window.location.hostname + ":" + port + "/" + endpoint;
if(defaultStrings.includes(xmlData)){ if (defaultStrings.includes(xmlData)) {
xmlData = "<empty/>"; xmlData = "<empty/>";
} }
// var data = xmlData.concat(escapeChar, transformData); // var data = xmlData.concat(escapeChar, transformData);
// const url = addr.concat("?escapechar=", escapeChar, "&processor=", getProcInfo()); // const url = addr.concat("?escapechar=", escapeChar, "&processor=", getProcInfo());
var jsonData = JSON.stringify({ var jsonData = JSON.stringify({
"data" : xmlData, "data": xmlData,
"process" : transformData, "process": transformData,
"processor" : getProcessor(), "processor": getProcessor(),
"version" : getVersion() "version": getVersion()
}); });
// console.log(jsonData); // console.log(jsonData);
var init = { var init = {
@@ -343,10 +352,10 @@ async function restRequest(port, endpoint, xmlData, transformData) {
method: "POST" method: "POST"
}; };
var request = new Request(addr, init); var request = new Request(addr, init);
var result = await fetch(request).then(response => { var result = await fetch(request).then(response => {
return response.text().then(function(text) { return response.text().then(function (text) {
return JSON.parse(text); return JSON.parse(text);
}); });