dev (#81)
Co-authored-by: mikolaj widla <mikolaj.widla@gmail.com> Co-authored-by: Adam Bem <adam.bem@zoho.eu> Reviewed-on: R11/release11-tools-web#81
This commit is contained in:
@@ -2,10 +2,27 @@ from lxml import etree
|
|||||||
|
|
||||||
|
|
||||||
def prettify(source: str) -> str:
|
def prettify(source: str) -> str:
|
||||||
|
"""Method used to pretty format given XML
|
||||||
|
|
||||||
|
:param source: XML
|
||||||
|
:return: prettified XML
|
||||||
|
"""
|
||||||
|
prolog = ""
|
||||||
|
prolog_start = source.find("<?")
|
||||||
|
|
||||||
|
if prolog_start != -1:
|
||||||
|
prolog_end = source.find("?>") + 2
|
||||||
|
prolog = source[prolog_start:prolog_end] + "\n"
|
||||||
|
source = source[prolog_end: ]
|
||||||
xml = etree.XML(source)
|
xml = etree.XML(source)
|
||||||
return etree.tostring(xml, pretty_print=True).decode()
|
return prolog + etree.tostring(xml, pretty_print=True).decode()
|
||||||
|
|
||||||
def minimize(source: str) -> str:
|
def minimize(source: str) -> str:
|
||||||
|
"""Method used to minimize XML by deleting not needed whitespaces.
|
||||||
|
|
||||||
|
:param source: XML
|
||||||
|
:return: minimized XML
|
||||||
|
"""
|
||||||
result = source
|
result = source
|
||||||
|
|
||||||
to_remove = [" ", " ", "\t", "\n"]
|
to_remove = [" ", " ", "\t", "\n"]
|
||||||
|
|||||||
@@ -167,7 +167,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="max-width centered-content small-vertical-margin">
|
<div id="new-tile" class="max-width centered-content small-vertical-margin">
|
||||||
<button id="btn-newtile" class="modification-button btn-addtile"><i class="icon-plus"></i></button>
|
<button id="btn-newtile" class="modification-button btn-addtile"><i class="icon-plus"></i></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -190,6 +190,18 @@
|
|||||||
<p>To save message, the message must be changed!</p>
|
<p>To save message, the message must be changed!</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="large-vertical-margin">
|
||||||
|
<div id="btn-newTileTip" class="tip">
|
||||||
|
<h3>Add new message</h3>
|
||||||
|
<p>This button adds new message.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="large-vertical-margin">
|
||||||
|
<div id="messagesTip" class="tip">
|
||||||
|
<h3>Message</h3>
|
||||||
|
<p>This is saved messages, with unique id.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="large-vertical-margin">
|
<div class="large-vertical-margin">
|
||||||
<div id="httpStatusTip" class="tip">
|
<div id="httpStatusTip" class="tip">
|
||||||
<h3>Http Status</h3>
|
<h3>Http Status</h3>
|
||||||
|
|||||||
@@ -118,4 +118,14 @@ $('#headerValueInput').focusout(function(){focusOutTip('newHeaderTip')});
|
|||||||
$('#btnSave').mouseover(function(){showTip('btnSaveTip');});
|
$('#btnSave').mouseover(function(){showTip('btnSaveTip');});
|
||||||
$('#btnSave').focusin(function(){focusInTip('btnSaveTip')});
|
$('#btnSave').focusin(function(){focusInTip('btnSaveTip')});
|
||||||
$('#btnSave').mouseleave(function(){hidTip('btnSaveTip')});
|
$('#btnSave').mouseleave(function(){hidTip('btnSaveTip')});
|
||||||
$('#btnSave').focusout(function(){focusOutTip('btnSaveTip')});
|
$('#btnSave').focusout(function(){focusOutTip('btnSaveTip')});
|
||||||
|
|
||||||
|
$('#new-tile').mouseover(function(){showTip('btn-newTileTip');});
|
||||||
|
$('#new-tile').focusin(function(){focusInTip('btn-newTileTip')});
|
||||||
|
$('#new-tile').mouseleave(function(){hidTip('btn-newTileTip')});
|
||||||
|
$('#new-tile').focusout(function(){focusOutTip('btn-newTileTip')});
|
||||||
|
|
||||||
|
$('#listItems').mouseover(function(){showTip('messagesTip');});
|
||||||
|
$('#listItems').focusin(function(){focusInTip('messagesTip')});
|
||||||
|
$('#listItems').mouseleave(function(){hidTip('messagesTip')});
|
||||||
|
$('#listItems').focusout(function(){focusOutTip('messagesTip')});
|
||||||
@@ -3,9 +3,13 @@ FROM nginx:stable-alpine
|
|||||||
COPY ./tools/ /usr/share/nginx/html/tools/
|
COPY ./tools/ /usr/share/nginx/html/tools/
|
||||||
COPY ./assets/ /usr/share/nginx/html/assets/
|
COPY ./assets/ /usr/share/nginx/html/assets/
|
||||||
COPY ./index.html /usr/share/nginx/html
|
COPY ./index.html /usr/share/nginx/html
|
||||||
#COPY ./logo.png /usr/share/nginx/html
|
|
||||||
#COPY ./styles.css /usr/share/nginx/html
|
RUN mkdir -p /scripts
|
||||||
#COPY ./common.css /usr/share/nginx/html
|
COPY insert_version.sh /scripts/
|
||||||
#COPY ./favicon.ico /usr/share/nginx/html
|
WORKDIR /scripts
|
||||||
|
|
||||||
|
RUN chmod +x insert_version.sh
|
||||||
|
RUN ./insert_version.sh
|
||||||
|
|
||||||
|
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
|||||||
@@ -330,6 +330,10 @@
|
|||||||
height: 300px;
|
height: 300px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.textarea-800 {
|
||||||
|
height: 800px;
|
||||||
|
}
|
||||||
|
|
||||||
.centered-content {
|
.centered-content {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|||||||
@@ -11,6 +11,11 @@ function clearDefaultContent(element, text) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function clearDataField(){
|
||||||
|
document.getElementById("xmlArea").value = "";
|
||||||
|
document.getElementById("transformArea").value = "";
|
||||||
|
}
|
||||||
|
|
||||||
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";
|
||||||
@@ -91,22 +96,38 @@ function refreshTooltip() {
|
|||||||
document.getElementById("xsltelementsheader").innerText = XSLTheader;
|
document.getElementById("xsltelementsheader").innerText = XSLTheader;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function performRequest(endpoint, checkXML, checkTransform){
|
function performRequest(endpoint, checkXML, checkTransform){
|
||||||
var xmlData = document.getElementById("xmlArea").value.trim();
|
var xmlData = document.getElementById(sourceId).value.trim();
|
||||||
var transformData = document.getElementById("transformArea").value.trim();
|
var transformData = document.getElementById(targetId).value.trim();
|
||||||
|
|
||||||
|
var port = 8081
|
||||||
|
if (getProcessor() == "libxml") {
|
||||||
|
port = 8082
|
||||||
|
}
|
||||||
|
|
||||||
var empty = false;
|
var empty = false;
|
||||||
if (defaultStrings.includes(xmlData) && checkXML) {
|
if (defaultStrings.includes(xmlData) && checkXML) {
|
||||||
document.getElementById("xmlArea").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("transformArea").style.backgroundColor = color_red;
|
document.getElementById(targetId).style.backgroundColor = color_red;
|
||||||
empty = true;
|
empty = true;
|
||||||
}
|
}
|
||||||
if (!empty) {
|
if (!empty) {
|
||||||
restRequest(endpoint, xmlData, transformData);
|
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") {
|
||||||
|
document.getElementById("procinfo").innerText = document.getElementById("procinfo").innerText.concat(" in ", result.time, "ms");
|
||||||
|
procinfo.style.color = "#30aa58";
|
||||||
|
} else {
|
||||||
|
procinfo.style.color = "#aa3030";
|
||||||
|
}
|
||||||
|
});
|
||||||
}else{
|
}else{
|
||||||
document.getElementById("resultArea").value = "No data provided!";
|
document.getElementById("resultArea").value = "No data provided!";
|
||||||
return false;
|
return false;
|
||||||
@@ -114,33 +135,35 @@ function performRequest(endpoint, checkXML, checkTransform){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function performFormatRequest(endpoint, checkXML){
|
function performFormatRequest(endpoint, checkXML, sourceId, targetId){
|
||||||
var xmlData = document.getElementById("xmlArea").value.trim();
|
const port = 8082;
|
||||||
|
var xmlData = document.getElementById(sourceId).value.trim();
|
||||||
|
|
||||||
var empty = false;
|
var empty = false;
|
||||||
if (defaultStrings.includes(xmlData) && checkXML) {
|
if (defaultStrings.includes(xmlData) && checkXML) {
|
||||||
document.getElementById("xmlArea").style.backgroundColor = color_red;
|
document.getElementById(sourceId).style.backgroundColor = color_red;
|
||||||
xmlData = "";
|
xmlData = "";
|
||||||
empty = true;
|
empty = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty) {
|
if (!empty) {
|
||||||
restRequest(endpoint, xmlData, null);
|
restRequest(port, endpoint, xmlData, "").then(function(result) {
|
||||||
|
document.getElementById(targetId).value = result.result;
|
||||||
|
|
||||||
|
});
|
||||||
}else{
|
}else{
|
||||||
document.getElementById("resultArea").value = "No data provided!";
|
document.getElementById(targetId).value = "No data provided!";
|
||||||
return false;
|
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) {
|
async function restRequest(port, endpoint, xmlData, transformData) {
|
||||||
const escapeChar = "specialEscapeChar";
|
const escapeChar = "specialEscapeChar";
|
||||||
var port = ":8081/"
|
|
||||||
if (getProcessor() == "libxml") {
|
const addr = window.location.protocol + "//" + window.location.hostname + ":" + port + "/" + endpoint;
|
||||||
port = ":8082/"
|
|
||||||
}
|
|
||||||
const addr = window.location.protocol + "//" + window.location.hostname + port + endpoint;
|
|
||||||
|
|
||||||
if(defaultStrings.includes(xmlData)){
|
if(defaultStrings.includes(xmlData)){
|
||||||
xmlData = "<empty/>";
|
xmlData = "<empty/>";
|
||||||
@@ -167,21 +190,11 @@ async function restRequest(endpoint, xmlData, transformData) {
|
|||||||
var request = new Request(addr, init);
|
var request = new Request(addr, init);
|
||||||
|
|
||||||
|
|
||||||
|
var result = await fetch(request).then(response => {
|
||||||
await fetch(request).then(response => {
|
return response.text().then(function(text) {
|
||||||
console.log(response.status);
|
return JSON.parse(text);
|
||||||
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";
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,15 +27,15 @@
|
|||||||
<li id="toolListRow"><a href="./tools/xsd.html" target="iframe">XSD</a></li>
|
<li id="toolListRow"><a href="./tools/xsd.html" target="iframe">XSD</a></li>
|
||||||
<li id="toolListRow"><a href="./tools/formatter.html" target="iframe">Formatter</a></li>
|
<li id="toolListRow"><a href="./tools/formatter.html" target="iframe">Formatter</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div id="copyright">Copyright © 2023<br><a href="http://release11.com/">Release11 Sp. z. o. o.</a></div>
|
<div id="copyright">
|
||||||
|
Build: [:VERSION:]<br>
|
||||||
|
Copyright © 2023<br>
|
||||||
|
<a href="http://release11.com/">Release11 Sp. z. o. o.</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<iframe id="frame" name="iframe" src="http://tools.zipper.release11.com:8097/" frameborder="0"></iframe>
|
<iframe id="frame" name="iframe" src="http://tools.zipper.release11.com:8097/" frameborder="0"></iframe>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
5
Frontend/insert_version.sh
Normal file
5
Frontend/insert_version.sh
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
input="$(date +'%Y-%m-%d %H:%M')"
|
||||||
|
|
||||||
|
sed -i "s/\[\:VERSION\:\]/$input/g" /usr/share/nginx/html/index.html
|
||||||
@@ -24,20 +24,15 @@
|
|||||||
|
|
||||||
<label for="xmlArea"><b>Insert your XML:</b></label>
|
<label for="xmlArea"><b>Insert your XML:</b></label>
|
||||||
<textarea id="xmlArea" name="xmlArea" rows="15"
|
<textarea id="xmlArea" name="xmlArea" rows="15"
|
||||||
class="textarea-300 bordered-field vertically-resizeable max-width"
|
class="textarea-800 bordered-field vertically-resizeable max-width"
|
||||||
onblur="setDefaultContent(this, 'Insert XML here');"
|
onblur="setDefaultContent(this, 'Insert XML here');"
|
||||||
onfocus="clearDefaultContent(this, 'Insert XML here');"></textarea>
|
onfocus="clearDefaultContent(this, 'Insert XML here');"></textarea>
|
||||||
<br><br>
|
<br><br>
|
||||||
<button id="requestButton" class="max-width block-label action-button active"
|
<button id="requestButton" class="max-width block-label action-button active"
|
||||||
onclick="performFormatRequest('prettifypost', true)">Prettify XML</button>
|
onclick="performFormatRequest('prettifypost', true, 'xmlArea', 'xmlArea')">Prettify XML</button>
|
||||||
<button id="requestButton" class="max-width block-label action-button active"
|
<button id="requestButton" class="max-width block-label action-button active"
|
||||||
onclick="performFormatRequest('minimizepost', true)">Minimize XML</button>
|
onclick="performFormatRequest('minimizepost', true, 'xmlArea', 'xmlArea')">Minimize XML</button>
|
||||||
<br><br>
|
|
||||||
|
|
||||||
<label for="resultArea"><b>Result:<span id="procinfo"></span></b></label>
|
|
||||||
<textarea id="resultArea" name="resultArea" rows="2"
|
|
||||||
class="bordered-field textarea-300 vert2ically-resizeable max-width" style="margin-bottom: 50px;"></textarea>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="tooltip-window rwd-hideable">
|
<div class="tooltip-window rwd-hideable">
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
<div id="tool" class="tool rwd-expandable">
|
<div id="tool" class="tool rwd-expandable">
|
||||||
<div class="tool-context">
|
<div class="tool-context">
|
||||||
<div class="headline">
|
<div class="headline">
|
||||||
<h1>Online XPath tester <span class="versionInfo"><span class="version-span">v0.4</span></span></h1>
|
<h1>Online XPath tester</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="display-space-between">
|
<div class="display-space-between">
|
||||||
@@ -36,8 +36,14 @@
|
|||||||
<option class="hideable saxon" value="3.1">3.1</option>
|
<option class="hideable saxon" value="3.1">3.1</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<button class="action-button active" id="defaultXMLButton" style="padding: 3px 10px;"
|
<div>
|
||||||
onclick="fillDefaultXML(this)">Insert default XML</button>
|
<button class="action-button active" id="clearXMLButton" style="padding: 3px 10px;"
|
||||||
|
onclick="clearDataField()">Clear</button>
|
||||||
|
<button class="action-button active" id="prettyXMLButton" style="padding: 3px 10px;"
|
||||||
|
onclick="performFormatRequest('prettifypost', true, 'xmlArea', 'xmlArea')">Format XML</button>
|
||||||
|
<button class="action-button active" id="defaultXMLButton" style="padding: 3px 10px;"
|
||||||
|
onclick="fillDefaultXML(this)">Insert default XML</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <br><br> -->
|
<!-- <br><br> -->
|
||||||
<label for="xmlArea"><b>Insert your XML:</b></label>
|
<label for="xmlArea"><b>Insert your XML:</b></label>
|
||||||
@@ -57,7 +63,7 @@
|
|||||||
expression</button>
|
expression</button>
|
||||||
<br><br>
|
<br><br>
|
||||||
<label for="resultArea"><b>Transform result:<span id="procinfo"></span></b></label>
|
<label for="resultArea"><b>Transform result:<span id="procinfo"></span></b></label>
|
||||||
<textarea id="resultArea" name="resultArea"
|
<textarea disabled id="resultArea" name="resultArea"
|
||||||
class="textarea-300 bordered-field vertically-resizeable max-width" style="margin-bottom: 50px;" rows="10" cols="100"></textarea>
|
class="textarea-300 bordered-field vertically-resizeable max-width" style="margin-bottom: 50px;" rows="10" cols="100"></textarea>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -14,8 +14,7 @@
|
|||||||
<div id="tool" class="tool rwd-expandable">
|
<div id="tool" class="tool rwd-expandable">
|
||||||
<div class="tool-context">
|
<div class="tool-context">
|
||||||
<div class="headline">
|
<div class="headline">
|
||||||
<h1>Online XSD tester <span class="versionInfo"><span class="version-span">v0.4 BETA</span></span>
|
<h1>Online XSD tester</h1>
|
||||||
</h1>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="display-space-between">
|
<div class="display-space-between">
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
@@ -25,8 +24,14 @@
|
|||||||
<option value="libxml">libXML</option>
|
<option value="libxml">libXML</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<button class="action-button active" id="defaultXMLButton" style="padding: 3px 10px; float: right;"
|
<div>
|
||||||
|
<button class="action-button active" id="clearXMLButton" style="padding: 3px 10px;"
|
||||||
|
onclick="clearDataField()">Clear</button>
|
||||||
|
<button class="action-button active" id="prettyXMLButton" style="padding: 3px 10px;"
|
||||||
|
onclick="performFormatRequest('prettifypost', true, 'xmlArea', 'xmlArea')">Format XML</button>
|
||||||
|
<button class="action-button active" id="defaultXMLButton" style="padding: 3px 10px;"
|
||||||
onclick="fillDefaultXML(this)">Insert default XML</button>
|
onclick="fillDefaultXML(this)">Insert default XML</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <span id="processorTooltipInfo">procInfo</span><br> -->
|
<!-- <span id="processorTooltipInfo">procInfo</span><br> -->
|
||||||
@@ -49,7 +54,7 @@
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<label for="resultArea"><b>Result:<span id="procinfo"></span></b></label>
|
<label for="resultArea"><b>Result:<span id="procinfo"></span></b></label>
|
||||||
<textarea id="resultArea" name="resultArea" rows="2"
|
<textarea disabled id="resultArea" name="resultArea" rows="2"
|
||||||
class="bordered-field vert2ically-resizeable max-width" style="margin-bottom: 50px;"></textarea>
|
class="bordered-field vert2ically-resizeable max-width" style="margin-bottom: 50px;"></textarea>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<div id="tool" class="tool rwd-expandable">
|
<div id="tool" class="tool rwd-expandable">
|
||||||
<div class="tool-context">
|
<div class="tool-context">
|
||||||
<div class="headline">
|
<div class="headline">
|
||||||
<h1>Online XSLT tester <span class="versionInfo"><span class="version-span">v0.4</span></span></h1>
|
<h1>Online XSLT tester</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="display-space-between">
|
<div class="display-space-between">
|
||||||
<div style="text-align: center;">
|
<div style="text-align: center;">
|
||||||
@@ -25,8 +25,14 @@
|
|||||||
<option value="libxml">libXML</option>
|
<option value="libxml">libXML</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<button class="action-button active" id="defaultXMLButton" style="padding: 3px 10px; float: right;"
|
<div>
|
||||||
|
<button class="action-button active" id="clearXMLButton" style="padding: 3px 10px;"
|
||||||
|
onclick="clearDataField()">Clear</button>
|
||||||
|
<button class="action-button active" id="prettyXMLButton" style="padding: 3px 10px;"
|
||||||
|
onclick="performFormatRequest('prettifypost', true, 'xmlArea', 'xmlArea')">Format XML</button>
|
||||||
|
<button class="action-button active" id="defaultXMLButton" style="padding: 3px 10px;"
|
||||||
onclick="fillDefaultXML(this)">Insert default XML</button>
|
onclick="fillDefaultXML(this)">Insert default XML</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span id="processorTooltipInfo">procInfo</span><br>
|
<span id="processorTooltipInfo">procInfo</span><br>
|
||||||
@@ -50,7 +56,7 @@
|
|||||||
<br><br>
|
<br><br>
|
||||||
|
|
||||||
<label for="resultArea"><b>Transform result:<span id="procinfo"></span></b></label>
|
<label for="resultArea"><b>Transform result:<span id="procinfo"></span></b></label>
|
||||||
<textarea id="resultArea" name="resultArea" rows="10"
|
<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>
|
||||||
|
|||||||
Reference in New Issue
Block a user