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