There is now engine and version selected by default

This commit is contained in:
2023-06-16 14:30:41 +02:00
parent f16e88bef7
commit 6473623b05

View File

@@ -1,6 +1,8 @@
<script setup lang="ts">
import { onMounted, ref } from 'vue';
var engines = ["saxon", "xalan", "libxml"];
var versions = ["1.0", "2.0", "3.0", "3.1"];
const props = defineProps(
{
@@ -20,6 +22,33 @@ const isXalanHidden = ref(false);
const isLibXMLHidden = ref(false);
onMounted(() => {
selectAvailableEngines();
selectAvailableVersions();
selectDefaults();
})
function selectAvailableEngines() {
if (props.tool == "xsd") {
engines = ["xalan", "libxml"]
}
else if (props.tool == "xquery") {
engines = ["saxon"]
}
}
function selectAvailableVersions() {
if (props.tool == "xquery")
versions = ["3.1"];
else if (props.tool == "xsd")
versions = ["N/A"];
}
function selectDefaults() {
version.value = versions[versions.length - 1];
engine.value = engines[0];
}
function process() {
var request:Request = prepareRequest();
fetchRequest(request).then((data) => {
@@ -61,27 +90,7 @@ function sendProcessedData(data: JSON) {
emit("update:result", data);
}
onMounted(() => {
showOnlyAvailableEngines();
})
function showOnlyAvailableEngines() {
if (props.tool == "xsd") {
isSaxonHidden.value = true;
isXalanHidden.value = false;
isLibXMLHidden.value = false;
}
else if (props.tool == "xquery") {
isSaxonHidden.value = false;
isXalanHidden.value = true;
isLibXMLHidden.value = true;
}
else {
isSaxonHidden.value = false;
isXalanHidden.value = false;
isLibXMLHidden.value = false;
}
}
</script>
@@ -90,15 +99,10 @@ function showOnlyAvailableEngines() {
<span class="dark:text-white">Result:</span>
<div class="flex space-x-2">
<select v-model="engine" name="engine" class="px-3 rounded-full border border-slate-400 bg-white dark:text-slate-100 dark:bg-gray-600">
<option value="saxon" :class="(isSaxonHidden) ? 'hidden' : ''">Saxon</option>
<option value="xalan" :class="(isXalanHidden) ? 'hidden' : ''">Xalan</option>
<option value="libxml" :class="(isLibXMLHidden) ? 'hidden' : ''">libXML</option>
<option v-for="engine in engines" :value="engine">{{ engine }}</option>
</select>
<select v-model="version" name="version" class="px-3 rounded-full border border-slate-400 bg-white dark:text-slate-100 dark:bg-gray-600">
<option value="1.0">1.0</option>
<option value="2.0">2.0</option>
<option value="3.0">3.0</option>
<option value="3.1">3.1</option>
<option v-for="version in versions" :value="version">{{ version }}</option>
</select>
<button class="tool-button">Clear</button>
<button class="tool-button" @click="process">Process</button>