Reviewed-on: #269 Reviewed-by: Mikolaj Widla <widlam@noreply.example.com> Co-authored-by: Adam Bem <adam.bem@zoho.eu> Co-committed-by: Adam Bem <adam.bem@zoho.eu>
73 lines
2.5 KiB
Vue
73 lines
2.5 KiB
Vue
<script setup lang="ts">
|
|
import { ref } from 'vue';
|
|
import tooltipCategoryComponent from '@components/xml/tooltips/TooltipCategoryComponent.vue';
|
|
import tooltipEntryComponent from '@components/xml/tooltips/TooltipEntryComponent.vue';
|
|
|
|
import xpath1 from '@/assets/tooltips/xpath/xpath1.json';
|
|
import xpath2 from '@/assets/tooltips/xpath/xpath2.json';
|
|
import xpath3 from '@/assets/tooltips/xpath/xpath3.json';
|
|
import xpath31 from '@/assets/tooltips/xpath/xpath31.json';
|
|
import xslt1 from '@/assets/tooltips/xslt/xslt1.json';
|
|
import xslt3 from '@/assets/tooltips/xslt/xslt3.json'
|
|
import TooltipDiffsComponent from './TooltipDiffsComponent.vue';
|
|
|
|
|
|
const props = defineProps({
|
|
version: {
|
|
type: String,
|
|
required: true
|
|
},
|
|
toolType: {
|
|
type: String,
|
|
required: true
|
|
}
|
|
})
|
|
|
|
const areTooltipsHidden = ref(true)
|
|
|
|
function selectTooltip() {
|
|
if(props.toolType == "xpath"){
|
|
switch(props.version) {
|
|
case "1.0":
|
|
return xpath1;
|
|
case "2.0":
|
|
return xpath2;
|
|
case "3.0":
|
|
return xpath3;
|
|
case "3.1":
|
|
default:
|
|
return xpath31;
|
|
}
|
|
} else {
|
|
switch(props.version){
|
|
case "1.0":{
|
|
return xslt1;
|
|
}
|
|
case "3.0":{
|
|
return xslt3;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
function toggleTooltips() {
|
|
areTooltipsHidden.value = !areTooltipsHidden.value;
|
|
}
|
|
|
|
</script>
|
|
|
|
<template>
|
|
<div :class="areTooltipsHidden ? 'w-fit' : 'w-[26rem]'" class="hidden xl:flex shrink-0 items-stretch p-2 flex-row rounded-xl shadow-lg bg-gradient-to-r from-blue-400 to-blue-300 dark:from-sky-600 dark:to-sky-800 ">
|
|
<button :class="{'mr-2' : !areTooltipsHidden }" class="text-xl w-6 dark:text-slate-100" @click="toggleTooltips()">
|
|
T<br/>o<br/>o<br/>l<br/>t<br/>i<br/>p<br/>s
|
|
</button>
|
|
<div id="content" :class="{'hidden' : areTooltipsHidden}" class="w-full flex flex-col gap-4 p-2 overflow-auto rounded-xl dark:text-white bg-indigo-50 dark:bg-gray-700" >
|
|
<TooltipDiffsComponent :tool-name="toolType" :tool-version="props.version"></TooltipDiffsComponent>
|
|
<div class="w-full h-2"> </div>
|
|
<tooltipCategoryComponent v-for="category in selectTooltip()" :key="category.name" :name="category.name">
|
|
<tooltipEntryComponent :tool="toolType" v-for="entry in category.entries" :key="entry.name" :entry-data="entry"></tooltipEntryComponent>
|
|
</tooltipCategoryComponent>
|
|
</div>
|
|
</div>
|
|
</template> |