widlam/refactoring/issue#120 (#128)
Co-authored-by: mikolaj widla <mikolaj.widla@gmail.com> Co-authored-by: widlam <mikolaj.widla@gmail.com> Co-authored-by: Adam Bem <adam.bem@zoho.eu> Reviewed-on: #128 Co-authored-by: Mikolaj Widla <widlam@noreply.example.com> Co-committed-by: Mikolaj Widla <widlam@noreply.example.com>
This commit is contained in:
		| @@ -90,7 +90,7 @@ div#copyright a, a:visited,  a:active { | ||||
|     backdrop-filter: blur(10px); | ||||
| } | ||||
|  | ||||
| #toolListRow a { | ||||
| .toolListRow a { | ||||
|     display: block; | ||||
|     color: white; | ||||
|     text-align: center; | ||||
| @@ -98,7 +98,7 @@ div#copyright a, a:visited,  a:active { | ||||
|     text-decoration: none; | ||||
| } | ||||
|  | ||||
| #toolListRow a:hover { | ||||
| .toolListRow a:hover { | ||||
|     background-color: #2A93B0; | ||||
|     color: white; | ||||
|     transform: scale(1.25, 1.25); | ||||
|   | ||||
| @@ -3,15 +3,15 @@ const color_grey = "#6b6b6b"; | ||||
| const color_red = "#ff8f8f"; | ||||
|  | ||||
| /** | ||||
|  * It clears default content of the element and sets it's color to black. | ||||
|  *  | ||||
|  * @function | ||||
|  * @name clearDefaultContent | ||||
|  * @kind function | ||||
|  * @param {any} element to set | ||||
|  * @param {any} text to set | ||||
|  * @returns {void} | ||||
|  */ | ||||
| * It clears default content of the element and sets it's color to black. | ||||
| *  | ||||
| * @function | ||||
| * @name clearDefaultContent | ||||
| * @kind function | ||||
| * @param {any} element to set | ||||
| * @param {any} text to set | ||||
| * @returns {void} | ||||
| */ | ||||
| function clearDefaultContent(element, text) { | ||||
|     if (element.value == text) { | ||||
|         element.value = ""; | ||||
| @@ -21,13 +21,38 @@ function clearDefaultContent(element, text) { | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * It clears all data fields. | ||||
| * It returns the value of the element with id "processors". | ||||
| *  | ||||
| * @function | ||||
| * @name getProcessor | ||||
| * @kind function | ||||
| * @returns {any} | ||||
| */ | ||||
| function getProcessor() { | ||||
|     return document.getElementById("processors").value; | ||||
| } | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * It returns the value of the element with id "versions". | ||||
|  *  | ||||
|  * @function | ||||
|  * @name clearDataField | ||||
|  * @name getVersion | ||||
|  * @kind function | ||||
|  * @returns {any} | ||||
|  */ | ||||
| function clearDataField(){ | ||||
| function getVersion() { | ||||
|     return document.getElementById("versions").value; | ||||
| } | ||||
|  | ||||
| /** | ||||
| * It clears all data fields. | ||||
| *  | ||||
| * @function | ||||
| * @name clearDataField | ||||
| * @kind function | ||||
| */ | ||||
| function clearDataField() { | ||||
|     document.getElementById("xmlArea").value = ""; | ||||
|     document.getElementById("xmlArea").style.color = null; | ||||
|     document.getElementById("xmlArea").style.backgroundColor = null; | ||||
| @@ -37,28 +62,37 @@ function clearDataField(){ | ||||
|     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) { | ||||
|     if(element.classList.contains("active")){ | ||||
|     if (element.classList.contains("active")) { | ||||
|         const serverAddress = window.location.protocol + "//" + window.location.hostname + ":8086"; | ||||
|         clearDefaultContent(document.getElementById("xmlArea"), "Insert XML here"); | ||||
|         fetch(serverAddress + "/assets/samples/sampleXml.xml") | ||||
|             .then(response => response.text()) | ||||
|             .then((exampleData) => { | ||||
|                 document.getElementById("xmlArea").value = exampleData; | ||||
|                 document.getElementById("xmlArea").style.backgroundColor = null; | ||||
|             }) | ||||
|             } | ||||
|         } | ||||
|         .then(response => response.text()) | ||||
|         .then((exampleData) => { | ||||
|             document.getElementById("xmlArea").value = exampleData; | ||||
|             document.getElementById("xmlArea").style.backgroundColor = null; | ||||
|         }) | ||||
|     } | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * It sets default content for the element an changes it's color to grey | ||||
|  *  | ||||
|  * @function | ||||
|  * @name setDefaultContent | ||||
|  * @kind function | ||||
|  * @param {any} element to set | ||||
|  * @param {any} text to set | ||||
|  */ | ||||
| * It sets default content for the element an changes it's color to grey | ||||
| *  | ||||
| * @function | ||||
| * @name setDefaultContent | ||||
| * @kind function | ||||
| * @param {any} element to set | ||||
| * @param {any} text to set | ||||
| */ | ||||
| function setDefaultContent(element, text) { | ||||
|     if (element.value == "") { | ||||
|         var id = element.getAttribute('id'); | ||||
| @@ -81,14 +115,14 @@ function setDefaultContent(element, text) { | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * It hides list for specified version of XPath | ||||
|  *  | ||||
|  * @function | ||||
|  * @name hideList | ||||
|  * @kind function | ||||
|  * @param {any} collList class name of list to hide | ||||
|  * @returns {void} | ||||
|  */ | ||||
| * It hides list for specified version of XPath | ||||
| *  | ||||
| * @function | ||||
| * @name hideList | ||||
| * @kind function | ||||
| * @param {any} collList class name of list to hide | ||||
| * @returns {void} | ||||
| */ | ||||
| function hideList(collList) { | ||||
|     for (i = 0; i < collList.length; i++) { | ||||
|         if (collList[i].nextElementSibling !== null) { | ||||
| @@ -101,27 +135,27 @@ function hideList(collList) { | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * It checks if the text is a default text. | ||||
|  *  | ||||
|  * @function | ||||
|  * @name checkDefault | ||||
|  * @kind function | ||||
|  * @param {any} text | ||||
|  * @returns {boolean} | ||||
|  */ | ||||
| function checkDefault(text){ | ||||
| * It checks if the text is a default text. | ||||
| *  | ||||
| * @function | ||||
| * @name checkDefault | ||||
| * @kind function | ||||
| * @param {any} text | ||||
| * @returns {boolean} | ||||
| */ | ||||
| function checkDefault(text) { | ||||
|     return defaultStrings.includes(text); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * It show list for specified version of XPath | ||||
|  *  | ||||
|  * @function | ||||
|  * @name showList | ||||
|  * @kind function | ||||
|  * @param {any} collList class name of list to hide | ||||
|  * @returns {void} | ||||
|  */ | ||||
| * It show list for specified version of XPath | ||||
| *  | ||||
| * @function | ||||
| * @name showList | ||||
| * @kind function | ||||
| * @param {any} collList class name of list to hide | ||||
| * @returns {void} | ||||
| */ | ||||
| function showList(collList) { | ||||
|     for (i = 0; i < collList.length; i++) { | ||||
|         collList[i].style.display = 'block'; | ||||
| @@ -129,20 +163,19 @@ function showList(collList) { | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * A function that is used to fold/unfold collapsible elements. | ||||
|  *  | ||||
|  * @function | ||||
|  * @name smoothFoldElement | ||||
|  * @kind function | ||||
|  * @param {any} element | ||||
|  * @param {any} toogleState | ||||
|  * @param {any} toggleParrent | ||||
|  * @returns {void} | ||||
|  */ | ||||
| function smoothFoldElement(element, toogleState, toggleParrent){ | ||||
| * A function that is used to fold/unfold collapsible elements. | ||||
| *  | ||||
| * @function | ||||
| * @name smoothFoldElement | ||||
| * @kind function | ||||
| * @param {any} element | ||||
| * @param {any} toogleState | ||||
| * @param {any} toggleParrent | ||||
| * @returns {void} | ||||
| */ | ||||
| function smoothFoldElement(element, toogleState, toggleParrent) { | ||||
|     if (toogleState) { | ||||
|         console.log("DUPA"); | ||||
|         if(toggleParrent){ | ||||
|         if (toggleParrent) { | ||||
|             element.parentElement.style.maxHeight = "0px"; | ||||
|         } | ||||
|          | ||||
| @@ -161,13 +194,13 @@ function smoothFoldElement(element, toogleState, toggleParrent){ | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Set tooltip info, function is called by onClick handlers | ||||
|  *  | ||||
|  * @function | ||||
|  * @name refreshTooltip | ||||
|  * @kind function | ||||
|  * @returns {void} | ||||
|  */ | ||||
| * Set tooltip info, function is called by onClick handlers | ||||
| *  | ||||
| * @function | ||||
| * @name refreshTooltip | ||||
| * @kind function | ||||
| * @returns {void} | ||||
| */ | ||||
| function refreshTooltip() { | ||||
|     var resizeList = document.getElementsByClassName("collapsibleData"); | ||||
|     console.log("collDataList: " + resizeList.length) | ||||
| @@ -178,17 +211,17 @@ function refreshTooltip() { | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * A function that performs a request to the server. | ||||
|  *  | ||||
|  * @function | ||||
|  * @name performRequest | ||||
|  * @kind function | ||||
|  * @param {any} endpoint of target service | ||||
|  * @param {any} checkXML enable checking for empty XML | ||||
|  * @param {any} checkTransform enable checking for empty transform data | ||||
|  * @returns {false | undefined} | ||||
|  */ | ||||
| function performRequest(endpoint, checkXML, checkTransform){ | ||||
| * A function that performs a request to the server. | ||||
| *  | ||||
| * @function | ||||
| * @name performRequest | ||||
| * @kind function | ||||
| * @param {any} endpoint of target service | ||||
| * @param {any} checkXML enable checking for empty XML | ||||
| * @param {any} checkTransform enable checking for empty transform data | ||||
| * @returns {false | undefined} | ||||
| */ | ||||
| function performRequest(endpoint, checkXML, checkTransform) { | ||||
|     const sourceId = "xmlArea"; | ||||
|     const transformId = "transformArea"; | ||||
|     var xmlData = document.getElementById(sourceId).value.trim(); | ||||
| @@ -198,19 +231,19 @@ function performRequest(endpoint, checkXML, checkTransform){ | ||||
|     if (getProcessor() == "libxml") { | ||||
|         port = 8082; | ||||
|     } | ||||
|  | ||||
|      | ||||
|     var empty = false; | ||||
|     if (defaultStrings.includes(xmlData) && checkXML) { | ||||
|             document.getElementById(sourceId).style.backgroundColor = color_red; | ||||
|             xmlData = ""; | ||||
|             empty = true; | ||||
|         document.getElementById(sourceId).style.backgroundColor = color_red; | ||||
|         xmlData = ""; | ||||
|         empty = true; | ||||
|     } | ||||
|     if (defaultStrings.includes(transformData) && checkTransform) { | ||||
|         document.getElementById(transformId).style.backgroundColor = color_red; | ||||
|         empty = true; | ||||
|     } | ||||
|     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("procinfo").innerText = ' Computed using '.concat(" ", result.processor); | ||||
|             if (result.status = "OK") { | ||||
| @@ -220,7 +253,7 @@ function performRequest(endpoint, checkXML, checkTransform){ | ||||
|                 procinfo.style.color = "#aa3030"; | ||||
|             } | ||||
|         }); | ||||
|     }else{ | ||||
|     } else { | ||||
|         document.getElementById("resultArea").value = "No data provided!"; | ||||
|         return false; | ||||
|     } | ||||
| @@ -228,18 +261,18 @@ function performRequest(endpoint, checkXML, checkTransform){ | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * Function that prepares data to send and handles response | ||||
|  *  | ||||
|  * @function | ||||
|  * @name performFormatRequest | ||||
|  * @kind function | ||||
|  * @param {any} endpoint of target service | ||||
|  * @param {any} checkXML enable checking for empty XML | ||||
|  * @param {any} sourceId ID of element to get XML from | ||||
|  * @param {any} targetId ID of element to write formatted XML | ||||
|  * @returns {void} | ||||
|  */ | ||||
| function performFormatRequest(endpoint, checkXML, sourceId, targetId){ | ||||
| * Function that prepares data to send and handles response | ||||
| *  | ||||
| * @function | ||||
| * @name performFormatRequest | ||||
| * @kind function | ||||
| * @param {any} endpoint of target service | ||||
| * @param {any} checkXML enable checking for empty XML | ||||
| * @param {any} sourceId ID of element to get XML from | ||||
| * @param {any} targetId ID of element to write formatted XML | ||||
| * @returns {void} | ||||
| */ | ||||
| function performFormatRequest(endpoint, checkXML, sourceId, targetId) { | ||||
|     const sourceElement = document.getElementById(sourceId); | ||||
|     const targetElement = document.getElementById(targetId); | ||||
|     const infoElement = document.getElementById("formatinfo"); | ||||
| @@ -248,13 +281,13 @@ function performFormatRequest(endpoint, checkXML, sourceId, targetId){ | ||||
|      | ||||
|     var empty = false; | ||||
|     if (defaultStrings.includes(xmlData) && checkXML) { | ||||
|             sourceElement.style.backgroundColor = color_red; | ||||
|             xmlData = ""; | ||||
|             empty = true; | ||||
|         sourceElement.style.backgroundColor = color_red; | ||||
|         xmlData = ""; | ||||
|         empty = true; | ||||
|     } | ||||
|  | ||||
|      | ||||
|     if (!empty) { | ||||
|         restRequest(port, endpoint, xmlData, "").then(function(result) { | ||||
|         restRequest(port, endpoint, xmlData, "").then(function (result) { | ||||
|             console.log(result); | ||||
|             if (result.status == "OK") { | ||||
|                 targetElement.value = result.result; | ||||
| @@ -275,36 +308,36 @@ function performFormatRequest(endpoint, checkXML, sourceId, targetId){ | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * Form REST request, send and return received data | ||||
|  *  | ||||
|  * @async | ||||
|  * @function | ||||
|  * @name restRequest | ||||
|  * @kind function | ||||
|  * @param {any} port of target service | ||||
|  * @param {any} endpoint of target service | ||||
|  * @param {any} xmlData XML that will be sent | ||||
|  * @param {any} transformData data used to transform given XML | ||||
|  * @returns {Promise<any>} | ||||
|  */ | ||||
| * Form REST request, send and return received data | ||||
| *  | ||||
| * @async | ||||
| * @function | ||||
| * @name restRequest | ||||
| * @kind function | ||||
| * @param {any} port of target service | ||||
| * @param {any} endpoint of target service | ||||
| * @param {any} xmlData XML that will be sent | ||||
| * @param {any} transformData data used to transform given XML | ||||
| * @returns {Promise<any>} | ||||
| */ | ||||
| async function restRequest(port, endpoint, xmlData, transformData) { | ||||
|     const escapeChar = "specialEscapeChar"; | ||||
|      | ||||
|     const addr = window.location.protocol + "//" + window.location.hostname + ":" + port + "/" + endpoint; | ||||
|  | ||||
|     if(defaultStrings.includes(xmlData)){ | ||||
|      | ||||
|     if (defaultStrings.includes(xmlData)) { | ||||
|         xmlData = "<empty/>"; | ||||
|     } | ||||
|  | ||||
|      | ||||
|     // var data = xmlData.concat(escapeChar, transformData); | ||||
|  | ||||
|      | ||||
|     // const url = addr.concat("?escapechar=", escapeChar, "&processor=", getProcInfo()); | ||||
|  | ||||
|      | ||||
|     var jsonData = JSON.stringify({ | ||||
|         "data" : xmlData, | ||||
|         "process" : transformData, | ||||
|         "processor" : getProcessor(), | ||||
|         "version" : getVersion() | ||||
|         "data": xmlData, | ||||
|         "process": transformData, | ||||
|         "processor": getProcessor(), | ||||
|         "version": getVersion() | ||||
|     }); | ||||
|     // console.log(jsonData); | ||||
|     var init = { | ||||
| @@ -315,10 +348,10 @@ async function restRequest(port, endpoint, xmlData, transformData) { | ||||
|         method: "POST" | ||||
|     }; | ||||
|     var request = new Request(addr, init); | ||||
|  | ||||
|      | ||||
|      | ||||
|     var result = await fetch(request).then(response => { | ||||
|         return response.text().then(function(text) { | ||||
|         return response.text().then(function (text) { | ||||
|             return JSON.parse(text); | ||||
|         }); | ||||
|          | ||||
|   | ||||
| @@ -9,8 +9,7 @@ | ||||
|     <script src="assets/scripts/frame.js"></script> | ||||
|  | ||||
|     <!-- <link rel="stylesheet" href="common.css"> --> | ||||
|     <link rel="shortcut icon" href="assets/images/favicon.ico" type="image/x-icon"> | ||||
|      | ||||
|     <link rel="shortcut icon" href="assets/images/favicon.ico" type="image/x-icon">  | ||||
| </head> | ||||
|  | ||||
| <body onload="init()"> | ||||
| @@ -30,14 +29,14 @@ | ||||
|     <div id="content"> | ||||
|         <div id="leftBar"> | ||||
|             <ul id="toolList"> | ||||
|                 <li id="toolListRow" class="dynamic restTool" style="display: none;"> | ||||
|                 <li class="dynamic restTool toolListRow" style="display: none;"> | ||||
|                     <a id="rest-mock" href="http://tools.zipper.release11.com:8097/" target="iframe">REST Mock</a> | ||||
|                 </li> | ||||
|                 <li id="toolListRow" class="xmlTool"><a href="./tools/xpath.html" target="iframe">XPath</a></li> | ||||
|                 <li id="toolListRow" class="xmlTool"><a href="./tools/xslt.html" target="iframe">XSLT</a></li> | ||||
|                 <li id="toolListRow" class="xmlTool"><a href="./tools/xsd.html" target="iframe">XSD</a></li> | ||||
|                 <li id="toolListRow" class="xmlTool"><a href="tools/xmlFormatter.html" target="iframe">XML Formatter</a></li> | ||||
|                 <li id="toolListRow" class="jsonTool" style="display: none;"><a href="tools/jsonFormatter.html" target="iframe">JSON Formatter</a></li> | ||||
|                 <li class="toolListRow xmlTool"><a href="./tools/xpath.html" target="iframe">XPath</a></li> | ||||
|                 <li class="toolListRow xmlTool"><a href="./tools/xslt.html" target="iframe">XSLT</a></li> | ||||
|                 <li class="toolListRow xmlTool"><a href="./tools/xsd.html" target="iframe">XSD</a></li> | ||||
|                 <li class="toolListRow xmlTool"><a href="tools/xmlFormatter.html" target="iframe">XML Formatter</a></li> | ||||
|                 <li class="toolListRow jsonTool" style="display: none;"><a href="tools/jsonFormatter.html" target="iframe">JSON Formatter</a></li> | ||||
|             </ul> | ||||
|             <div id="copyright"> | ||||
|                 Build: [:VERSION:]<br> | ||||
|   | ||||
| @@ -4,9 +4,8 @@ | ||||
| <head> | ||||
|     <!-- <link rel="stylesheet" href="../common.css"> --> | ||||
|     <!-- <link rel="stylesheet" href="styles.css"> --> | ||||
|     <script src="../assets/scripts/tools/jquery-3.6.0.slim.min.js"></script> | ||||
|     <link rel="stylesheet" href="../assets/css/tools/r11form.css"> | ||||
|     <script src="../assets/scripts/tools/scripts.js"></script> | ||||
|     <script src="../assets/scripts/tools/scripts.js"> </script> | ||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||
|     <meta charset="utf-8" /> | ||||
| </head> | ||||
| @@ -131,7 +130,6 @@ | ||||
|                         </div> | ||||
|  | ||||
|  | ||||
|  | ||||
|                         [1.0] <a href="#" onClick="return false;" | ||||
|                             class="hyperlink collapsible collapsibleMini collapseTrigger"><code>fn:position()</code></a> | ||||
|                         <div class="content"> | ||||
| @@ -3384,16 +3382,12 @@ | ||||
|  | ||||
|     </div> | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|     <script> | ||||
|         function processVersionSelector() { | ||||
|             var processor = getProcessor(); | ||||
|             var hideableOptions = document.getElementsByClassName("hideable"); | ||||
|             for (let i = 0; i < hideableOptions.length; i++) { | ||||
|                hideableOptions[i].style = "display: none;"; | ||||
|                 hideableOptions[i].style = "display: none;"; | ||||
|             } | ||||
|             if (processor == "xalan" || processor == "libxml") { | ||||
|                 var xalanOptions = document.getElementsByClassName("xalan"); | ||||
| @@ -3408,7 +3402,7 @@ | ||||
|                     saxonOptions[i].style = ""; | ||||
|                 } | ||||
|                 document.getElementById("versions").selectedIndex = 3; | ||||
|                  | ||||
|  | ||||
|             } | ||||
|             processTooltip(); | ||||
|  | ||||
| @@ -3432,7 +3426,7 @@ | ||||
|                 showList(document.getElementsByName("collapse30")); | ||||
|                 showList(document.getElementsByName("collapse31")); | ||||
|                 console.log("collapsed 3.1"); | ||||
|             } else if (filter == "collapse2.0"){ | ||||
|             } else if (filter == "collapse2.0") { | ||||
|                 document.getElementById("tooltipFunctionInfo").innerText = "XPath 1.0 & 2.0 functions"; | ||||
|                 showList(document.getElementsByName("collapse20")); | ||||
|                 hideList(document.getElementsByName("collapse30")); | ||||
| @@ -3444,39 +3438,8 @@ | ||||
|                 hideList(document.getElementsByName("collapse31")); | ||||
|  | ||||
|             } | ||||
|  | ||||
|  | ||||
|  | ||||
|             // if (checkDefault(document.getElementById("xmlArea").value.trim()) || document.getElementById("xmlArea").value.trim() == "") { | ||||
|             //     document.getElementById("defaultXMLButton").classList.toggle("active", true); | ||||
|             // } else { | ||||
|             //     document.getElementById("defaultXMLButton").classList.toggle("active", false); | ||||
|             // } | ||||
|         } | ||||
|     </script> | ||||
|  | ||||
|     <script> | ||||
|         function getVersion() { | ||||
|             return document.getElementById("versions").value; | ||||
|         } | ||||
|     </script> | ||||
|  | ||||
|     <script> | ||||
|         function getProcessor() { | ||||
|             return document.getElementById("processors").value; | ||||
|         } | ||||
|     </script> | ||||
|  | ||||
|  | ||||
|     <script> | ||||
|         function getProcInfo() { | ||||
|             var processVariables = document.getElementById("processors").value + "&version=" + getVersion(); | ||||
|             return processVariables; | ||||
|         } | ||||
|     </script> | ||||
|  | ||||
|  | ||||
|     <script> | ||||
|         var triggerList = document.getElementsByClassName("collapseTrigger"); | ||||
|         for (i = 0; i < triggerList.length; i++) { | ||||
|             console.log("trigger connected"); | ||||
| @@ -3486,7 +3449,7 @@ | ||||
|                     var collapsibleData = this.nextElementSibling; | ||||
|                 } else { | ||||
|                     var collapsibleData = this.parentElement.nextElementSibling; | ||||
|                      | ||||
|  | ||||
|                 } | ||||
|  | ||||
|                 console.log(collapsibleData); | ||||
| @@ -3519,13 +3482,7 @@ | ||||
|                 } | ||||
|             }); | ||||
|         } | ||||
|     </script> | ||||
|  | ||||
|     <script> | ||||
|  | ||||
|     </script> | ||||
|  | ||||
|     <script> | ||||
|         function init() { | ||||
|             //Handle clicks in whole form and set info in tooltip | ||||
|             setDefaultContent(document.getElementById("xmlArea"), 'Insert XML here'); | ||||
| @@ -3543,8 +3500,8 @@ | ||||
|                 else if (targetID == "versions") { | ||||
|                     processTooltip(); | ||||
|                 } | ||||
|                  | ||||
|                  | ||||
|  | ||||
|  | ||||
|             }) | ||||
|             tool.addEventListener('click', event => { | ||||
|                 //Check if script was called from textarea or selector | ||||
| @@ -3564,8 +3521,8 @@ | ||||
|                 processTooltip(); | ||||
|             }) | ||||
|         } | ||||
|     </script> | ||||
|  | ||||
|     </script> | ||||
|  | ||||
| </body> | ||||
|  | ||||
|   | ||||
| @@ -18,11 +18,11 @@ | ||||
|                 </div> | ||||
|                 <div class="display-space-between"> | ||||
|                     <div style="text-align: center;"> | ||||
|                 <label for="processors">Select XSLT processor:</label> | ||||
|                 <select name="processors" id="processors"> | ||||
|                     <option value="xalan">Xalan</option> | ||||
|                     <option value="libxml">libXML</option> | ||||
|                 </select> | ||||
|                         <label for="processors">Select XSLT processor:</label> | ||||
|                         <select name="processors" id="processors"> | ||||
|                             <option value="xalan">Xalan</option> | ||||
|                             <option value="libxml">libXML</option> | ||||
|                         </select> | ||||
|                     </div> | ||||
|                     <div> | ||||
|                         <button class="action-button active" id="clearXMLButton" style="padding: 3px 10px;" | ||||
| @@ -62,101 +62,20 @@ | ||||
|         <div class="tooltip-window rwd-hideable"> | ||||
|             <h2>What is XSD?</h2> | ||||
|             <p><b>XSD is a W3C recomedation that specifies how to describe the elements in XML document</b></p> | ||||
|                 <p>XSD specifies data types, order and arity of elements in XML file.<br> | ||||
|                     Main components of XSD file are:<br> | ||||
|                     - Element declaration - declares properties of elements (names and namespaces)<br> | ||||
|                     - Attribute declarations - declares properties of attributes<br> | ||||
|                     - Simple and complex types:<br> | ||||
|                     - - XSD provides 19 simple data types<br> | ||||
|                     - - More complex types are declared using simple types and relationships<br> | ||||
|                 </p> | ||||
|             <p>XSD specifies data types, order and arity of elements in XML file.<br> | ||||
|                 Main components of XSD file are:<br> | ||||
|                 - Element declaration - declares properties of elements (names and namespaces)<br> | ||||
|                 - Attribute declarations - declares properties of attributes<br> | ||||
|                 - Simple and complex types:<br> | ||||
|                 - - XSD provides 19 simple data types<br> | ||||
|                 - - More complex types are declared using simple types and relationships<br> | ||||
|             </p> | ||||
|         </div> | ||||
|  | ||||
|  | ||||
|  | ||||
|     </div> | ||||
|  | ||||
|     <!-- <script> | ||||
|         function getVersion() { | ||||
|             return document.getElementById("versions").value; | ||||
|         } | ||||
|     </script> --> | ||||
|     <script> | ||||
|         function processTooltip() { | ||||
|             console.log("processTooltip"); | ||||
|  | ||||
|  | ||||
|             if (getProcInfo() == "xalan") { | ||||
|                 document.getElementById("tooltipFunctionInfo").innerText = "XSLT 1.0 functions"; | ||||
|                 document.getElementById("processorTooltipInfo").innerText = "Supports XSLT 1.0"; | ||||
|                 hideList(document.getElementsByName("collapse30")); | ||||
|             } else { | ||||
|                 document.getElementById("tooltipFunctionInfo").innerText = "XSLT 1.0, 2.0 & 3.0 functions"; | ||||
|                 document.getElementById("processorTooltipInfo").innerText = "Supports XSLT up to 3.0"; | ||||
|                 showList(document.getElementsByName("collapse30")); | ||||
|             } | ||||
|         } | ||||
|     </script> | ||||
|     <script> | ||||
|         function getProcessor() { | ||||
|             return document.getElementById("processors").value; | ||||
|         } | ||||
|     </script> | ||||
|     <script> | ||||
|         function getVersion() { | ||||
|             if (getProcInfo() == "xalan") { | ||||
|                 return "1.0"; | ||||
|             } else { | ||||
|                 return "3.0"; | ||||
|             } | ||||
|         } | ||||
|     </script> | ||||
|     <script> | ||||
|         function getProcInfo() { | ||||
|             var processVariables = document.getElementById("processors").value;// + "&version=" + document.getElementById("versions").value; | ||||
|             return processVariables; | ||||
|         } | ||||
|     </script> | ||||
|  | ||||
|     <script> | ||||
|         var triggerList = document.getElementsByClassName("collapseTrigger"); | ||||
|         for (i = 0; i < triggerList.length; i++) { | ||||
|             console.log("trigger connected"); | ||||
|             triggerList[i].addEventListener("click", function () { | ||||
|                 console.log("click"); | ||||
|                 var collapsible = this.parentElement; | ||||
|                 var collapsibleData = this.nextElementSibling; | ||||
|                 if (collapsibleData.style.maxHeight > "0px") { | ||||
|                     collapsibleData.style.maxHeight = "0px"; | ||||
|  | ||||
|                     this.classList.toggle("active", false); | ||||
|                     if (!this.classList.contains("collapsibleMini")) { | ||||
|                         collapsible.classList.toggle("active", false); | ||||
|                     } | ||||
|  | ||||
|                     var subLists1 = collapsibleData.getElementsByClassName("content"); | ||||
|                     var subLists2 = collapsibleData.getElementsByClassName("active"); | ||||
|                     for (j = 0; j < subLists1.length; j++) { | ||||
|                         subLists1[j].style.maxHeight = "0px"; | ||||
|                     } | ||||
|                     for (j = 0; j < subLists2.length; j++) { | ||||
|                         subLists2[j].classList.toggle("active", false); | ||||
|                     } | ||||
|                 } else { | ||||
|                     collapsibleData.style.maxHeight = (collapsibleData.scrollHeight) + "px"; | ||||
|  | ||||
|                     this.classList.toggle("active", true); | ||||
|                     if (!this.classList.contains("collapsibleMini")) { | ||||
|                         collapsible.classList.toggle("active", true); | ||||
|                     } else { | ||||
|                         var parentContent = this.closest(".content"); | ||||
|                         parentContent.style.maxHeight = (parentContent.scrollHeight + collapsibleData.scrollHeight) + "px"; | ||||
|                     } | ||||
|                 } | ||||
|             }); | ||||
|         } | ||||
|     </script> | ||||
|  | ||||
|     <script> | ||||
|         function init() { | ||||
|             //Handle clicks in whole form and set info in tooltip | ||||
| @@ -176,8 +95,24 @@ | ||||
|                 // console.log("clock"); | ||||
|             }) | ||||
|         } | ||||
|  | ||||
|         function processTooltip() { | ||||
|             console.log("processTooltip"); | ||||
|  | ||||
|  | ||||
|             if (getProcessor() == "xalan") { | ||||
|                 document.getElementById("tooltipFunctionInfo").innerText = "XSLT 1.0 functions"; | ||||
|                 document.getElementById("processorTooltipInfo").innerText = "Supports XSLT 1.0"; | ||||
|                 hideList(document.getElementsByName("collapse30")); | ||||
|             } else { | ||||
|                 document.getElementById("tooltipFunctionInfo").innerText = "XSLT 1.0, 2.0 & 3.0 functions"; | ||||
|                 document.getElementById("processorTooltipInfo").innerText = "Supports XSLT up to 3.0"; | ||||
|                 showList(document.getElementsByName("collapse30")); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|     </script> | ||||
|  | ||||
| </body> | ||||
|  | ||||
| </html> | ||||
| </html> | ||||
| @@ -18,12 +18,12 @@ | ||||
|                 </div> | ||||
|                 <div class="display-space-between"> | ||||
|                     <div style="text-align: center;"> | ||||
|                 <label for="processors">Select XSLT processor:</label> | ||||
|                 <select name="processors" id="processors"> | ||||
|                     <option value="saxon">Saxon</option> | ||||
|                     <option value="xalan">Xalan</option> | ||||
|                     <option value="libxml">libXML</option> | ||||
|                 </select> | ||||
|                         <label for="processors">Select XSLT processor:</label> | ||||
|                         <select name="processors" id="processors"> | ||||
|                             <option value="saxon">Saxon</option> | ||||
|                             <option value="xalan">Xalan</option> | ||||
|                             <option value="libxml">libXML</option> | ||||
|                         </select> | ||||
|                     </div> | ||||
|                     <div> | ||||
|                         <button class="action-button active" id="clearXMLButton" style="padding: 3px 10px;" | ||||
| @@ -57,7 +57,8 @@ | ||||
|  | ||||
|                 <label for="resultArea"><b>Transform result:<span id="procinfo"></span></b></label> | ||||
|                 <textarea disabled id="resultArea" name="resultArea" rows="10" | ||||
|                     class="textarea-300 bordered-field vertically-resizeable max-width" style="margin-bottom: 50px;" ></textarea> | ||||
|                     class="textarea-300 bordered-field vertically-resizeable max-width" | ||||
|                     style="margin-bottom: 50px;"></textarea> | ||||
|  | ||||
|             </div> | ||||
|         </div> | ||||
| @@ -1135,17 +1136,10 @@ | ||||
|  | ||||
|     </div> | ||||
|  | ||||
|     <!-- <script> | ||||
|         function getVersion() { | ||||
|             return document.getElementById("versions").value; | ||||
|         } | ||||
|     </script> --> | ||||
|     <script> | ||||
|         function processTooltip() { | ||||
|             console.log("processTooltip"); | ||||
|  | ||||
|  | ||||
|             if (getProcInfo() == "xalan" || getProcInfo() == "libxml") { | ||||
|             if (getProcessor() == "xalan" || getProcessor() == "libxml") { | ||||
|                 document.getElementById("tooltipFunctionInfo").innerText = "XSLT 1.0 functions"; | ||||
|                 document.getElementById("processorTooltipInfo").innerText = "Supports XSLT 1.0"; | ||||
|                 hideList(document.getElementsByName("collapse30")); | ||||
| @@ -1155,29 +1149,7 @@ | ||||
|                 showList(document.getElementsByName("collapse30")); | ||||
|             } | ||||
|         } | ||||
|     </script> | ||||
|     <script> | ||||
|         function getProcessor() { | ||||
|             return document.getElementById("processors").value; | ||||
|         } | ||||
|     </script> | ||||
|     <script> | ||||
|         function getVersion() { | ||||
|             if (getProcInfo() == "xalan") { | ||||
|                 return "1.0"; | ||||
|             } else { | ||||
|                 return "3.0"; | ||||
|             } | ||||
|         } | ||||
|     </script> | ||||
|     <script> | ||||
|         function getProcInfo() { | ||||
|             var processVariables = document.getElementById("processors").value;// + "&version=" + document.getElementById("versions").value; | ||||
|             return processVariables; | ||||
|         } | ||||
|     </script> | ||||
|  | ||||
|     <script> | ||||
|         var triggerList = document.getElementsByClassName("collapseTrigger"); | ||||
|         for (i = 0; i < triggerList.length; i++) { | ||||
|             console.log("trigger connected"); | ||||
| @@ -1214,9 +1186,7 @@ | ||||
|                 } | ||||
|             }); | ||||
|         } | ||||
|     </script> | ||||
|  | ||||
|     <script> | ||||
|         function init() { | ||||
|             //Handle clicks in whole form and set info in tooltip | ||||
|             setDefaultContent(document.getElementById("xmlArea"), 'Insert XML here'); | ||||
| @@ -1248,4 +1218,4 @@ | ||||
|  | ||||
| </body> | ||||
|  | ||||
| </html> | ||||
| </html> | ||||
		Reference in New Issue
	
	Block a user