Separated in XPath
This commit is contained in:
148
Frontend/assets/scripts/tools/xpath.js
Normal file
148
Frontend/assets/scripts/tools/xpath.js
Normal file
@@ -0,0 +1,148 @@
|
|||||||
|
|
||||||
|
function processVersionSelector() {
|
||||||
|
var processor = getProcessor();
|
||||||
|
var hideableOptions = document.getElementsByClassName("hideable");
|
||||||
|
for (let i = 0; i < hideableOptions.length; i++) {
|
||||||
|
hideableOptions[i].style = "display: none;";
|
||||||
|
}
|
||||||
|
if (processor == "xalan" || processor == "libxml") {
|
||||||
|
var xalanOptions = document.getElementsByClassName("xalan");
|
||||||
|
for (let i = 0; i < xalanOptions.length; i++) {
|
||||||
|
xalanOptions[i].style = "";
|
||||||
|
}
|
||||||
|
document.getElementById("versions").selectedIndex = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var saxonOptions = document.getElementsByClassName("saxon");
|
||||||
|
for (let i = 0; i < saxonOptions.length; i++) {
|
||||||
|
saxonOptions[i].style = "";
|
||||||
|
}
|
||||||
|
document.getElementById("versions").selectedIndex = 3;
|
||||||
|
|
||||||
|
}
|
||||||
|
processTooltip();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function processTooltip() {
|
||||||
|
var filter = "collapse" + getVersion();
|
||||||
|
var collList;
|
||||||
|
|
||||||
|
|
||||||
|
if (filter == "collapse3.0") {
|
||||||
|
document.getElementById("tooltipFunctionInfo").innerText = "XPath 3.0 functions";
|
||||||
|
hideList(document.getElementsByName("collapse10"));
|
||||||
|
hideList(document.getElementsByName("collapse20"));
|
||||||
|
showList(document.getElementsByName("collapse30"));
|
||||||
|
hideList(document.getElementsByName("collapse31"));
|
||||||
|
|
||||||
|
} else if (filter == "collapse3.1") {
|
||||||
|
document.getElementById("tooltipFunctionInfo").innerText = "XPath 3.1 functions";
|
||||||
|
hideList(document.getElementsByName("collapse10"));
|
||||||
|
hideList(document.getElementsByName("collapse20"));
|
||||||
|
hideList(document.getElementsByName("collapse30"));
|
||||||
|
showList(document.getElementsByName("collapse31"));
|
||||||
|
} else if (filter == "collapse2.0") {
|
||||||
|
document.getElementById("tooltipFunctionInfo").innerText = "XPath 2.0 functions";
|
||||||
|
hideList(document.getElementsByName("collapse10"));
|
||||||
|
showList(document.getElementsByName("collapse20"));
|
||||||
|
hideList(document.getElementsByName("collapse30"));
|
||||||
|
hideList(document.getElementsByName("collapse31"));
|
||||||
|
} else {
|
||||||
|
document.getElementById("tooltipFunctionInfo").innerText = "XPath 1.0 functions";
|
||||||
|
showList(document.getElementsByName("collapse10"));
|
||||||
|
hideList(document.getElementsByName("collapse20"));
|
||||||
|
hideList(document.getElementsByName("collapse30"));
|
||||||
|
hideList(document.getElementsByName("collapse31"));
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var triggerList = document.getElementsByClassName("collapseTrigger");
|
||||||
|
for (i = 0; i < triggerList.length; i++) {
|
||||||
|
|
||||||
|
triggerList[i].addEventListener("click", function () {
|
||||||
|
var collapsible = this.parentElement;
|
||||||
|
if (this.tagName == "A") {
|
||||||
|
var collapsibleData = this.nextElementSibling;
|
||||||
|
} else {
|
||||||
|
var collapsibleData = this.parentElement.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";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function init() {
|
||||||
|
//importScript("../assets/scripts/tools/scripts.js");
|
||||||
|
|
||||||
|
// Make sure that only plain text is pasted
|
||||||
|
configurePastingInElement("xmlArea");
|
||||||
|
configurePastingInElement("transformArea");
|
||||||
|
|
||||||
|
//Handle clicks in whole form and set info in tooltip
|
||||||
|
setDefaultContent(document.getElementById("xmlArea"), 'Insert XML here');
|
||||||
|
setDefaultContent(document.getElementById("transformArea"), 'Insert XPath expression here');
|
||||||
|
|
||||||
|
processVersionSelector();
|
||||||
|
processTooltip();
|
||||||
|
tool.addEventListener('change', event => {
|
||||||
|
//Check if script was called from textarea or selector
|
||||||
|
var targetID = event.target.getAttribute('id');
|
||||||
|
if (targetID == "processors") {
|
||||||
|
processVersionSelector();
|
||||||
|
processTooltip();
|
||||||
|
}
|
||||||
|
else if (targetID == "versions") {
|
||||||
|
processTooltip();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
tool.addEventListener('click', event => {
|
||||||
|
//Check if script was called from textarea or selector
|
||||||
|
var targetID = event.target.getAttribute('id');
|
||||||
|
if (targetID !== "xmlArea" && targetID !== "transformArea") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
processTooltip();
|
||||||
|
|
||||||
|
})
|
||||||
|
tool.addEventListener('change', event => {
|
||||||
|
//Check if script was called from textarea or selector
|
||||||
|
var targetID = event.target.getAttribute('id');
|
||||||
|
if (targetID !== "xmlArea" && targetID !== "transformArea") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
processTooltip();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
@@ -5,6 +5,7 @@
|
|||||||
<link rel="stylesheet" href="../assets/css/tools/r11form.css">
|
<link rel="stylesheet" href="../assets/css/tools/r11form.css">
|
||||||
<link rel="stylesheet" href="../assets/css/highlight.css">
|
<link rel="stylesheet" href="../assets/css/highlight.css">
|
||||||
<script src="../assets/scripts/common/hljs.min.js"></script>
|
<script src="../assets/scripts/common/hljs.min.js"></script>
|
||||||
|
<script src="../assets/scripts/tools/xpath.js"></script>
|
||||||
<script src="../assets/scripts/tools/scripts.js"></script>
|
<script src="../assets/scripts/tools/scripts.js"></script>
|
||||||
<script src="../assets/scripts/tools/highlight.js"></script>
|
<script src="../assets/scripts/tools/highlight.js"></script>
|
||||||
<script>hljs.highlightAll();</script>
|
<script>hljs.highlightAll();</script>
|
||||||
@@ -17115,156 +17116,6 @@
|
|||||||
|
|
||||||
</div>
|
</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;";
|
|
||||||
}
|
|
||||||
if (processor == "xalan" || processor == "libxml") {
|
|
||||||
var xalanOptions = document.getElementsByClassName("xalan");
|
|
||||||
for (let i = 0; i < xalanOptions.length; i++) {
|
|
||||||
xalanOptions[i].style = "";
|
|
||||||
}
|
|
||||||
document.getElementById("versions").selectedIndex = 0;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
var saxonOptions = document.getElementsByClassName("saxon");
|
|
||||||
for (let i = 0; i < saxonOptions.length; i++) {
|
|
||||||
saxonOptions[i].style = "";
|
|
||||||
}
|
|
||||||
document.getElementById("versions").selectedIndex = 3;
|
|
||||||
|
|
||||||
}
|
|
||||||
processTooltip();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function processTooltip() {
|
|
||||||
var filter = "collapse" + getVersion();
|
|
||||||
var collList;
|
|
||||||
|
|
||||||
|
|
||||||
if (filter == "collapse3.0") {
|
|
||||||
document.getElementById("tooltipFunctionInfo").innerText = "XPath 3.0 functions";
|
|
||||||
hideList(document.getElementsByName("collapse10"));
|
|
||||||
hideList(document.getElementsByName("collapse20"));
|
|
||||||
showList(document.getElementsByName("collapse30"));
|
|
||||||
hideList(document.getElementsByName("collapse31"));
|
|
||||||
|
|
||||||
} else if (filter == "collapse3.1") {
|
|
||||||
document.getElementById("tooltipFunctionInfo").innerText = "XPath 3.1 functions";
|
|
||||||
hideList(document.getElementsByName("collapse10"));
|
|
||||||
hideList(document.getElementsByName("collapse20"));
|
|
||||||
hideList(document.getElementsByName("collapse30"));
|
|
||||||
showList(document.getElementsByName("collapse31"));
|
|
||||||
} else if (filter == "collapse2.0") {
|
|
||||||
document.getElementById("tooltipFunctionInfo").innerText = "XPath 2.0 functions";
|
|
||||||
hideList(document.getElementsByName("collapse10"));
|
|
||||||
showList(document.getElementsByName("collapse20"));
|
|
||||||
hideList(document.getElementsByName("collapse30"));
|
|
||||||
hideList(document.getElementsByName("collapse31"));
|
|
||||||
} else {
|
|
||||||
document.getElementById("tooltipFunctionInfo").innerText = "XPath 1.0 functions";
|
|
||||||
showList(document.getElementsByName("collapse10"));
|
|
||||||
hideList(document.getElementsByName("collapse20"));
|
|
||||||
hideList(document.getElementsByName("collapse30"));
|
|
||||||
hideList(document.getElementsByName("collapse31"));
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var triggerList = document.getElementsByClassName("collapseTrigger");
|
|
||||||
for (i = 0; i < triggerList.length; i++) {
|
|
||||||
|
|
||||||
triggerList[i].addEventListener("click", function () {
|
|
||||||
var collapsible = this.parentElement;
|
|
||||||
if (this.tagName == "A") {
|
|
||||||
var collapsibleData = this.nextElementSibling;
|
|
||||||
} else {
|
|
||||||
var collapsibleData = this.parentElement.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";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function init() {
|
|
||||||
// Make sure that only plain text is pasted
|
|
||||||
configurePastingInElement("xmlArea");
|
|
||||||
configurePastingInElement("transformArea");
|
|
||||||
|
|
||||||
//Handle clicks in whole form and set info in tooltip
|
|
||||||
setDefaultContent(document.getElementById("xmlArea"), 'Insert XML here');
|
|
||||||
setDefaultContent(document.getElementById("transformArea"), 'Insert XPath expression here');
|
|
||||||
|
|
||||||
processVersionSelector();
|
|
||||||
processTooltip();
|
|
||||||
tool.addEventListener('change', event => {
|
|
||||||
//Check if script was called from textarea or selector
|
|
||||||
var targetID = event.target.getAttribute('id');
|
|
||||||
if (targetID == "processors") {
|
|
||||||
processVersionSelector();
|
|
||||||
processTooltip();
|
|
||||||
}
|
|
||||||
else if (targetID == "versions") {
|
|
||||||
processTooltip();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
})
|
|
||||||
tool.addEventListener('click', event => {
|
|
||||||
//Check if script was called from textarea or selector
|
|
||||||
var targetID = event.target.getAttribute('id');
|
|
||||||
if (targetID !== "xmlArea" && targetID !== "transformArea") {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
processTooltip();
|
|
||||||
|
|
||||||
})
|
|
||||||
tool.addEventListener('change', event => {
|
|
||||||
//Check if script was called from textarea or selector
|
|
||||||
var targetID = event.target.getAttribute('id');
|
|
||||||
if (targetID !== "xmlArea" && targetID !== "transformArea") {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
processTooltip();
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
Reference in New Issue
Block a user