Changed value is sent to backend
This commit is contained in:
		@@ -25,8 +25,8 @@ function remove() {
 | 
				
			|||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<template>
 | 
					<template>
 | 
				
			||||||
    <div :class=" isActive ? 'tab-active' : 'tab'" class="flex flex-row gap-3">
 | 
					    <div @click="activate" :class=" isActive ? 'tab-active' : 'tab'" class="flex flex-row gap-3 cursor-pointer">
 | 
				
			||||||
        <button @click="activate" class="hover:brightness-110"><slot /></button>
 | 
					        <button class="hover:brightness-110"><slot /></button>
 | 
				
			||||||
        <button @click="remove" class="hover:brightness-110 hover:dark:bg-slate-400 hover:dark:text-black px-2 rounded-full">x</button>
 | 
					        <button @click="remove" class="hover:brightness-110 hover:dark:bg-slate-400 hover:dark:text-black px-2 rounded-full">x</button>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
</template>
 | 
					</template>
 | 
				
			||||||
@@ -6,7 +6,9 @@ import { ref } from 'vue'
 | 
				
			|||||||
import CodeEditor from '../CodeEditorComponent.vue'
 | 
					import CodeEditor from '../CodeEditorComponent.vue'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const newTabId = ref(0);
 | 
					const newTabId = ref(0);
 | 
				
			||||||
const activeTabId = ref(0)
 | 
					const activeTabId = ref(0);
 | 
				
			||||||
 | 
					const prevActiveTabId = ref(-1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const tabs = ref(new Array<TabData>);
 | 
					const tabs = ref(new Array<TabData>);
 | 
				
			||||||
tabs.value.push({
 | 
					tabs.value.push({
 | 
				
			||||||
    id: newTabId.value++,
 | 
					    id: newTabId.value++,
 | 
				
			||||||
@@ -60,12 +62,18 @@ function readFile(file : any) {
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
    const reader = new FileReader()
 | 
					    const reader = new FileReader()
 | 
				
			||||||
    reader.onloadend = () => {
 | 
					    reader.onloadend = () => {
 | 
				
			||||||
        var result = reader.result?.toString()
 | 
					        var result = reader.result!.toString();
 | 
				
			||||||
        if (typeof result == "string")
 | 
					        console.log(result);
 | 
				
			||||||
            sendNewValue(result)
 | 
					        sendNewValue(result);
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    reader.readAsText(file.target.files[0])
 | 
					    reader.readAsText(file.target.files[0]);
 | 
				
			||||||
 | 
					    let activeIndex = findIndexWithID(activeTabId.value);
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    let filePath = inputFile.value.value.split("\\");
 | 
				
			||||||
 | 
					    let fileName = filePath.at(filePath.length - 1);
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    tabs.value.at(activeIndex)!.name = fileName;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function changeActiveTab(id : number) {
 | 
					function changeActiveTab(id : number) {
 | 
				
			||||||
@@ -73,8 +81,11 @@ function changeActiveTab(id : number) {
 | 
				
			|||||||
    let newIndex = findIndexWithID(id);
 | 
					    let newIndex = findIndexWithID(id);
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    tabs.value.at(index)!.data = data.value;
 | 
					    tabs.value.at(index)!.data = data.value;
 | 
				
			||||||
 | 
					    prevActiveTabId.value = activeTabId.value;
 | 
				
			||||||
    activeTabId.value = id;
 | 
					    activeTabId.value = id;
 | 
				
			||||||
    data.value = tabs.value.at(newIndex)!.data;
 | 
					    data.value = tabs.value.at(newIndex)!.data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    sendValue();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function addTab() {
 | 
					function addTab() {
 | 
				
			||||||
@@ -83,18 +94,24 @@ function addTab() {
 | 
				
			|||||||
        name: "XML" + newTabId.value,
 | 
					        name: "XML" + newTabId.value,
 | 
				
			||||||
        data: ""
 | 
					        data: ""
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    console.log(tabs.value);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function removeTab(id : number) {
 | 
					function removeTab(id : number) {
 | 
				
			||||||
    if (tabs.value.length == 1)
 | 
					    if (tabs.value.length == 1)
 | 
				
			||||||
        return
 | 
					        return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let index = findIndexWithID(activeTabId.value);
 | 
					    let indexToRemove = findIndexWithID(id);
 | 
				
			||||||
    tabs.value.splice(index, 1);
 | 
					    let activeIndex = findIndexWithID(activeTabId.value);
 | 
				
			||||||
    if (activeTabId.value == id) {
 | 
					
 | 
				
			||||||
        activeTabId.value = tabs.value.at(0)!.id;
 | 
					    if (indexToRemove == activeIndex && activeIndex == 0)
 | 
				
			||||||
        data.value = tabs.value.at(0)!.data;
 | 
					        changeActiveTab(tabs.value.at(1)!.id)
 | 
				
			||||||
    }
 | 
					    else if (indexToRemove == activeIndex)
 | 
				
			||||||
 | 
					        changeActiveTab(tabs.value.at(0)!.id)
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    tabs.value.splice(indexToRemove, 1);
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user