Skip to content

Commit 1a27ad3

Browse files
committed
🐛 [fix] TaskDetail 열려 있을 때 드래그 되는 현상 수정
1 parent a8e29e5 commit 1a27ad3

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

src/components/common/TaskCard.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
22
<div
3-
class="w-full max-w-80 border-l-8 bg-white py-4 pl-4 pr-4 flex flex-col gap-6 rounded-lg shadow-custom hover:bg-background-2 cursor-pointer"
3+
class="w-full max-w-80 border-l-8 bg-white p-4 flex flex-col gap-6 rounded-lg shadow-custom hover:bg-background-2 cursor-pointer"
44
:class="borderLeft"
55
@click="handleModal(data.taskId)">
66
<div class="flex flex-col gap-1">
@@ -54,6 +54,7 @@ import ImageContainer from './ImageContainer.vue'
5454
import TaskDetail from '../task-detail/TaskDetail.vue'
5555
5656
const { data } = defineProps<{ data: TaskCardProps; draggable?: boolean }>()
57+
const emit = defineEmits(['toggleModal'])
5758
const selectedID = ref<number | null>(null)
5859
5960
const borderLeft = computed(() => {
@@ -63,6 +64,7 @@ const borderLeft = computed(() => {
6364
const handleModal = (id: number | null) => {
6465
if (id) document.body.style.overflow = 'hidden'
6566
else document.body.style.overflow = ''
67+
emit('toggleModal')
6668
selectedID.value = id
6769
}
6870
</script>

src/components/task-board/TaskBoard.vue

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,14 @@
3434
group="taskList"
3535
item-key="task"
3636
class="flex flex-col gap-4 h-full"
37-
@change="event => onListChange(event, 'IN_PROGRESS')">
37+
@change="event => onListChange(event, 'IN_PROGRESS')"
38+
:disabled="isDetailOpen">
3839
<template #item="{ element }">
3940
<div>
4041
<TaskCard
4142
:key="element.taskId"
4243
:data="element"
44+
@toggle-modal="isDetailOpen = !isDetailOpen"
4345
draggable />
4446
</div>
4547
</template>
@@ -61,12 +63,14 @@
6163
group="taskList"
6264
item-key="task"
6365
class="flex flex-col gap-4 h-full"
64-
@change="event => onListChange(event, 'IN_REVIEWING')">
66+
@change="event => onListChange(event, 'IN_REVIEWING')"
67+
:disabled="isDetailOpen">
6568
<template #item="{ element }">
6669
<div>
6770
<TaskCard
6871
:key="element.taskId"
6972
:data="element"
73+
@toggle-modal="isDetailOpen = !isDetailOpen"
7074
draggable />
7175
</div>
7276
</template>
@@ -88,12 +92,14 @@
8892
group="taskList"
8993
item-key="task"
9094
class="flex flex-col gap-4 h-full"
91-
@change="event => onListChange(event, 'COMPLETED')">
95+
@change="event => onListChange(event, 'COMPLETED')"
96+
:disabled="isDetailOpen">
9297
<template #item="{ element }">
9398
<div>
9499
<TaskCard
95100
:key="element.taskId"
96101
:data="element"
102+
@toggle-modal="isDetailOpen = !isDetailOpen"
97103
draggable />
98104
</div>
99105
</template>
@@ -110,7 +116,7 @@ import type { Status } from '@/types/common'
110116
import type { DraggableEvent, TaskCardList } from '@/types/manager'
111117
import { axiosInstance } from '@/utils/axios'
112118
import { useQuery, useQueryClient } from '@tanstack/vue-query'
113-
import { computed } from 'vue'
119+
import { computed, ref } from 'vue'
114120
import draggableComponent from 'vuedraggable'
115121
import { storeToRefs } from 'pinia'
116122
import { useParseParams } from '@/hooks/useParseParams'
@@ -183,4 +189,6 @@ const { data } = useQuery<TaskCardList>({
183189
const tasksInProgress = computed(() => [...(data.value?.tasksInProgress || [])])
184190
const tasksInReviewing = computed(() => [...(data.value?.tasksInReviewing || [])])
185191
const tasksCompleted = computed(() => [...(data.value?.tasksCompleted || [])])
192+
193+
const isDetailOpen = ref(false)
186194
</script>

0 commit comments

Comments
 (0)