diff --git a/src/app/src/components/content/ContentEditor.vue b/src/app/src/components/content/ContentEditor.vue index e8969108..093ae7af 100644 --- a/src/app/src/components/content/ContentEditor.vue +++ b/src/app/src/components/content/ContentEditor.vue @@ -2,7 +2,7 @@ import { computed, type PropType, toRaw } from 'vue' import { decompressTree } from '@nuxt/content/runtime' import type { MarkdownRoot } from '@nuxt/content' -import type { DatabasePageItem, DraftItem } from '../../types' +import { DraftStatus, type DatabasePageItem, type DraftItem } from '../../types' import { useStudio } from '../../composables/useStudio' const props = defineProps({ @@ -25,10 +25,13 @@ const document = computed({ return {} as DatabasePageItem } + if (props.draftItem.status === DraftStatus.Deleted) { + return props.draftItem.original as DatabasePageItem + } + const dbItem = props.draftItem.modified as DatabasePageItem let result: DatabasePageItem - // TODO: check mdcRoot and markdownRoot types with Ahad if (dbItem.body?.type === 'minimark') { result = { ...props.draftItem.modified as DatabasePageItem, diff --git a/src/app/src/components/shared/item/ItemActionsDropdown.vue b/src/app/src/components/shared/item/ItemActionsDropdown.vue index 1d5baec1..00c8d929 100644 --- a/src/app/src/components/shared/item/ItemActionsDropdown.vue +++ b/src/app/src/components/shared/item/ItemActionsDropdown.vue @@ -1,5 +1,5 @@ diff --git a/src/app/src/components/shared/item/ItemActionsToolbar.vue b/src/app/src/components/shared/item/ItemActionsToolbar.vue index b28227dd..baf9f8f8 100644 --- a/src/app/src/components/shared/item/ItemActionsToolbar.vue +++ b/src/app/src/components/shared/item/ItemActionsToolbar.vue @@ -5,7 +5,7 @@ import { useStudio } from '../../../composables/useStudio' const { context } = useStudio() -const item = computed(() => context.featureTree.value.currentItem.value) +const item = computed(() => context.activeTree.value.currentItem.value) const actions = computed(() => { return computeActionItems(context.itemActions.value, item.value) }) @@ -24,7 +24,7 @@ const actions = computed(() => { size="sm" color="neutral" variant="ghost" - @click="action.handler!(item.id)" + @click="action.handler!(item)" /> diff --git a/src/app/src/components/shared/item/ItemBadge.vue b/src/app/src/components/shared/item/ItemBadge.vue index 31fa50b6..a183a054 100644 --- a/src/app/src/components/shared/item/ItemBadge.vue +++ b/src/app/src/components/shared/item/ItemBadge.vue @@ -1,11 +1,11 @@ diff --git a/src/app/src/components/shared/item/ItemTree.vue b/src/app/src/components/shared/item/ItemTree.vue index 99b10c44..c5a5fb00 100644 --- a/src/app/src/components/shared/item/ItemTree.vue +++ b/src/app/src/components/shared/item/ItemTree.vue @@ -2,10 +2,11 @@ import type { TreeItem } from '../../../types' import type { PropType } from 'vue' import { useStudio } from '../../../composables/useStudio' +import { computed } from 'vue' const { context } = useStudio() -defineProps({ +const props = defineProps({ type: { type: String as PropType<'directory' | 'file'>, required: true, @@ -14,11 +15,17 @@ defineProps({ type: Array as PropType, default: () => [], }, - showCreationForm: { + showForm: { type: Boolean, default: false, }, }) + +const filteredTree = computed(() => { + if (!context.actionInProgress.value?.item) return props.tree + + return props.tree.filter(item => item.id !== context.actionInProgress.value!.item?.id) +})