mirror of
https://github.com/halo-dev/halo.git
synced 2025-12-20 16:44:38 +08:00
refactor: use patch api to refactor menu drag-and-drop sorting feature (#6462)
#### What type of PR is this? /area ui /kind improvement /milestone 2.19.x #### What this PR does / why we need it: 使用 patch 接口重构菜单项拖动排序等功能。 #### Which issue(s) this PR fixes: None #### Special notes for your reviewer: 需要测试菜单项的拖动排序功能是否符合预期。 #### Does this PR introduce a user-facing change? ```release-note 使用 patch 接口重构菜单项拖动排序功能。 ```
This commit is contained in:
@@ -12,7 +12,7 @@ import { useI18n } from "vue-i18n";
|
||||
const props = withDefaults(
|
||||
defineProps<{
|
||||
menu: Menu;
|
||||
parentMenuItem: MenuItem;
|
||||
parentMenuItem?: MenuItem;
|
||||
menuItem?: MenuItem;
|
||||
}>(),
|
||||
{
|
||||
@@ -100,19 +100,23 @@ const handleSaveMenuItem = async () => {
|
||||
|
||||
// if parent menu item is selected, add the new menu item to the parent menu item
|
||||
if (selectedParentMenuItem.value) {
|
||||
const { data: menuItemToUpdate } =
|
||||
const { data: parentMenuItem } =
|
||||
await coreApiClient.menuItem.getMenuItem({
|
||||
name: selectedParentMenuItem.value,
|
||||
});
|
||||
|
||||
menuItemToUpdate.spec.children = [
|
||||
...(menuItemToUpdate.spec.children || []),
|
||||
data.metadata.name,
|
||||
];
|
||||
|
||||
await coreApiClient.menuItem.updateMenuItem({
|
||||
name: menuItemToUpdate.metadata.name,
|
||||
menuItem: menuItemToUpdate,
|
||||
await coreApiClient.menuItem.patchMenuItem({
|
||||
name: selectedParentMenuItem.value,
|
||||
jsonPatchInner: [
|
||||
{
|
||||
op: "add",
|
||||
path: "/spec/children",
|
||||
value: [
|
||||
...(parentMenuItem.spec.children || []),
|
||||
data.metadata.name,
|
||||
],
|
||||
},
|
||||
],
|
||||
});
|
||||
}
|
||||
|
||||
@@ -218,7 +222,7 @@ onMounted(() => {
|
||||
}
|
||||
}
|
||||
|
||||
selectedParentMenuItem.value = props.parentMenuItem?.metadata.name;
|
||||
selectedParentMenuItem.value = props.parentMenuItem?.metadata.name || "";
|
||||
|
||||
setFocus("displayNameInput");
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user