feat(article): support regenerating failed articles
This commit is contained in:
@@ -15,6 +15,7 @@ import ArticleSourceMeta from '@/components/ArticleSourceMeta.vue'
|
||||
import PublishArticleModal from '@/components/PublishArticleModal.vue'
|
||||
import { articlesApi, promptRulesApi } from '@/lib/api'
|
||||
import { buildArticleClipboardContent, resolveArticleActionState } from '@/lib/article-list-actions'
|
||||
import { useArticleRegenerateAction } from '@/lib/article-regenerate-action'
|
||||
import { getGenerateStatusMeta, getPublishStatusMeta } from '@/lib/display'
|
||||
import { formatError } from '@/lib/errors'
|
||||
import { formatPublishPlatformList } from '@/lib/publish-platforms'
|
||||
@@ -110,6 +111,8 @@ const deleteMutation = useMutation({
|
||||
onError: (error) => message.error(formatError(error)),
|
||||
})
|
||||
|
||||
const { regeneratingArticleId, handleRegenerate } = useArticleRegenerateAction()
|
||||
|
||||
const columns = computed<TableColumnsType<ArticleListItem>>(() => [
|
||||
{ title: t('custom.article.titleColumn'), dataIndex: 'title', key: 'title', width: 340 },
|
||||
{
|
||||
@@ -353,13 +356,16 @@ onBeforeUnmount(() => {
|
||||
</template>
|
||||
<template v-else-if="column.key === 'actions'">
|
||||
<ArticleActionGroup
|
||||
v-bind="resolveArticleActionState(record.generate_status)"
|
||||
v-bind="resolveArticleActionState(record)"
|
||||
:delete-confirm-title="t('templates.list.deleteConfirm')"
|
||||
:delete-loading="deleteMutation.isPending.value"
|
||||
:regenerate-confirm-title="t('common.regenerateConfirm')"
|
||||
:regenerate-loading="regeneratingArticleId === record.id"
|
||||
@publish="openPublish(record)"
|
||||
@edit="openEditor(record)"
|
||||
@preview="openDetail(record)"
|
||||
@copy="copyArticle(record.id)"
|
||||
@regenerate="handleRegenerate(record)"
|
||||
@delete="deleteMutation.mutate(record.id)"
|
||||
/>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user