Moved xml tools to seperate template
This commit is contained in:
67
new-frontend/src/components/XmlTool.vue
Normal file
67
new-frontend/src/components/XmlTool.vue
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
import { ref, watch } from 'vue';
|
||||||
|
|
||||||
|
const xml = ref('');
|
||||||
|
const transform = ref('');
|
||||||
|
const transformPlaceholder = ref('')
|
||||||
|
const result = ref('')
|
||||||
|
|
||||||
|
const tool = ref('')
|
||||||
|
|
||||||
|
async function submit() {
|
||||||
|
const url = document.location.protocol + "//" + document.location.hostname + "/java/" + tool.value;
|
||||||
|
var jsonData = JSON.stringify({
|
||||||
|
"data": xml.value,
|
||||||
|
"process": transform.value,
|
||||||
|
"processor": "xalan",
|
||||||
|
"version": "3.0"
|
||||||
|
});
|
||||||
|
var init = {
|
||||||
|
headers: new Headers({
|
||||||
|
}),
|
||||||
|
body: jsonData,
|
||||||
|
method: "POST"
|
||||||
|
};
|
||||||
|
var request = new Request(url, init);
|
||||||
|
|
||||||
|
|
||||||
|
var responseBody = await fetch(request).then(async response => {
|
||||||
|
const text = await response.text();
|
||||||
|
return JSON.parse(text);
|
||||||
|
});
|
||||||
|
|
||||||
|
result.value = responseBody.result;
|
||||||
|
}
|
||||||
|
|
||||||
|
watch(tool, (tool) => {
|
||||||
|
if (tool == "xpath")
|
||||||
|
transformPlaceholder.value = "XPath";
|
||||||
|
if (tool == "xsd")
|
||||||
|
transformPlaceholder.value = "XSD";
|
||||||
|
if (tool == "xslt")
|
||||||
|
transformPlaceholder.value = "XSLT";
|
||||||
|
if (tool == "xquery")
|
||||||
|
transformPlaceholder.value = "XQuery";
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<label for="xpath">XPath</label>
|
||||||
|
<input v-model="tool" type="radio" id="xpath" name="xmltool" value="xpath" />
|
||||||
|
|
||||||
|
<label for="xslt">XSLT</label>
|
||||||
|
<input v-model="tool" type="radio" id="xslt" name="xmltool" value="xslt" />
|
||||||
|
|
||||||
|
<label for="xsd">XSD</label>
|
||||||
|
<input v-model="tool" type="radio" id="xsd" name="xmltool" value="xsd" />
|
||||||
|
|
||||||
|
<label for="xquery">XQuery</label>
|
||||||
|
<input v-model="tool" type="radio" id="xquery" name="xmltool" value="xquery" />
|
||||||
|
<br /><br />
|
||||||
|
<textarea v-model="xml" id="xml" placeholder="XML"></textarea>
|
||||||
|
<textarea v-model="transform" id="transform" :placeholder="transformPlaceholder"></textarea><br />
|
||||||
|
<button @click="submit">Submit</button><br />
|
||||||
|
<pre><code>{{ result }}</code></pre>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped></style>
|
||||||
Reference in New Issue
Block a user