@@ -30,7 +30,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. -->
3030 <div
3131 id =" board-title"
3232 :class =" [
33- 'flex flex-row items-start justify-between gap-4',
33+ 'flex flex-row justify-between gap-4',
3434 titleTextClassZoom,
3535 ]"
3636 >
@@ -66,36 +66,37 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. -->
6666 emitter.emit('columnActionDone');
6767 "
6868 />
69-
70- <div class =" flex flex-row items-center gap-2" >
71- <Tooltip v-if =" addToTopButtonShown" direction =" top" >
72- <template #trigger >
73- <PlusIcon
74- :class =" [
75- 'text-dim-4 text-accent-hover cursor-pointe mt-1.5 shrink-0 grow-0',
76- iconSizeClass,
77- ]"
69+
70+ <Dropdown align =" end" >
71+ <template #trigger >
72+ <button
73+ class =" bg-elevation-1 bg-elevation-2-hover transition-button h-full rounded-md"
74+ @click.prevent
75+ >
76+ <EllipsisHorizontalIcon class =" size-6" />
77+ </button >
78+ </template >
79+ <template #content >
80+ <DropdownMenuItem
81+ class =" bg-elevation-2-hover w-full cursor-pointer rounded-md px-4 py-1.5 pr-6 text-left flex items-center gap-2"
7882 @click =" enableCardAddMode(true)"
79- />
80- </template >
81-
82- <template #content >{{
83- $t("components.kanban.column.addCardTop")
84- }}</template >
85- </Tooltip >
86-
87- <ClickCounter
88- @double-click =" $emit('removeColumnNoConfirmation', id)"
89- @single-click =" $emit('removeColumn', id)"
90- >
91- <XMarkIcon
92- :class =" [
93- 'text-dim-4 text-accent-hover mt-1.5 shrink-0 grow-0 cursor-pointer',
94- iconSizeClass,
95- ]"
96- />
97- </ClickCounter >
98- </div >
83+ >
84+ {{$t('components.kanban.column.addCardTop')}}
85+ </DropdownMenuItem >
86+ <DropdownMenuItem
87+ class =" bg-elevation-2-hover w-full cursor-pointer rounded-md px-4 py-1.5 pr-6 text-left flex items-center gap-2"
88+ @click =" $emit('removeAllColumnCards', id)"
89+ >
90+ {{$t('components.kanban.card.deleteAllColumnCardsAction')}}
91+ </DropdownMenuItem >
92+ <DropdownMenuItem
93+ class =" bg-elevation-2-hover w-full cursor-pointer rounded-md px-4 py-1.5 pr-6 text-left flex items-center gap-2"
94+ @click =" $emit('removeColumn', id)"
95+ >
96+ {{$t('components.kanban.column.deleteColumnAction')}}
97+ </DropdownMenuItem >
98+ </template >
99+ </Dropdown >
99100 </div >
100101
101102 <Container
@@ -213,7 +214,7 @@ import type { Ref } from "vue";
213214
214215import { applyDrag } from " @/utils/drag-n-drop" ;
215216import emitter from " @/utils/emitter" ;
216- import { PlusIcon , XMarkIcon } from " @heroicons/vue/24/solid" ;
217+ import { PlusIcon , EllipsisHorizontalIcon } from " @heroicons/vue/24/solid" ;
217218// @ts-expect-error, sadly this library does not have ts typings
218219import { Container , Draggable } from " vue3-smooth-dnd" ;
219220import { useI18n } from " vue-i18n" ;
@@ -238,6 +239,7 @@ const emit = defineEmits<{
238239 (e : " openEditCardModal" , columnId : string , el : Card ): void ;
239240 (e : " addCard" , columnId : string , card : Card , addToTop : boolean | undefined ): void ;
240241 (e : " removeCard" , columnId : string , cardId : string | undefined ): void ;
242+ (e : " removeAllColumnCards" , columnId : string ): void ;
241243 (
242244 e : " removeCardWithConfirmation" ,
243245 columnId : string ,
0 commit comments