Engine and version selection now works better
This commit is contained in:
@@ -12,40 +12,58 @@ const props = defineProps(
|
|||||||
|
|
||||||
const result = ref('');
|
const result = ref('');
|
||||||
|
|
||||||
var engines = ["saxon", "xalan", "libxml"];
|
var enginesForCurrentTool = ref(["saxon", "xalan", "libxml"]);
|
||||||
var versions = ["1.0", "2.0", "3.0", "3.1"];
|
|
||||||
|
const allVersions = ["1.0", "2.0", "3.0", "3.1"];
|
||||||
|
var versionsForCurrentEngine = ref([""]);
|
||||||
|
|
||||||
const engine = ref('');
|
const engine = ref('');
|
||||||
const version = ref('');
|
const version = ref('');
|
||||||
|
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
selectAvailableEngines();
|
changeAvailableEngines();
|
||||||
selectAvailableVersions();
|
changeAvailableVersions();
|
||||||
selectDefaults();
|
|
||||||
})
|
})
|
||||||
|
|
||||||
function selectAvailableEngines() {
|
function changeAvailableEngines() {
|
||||||
if (props.tool == "xsd") {
|
if (props.tool == "xsd") {
|
||||||
engines = ["xalan", "libxml"]
|
enginesForCurrentTool.value = ["xalan", "libxml"]
|
||||||
}
|
}
|
||||||
else if (props.tool == "xquery") {
|
else if (props.tool == "xquery") {
|
||||||
engines = ["saxon"]
|
enginesForCurrentTool.value = ["saxon"]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
selectDefaultEngine();
|
||||||
}
|
}
|
||||||
|
|
||||||
function selectAvailableVersions() {
|
function changeAvailableVersions() {
|
||||||
if (props.tool == "xquery")
|
if (props.tool == "xquery")
|
||||||
versions = ["3.1"];
|
versionsForCurrentEngine.value = ["3.1"];
|
||||||
else if (props.tool == "xslt")
|
else if (props.tool == "xslt")
|
||||||
versions = ["3.0"];
|
versionsForCurrentEngine.value = ["3.0"];
|
||||||
else if (props.tool == "xsd")
|
else if (props.tool == "xsd")
|
||||||
versions = ["N/A"];
|
versionsForCurrentEngine.value = ["N/A"];
|
||||||
|
else if (props.tool == "xpath")
|
||||||
|
changeAvailableVersionsOfXPath();
|
||||||
|
|
||||||
|
selectDefaultVersion();
|
||||||
}
|
}
|
||||||
|
|
||||||
function selectDefaults() {
|
function changeAvailableVersionsOfXPath() {
|
||||||
version.value = versions[versions.length - 1];
|
if(engine.value == "xalan" || engine.value == "libxml")
|
||||||
engine.value = engines[0];
|
versionsForCurrentEngine.value = ["1.0"];
|
||||||
|
else if (engine.value == "saxon")
|
||||||
|
versionsForCurrentEngine.value = allVersions;
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectDefaultEngine() {
|
||||||
|
engine.value = enginesForCurrentTool.value[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
function selectDefaultVersion() {
|
||||||
|
const lastVersion = versionsForCurrentEngine.value.length - 1
|
||||||
|
version.value = versionsForCurrentEngine.value[lastVersion];
|
||||||
}
|
}
|
||||||
|
|
||||||
function process() {
|
function process() {
|
||||||
@@ -96,11 +114,11 @@ function updateOutputField(data: any) {
|
|||||||
<div class="flex place-content-between w-full items-center m-2">
|
<div class="flex place-content-between w-full items-center m-2">
|
||||||
<span class="dark:text-white">Result:</span>
|
<span class="dark:text-white">Result:</span>
|
||||||
<div class="flex space-x-2">
|
<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">
|
<select v-model="engine" name="engine" @change="changeAvailableVersions()" class="px-3 rounded-full border border-slate-400 bg-white dark:text-slate-100 dark:bg-gray-600">
|
||||||
<option v-for="engine in engines" :value="engine">{{ engine }}</option>
|
<option v-for="engine in enginesForCurrentTool" :value="engine">{{ engine }}</option>
|
||||||
</select>
|
</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">
|
<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 v-for="version in versions" :value="version">{{ version }}</option>
|
<option v-for="version in versionsForCurrentEngine" :value="version">{{ version }}</option>
|
||||||
</select>
|
</select>
|
||||||
<button class="tool-button">Clear</button>
|
<button class="tool-button">Clear</button>
|
||||||
<button class="tool-button" @click="process">Process</button>
|
<button class="tool-button" @click="process">Process</button>
|
||||||
|
|||||||
Reference in New Issue
Block a user