Skip to content

Commit 3a54204

Browse files
author
Jaime de Venecia
committed
adds own npm packages to disable background drag functionality
1 parent 2aa99e3 commit 3a54204

File tree

3 files changed

+98
-10
lines changed

3 files changed

+98
-10
lines changed

package-lock.json

Lines changed: 39 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
"concurrently:dev:jest": "concurrently \"quasar dev\" \"jest --watch\""
2626
},
2727
"dependencies": {
28+
"@overvue/vue3-tree-chart": "^0.6.9",
2829
"@quasar/cli": "^1.3.2",
2930
"@quasar/extras": "^1.12.5",
3031
"@ssthouse/vue3-tree-chart": "^0.2.3",

src/components/right-sidebar/Tree.vue

Lines changed: 58 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,13 @@ Description:
55
-->
66

77
<script setup lang="ts">
8-
import VueTree from "@ssthouse/vue3-tree-chart";
9-
import "@ssthouse/vue3-tree-chart/dist/vue3-tree-chart.css";
8+
// import VueTree from "@ssthouse/vue3-tree-chart";
9+
// import "@ssthouse/vue3-tree-chart/dist/vue3-tree-chart.css";
10+
11+
// OverVue v.10.0 –– edited @sst-house files to remove background drag functionality
12+
import VueTree from "@overvue/vue3-tree-chart";
13+
import "@overvue/vue3-tree-chart/dist/vue3-tree-chart.css";
14+
1015
import { useStore } from "../../store/main.js";
1116
import { ref, computed, watch } from "vue";
1217

@@ -157,6 +162,40 @@ watch(
157162

158163
{ deep: true }
159164
);
165+
166+
/*METHODS FOR DRAG-AND-DROP */
167+
const startDrag = (event: Event) => {
168+
// //add a class to make the html element currently being drag transparent
169+
(event.target as HTMLElement).classList.add("currentlyDragging");
170+
// const dragId = id;
171+
// //store the id of dragged element
172+
// if (activeComponent.value === "") setSelectedIdDrag(dragId);
173+
// else setIdDrag(dragId);
174+
console.log("drag event: ", event);
175+
};
176+
177+
const dragEnter = (event: Event, id: string) => {
178+
// event.preventDefault();
179+
// const dropId = id;
180+
// //store the id of the html element whose location the dragged html element could be dropped upon
181+
// if (activeComponent.value === "") setSelectedIdDrop(dropId);
182+
// else setIdDrop(dropId);
183+
};
184+
185+
const dragOver = (event: Event) => {
186+
// //needed stop the dragend animation so endDrag is invoked automatically
187+
// event.preventDefault();
188+
};
189+
190+
const endDrag = (event: Event) => {
191+
// //remove the 'currentlyDragging' class after the HTML is dropped to remove transparency
192+
event.preventDefault();
193+
(event.target as HTMLElement).classList.remove("currentlyDragging");
194+
console.log("drag ended: ", event);
195+
// //invoke the action that will use the idDrag and idDrop to sort the HtmlList
196+
// if (activeComponent.value === "") dragDropSortSelectedHtmlElements();
197+
// else dragDropSortHtmlElements();
198+
};
160199
</script>
161200

162201
<template>
@@ -169,7 +208,14 @@ watch(
169208
@wheel="zoom"
170209
>
171210
<template v-slot:node="{ node }">
172-
<span v-if="activeComponent === node.value" class="tree-node-active">
211+
<span
212+
v-if="activeComponent === node.value"
213+
class="tree-node-active"
214+
@dragstart="startDrag($event)"
215+
draggable="true"
216+
:stop-propagation="true"
217+
@dragend="endDrag($event)"
218+
>
173219
{{ node.value }}
174220
</span>
175221
<span
@@ -178,7 +224,15 @@ watch(
178224
>
179225
{{ node.value }}
180226
</span>
181-
<span v-else class="tree-node" @click="activateNode(node.value)">
227+
<span
228+
v-else
229+
class="tree-node"
230+
@click="activateNode(node.value)"
231+
@dragstart="startDrag($event)"
232+
draggable="true"
233+
:stop-propagation="true"
234+
@dragend="endDrag($event)"
235+
>
182236
{{ node.value }}
183237
</span>
184238
</template>

0 commit comments

Comments
 (0)