refactor: preserve post title when opening settings (#6122)

#### What type of PR is this?

/area ui
/kind improvement
/milestone 2.17.x

#### What this PR does / why we need it:

在文章编辑页面,打开文章设置时,支持保存标题,防止已修改的标题恢复为之前的值。

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/6058

#### Does this PR introduce a user-facing change?

```release-note
优化文章编辑页面自动保存标题的功能
```
pull/6150/head
Ryan Wang 2024-06-26 11:52:48 +08:00 committed by GitHub
parent d6da4c6bba
commit aee39906a4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 32 additions and 0 deletions

View File

@ -311,11 +311,27 @@ const handleFetchContent = async () => {
// SinglePage settings
const handleOpenSettingModal = async () => {
if (isTitleChanged.value) {
await coreApiClient.content.singlePage.patchSinglePage({
name: formState.value.page.metadata.name,
jsonPatchInner: [
{
op: "add",
path: "/spec/title",
value:
formState.value.page.spec.title || t("core.page_editor.untitled"),
},
],
});
isTitleChanged.value = false;
}
const { data: latestSinglePage } =
await coreApiClient.content.singlePage.getSinglePage({
name: formState.value.page.metadata.name,
});
formState.value.page = latestSinglePage;
settingModal.value = true;
};

View File

@ -330,10 +330,26 @@ const handleFetchContent = async () => {
};
const handleOpenSettingModal = async () => {
if (isTitleChanged.value) {
await coreApiClient.content.post.patchPost({
name: formState.value.post.metadata.name,
jsonPatchInner: [
{
op: "add",
path: "/spec/title",
value:
formState.value.post.spec.title || t("core.post_editor.untitled"),
},
],
});
isTitleChanged.value = false;
}
const { data: latestPost } = await coreApiClient.content.post.getPost({
name: formState.value.post.metadata.name,
});
formState.value.post = latestPost;
settingModal.value = true;
};