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