Changed value is sent to backend
This commit is contained in:
		| @@ -25,8 +25,8 @@ function remove() { | ||||
| </script> | ||||
|  | ||||
| <template> | ||||
|     <div :class=" isActive ? 'tab-active' : 'tab'" class="flex flex-row gap-3"> | ||||
|         <button @click="activate" class="hover:brightness-110"><slot /></button> | ||||
|     <div @click="activate" :class=" isActive ? 'tab-active' : 'tab'" class="flex flex-row gap-3 cursor-pointer"> | ||||
|         <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> | ||||
|     </div> | ||||
| </template> | ||||
| @@ -6,7 +6,9 @@ import { ref } from 'vue' | ||||
| import CodeEditor from '../CodeEditorComponent.vue' | ||||
|  | ||||
| const newTabId = ref(0); | ||||
| const activeTabId = ref(0) | ||||
| const activeTabId = ref(0); | ||||
| const prevActiveTabId = ref(-1); | ||||
|  | ||||
| const tabs = ref(new Array<TabData>); | ||||
| tabs.value.push({ | ||||
|     id: newTabId.value++, | ||||
| @@ -60,12 +62,18 @@ function readFile(file : any) { | ||||
|      | ||||
|     const reader = new FileReader() | ||||
|     reader.onloadend = () => { | ||||
|         var result = reader.result?.toString() | ||||
|         if (typeof result == "string") | ||||
|             sendNewValue(result) | ||||
|         var result = reader.result!.toString(); | ||||
|         console.log(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) { | ||||
| @@ -73,8 +81,11 @@ function changeActiveTab(id : number) { | ||||
|     let newIndex = findIndexWithID(id); | ||||
|      | ||||
|     tabs.value.at(index)!.data = data.value; | ||||
|     prevActiveTabId.value = activeTabId.value; | ||||
|     activeTabId.value = id; | ||||
|     data.value = tabs.value.at(newIndex)!.data; | ||||
|  | ||||
|     sendValue(); | ||||
| } | ||||
|  | ||||
| function addTab() { | ||||
| @@ -83,18 +94,24 @@ function addTab() { | ||||
|         name: "XML" + newTabId.value, | ||||
|         data: "" | ||||
|     }) | ||||
|  | ||||
|     console.log(tabs.value); | ||||
| } | ||||
|  | ||||
| function removeTab(id : number) { | ||||
|     if (tabs.value.length == 1) | ||||
|         return | ||||
|  | ||||
|     let index = findIndexWithID(activeTabId.value); | ||||
|     tabs.value.splice(index, 1); | ||||
|     if (activeTabId.value == id) { | ||||
|         activeTabId.value = tabs.value.at(0)!.id; | ||||
|         data.value = tabs.value.at(0)!.data; | ||||
|     } | ||||
|     let indexToRemove = findIndexWithID(id); | ||||
|     let activeIndex = findIndexWithID(activeTabId.value); | ||||
|  | ||||
|     if (indexToRemove == activeIndex && activeIndex == 0) | ||||
|         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