Fixed merge conflicts

This commit is contained in:
2023-12-29 12:54:28 +01:00
parent 467adf2264
commit e8b22a41c6
31 changed files with 0 additions and 545 deletions

View File

@@ -1,9 +1,6 @@
<script setup lang="ts">
import { RouterView } from 'vue-router';
import SidebarComponent from '@components/sidebar/SidebarComponent.vue';
<<<<<<< HEAD
=======
import {onMounted, provide, ref } from 'vue';
const theme = ref( getTheme() );
@@ -44,20 +41,13 @@ function getTheme(){
return localStorage.theme;
}
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</script>
<template>
<<<<<<< HEAD
<div id="layout" class="flex h-screen bg-gradient-to-r from-white to-sky-200 dark:from-slate-800 dark:to-indigo-950">
<SidebarComponent />
<div class="relative p-4 w-full m-4 bg-blue-50 dark:bg-gray-700 rounded-2xl overflow-hidden shadow-lg">
=======
<div id="layout" class="font-sans flex h-screen bg-gradient-to-br from-sky-200 to-indigo-200 dark:from-sky-950 dark:to-indigo-950">
<SidebarComponent @theme:changed="setTheme" />
<div class="relative p-4 w-full m-4 ml-0 bg-blue-50 dark:bg-gray-700 rounded-2xl overflow-hidden shadow-lg">
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<RouterView></RouterView>
</div>
</div>

View File

