mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.6 KiB
61 lines
1.6 KiB
<script setup lang="ts"> |
|
import { ActiveViewInj, IsLockedInj, MetaInj, useKanbanViewData } from '#imports' |
|
|
|
const meta = inject(MetaInj)! |
|
|
|
const activeView = inject(ActiveViewInj)! |
|
|
|
const { isUIAllowed } = useUIPermission() |
|
|
|
const { |
|
loadKanbanData, |
|
loadKanbanMeta, |
|
kanbanMetaData, |
|
formattedData, |
|
updateOrSaveRow, |
|
updateKanbanMeta, |
|
addEmptyRow, |
|
groupingFieldColOptions, |
|
groupingField, |
|
groupingFieldColumn, |
|
} = useKanbanViewData(meta, activeView as any) |
|
|
|
const isLocked = inject(IsLockedInj, ref(false)) |
|
|
|
const addOrEditStackDropdown = ref(false) |
|
|
|
const handleSubmit = async () => { |
|
addOrEditStackDropdown.value = false |
|
await loadKanbanMeta() |
|
await loadKanbanData() |
|
} |
|
|
|
provide(IsKanbanInj, ref(true)) |
|
</script> |
|
|
|
<template> |
|
<a-dropdown v-if="isUIAllowed('edit-column')" v-model:visible="addOrEditStackDropdown" :trigger="['click']"> |
|
<div class="nc-kanban-btn"> |
|
<a-button v-t="['c:kanban-stack-edit-or-add']" class="nc-fields-menu-btn nc-toolbar-btn" :disabled="isLocked"> |
|
<div class="flex items-center gap-1"> |
|
<mdi-plus-circle-outline /> |
|
<span class="text-capitalize !text-sm font-weight-normal"> |
|
<!-- TODO: i18n --> |
|
Add / Edit Stack |
|
</span> |
|
<MdiMenuDown class="text-grey" /> |
|
</div> |
|
</a-button> |
|
</div> |
|
<template #overlay> |
|
<SmartsheetColumnEditOrAddProvider |
|
v-if="addOrEditStackDropdown" |
|
:column="groupingFieldColumn" |
|
@submit="handleSubmit" |
|
@cancel="addOrEditStackDropdown = false" |
|
@click.stop |
|
@keydown.stop |
|
/> |
|
</template> |
|
</a-dropdown> |
|
</template>
|
|
|