From f3f88ad659c57537c260dabea6a7ddcec92b5366 Mon Sep 17 00:00:00 2001 From: Wojciech Mizia Date: Wed, 5 Feb 2025 17:01:23 +0100 Subject: [PATCH] xalan_single_files_frontend (#297) Reviewed-on: https://gitea.release11.com/R11/release11-tools/pulls/297 Reviewed-by: Wojciech Szewczyk Co-authored-by: Wojciech Mizia Co-committed-by: Wojciech Mizia --- .../xml/XmlOutputFieldComponent.vue | 30 +++++++++++++------ .../xml/XmlTabbedInputComponent.vue | 12 +++++--- Frontend/src/style.css | 4 +++ Frontend/src/views/XSLTView.vue | 6 ++-- 4 files changed, 37 insertions(+), 15 deletions(-) diff --git a/Frontend/src/components/xml/XmlOutputFieldComponent.vue b/Frontend/src/components/xml/XmlOutputFieldComponent.vue index 2e0adc8..09757f6 100644 --- a/Frontend/src/components/xml/XmlOutputFieldComponent.vue +++ b/Frontend/src/components/xml/XmlOutputFieldComponent.vue @@ -7,11 +7,12 @@ const props = defineProps( { tool: {type: String, required: true}, xml: {type: [String, Array], required: true}, - query: {type: String, required: true} + query: {type: String, required: true}, + activeTabId: {type: Number, required: false} } ) -const emit = defineEmits(["update"]); +const emit = defineEmits(["update", "update:engine"]); const result = ref(''); @@ -109,21 +110,23 @@ function prepareRequest():Request { function prepareURL(): string { const engineEndpoint = engine.value == "libxml" ? "libxml" : "java"; - + let tool = props.tool; - if (Array.isArray(props.xml) && props.xml.length > 1) + if (Array.isArray(props.xml) && props.xml.length > 1 && engine.value == "saxon") tool = "multiple/xslt"; return document.location.protocol + "//" + document.location.hostname + "/" + engineEndpoint + "/" + tool; } function selectRequestBodyType() : string { - if (Array.isArray(props.xml) && props.xml.length > 1) - return prepareRequestBodyMultiXml(); + if (Array.isArray(props.xml) && (engine.value == "xalan" || engine.value == "libxml")) + return prepareRequestBodySingleXml(props.xml.at(props.activeTabId!)!.data) + else if (Array.isArray(props.xml) && props.xml.length > 1) + return prepareRequestBodyMultiXml(); else if (Array.isArray(props.xml)) - return prepareRequestBodySingleXml(props.xml.at(0)!.data); + return prepareRequestBodySingleXml(props.xml.at(0)!.data); else - return prepareRequestBodySingleXml(props.xml!); + return prepareRequestBodySingleXml(props.xml!); } function prepareRequestBodySingleXml(data: string):string { @@ -188,6 +191,10 @@ function emitVersionChange() { emit("update", version.value); } +function emitEngineChange() { + emit("update:engine", engine.value); +} + function isVersionSelectionAvailable() { return !(versionsForCurrentEngine.value.length == 1 && versionsForCurrentEngine.value.at(0) == "N/A"); } @@ -202,6 +209,11 @@ function highlightField() { return ""; } +function handleChange() { + changeAvailableVersions(); + emitEngineChange(); +} +