@@ -45,9 +45,5 @@ function setDefault() {
</script>
<template>
<<<<<<< HEAD
<button class="tool-button" @click="setDefault()">Default {{ stylizedName }}</button>
=======
<button class="tool-button" @click="setDefault()">Example {{ stylizedName }}</button>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</template>

View File

@@ -1,15 +1,6 @@
<script setup lang="ts">
const props = defineProps(
{
<<<<<<< HEAD
formatType: {type:String,required:true},
code: {type:String,required:true},
}
)
function chooseType(formatType: String){
if (formatType == "XML Converter"){
=======
formatType: {
type:String,
required:true
@@ -32,7 +23,6 @@ const emit = defineEmits([
function chooseType(formatType: String){
if (formatType == "HTML -> XML"){
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
return "convert";
}
return formatType.toLowerCase();
@@ -49,11 +39,7 @@ function getTypeInfo(){
function createBody(){
return JSON.stringify({
"data": props.code,
<<<<<<< HEAD
"process": getTypeInfo(),
=======
"processorData": getTypeInfo(),
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
"processor": "libxml",
"version": "1.0"
});
@@ -61,31 +47,16 @@ function createBody(){
const fetchLink = document.location.protocol + "//" + document.location.hostname + "/libxml/html/" + chooseType(props.formatType);
<<<<<<< HEAD
const emit = defineEmits([
'update:result'
])
function processResponse(formattedCode : any){
var result = formattedCode.result;
return result
}
=======
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
function process(){
fetch(fetchLink, {body:createBody(), method: "POST"})
.then( response => response.json() )
<<<<<<< HEAD
.then( formattedCode => emit('update:result', processResponse(formattedCode) ) )
=======
.then( formattedCode => processResponse(formattedCode) )
}
function processResponse(formattedCode : any){
emit('update:result', formattedCode )
emit("update:error", formattedCode.status == "ERR")
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
}
</script>

View File

@@ -5,20 +5,12 @@ const props = defineProps({
isMinimizer: {type: Boolean}
})
<<<<<<< HEAD
const emit = defineEmits(["update:result"])
=======
const emit = defineEmits(["update:result", "update:error"])
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
function process() {
var request:Request = prepareRequest();
fetchRequest(request).then((data) => {
<<<<<<< HEAD
sendProcessedData(data);
=======
sendProcessedData(data);
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
})
}
@@ -44,17 +36,11 @@ function prepareRequestBody():string {
async function fetchRequest(request: Request):Promise<JSON> {
var responseBody = await fetch(request)
<<<<<<< HEAD
.then(response => response.json())
.then((body) => body);
console.log(responseBody);
=======
.then(response => {
emit('update:error', response.status != 200)
return response.json()
})
.then((body) => body);
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
return responseBody;
}

View File

@@ -5,14 +5,6 @@ const props = defineProps({
isMinimizer: {type: Boolean}
})
<<<<<<< HEAD
const emit = defineEmits(["update:result"])
function process() {
var request:Request = prepareRequest();
fetchRequest(request).then((data) => {
sendProcessedData(data);
=======
const emit = defineEmits([
'update:result',
'update:error'
@@ -22,7 +14,6 @@ function process() {
var request:Request = prepareRequest()
fetchRequest(request).then((data) => {
sendProcessedData(data)
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
})
}
@@ -30,57 +21,30 @@ function prepareRequest():Request {
var request = new Request(prepareURL(), {
body: prepareRequestBody(),
method: "POST"
<<<<<<< HEAD
});
=======
})
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
return request
}
function prepareURL(): string {
<<<<<<< HEAD
var mode = "prettify";
if (props.isMinimizer)
mode = "minimize";
return document.location.protocol + "//" + document.location.hostname + "/libxml/" + mode;
=======
var mode = "prettify"
if (props.isMinimizer)
mode = "minimize"
return document.location.protocol + "//" + document.location.hostname + "/libxml/" + mode
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
}
function prepareRequestBody():string {
var requestBody = JSON.stringify({
"data": props.xml,
<<<<<<< HEAD
"process": "N/A",
"processor": "libxml",
"version": "1.0"
});
return requestBody;
=======
"processorData": "N/A",
"processor": "libxml",
"version": "1.0"
})
return requestBody
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
}
async function fetchRequest(request: Request):Promise<JSON> {
var responseBody = await fetch(request)
.then(response => response.json())
<<<<<<< HEAD
.then((body) => body);
return responseBody;
}
function sendProcessedData(data: JSON) {
emit("update:result", data);
=======
.then((body) => {
emit("update:error", body.status == "ERR")
return body
@@ -90,7 +54,6 @@ function sendProcessedData(data: JSON) {
function sendProcessedData(data: JSON) {
emit("update:result", data)
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
}
</script>

View File

@@ -5,14 +5,6 @@
<template>
<div class="dark:text-slate-100">
<h1 class="text-3xl mb-4">Welcome to Release11 Tools</h1>
<<<<<<< HEAD
<h2 class="text-xl">Our toolset is split to three main categories:</h2>
<ol class="list-decimal ml-5">
<li><strong>XML</strong> - containing various tools that allow to validate and transform any XML</li>
<li><strong>Formatter</strong> - containing tools for formatting text files in various formats</li>
<li><strong>REST</strong> - consist of Mock that allows to create mocked REST endpoint</li>
</ol>
=======
<h2 class="text-xl">Our tool set is split to three main categories:</h2>
<ul class="list-decimal ml-5">
<li><strong>XML</strong> - containing various tools that allow to validate and transform any XML</li>
@@ -42,13 +34,8 @@
<li><strong>URL</strong> - This tool allow to encode string in the way that is used by browser when you put it in address bar.</li>
</ul>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</div>
</template>
<style scoped></style>
<<<<<<< HEAD
=======
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0

View File

@@ -1,9 +1,5 @@
<script setup lang="ts">
<<<<<<< HEAD
import CodeEditorComponent from '../CodeEditorComponent.vue';
=======
import CodeEditorComponent from '@/components/common/CodeEditorComponent.vue';
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
const props = defineProps(

View File

@@ -55,10 +55,7 @@ function addNewHeader(name : string, value : string){
<template>
<div class="flex flex-col gap-4">
<<<<<<< HEAD
=======
<label>Response Headers</label>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<div class="flex flex-row gap-4">
<div class="w-full">Header name</div>
<div class="w-full">Header value</div>

View File

@@ -10,23 +10,14 @@ const props = defineProps(
</script>
<template>
<<<<<<< HEAD
<div class="w-full text-center text-white mt-2 flex flex-col gap-4 ">
=======
<div class="w-full h-2/3 text-center dark:text-white mt-2 flex flex-col gap-4 overflow-auto">
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<div class="flex flex-row gap-4">
<div class="w-full font-bold">Name</div>
<div class="w-full font-bold">Value</div>
</div >
<div class="flex flex-row gap-4" v-for="(value,name) in JSON.parse(data)" :key="name">
<<<<<<< HEAD
<div class="w-full overflow-hidden">{{ name }}</div>
<div class="w-full overflow-hidden">{{ value }}</div>
=======
<div class="w-1/2 break-words">{{ name }}</div>
<div class="w-1/2 break-words">{{ value }}</div>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</div>
</div>
</template>

View File

@@ -34,14 +34,9 @@ function showHeaders(headers: object, index: number){
<template>
<<<<<<< HEAD
<div class="w-full xl:w-2/5 flex flex-none flex-col gap-y-4">
<HistoryRecords class="xl:h-1/3 overflow-y-scroll" @click:show-headers="showHeaders" @click:show-body="showBody"></HistoryRecords>
=======
<div class="flex flex-1 flex-col xl:w-3/12 justify-items-stretch gap-y-4">
<label class="dark:text-white text-center"><span class="font-bold">Attention! </span>History doesn't refresh automatically! Use refresh button (⟳) on the right!</label>
<HistoryRecords class="xl:h-1/3 overflow-y-auto" @click:show-headers="showHeaders" @click:show-body="showBody"></HistoryRecords>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<BodyDetailComponent :content-type="currentContentType" :data="currentShownData" v-if="shownDetail == 'body' "></BodyDetailComponent>
<HeadersDetailComponent :data="currentShownData" v-if="shownDetail == 'headers' "></HeadersDetailComponent>
</div>

View File

@@ -45,21 +45,12 @@ function refreshHistory(){
</script>
<template>
<<<<<<< HEAD
<div>
<table class="text-white h-28 w-full text-center">
<tr>
<th>Time</th>
<th>HTTP Method</th>
<th>HTTP Headers</th>
=======
<div class="h-28 text-center text-grey-900 dark:text-white">
<table class="w-full">
<tr>
<th>Time</th>
<th>Request <br>HTTP Method</th>
<th>Request Headers</th>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<th>Request Body</th>
<th class="text-2xl"><button @click="refreshHistory()"></button></th>
</tr>
@@ -69,11 +60,7 @@ function refreshHistory(){
<td> <button @click="showHeaders(item.headers, index)" class="underline">Show Headers</button> </td>
<td>
<button v-if="item.requestBody.length != 0" @click="showBody(item.requestBody, index, item.headers['content-type'])" class="underline">Show Body</button>
<<<<<<< HEAD
<span v-else>Empty Body</span>
=======
<span v-else>Empty</span>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</td>
</tr>
</table>

View File

@@ -2,11 +2,7 @@
import {ref, type Ref} from 'vue';
import HeadersComponent from './HeadersComponent.vue';
import SaveComponent from './SaveComponent.vue';
<<<<<<< HEAD
import CodeEditorComponent from '../CodeEditorComponent.vue';
=======
import CodeEditorComponent from '@/components/common/CodeEditorComponent.vue';
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
const clientUUID = ref('');
const host = window.location.protocol + "//" + window.location.hostname + "/mock";
@@ -48,54 +44,30 @@ function showUpdatedCode(newCode : string){
</script>
<template>
<<<<<<< HEAD
<div class="flex flex-col flex-none w-full xl:w-3/5 text-center dark:text-white gap-6 p-1">
<div class="flex flex-col md:flex-row gap-4 items-center md:justify-stretch md:items-end">
<div class="flex flex-col w-full">
<label for="link">Link</label><br/>
=======
<div class="flex flex-col flex-none w-full xl:w-3/5 text-center dark:text-white gap-3 p-1">
<div class="flex flex-col md:flex-row gap-4 items-center md:justify-stretch md:items-end">
<div class="flex flex-col w-full">
<label for="link">REST Service URL</label>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<div class="p-2 w-full border-slate-400 border-2 rounded-lg">
<a class="underline" :href="mockMessageLink">{{ mockMessageLink }}</a>
</div>
</div>
<<<<<<< HEAD
=======
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<SaveComponent v-bind:message-data="messageData"></SaveComponent>
</div>
<div class="flex flex-col md:flex-row w-full gap-4">
<div class="w-full">
<<<<<<< HEAD
<label for="contentType">Content Type</label><br/>
=======
<label for="contentType">Response Content Type</label><br/>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<input class="text-field" id="contentType" type="text" v-model="messageData.contentType"/>
</div>
<div class="w-full">
<<<<<<< HEAD
<label for="httpStatus">HttpStatus</label><br/>
=======
<label for="httpStatus">Response HTTP Status</label><br/>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<input class="text-field" id="httpStatus" type="text" v-model="messageData.httpStatus"/>
</div>
</div>
<<<<<<< HEAD
<div class="flex text-left flex-col overflow-scroll h-3/4">
<label for="messageBody text-center">Body</label>
=======
<div class="flex text-left flex-col overflow-auto gap-2 h-3/4">
<label class="text-center" for="messageBody text-center">Response Body</label>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<CodeEditorComponent
@update:updated-code="showUpdatedCode"
v-model="messageData.messageBody"

View File

@@ -15,11 +15,7 @@ const visible = ref('hidden');
const fetchLink = window.location.protocol + "//" + window.location.hostname + "/mock/api/mock";
function prepareAndSendData(){
<<<<<<< HEAD
if (props.messageData != null || props.messageData != undefined ){
=======
if (props.messageData != null || props.messageData != undefined ){
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
fetch(fetchLink, { method: "put", body:JSON.stringify(props.messageData), headers: { "Content-Type" : "application/json" }})
.then( response => response.text() )
.then( data => {message.value = data} )

View File

@@ -1,23 +1,16 @@
<script setup lang="ts">
<<<<<<< HEAD
=======
import ThemeSwitcherComponent from '../common/ThemeSwitcherComponent.vue';
const emit = defineEmits([
"theme",
]);
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</script>
<template>
<<<<<<< HEAD
<div class="flex flex-col gap-4 text-center font-thin text-slate-600 dark:text-slate-400 ">
=======
<div class="flex flex-col gap-4 items-center text-center font-thin text-slate-600 dark:text-slate-400 ">
<ThemeSwitcherComponent @theme="(theme)=>emit('theme',theme)"></ThemeSwitcherComponent>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<div class="flex flex-col">
<a href="mailto:bugs@release11.com">Found a bug?</a>
<a href="#" class="hidden">Privacy Policy</a>

View File

@@ -8,24 +8,16 @@ import logoWhite from '@assets/logo_czarne.svg';
const logoR11 = ref( logoDark );
<<<<<<< HEAD
=======
const emit = defineEmits([
'theme:changed'
])
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
function changeLogoForTheme(){
logoR11.value = isDarkModeSet() ? logoDark : logoWhite;
}
function isDarkModeSet(){
<<<<<<< HEAD
return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
}
=======
if (localStorage.theme)
return localStorage.theme == "dark";
else
@@ -37,7 +29,6 @@ function changeTheme(theme:string){
emit('theme:changed',theme);
}
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
onMounted( () => {
changeLogoForTheme();
})
@@ -50,13 +41,8 @@ onMounted( () => {
<a href="https://release11.com/">
<img :src="logoR11" class="w-72 h-16 p-2 pt-0"/>
</a>
<<<<<<< HEAD
<div class="flex basis-full flex-col font-medium items-center">
<sidebar-menu-element-component category-name="XML">
=======
<div class="flex basis-full flex-col font-normal items-center">
<sidebar-menu-element-component category-name="Parser">
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<SidebarToolLinkComponent path-to="/xml/xpath" element-content="XPath" />
<SidebarToolLinkComponent path-to="/xml/xquery" element-content="XQuery" />
<SidebarToolLinkComponent path-to="/xml/xsd" element-content="XSD" />
@@ -74,10 +60,6 @@ onMounted( () => {
<SidebarToolLinkComponent path-to="/rest/mock" element-content="Mock" />
</sidebar-menu-element-component>
<<<<<<< HEAD
</div>
<FooterComponent></FooterComponent>
=======
<sidebar-menu-element-component category-name="Encoder">
<SidebarToolLinkComponent path-to="/encoder/base64" element-content="Base64" />
<SidebarToolLinkComponent path-to="/encoder/url" element-content="URL" />
@@ -86,7 +68,6 @@ onMounted( () => {
</div>
<FooterComponent @theme="changeTheme"></FooterComponent>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</div>
</aside>
</template>

View File

@@ -18,17 +18,10 @@ const props = defineProps(
<template>
<div class="w-full mb-4 p-2 rounded-xl shadow-lg bg-gradient-to-r from-blue-400 to-blue-300 dark:from-sky-700 dark:to-sky-900">
<<<<<<< HEAD
<button @click="switchHiddenElement()" type="button" :class="[isActive ? 'rounded-lg' : 'rounded-lg']" class="w-full p-2 text-lg font-bold text-gray-900 transition duration-75 hover:bg-blue-100 dark:text-gray-100 dark:hover:bg-slate-600">
<span class="flex-1 whitespace-nowrap">{{props.categoryName}}</span>
</button>
<div class="flex flex-col w-full py-2 bg-indigo-50 dark:bg-slate-800 rounded-xl font-thin overflow-hidden" :class="[isActive ? 'active' : 'hidden']">
=======
<button @click="switchHiddenElement()" type="button" :class="[isActive ? 'rounded-lg' : 'rounded-lg']" class="w-full p-1 text-lg font-normal text-gray-900 transition duration-75 hover:bg-blue-100 dark:text-gray-100 dark:hover:bg-slate-600">
<span class="flex-1 whitespace-nowrap">{{props.categoryName}}</span>
</button>
<div class="flex flex-col w-full mt-2 py-2 bg-indigo-50 dark:bg-slate-800 rounded-xl font-light overflow-hidden" :class="[isActive ? 'active' : 'hidden']">
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<slot></slot>
</div>
</div>

View File

@@ -17,10 +17,6 @@ const props = defineProps(
<style>
.router-link-active {
<<<<<<< HEAD
font-weight: 500;
=======
font-weight: 600;
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
}
</style>

View File

@@ -1,17 +1,8 @@
<script setup lang="ts">
<<<<<<< HEAD
import InsertTemplateComponent from '@components/common/InsertTemplateComponent.vue';
import XMLButtonFormatterComponent from '@components/formatter/XMLButtonFormatterComponent.vue'
import { ref } from 'vue';
import CodeEditor from '../CodeEditorComponent.vue';
const data = ref('')
=======
import InsertTemplateComponent from '@components/common/InsertTemplateComponent.vue'
import XMLButtonFormatterComponent from '@components/formatter/XMLButtonFormatterComponent.vue'
import { ref } from 'vue'
import CodeEditor from '@/components/common/CodeEditorComponent.vue'
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
const props = defineProps(
{
@@ -19,27 +10,6 @@ const props = defineProps(
data: {type: String},
}
)
<<<<<<< HEAD
const emit = defineEmits(['update'])
function sendValue() {
console.log("input works")
emit('update', data.value)
}
function sendNewValue(newValue : string) {
data.value = newValue
emit('update', data.value)
}
function updateData(newData: string) {
data.value = newData;
sendValue();
}
function clear() {
updateData('');
=======
const emit = defineEmits(['update:modelValue'])
const data = ref('')
@@ -58,15 +28,11 @@ function updateData(newData: string, clearFileSelector: boolean = true) {
function clear() {
updateData('')
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
}
function canBeFormatted() {
return props.stylizedName.toLowerCase() == 'xml' ||
props.stylizedName.toLowerCase() == 'xsd' ||
<<<<<<< HEAD
props.stylizedName.toLowerCase() == 'xslt';
=======
props.stylizedName.toLowerCase() == 'xslt'
}
@@ -80,19 +46,11 @@ function readFile(file : any) {
}
reader.readAsText(file.target.files[0])
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
}
</script>
<template>
<<<<<<< HEAD
<div class="flex flex-col w-full h-1/2 lg:h-1/2 flex-none pr-4 pb-2">
<div class="flex place-content-between w-full items-center">
<span class="dark:text-white">{{ stylizedName }}</span>
<div class="flex space-x-2 pb-2">
<InsertTemplateComponent :stylized-name="props.stylizedName" @update:default-data="(data: string) => updateData(data)"></InsertTemplateComponent>
=======
<div class="flex flex-col w-full h-1/2 lg:h-1/2 flex-none xl:pr-2 2xl:pr-4 pb-2">
<div class="flex place-content-between w-full items-center">
<span class="dark:text-white mr-2">{{ stylizedName }}</span>
@@ -102,15 +60,10 @@ function readFile(file : any) {
</div>
<InsertTemplateComponent :stylized-name="props.stylizedName" @update:default-data="updateData"></InsertTemplateComponent>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<XMLButtonFormatterComponent v-if="canBeFormatted()" :xml="data" @update:result="(data:any) => updateData(data.result)"></XMLButtonFormatterComponent>
<button class="tool-button" @click="clear">Clear</button>
</div>
</div>
<<<<<<< HEAD
<CodeEditor @update:updated-code="sendNewValue" v-model="data" :code="data" :config="{disabled:false, language:stylizedName}"></CodeEditor>
=======
<CodeEditor @update:updated-code="updateData" v-model="data" :code="data" :config="{disabled:false, language:stylizedName}"></CodeEditor>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</div>
</template>

View File

@@ -1,23 +1,13 @@
<script setup lang="ts">
import { onMounted, ref } from 'vue';
<<<<<<< HEAD
import CodeEditor from '../CodeEditorComponent.vue';
=======
import { type TabData } from '../common/TabData'
import CodeEditor from '@/components/common/CodeEditorComponent.vue';
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
const props = defineProps(
{
tool: {type: String, required: true},
<<<<<<< HEAD
xml: {type: String},
query: {type: String}
=======
xml: {type: [String, Array<TabData>], required: true},
query: {type: String, required: true}
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
}
)
@@ -25,23 +15,14 @@ const emit = defineEmits(["update"]);
const result = ref('');
<<<<<<< HEAD
var enginesForCurrentTool = ref(["saxon", "xalan", "libxml"]);
const allVersions = ["1.0", "2.0", "3.0", "3.1"];
var versionsForCurrentEngine = ref([""]);
=======
let enginesForCurrentTool = ref(["saxon", "xalan", "libxml"]);
const allVersions = ["1.0", "2.0", "3.0", "3.1"];
let versionsForCurrentEngine = ref([""]);
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
const engine = ref('');
const version = ref('');
<<<<<<< HEAD
=======
const errorOccurred = ref(false);
const successOccurred = ref(false);
@@ -49,7 +30,6 @@ interface XmlFile {
fileName: string;
fileData: string;
}
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
onMounted(() => {
changeAvailableEngines();
@@ -74,10 +54,6 @@ function changeAvailableVersions() {
changeAvailableVersionsOfXSLT();
else if (props.tool == "xsd")
versionsForCurrentEngine.value = ["N/A"];
<<<<<<< HEAD
=======
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
else if (props.tool == "xpath")
changeAvailableVersionsOfXPath();
@@ -103,45 +79,18 @@ function selectDefaultEngine() {
}
function selectDefaultVersion() {
<<<<<<< HEAD
const lastVersion = versionsForCurrentEngine.value.length - 1
=======
const lastVersion = versionsForCurrentEngine.value.length - 1;
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
version.value = versionsForCurrentEngine.value[lastVersion];
emitVersionChange();
}
function process() {
<<<<<<< HEAD
var request:Request = prepareRequest();
=======
let request:Request = prepareRequest();
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
fetchRequest(request).then((data) => {
updateOutputField(data);
})
}
<<<<<<< HEAD
function prepareRequest():Request {
var request = new Request(prepareURL(), {
body: prepareRequestBody(),
method: "POST"
});
return request
}
function prepareURL(): string {
const engineEndpoint = engine.value == "libxml" ? "libxml" : "java";
return document.location.protocol + "//" + document.location.hostname + "/" + engineEndpoint + "/" + props.tool;
}
function prepareRequestBody():string {
var requestBody = JSON.stringify({
"data": props.xml,
"process": props.query,
=======
function updateOutputField(data: any) {
result.value = data.result
errorOccurred.value = data.status != "OK"
@@ -180,28 +129,12 @@ function prepareRequestBodySingleXml(data: string):string {
let requestBody = JSON.stringify({
"data": data,
"processorData": props.query,
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
"processor": engine.value,
"version": version.value
});
return requestBody;
}
<<<<<<< HEAD
async function fetchRequest(request: Request):Promise<JSON> {
var responseBody = await fetch(request)
.then(response => response.json())
.then((body) => body);
return responseBody;
}
function updateOutputField(data: any) {
result.value = data.result;
}
function clear() {
result.value = "";
=======
function prepareRequestBodyMultiXml():string {
if (!Array.isArray(props.xml))
return "";
@@ -248,26 +181,12 @@ function clear() {
result.value = ""
errorOccurred.value = false
successOccurred.value = false
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
}
function emitVersionChange() {
emit("update", version.value);
}
<<<<<<< HEAD
</script>
<template>
<div class="flex flex-col flex-none w-full lg:w-1/2 h-1/3 lg:h-full items-center pb-2 pr-2">
<div class="flex place-content-between w-full items-center pb-2">
<span class="dark:text-white">Result:</span>
<div class="flex space-x-2">
<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 enginesForCurrentTool" :value="engine">{{ engine }}</option>
</select>
<select v-model="version" name="version" @change="emitVersionChange()" class="px-3 rounded-full border border-slate-400 bg-white dark:text-slate-100 dark:bg-gray-600">
=======
function isVersionSelectionAvailable() {
return !(versionsForCurrentEngine.value.length == 1 && versionsForCurrentEngine.value.at(0) == "N/A");
}
@@ -293,20 +212,14 @@ function highlightField() {
<option v-for="engine in enginesForCurrentTool" :value="engine">{{ engine }}</option>
</select>
<select v-model="version" v-if="isVersionSelectionAvailable()" name="version" @change="emitVersionChange()" class="px-3 rounded-full border border-slate-400 bg-white dark:text-slate-100 dark:bg-gray-600">
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<option v-for="version in versionsForCurrentEngine" :value="version">{{ version }}</option>
</select>
<button class="tool-button" @click="clear">Clear</button>
<button class="tool-button" @click="process">Process</button>
</div>
</div>
<<<<<<< HEAD
<div class="overflow-scroll h-full w-full">
<CodeEditor :code="result" :config="{disabled:true,language:tool}"></CodeEditor>
=======
<div class="overflow-auto h-full w-full rounded-2xl" :class="highlightField()">
<CodeEditor :code="result" :config="{disabled:false,language:tool}"></CodeEditor>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</div>
</div>

View File

@@ -13,11 +13,7 @@ function toggleTooltips() {
</script>
<template>
<<<<<<< HEAD
<div class="flex p-2 flex-col rounded-xl shadow-lg bg-gradient-to-r from-zinc-400 to-slate-400 dark:from-slate-600 dark:to-slate-700">
=======
<div class="flex p-2 flex-col rounded-xl shadow-lg bg-gradient-to-r from-gray-300 to-slate-300 dark:from-slate-500 dark:to-slate-600">
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<button :class="{ 'mb-2' : !isCategoryHidden }" class="dark:text-slate-100 hover:font-bold" @click="toggleTooltips()">{{ props.name }}</button>
<div id="content" :class="{'hidden' : isCategoryHidden}" class="flex flex-col gap-4 w-full h-fit p-2 rounded-xl dark:text-white bg-indigo-50 dark:bg-slate-800" >
<slot></slot>

View File

@@ -58,19 +58,11 @@ function toggleTooltips() {
</script>
<template>
<<<<<<< HEAD
<div :class="areTooltipsHidden ? 'w-fit' : 'w-4/12'" class="hidden 2xl: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-scroll rounded-xl dark:text-white bg-indigo-50 dark:bg-slate-800" >
=======
<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" >
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<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">

View File

@@ -12,7 +12,6 @@ const props = defineProps({
function getDiffEntry(toolVersion : String) : string[] {
if ( props.toolName == "xpath" ){
switch(toolVersion){
<<<<<<< HEAD
case "2.0" : {
return xpathDiffs.VersionDiffs[0].diffs
}
@@ -26,21 +25,6 @@ function getDiffEntry(toolVersion : String) : string[] {
return xpathDiffs.VersionDiffs[2].diffs
}
}
=======
case "2.0" : {
return xpathDiffs.VersionDiffs[0].diffs
}
case "3.0" : {
return xpathDiffs.VersionDiffs[1].diffs
}
case "3.1" : {
return xpathDiffs.VersionDiffs[2].diffs
}
default: {
return xpathDiffs.VersionDiffs[2].diffs
}
}
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
} else if (props.toolName == "xslt") {
return ["XSLT 2.0"].concat(xsltDiffs.VersionDiffs[0].diffs).concat(["XSLT 3.0"]).concat(xsltDiffs.VersionDiffs[1].diffs) ;
} else{
@@ -72,11 +56,7 @@ function getInfo(num : number ){
</span>
</TooltipCategoryComponent>
<<<<<<< HEAD
<TooltipCategoryComponent v-if="toolVersion !== '1.0'" :name="getInfo(1).category">
=======
<TooltipCategoryComponent v-if="toolVersion !== '1.0'" :name="getInfo(1).category + ' ' + toolVersion + '?'">
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
<span v-for=" diff in getDiffEntry(toolVersion)" v-bind:key="diff" class=" text-justify" >
<div class="w-full h-4 text-center" v-if="diff.includes('XSLT')">
------------ {{ diff }} ------------

View File

@@ -12,14 +12,11 @@ const xsdTool = import("@views/XSDView.vue")
const xpathTool = import("@views/XPathView.vue")
const xqueryTool = import("@views/XQueryView.vue")
<<<<<<< HEAD
=======
const base64Encoder = import("@views/Base64EncoderView.vue")
const urlEncoder = import("@views/UrlEncoderView.vue")
const restMockMan = import("@views/man/RestMockManView.vue")
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
const routes = [
{
path: '/',
@@ -65,8 +62,6 @@ const routes = [
path: '/rest/mock',
name: 'restmock',
component: () => restMock
<<<<<<< HEAD
=======
},
{
path: '/encoder/base64',
@@ -82,7 +77,6 @@ const routes = [
path: '/man/rest-mock',
name: 'RestMockManView',
component: () => restMockMan
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
}
]

View File

@@ -1,42 +1,8 @@
<script setup lang="ts">
<<<<<<< HEAD
import InsertTemplateComponent from '@components/common/InsertTemplateComponent.vue';
import CodeEditorComponent from '@/components/CodeEditorComponent.vue';
import { ref } from 'vue';
import HtmlButtonFormatterComponent from '@/components/formatter/HtmlButtonFormatterComponent.vue';
const html = ref('');
function clear() {
html.value = '';
}
function setTextFieldValue(data: string) {
html.value = data.toString()
}
=======
import FormatterComponent from '@/components/formatter/FormatterComponent.vue';
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</script>
<template>
<<<<<<< HEAD
<div id="layout" class="flex flex-col w-full h-full gap-4">
<div id="toolbar" class="flex flex-col gap-4 items-center lg:flex-row place-content-between">
<span class="dark:text-slate-100">HTML Formatter</span>
<div class="flex flex-wrap gap-2 justify-center">
<InsertTemplateComponent stylized-name="HTML" @update:defaultData="setTextFieldValue"></InsertTemplateComponent>
<button class="tool-button" @click="clear()">Clear</button>
<HtmlButtonFormatterComponent @update:result="setTextFieldValue" :code="html" format-type="Minimize" />
<HtmlButtonFormatterComponent @update:result="setTextFieldValue" :code="html" format-type="Prettify" />
<HtmlButtonFormatterComponent @update:result="setTextFieldValue" :code="html" format-type="XML Converter" />
</div>
</div>
<CodeEditorComponent @update:updated-code="setTextFieldValue" :code="html" :config="{disabled:false,language:'html'}" />
</div>
=======
<FormatterComponent formatter-language="HTML"></FormatterComponent>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</template>

View File

@@ -1,45 +1,8 @@
<script setup lang="ts">
<<<<<<< HEAD
import CodeEditorComponent from '@/components/CodeEditorComponent.vue';
import JsonButtonFormatterComponent from '@/components/formatter/JsonButtonFormatterComponent.vue';
import InsertTemplateComponent from '@components/common/InsertTemplateComponent.vue';
import { ref } from 'vue';
const json = ref('');
function setTextFieldValue(data: string) {
json.value = data
}
function format(formattedXml: any) {
json.value = formattedXml.data;
}
function clear() {
json.value = '';
}
=======
import FormatterComponent from '@/components/formatter/FormatterComponent.vue';
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</script>
<template>
<<<<<<< HEAD
<div id="layout" class="flex flex-col w-full h-full gap-4">
<div id="toolbar" class= "flex flex-col gap-4 items-center lg:flex-row place-content-between">
<span class="dark:text-slate-100">JSON Formatter</span>
<div class="flex flex-wrap gap-2 justify-center">
<InsertTemplateComponent stylized-name="JSON" @update:defaultData="(data: string) => setTextFieldValue(data)"></InsertTemplateComponent>
<button class="tool-button" @click="clear()">Clear</button>
<JsonButtonFormatterComponent isMinimizer :json="json" @update:result="(data: any) => format(data)"></JsonButtonFormatterComponent>
<JsonButtonFormatterComponent :json="json" @update:result="(data: any) => format(data)"></JsonButtonFormatterComponent>
</div>
</div>
<CodeEditorComponent @update:updated-code="setTextFieldValue" :code="json" :config="{disabled:false,language:'json'}" />
</div>
=======
<FormatterComponent formatter-language="JSON"></FormatterComponent>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</template>

View File

@@ -1,16 +1,6 @@
<script setup lang="ts">
import RestMockMessageComponent from '@components/mock/RestMockMessageComponent.vue'
import HistoryComponent from '@components/mock/HistoryComponent.vue'
<<<<<<< HEAD
</script>
<template>
<div class="flex flex-col xl:flex-row gap-6 w-full overflow-y-scroll overflow-x-hidden h-full">
<RestMockMessageComponent></RestMockMessageComponent>
<HistoryComponent></HistoryComponent>
=======
import ManTooltipComponent from '@/components/man/ManTooltipComponent.vue';
import RestMockManComponent from '@/components/man/RestMockManComponent.vue';
import { ref } from 'vue';
@@ -34,7 +24,6 @@ function setHistoryVisibility(visibility : boolean) {
</div>
<RestMockManComponent></RestMockManComponent>
</ManTooltipComponent>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</div>
</template>

View File

@@ -16,19 +16,11 @@ function updateVersion(newVersion: string) {
</script>
<template>
<<<<<<< HEAD
<div id="layout" class="flex flex-col lg:flex-row w-full h-full">
<div class="flex flex-col lg:flex-row w-full lg:w-7/12 grow overflow-hide px-2">
<div class="flex flex-col w-full lg:w-1/2 h-2/3 lg:h-full flex-none items-center">
<xmlInputFieldComponent stylized-name="XML" :data="xml" @update="(data) => {xml = data}"></xmlInputFieldComponent>
<xmlInputFieldComponent stylized-name="XPath" :data="query" @update="(data) => {query = data}"></xmlInputFieldComponent>
=======
<div id="layout" class="flex flex-row w-full h-full">
<div class="flex flex-col 2xl:flex-row w-full xl:w-7/12 grow overflow-hide xl:pr-2">
<div class="flex flex-col w-full 2xl:w-1/2 h-2/3 2xl:h-full flex-none items-center">
<xmlInputFieldComponent stylized-name="XML" v-model="xml"></xmlInputFieldComponent>
<xmlInputFieldComponent stylized-name="XPath" v-model="query"></xmlInputFieldComponent>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</div>
<xmlOutputFieldComponent tool="xpath" :xml="xml" :query="query" @update="(version) => updateVersion(version)"></xmlOutputFieldComponent>
</div>

View File

@@ -10,17 +10,10 @@ const query = ref('');
</script>
<template>
<<<<<<< HEAD
<div id="layout" class="flex flex-col lg:flex-row w-full h-full">
<div class="flex flex-col w-full lg:w-1/2 h-2/3 lg:h-full flex-none items-center">
<xmlInputFieldComponent stylized-name="XML" @update="(data) => {xml = data}"></xmlInputFieldComponent>
<xmlInputFieldComponent stylized-name="XQuery" @update="(data) => {query = data}"></xmlInputFieldComponent>
=======
<div id="layout" class="flex flex-col 2xl:flex-row w-full h-full">
<div class="flex flex-col w-full 2xl:w-1/2 h-2/3 2xl:h-full flex-none items-center">
<xmlInputFieldComponent stylized-name="XML" v-model="xml"></xmlInputFieldComponent>
<xmlInputFieldComponent stylized-name="XQuery" v-model="query"></xmlInputFieldComponent>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</div>
<xmlOutputFieldComponent tool="xquery" :xml="xml" :query="query"></xmlOutputFieldComponent>
</div>

View File

@@ -10,17 +10,10 @@ const query = ref('');
</script>
<template>
<<<<<<< HEAD
<div id="layout" class="flex flex-col lg:flex-row w-full h-full">
<div class="flex flex-col w-full lg:w-1/2 h-2/3 lg:h-full flex-none items-center">
<xmlInputFieldComponent stylized-name="XML" @update="(data) => {xml = data}"></xmlInputFieldComponent>
<xmlInputFieldComponent stylized-name="XSD" @update="(data) => {query = data}"></xmlInputFieldComponent>
=======
<div id="layout" class="flex flex-col 2xl:flex-row w-full h-full">
<div class="flex flex-col w-full 2xl:w-1/2 h-2/3 2xl:h-full flex-none items-center">
<xmlInputFieldComponent stylized-name="XML" v-model="xml"></xmlInputFieldComponent>
<xmlInputFieldComponent stylized-name="XSD" v-model="query"></xmlInputFieldComponent>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</div>
<xmlOutputFieldComponent tool="xsd" :xml="xml" :query="query"></xmlOutputFieldComponent>
</div>

View File

@@ -1,13 +1,5 @@
<script setup lang="ts">
import xmlInputFieldComponent from '@/components/xml/XmlInputFieldComponent.vue';
<<<<<<< HEAD
import xmlOutputFieldComponent from '@/components/xml/XmlOutputFieldComponent.vue';
import TooltipComponent from '@/components/xml/tooltips/TooltipComponent.vue';
import { ref } from 'vue';
const xml = ref('');
=======
import xmlTabbedInputComponent from '@/components/xml/XmlTabbedInputComponent.vue';
import xmlOutputFieldComponent from '@/components/xml/XmlOutputFieldComponent.vue';
import TooltipComponent from '@/components/xml/tooltips/TooltipComponent.vue';
@@ -17,25 +9,12 @@ import { ref } from 'vue';
const xml = ref(new Array<TabData>);
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
const query = ref('');
const version = ref('');
function updateVersion(newVersion: string) {
version.value = newVersion;
}
<<<<<<< HEAD
</script>
<template>
<div id="layout" class="flex flex-col lg:flex-row w-full h-full">
<div class="flex flex-col lg:flex-row w-full lg:w-7/12 grow overflow-hide px-2">
<div class="flex flex-col w-full lg:w-1/2 h-2/3 lg:h-full flex-none items-center">
<xmlInputFieldComponent stylized-name="XML" @update="(data) => {xml = data}"></xmlInputFieldComponent>
<xmlInputFieldComponent stylized-name="XSLT" @update="(data) => {query = data}"></xmlInputFieldComponent>
</div>
<xmlOutputFieldComponent tool="xslt" :xml="xml" :query="query" @update="(version) => updateVersion(version)"></xmlOutputFieldComponent>
=======
</script>
@@ -47,7 +26,6 @@ function updateVersion(newVersion: string) {
<xmlInputFieldComponent stylized-name="XSLT" :data="query" v-model="query"></xmlInputFieldComponent>
</div>
<xmlOutputFieldComponent tool="xslt" :xml="xml" :query="query" @update="updateVersion"></xmlOutputFieldComponent>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</div>
<TooltipComponent tool-type="xslt" :version="version"></TooltipComponent>
</div>

View File

@@ -1,45 +1,8 @@
<script setup lang="ts">
<<<<<<< HEAD
import XMLButtonFormatterComponent from '@/components/formatter/XMLButtonFormatterComponent.vue';
import InsertTemplateComponent from '@components/common/InsertTemplateComponent.vue';
import CodeEditorComponent from '@/components/CodeEditorComponent.vue';
import { ref } from 'vue';
const xml = ref('');
function setTextFieldValue(data: string) {
xml.value = data
}
function format(formattedXml: any) {
xml.value = formattedXml.result;
}
function clear() {
xml.value = '';
}
=======
import FormatterComponent from '@/components/formatter/FormatterComponent.vue';
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</script>
<template>
<<<<<<< HEAD
<div id="layout" class="flex flex-col w-full h-full gap-4">
<div id="toolbar" class= "flex flex-col gap-4 items-center lg:flex-row place-content-between">
<span class="dark:text-slate-100">XML Formatter</span>
<div class="flex flex-wrap gap-2 justify-center">
<InsertTemplateComponent stylized-name="XML" @update:defaultData="(data: string) => setTextFieldValue(data)"></InsertTemplateComponent>
<button class="tool-button" @click="clear()">Clear</button>
<XMLButtonFormatterComponent is-minimizer :xml="xml" @update:result="(data: any) => format(data)"></XMLButtonFormatterComponent>
<XMLButtonFormatterComponent :xml="xml" @update:result="(data: any) => format(data)"></XMLButtonFormatterComponent>
</div>
</div>
<CodeEditorComponent @update:updated-code="setTextFieldValue" :code="xml" :config="{disabled:false,language:'xml'}" />
</div>
=======
<FormatterComponent formatter-language="XML"></FormatterComponent>
>>>>>>> 307e732608fca31b60027b417412691ff0e1c2f0
</template>