From 82c34204140a3baf737b91ec8b263f9b02624cf5 Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Thu, 30 Nov 2023 08:05:35 +0100 Subject: [PATCH] Bugfixes --- .../xml/XmlOutputFieldComponent.vue | 48 +++++++++---------- .../xml/XmlTabbedInputComponent.vue | 23 +++++---- Frontend/src/views/XSLTView.vue | 10 +--- 3 files changed, 37 insertions(+), 44 deletions(-) diff --git a/Frontend/src/components/xml/XmlOutputFieldComponent.vue b/Frontend/src/components/xml/XmlOutputFieldComponent.vue index c7c551c..2377347 100644 --- a/Frontend/src/components/xml/XmlOutputFieldComponent.vue +++ b/Frontend/src/components/xml/XmlOutputFieldComponent.vue @@ -2,14 +2,11 @@ import { onMounted, ref } from 'vue'; import { type TabData } from '../common/TabData' import CodeEditor from '../CodeEditorComponent.vue'; -import { xml } from '@codemirror/lang-xml'; - const props = defineProps( { tool: {type: String, required: true}, - xml: {type: String, required: false}, - multiXml: {type: Array, required: false}, + xml: {type: [String, Array], required: true}, query: {type: String} } ) @@ -18,10 +15,10 @@ const emit = defineEmits(["update"]); const result = ref(''); -var enginesForCurrentTool = ref(["saxon", "xalan", "libxml"]); +let enginesForCurrentTool = ref(["saxon", "xalan", "libxml"]); const allVersions = ["1.0", "2.0", "3.0", "3.1"]; -var versionsForCurrentEngine = ref([""]); +let versionsForCurrentEngine = ref([""]); const engine = ref(''); const version = ref(''); @@ -85,14 +82,20 @@ function selectDefaultVersion() { } function process() { - var request:Request = prepareRequest(); + let request:Request = prepareRequest(); fetchRequest(request).then((data) => { updateOutputField(data); }) } +function updateOutputField(data: any) { + result.value = data.result + errorOccurred.value = data.status != "OK" + successOccurred.value = data.status == "OK" +} + function prepareRequest():Request { - var request = new Request(prepareURL(), { + let request = new Request(prepareURL(), { body: selectRequestBodyType(), method: "POST" }); @@ -103,43 +106,44 @@ function prepareRequest():Request { function prepareURL(): string { const engineEndpoint = engine.value == "libxml" ? "libxml" : "java"; - var tool = props.tool; - if (props.multiXml && props.multiXml.length > 1) + let tool = props.tool; + if (Array.isArray(props.xml) && props.xml.length > 1) tool = "multiple/xslt"; return document.location.protocol + "//" + document.location.hostname + "/" + engineEndpoint + "/" + tool; } function selectRequestBodyType() : string { - if (props.multiXml && props.multiXml.length > 1) + if (Array.isArray(props.xml) && props.xml.length > 1) return prepareRequestBodyMultiXml(); - else if (props.multiXml) - return prepareRequestBodySingleXml(props.multiXml.at(0)!.data); + else if (Array.isArray(props.xml)) + return prepareRequestBodySingleXml(props.xml.at(0)!.data); else return prepareRequestBodySingleXml(props.xml!); } function prepareRequestBodySingleXml(data: string):string { - var requestBody = JSON.stringify({ + let requestBody = JSON.stringify({ "data": data, "processorData": props.query, "processor": engine.value, "version": version.value }); - console.log(requestBody); return requestBody; } function prepareRequestBodyMultiXml():string { - var xmlFilesArray = convertDataArray(props.multiXml!); + if (!Array.isArray(props.xml)) + return ""; - var requestBody = JSON.stringify({ + let xmlFilesArray = convertDataArray(props.xml); + + let requestBody = JSON.stringify({ "data": xmlFilesArray, "processorData": props.query, "processor": engine.value, "version": version.value }); - console.log(requestBody); return requestBody; } @@ -161,17 +165,13 @@ function convertDataArray(data: Array) { } async function fetchRequest(request: Request):Promise { - var responseBody = await fetch(request) + let responseBody = await fetch(request) .then(response => response.json()) .then((body) => body) return responseBody } -function updateOutputField(data: any) { - result.value = data.result - errorOccurred.value = data.status != "OK" - successOccurred.value = data.status == "OK" -} + function clear() { result.value = "" diff --git a/Frontend/src/components/xml/XmlTabbedInputComponent.vue b/Frontend/src/components/xml/XmlTabbedInputComponent.vue index fcaea5a..5a4975a 100644 --- a/Frontend/src/components/xml/XmlTabbedInputComponent.vue +++ b/Frontend/src/components/xml/XmlTabbedInputComponent.vue @@ -54,18 +54,19 @@ function readFile(file : any) { const reader = new FileReader() reader.onloadend = () => { - var result = reader.result!.toString(); - console.log(result); + let result = reader.result!.toString(); + + let activeIndex = findIndexWithID(activeTabId.value); + + let filePath = inputFile.value.value.split("\\"); + let fileName = filePath.at(filePath.length - 1); + + tabs.value.at(activeIndex)!.name = fileName; updateData(result); - + } reader.readAsText(file.target.files[0]); - let activeIndex = findIndexWithID(activeTabId.value); - let filePath = inputFile.value.value.split("\\"); - let fileName = filePath.at(filePath.length - 1); - - tabs.value.at(activeIndex)!.name = fileName; } function changeActiveTab(id : number) { @@ -84,9 +85,7 @@ function addTab() { id: newTabId.value++, name: "XML" + newTabId.value, data: "" - }) - - console.log(tabs.value); + }); } function removeTab(id : number) { @@ -94,7 +93,7 @@ function removeTab(id : number) { return let indexToRemove = findIndexWithID(id); - + switchToExistingTab(indexToRemove) tabs.value.splice(indexToRemove, 1); diff --git a/Frontend/src/views/XSLTView.vue b/Frontend/src/views/XSLTView.vue index 9cb5784..5495944 100644 --- a/Frontend/src/views/XSLTView.vue +++ b/Frontend/src/views/XSLTView.vue @@ -16,22 +16,16 @@ function updateVersion(newVersion: string) { version.value = newVersion; } -function updateXML(data: Array) { - xml.value = data; - console.log("Update:" + data); - console.log(data); -} -